1.常用的文件管理命令
文件管理工具:cp,mv,rm
cp:文件復制功能
格式:
單源復制:cp [OPTION]… [-T] SOURCE DEST
如果DEST不存在,則先創建此文件,再復制源文件的內容到此文件中
如果DEST存在
如果DEST是非目錄文件,則覆蓋目標文件
如果DEST是目錄文件,則先在DEST目錄下創建一個與源文件同名的文件,并 復制其數據至此文件
多源復制:cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
如果DEST不存在,錯誤
如果DEST存在
如果DEST是非目錄文件,錯誤
如果DEST是目錄文件,分別復制每一個文件至目標目錄中,并保持原名
常用選項:
-i:顯示信息,交互式
-f:強制覆蓋目標文件
-r或-R:遞歸復制目錄
-d:復制符號鏈接文件本身,而非其指向的源文件
-a:-dR –preserve=all,archive,用于實現歸檔
mv:move
格式:
mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE…
常用選項:
-i:交互式
-f:強制覆蓋
rm:remove
格式:rm [OPTION]… FILE…
-r:遞歸刪除
2.命令狀態返回值與命令行展開
命令的執行狀態結果:
bash通過狀態返回值來輸出此結果:
成功:0
失敗:1-255
命令執行完成之后,其狀態返回值保存于bash的特殊變量 $? 中
命令行展開:
~:
{}:可承載一個以逗號分隔的路徑列表,并能夠將其展開為多個路徑
3.練習
⑴創建/tmp目錄下的a_c,a_d,b_c,b_d
mkdir -v /tmp/{a,b}_{c,d}
⑵創建
/tmp/mylinux/
├── bin
├── boot
│?? └── grub
├── dev
├── etc
│?? ├── rc.d
│?? │?? └── init.d
│?? └── sysconfig
│?? └── network-scripts
├── lib
│?? └── modules
├── lib64
├── proc
├── sbin
├── sys
├── tmp
├── usr
│?? └── local
│?? ├── bin
│?? └── sbin
└── var
├── lock
├── log
└── run
mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}
4.文件的元數據包括:文件名稱、文件大小、文件所占用的block數、IO的block數、文件類型、設備號、Inode信息、硬鏈接數量、權限、屬主屬組、環境信息、access time、modify time、change time
stat FILENAME:查看文件元數據信息
touch -a FILENAME:修改文件的access time為當前時間
touch -m FILENAME:修改文件的modify time為當前時間
touch -t STAMP :修改為指定時間
? STAMP的格式為:[[CC]YY]MMDDhhmm[ss]
? 需與-a,-m一起使用,表示修改access time,modify time為指定時間
5.定義命令的別名使用alias命令
alias NAME=”COMMAND”
unalias NAME
在命令中引用另一個命令的執行結果
COMMAND1 $(COMMAND2)
或:COMMAND1 `COMMAND2`
6.練習:顯示/var下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其他字符)的文件或目錄
ll -d /var/l*[[:digit:]]*[[:lower:]]
7.練習:顯示/etc/目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄
ll -d /etc/[[:digit:]]*[^[:digit:]]
8.練習:顯示/etc/目錄下,以非字母開頭,后面跟了一個字母以及其他任意長度任意字符的文件或目錄
ll -d /etc/[^[:alpha:]][[:alpha:]]*
9.練習:在/tmp,目錄下創建以tfile開頭,后跟當前日期和時間的文件
touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)
10.練習:復制/etc/目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中
mkdir /tmp/mytest1;cp -r /etc/p*[^[:digit:]] /tmp/mytest1
11.練習:復制/etc/目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中
mkdir /tmp/mytest2;cp -r /etc/*.d /tmp/mytest2
12.練習:復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中
mkdir /tmp/mytest3;cp -r /etc/[lmn]*.conf /tmp/mytest3
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/90488