1、常用文件管理類命令:cp, mv, rm
cp: copy命令
單元復制 cp [OPTION]… [-T] SOURCE DEST
DEST不存在:先創建-復制數據-EDST
例如: ~~]# cp /tmp/cat.out /tmp/cat1.out
DEST 存在:DEST非目錄-覆蓋DEST
b 例如: ~~]# cp /tmp/cat.out /tmp/cat.out
DEST是目錄-先創建-復制數據流至DEST
例如: ~~]# cp /tmp/cat.out /tmp/
多元復制 cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
DEST不存在:錯誤
DEST 存在:DEST非目錄-錯誤
DEST是目錄-分別復制至目標目錄
例如: ~~]# cp /tmp/ip.txt /tmp/ipnew.txt /tmp/12
常用選項:
i 交互
f 強制
r 遞歸,
d 復制鏈接,
a 全部屬性歸檔
mv: move命令 移動,重名名
mv [OPTION]… [-T] SOURCE DEST
例如: ~~]# mv /tmp/ip.txt /tmp/ip_new.txt
mv [OPTION]… SOURCE… DIRECTORY
例如: ~~]# mv /tmp/ip.txt /etc/
mv [OPTION]… -t DIRECTORY SOURCE…
例如: ~~]# mv /tmp/12 /tmp/man/
常用選項:
i 交互
f 強制
r 遞歸,
rm:remove命令:刪除,
rm [OPTION]… FILE…
常用選項:
-i:interactive
-f:force
-r: recursive
刪除目錄: rm -rf /PATH
注意:慎用rm命令建議使用mv代替 臨時目錄回收站 危險命令:rm -rf /*
2、bash的基礎特性:命令的執行狀態結果
命令執行的狀態結果:
bash通過狀態返回值來輸出此結果:
成功:0
失敗:1-255
執行結果保存于bash的$變量中
引用命令的執行結果:
$(COMMAND)
或`COMMAND`
強引用:""
bash的基礎特性之:命令行展開
~:自動展開為用戶的家目錄,或指定的用戶的家目錄;
{}:可承載一個以逗號分隔的路徑列表,并能夠將其展開為多個路徑;
例如:/tmp/{a,b} 相當于 /tmp/a /tmp/b
3、命令展開功能練習:
(1)創建/tmp目錄下的:a_c,a_d, b_c, b_d
~]# mkdir -pv /tmp/{a_{c,d},b_{c,d}}
/tmp
|– a_c
|– a_d
|– b_c
|– b_d
(2) 創建/tmp/mylinux目錄下的對應目錄
~]# mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/ini.d,sysconfig/network-script},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}
/tmp/mylinux/
|– bin
|– boot
| `– grub
|– dev
|– etc
| |– rc.d
| | `– ini.d
| `– sysconfig
| `– network-script
|– lib
| `– modules
|– lib64
|– proc
|– sbin
|– sys
|– tmp
|– usr
| `– local
| |– bin
| `– sbin
`– var
|– lock
|– log
`– run
4、文件元數據信息又哪些,分別表示什么意義,如何查看如何修改文件的時間戳信息。
元數據包含文件的路徑、大小,權限、時間戳等
查看元數據命令 stat [OPTION]… FILE…
例如: ~]#stat /tmp/ip_new.txt
時間戳:
access time:2015-12-10 16:12:22.776423693 +0800 存取時間(最后一次讀的時間) cat more
modify time:2015-12-10 16:12:22.776423693 +0800 文件內容修改時間 (數據)
change time:2015-12-10 16:12:22.776423693 +0800 文件修改時間 (數據和元數據)
touch命令:
touch [OPTION]… FILE…
-c:指定文件不存在時不創建
-a:修改access time:
-m:修改modify time;
-t:STAMP 指定時間
[[CC]YY]MMDDhhmm[.ss]
例如:
~]# touch -t 0911142234.50 /tmp/ip_new.txt 更新 access,modify為指定時間
~]# touch -a /tmp/ip_new.txt 更新access時間為當前系統當前時間
~]# touch -r A B 更新B文件的時間戳和A文件的相同
注意change time 即當前修改時間
5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
alias,命令別名
alias NAME='COMMAND' 定義一個命令別名
例如 ~]# alias cp='cp -i'
alias 查看bash中存在的命令別名
命令引用
引用命令的執行結果:
$(COMMAND) $(cat /tmp/ip_new.txt)
或`COMMAND` $`cat /tmp/ip_new.txt`
bash基本特性:引用
強引用: ''
弱引用:""
命令引用:“
6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
~]# ls -d /etc/l?*[0-9]*[[:lower:]]
7、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
~]# ls -d /etc/[0-9]*[^0-9]
8、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。
~]# ls -a /etc/[^a-z][a-z]*
~]# ls -d /etc/[^[:alpha:]][[:alpha:]]*
9、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。
~]# touch /tmp/tfile-$(date +"%Y-%m-%d-%H-%M-%S")
10、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
~]# mkdir /tmp/mytest1 | cp -rf /etc/*[^0-9] /tmp/mytest1
11、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
~]# mkdir /tmp/mytest2 | cp -rf /etc/*\.d /tmp/mytest2
12、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
~]# mkdir /tmp/mytest3 && cp -rf /etc/[l-n]*\.conf /tmp/mytest3
~]# mkdir /tmp/mytest3 | cp -rf /etc/[l-n]*\.conf /tmp/mytest3
原創文章,作者:N24-zhoub,如若轉載,請注明出處:http://www.www58058.com/57782
內容基本上都完成了,結合markdown來展示的話,會更好;繼續加油~