Linux常用命令(3)-文件和目錄管理

(1)、Linux 文件權限和目錄配置
Linux 文件分三種身份 owner、group、others。 三種權限 read、write、execute
#ls -al
drwxr-xr-x   1     root   root  4230  2012-09-12 17:21 jdk-7u7
對應文件權限  連接數    用戶組  用戶 文件大小  最後修改日期      文件名
其中[d] 表示爲目錄
   [-] 表示爲文件 
文件類型和權限三個爲一組,總共三組,其中第一組是文件所有者權限,第二組是用戶組權限,第三組是其它用戶權限,每一組都有[rwx]三個參數組合。[r]代表讀,[w]代表寫,[x]代表可執行如果沒有權限則是[-],也可以用數字表三r:4 w:2 x:1
改變文件屬性和權限
chgrp:改變文件所屬用戶組 chgrp [-R] users install.log  [-R] 表示遞歸更噶,包括子目錄下的所有文件以及目錄
chown:改變文件所有者  chown [-R] oracle:oracle install.log
chmod:改變文件權限  文件的身份和權限需要累加的,比如[-rwxrwx---],
      對應owner = rwx = 4+2+1 = 7
         group  = rwx = 4+2+1 = 7
         others = --- = 0+0+0 = 0
      所以權限數字是770 
chmod [-R] 770 文件和目錄
權限的增加和移除
比如要增加一個可執行權限
chmod a+x 文件和目錄,對所有用戶加上可執行權限,同理chmod a-x 對所有用戶去掉可執行權限
可選項[a,o,g,u]

(2)、文件和目錄的創建,刪除,查找,複製,粘貼,
#ls|wc -l 統計文件和目錄個數
#pwd -P。顯示當前目錄(路徑),[P] 顯示正確的文件,而不是連接文件(windows 裏面的快捷方式)的路徑
#mkdir -m 777 test1。新建目錄,並且賦予這個目錄777的權限。
#mkdir -P test1/test2 目錄默認只能一層一層創建,加上[P] 系統會自動創建test1,test1/test2
#rmdir -P test1/test2。默認只能一層一層刪除目錄,並且目錄必須爲空,[P]系統會一次刪除多層。如果被刪除的目錄不爲空,需要使用下面的命令。
#rm -r test2。將目錄下所有的東西都刪除。
#rm -rf test2。將目錄下所有的東西都刪除包括test2目錄。
#rm -rf !(Rbeijing.MID | Rbeijing.MIF)  這兩個命令結合刪除Rbeijing.MID 和Rbeijing.MIF以外的文件。
#ls | xargs -n 10 rm -fr ls 刪除大量瑣碎文件
#cp -a /var/test1 /var/test2 複製文件test1到test2。[a]複製的源數據和目標數據,權限和身份時間和當前用戶一模一樣。 [r]是可以複製目錄的。[i]詢問用戶已經存在的文件複製是否覆蓋
#scp 遠程文件拷貝
比如要把當前一個文件copy到遠程另外一臺主機上,可以如下命令。
#scp /home/daisy/full.tar.gz [email protected]:/home/root
如果想反過來操作,把文件從遠程主機copy到當前系統,也很簡單。
#scp root@/full.tar.gz 172.19.2.75:/home/root/full.tar.gz home/daisy/full.tar.gz
#cat -n test 查看文件內容,[n] 顯示行號。
#find -name test.pdf 查找test.pdf文件
#find /TRS -name protect  查找TRS目錄下所有的protect目錄
-type  查找某一類型的文件
b - 塊設備文件。
d - 目錄。
c - 字符設備文件。
p - 管道文件。
l - 符號鏈接文件。
f - 普通文件。
# find -type d  查找目錄
#mv 移動文件/或者重命名命令
mv 1.txt desfile把1.txt文件移動到desfile目錄裏,類似剪切
mv 1.txt 2.txt 把1.txt文件命名爲2.txt
#dd if=1.txt of=2.txt 把1.txt的內容拷貝到2.txt文本文件裏面,且支持塊拷貝
#grep 在文本中查找文字
-c:只輸出匹配行的計數。
-n:顯示匹配行及行號。
- v:查找不包含匹配項的行
比如:
$ grep ‘test’ d*            #顯示所有以d開頭的文件中包含 test的行。
$ grep -vn "48" data.doc            #輸出所有不包含48的行
$ grep -i "ab" data.doc        #輸出所有含有ab或Ab的字符串的行
$ grep –e "abc|efg"  文件名  //從文件內容查找包含abc或者efg的字符串
$grep "17071" 20120406.txt | grep "2012-04-06 06:28:08" | grep "word2"  //查找既滿足17071,2012-04-06 06:28:08 ,word2三個字符串的行
#more 
-n 行數 指定每屏顯示的行數 
+ 行號 從指定行號開始顯示
#tail
1.要顯示 notes 文件的最後十行,輸入:
tail notes
2.要指定從 notes 文件末尾開始讀取的行數,輸入:
tail  -n 20 notes
#wc -l 目錄 統計文件個數
- c 統計字節數。
- l 統計行數。
- w 統計字數。
檔案與文件系統的打包壓縮

(3)、檔案與文件系統的打包壓縮
a、壓縮指令
在Linux下面,壓縮過的文件的擴展名主要有*.tar, *.tar.gz,*.gz
*.gz        gzip 程序壓縮的檔案; 
*.tar       tar 程序打包的數據,並沒有壓縮過; 
*.tar.gz    tar 程序打包的檔案,並且做了壓縮;
*.tgz       tar 打包壓縮的檔案。

b、打包指令
#tar -cvf file.tar file  //打包
#tar -cvzf file.tar.gz file  //打包並且壓縮
tar -cvfz 05.tgz  /mnt/ctb/data/traffic/backup/2014/05 //打包並且壓縮
#tar -xvf eclipse-jee-juno-linux-gtk.tar.gz //解壓縮包
可選參數[c]  create a new archive
[v]  verbosely list files processed,處理過程中輸出相關信息
[f]  use archive file or device ARCHIVE,壓縮的文件名
[z]  --gzip, --gunzip, --ungzip   filter the archive through gzip,壓縮的格式

[x]  extract files from an archive,從歸檔文件中解出文件


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章