Linux常用命令 3 檔案和目錄管理

2021-06-27 06:49:46 字數 3699 閱讀 1900

(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,從歸檔檔案中解出檔案

linux常用命令 3 檔案 目錄探索命令

find name test 尋找檔名是test的檔案 find name test 檔名包含test的檔案 find name test 檔名以單個字元開頭 test的檔案 find iname test 不區分大小寫linux資料塊最小單位是0.5k,即204800 100mb find siz...

linux (1)檔案和目錄常用命令

1檢視檔案和目錄 命令 功能 案例說明 ls檢視檔案和目錄 ls a l f r r s h file 檢視檔案型別 file test.txt file find 查詢檔案或者目錄 fin etc name sh 查詢etc目錄下sh檔案 fin iname test 查當前目錄下名字忽略大小寫為...

Linux 03 檔案和目錄常用命令

檢視目錄內容 ls 切換目錄 cd 建立和刪除操作 touch rmmkdir 拷貝和移動檔案cp 檢視檔案內容 catmore grep 其他 echo 重管道 1.1終端實用技巧 1 自動補全 2 曾經使用過的命令 1.2 ls命令說明 ls是英文單詞list的簡寫,其功能為列出目錄的內容,是使...