一、Linux基本文件管理命令
主要介紹cp、mv、rm命令的基本用法以及使用示例
- cp命令
cp命令用來將一個或多個源文件或者目錄復制到指定的目的文件或目錄
cp (選項) (參數) 常用選項: -a:此參數的效果和同時指定"-dpR"參數相同,用于實現歸檔; -d:復制符號鏈接文件本身,而非其指向的源文件; -f:強行復制文件或目錄,不論目標文件或目錄是否已存在; -i:覆蓋既有文件之前先詢問用戶; -l:對源文件建立硬連接,而非復制文件; -p:保留源文件或目錄的屬性; -R/r:遞歸處理,將指定目錄下的所有文件與子目錄一并處理; -s:對源文件建立符號連接,而非復制文件; -S:在備份文件時,用指定的后綴“SUFFIX”代替文件的默認后綴; -b:覆蓋已存在的文件目標前將目標文件備份; -v:詳細顯示命令執行的操作。
[root@Node1 桌面]# cp -r /var/log /var/www /tmp/test/
- mv命令
mv命令用來對文件或目錄重新命名,或者將文件從一個目錄移到另一個目錄中。
mv(選項)(參數) 選項 -b:當文件存在時,覆蓋前,為其創建一個備份; -f:若目標文件或目錄與現有的文件或目錄重復,則直接覆蓋現有的文件或目錄; -i:交互式操作,覆蓋前先行詢問用戶; -u:當源文件比目標文件新或者目標文件不存在時,才執行移動操作。
[root@Node1 桌面]# mv ex3 new1
- rm命令
rm命令可以刪除一個目錄中的一個或多個文件或目錄,也可以將某個目錄及其下屬的所有文件及其子目錄均刪除掉。
rm (選項)(參數) 選項 -f:強制刪除文件或目錄; -i:刪除已有文件或目錄之前先詢問用戶; -r或-R:遞歸處理,將指定目錄下的所有文件與子目錄一并處理; -v:顯示指令的詳細執行過程。
注意:使用rm命令要格外小心。因為一旦刪除了一個文件,就無法再恢復它。所以,在刪除文件之前,最好再看一下文件的內容,確定是否真要刪除。
二、bash工作的基礎特性
(1)命令執行返回值
在 Linux 下,所有的程序在結束時,都會返回一個數字值,這個值叫做返回值,或者稱為錯誤號 ( Error Number )。
-
命令執行的狀態結果:
bash通過狀態返回值來輸出此結果:
成功:0
失?。?-255
- 命令執行完成之后,其狀態返回值保存于bash的特殊變量$?中;
(2)命令行展開
命令行展開特性可以一步完成需要分開成多步完成的操作
~:自動展開為用戶的家目錄,或指定的用戶的家目錄;
{}:可承載一個以逗號分隔的路徑列表,并能夠將其展開為多個路徑;
例如:/tmp/{a,b} 相當于 /tmp/a /tmp/b
三、命令行展開的兩個練習
(1)創建/tmp目錄下的:a_c, a_d, b_c, b_d
[root@Node1 tmp]# mkdir -v /tmp/{a,b}_{c,d} mkdir: 已創建目錄 "/tmp/a_c" mkdir: 已創建目錄 "/tmp/a_d" mkdir: 已創建目錄 "/tmp/b_c" mkdir: 已創建目錄 "/tmp/b_d"
(2)創建/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
[root@Node1 tmp]# mkdir -pv /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}} [root@Node1 tmp]# tree /tmp/mylinux/ /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 24 directories, 0 files
四、文件元數據的查看以及修改
元數據(Metadata),又稱中介數據,主要是描述數據屬性(property)的信息,用來支持如指示存儲位置、歷史數據、資源查找、文件記錄等功能
-
元數據定義:
- 元數據就是數據的數據
- 元數據算是一種電子式目錄,為了達到編制目錄的目的,必須在描述并收藏數據的內容或特色,進而達成協助數據檢索的目的
- 任何文件系統中數據分為數據和元數據。數據是指普通文件中的實際數據,而元數據指用來描述一個文件的特征的系統數據,諸如訪問權限、文件擁有者以及文件數據塊的分布信息(inode..)等。用戶需要操作一個文件必須首先得到它的元數據,才能定位到文件的位置并且得到文件的內容或相關屬性。
-
查看文件的元數據的命令:stat
[root@Node1 ~]# stat 1.sh File: "1.sh" #文件名 Size: 139 Blocks: 8 IO Block: 4096 普通文件 #文件類型 Device: fd00h/64768d Inode: 813855 Links: 1 Access: (0777/-rwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root) #文件權限以及所有者 Access: 2017-07-08 23:35:54.694489522 +0800 #訪問或執行時間 Modify: 2017-07-08 23:35:52.973490408 +0800 #修改文件內容時間 Change: 2017-07-08 23:35:52.974490371 +0800 #修改文件內容、更改所有者及權限時間
- 修改文件時間戳命令:touch
touch命令有兩個功能:一是用于更新已存在文件的時間戳信息;二是用來創建新的空文件。
touch(選項)(參數) -a:或--time=atime或--time=access或--time=use 只更改access time; -c:或--no-create 不建立任何文件; -m:或--time=mtime或--time=modify 只更該modify time; -r:<參考文件或目錄> 把指定文件或目錄的日期時間,統統設成和參考文件或目錄的日期時間相同; -t:<日期時間> 使用指定的日期時間,[[CC]YY]MMDDhhmm[.ss];
[root@Node1 ~]# touch -t 200001012233.44 1.sh #將1.sh時間戳修改為指定時間 [root@Node1 ~]# stat 1.sh #驗證時間戳是否修改成功 File: "1.sh" Size: 139 Blocks: 8 IO Block: 4096 普通文件 Device: fd00h/64768d Inode: 813855 Links: 1 Access: (0777/-rwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2000-01-01 22:33:44.000000000 +0800 Modify: 2000-01-01 22:33:44.000000000 +0800 Change: 2017-07-09 16:13:35.909026238 +0800
原創文章,作者:N27_what,如若轉載,請注明出處:http://www.www58058.com/79554