歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux部分文件操作命令使用方法小結

Linux部分文件操作命令使用方法小結

日期:2017/3/2 9:45:44   编辑:關於Linux

這裡主要列一下之前不了解的,已經弄懂的就忽略啦~


locate——查找文件****

用法: locate zh_CN 列出所有包含“zh_CN”字符串的文件和目錄。 由於locate命令是從系統中保存文件及目錄名稱的數據庫中搜索文件,雖然系統會定時更新數據庫,但對於剛新增或刪除的文件、目錄,仍然可能會因為數據庫尚未更新而無法查得,此時可用root身份運行updatedb命令更新,為此數據庫得內容正確。


grep——搜索字符串****

grep 命令可以搜索特定字符串來並顯示出來,一般用來過濾先前得結果,避免顯示太多不必要得信息。范例如下: grep text .conf //搜索當前目錄中擴展名為.conf且包含“text”字符串得文件。 若您是使用一般權限的用戶運行,上例的輸出結果會包含很多如“拒絕不符權限的操作之類的錯誤信息,可使用-s參數消除。 grep –s text .conf


tar——打包文件

參數說明:

-c:創建一個新的tar文件;
-v:顯示運作過程信息;
-f:在:指定文件名稱;
-z:調用gzip壓縮命令執行壓縮;
-j:調用bzip2壓縮命令執行壓縮;
-t:參看壓縮文件內容;
-x:解開tar文件。

常見用法:

tar cvf data.tar * ← 將目錄下所有文件打包成data.tar
tar cvf data.tar.gz * ← 將目錄所有文件打包成data.tar再用gzip命令壓縮
tar tvf data.tar * ← 查看data.tar文件中包括了哪些文件
tar xvf data.tar * ← 將data.tar解開

find——查找文件

語法:find path options [-exec command {} \;]

參數說明:

-name ’字串’ 查找文件名匹配所給字串的所有文件,字串內可用通配符 *、?、[ ]。
-lname ’字串’ 查找文件名匹配所給字串的所有符號鏈接文件,字串內可用通配符 *、?、[ ]。
-gid n 查找屬於ID號為 n 的用戶組的所有文件。
-uid n 查找屬於ID號為 n 的用戶的所有文件。
-group ’字串’ 查找屬於用戶組名為所給字串的所有的文件。
-user ’字串’ 查找屬於用戶名為所給字串的所有的文件。
-empty 查找大小為 0的目錄或文件。
-path ’字串’ 查找路徑名匹配所給字串的所有文件,字串內可用通配符*、?、[ ]。
-perm +/-mode 查找具有指定權限的文件和目錄,權限的表示可以如711,644。-說明mode所有1位都要匹配,+說明mode只要有一位匹配即可。
-size n[bckw] 查找指定文件大小的文件,n 後面的字符表示單位,缺省為 b,代表512字節的塊。
-type x 查找類型為 x 的文件,x 為下列字符之一:

b 塊設備文件
c 字符設備文件
d 目錄文件
p 命名管道(FIFO)
f 普通文件
l 符號鏈接文件(symbolic links)
s socket文件

-xtype x 與 -type 基本相同,但只查找符號鏈接文件。

以時間為條件查找:

-amin n 查找n分鐘以前被訪問過的所有文件。
-atime n 查找n天以前被訪問過的所有文件。
-cmin n 查找n分鐘以前文件狀態被修改過的所有文件。
-ctime n 查找n天以前文件狀態被修改過的所有文件。
-mmin n 查找n分鐘以前文件內容被修改過的所有文件。
-mtime n 查找n天以前文件內容被修改過的所有文件。
-print:將搜索結果輸出到標准輸出。

例子:

1.在root以及子目錄查找不包括目錄/root/bin的,greek用戶的,文件類型為普通文件的,3天之前的名為test-find.c的文件,並將結構輸出,find命令如下:

find / -name "test-find.c" -type f -mtime +3 -user greek -prune /root/bin -print

2.查找當前目錄中所有以main開頭的文件,並顯示這些文件的內容:

find . - name ‘main*’ - exec more {} \;

3.刪除當前目錄下所有一周之內沒有被訪問過的a .out或*.o文件:

find . (- name a.out - o - name ‘*.o’)> - atime +7 - exec rm {} \;

注意:

1.命令中的“.”表示當前目錄,此時 find 將從當前目錄開始,逐個在其子目錄中查找滿足後面指定條件的文件。
2.“\(” 和 “\)” 表示括號(),其中的 “\” 稱為轉義符。之所以這樣寫是由於對 Shell 而言,(和)另有不同的含義,而不是這裡的用於組合條件的用途。
3.上述命令中第一行的最後一個 \ 是續行符。當命令太長而在一行寫不下時,可輸入一個 \,之後系統將顯示一個 >,指示用戶繼續輸入命令。

詳細解析:linux中Find命令的使用


scp——Linux之間的文件復制

Linux scp命令用於Linux之間復制文件和目錄,從本地復制到遠程、從遠程復制到本地是兩種使用方式。

1、從 本地 復制到 遠程

(1)復制文件:

scp local_file remote_username@remote_ip:remote_folder
scp local_file remote_username@remote_ip:remote_file
scp local_file remote_ip:remote_folder
scp local_file remote_ip:remote_file

注:
第1,2個指定了用戶名,命令執行後需要再輸入密碼,第1個僅指定了遠程的目錄,文件名字不變,第2個指定了文件名;
第3,4個沒有指定用戶名,命令執行後需要輸入用戶名和密碼,第3個僅指定了遠程的目錄,文件名字不變,第4個指定了文件名。

例子(與上面分別對應):

scp /home/space/music/1.mp3 [email protected]:/home/root/others/music
scp /home/space/music/1.mp3 [email protected]:/home/root/others/music/001.mp3
scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music
scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music/001.mp3

(2)復制目錄:

scp -r local_folder remote_username@remote_ip:remote_folder
scp -r local_folder remote_ip:remote_folder

注:
第1個指定了用戶名,命令執行後需要再輸入密碼;
第2個沒有指定用戶名,命令執行後需要輸入用戶名和密碼;

例子(與上面分別對應):

scp -r /home/space/music/ [email protected]:/home/root/others/
scp -r /home/space/music/ www.cumt.edu.cn:/home/root/others/

2、從 遠程 復制到 本地

只要將 從 本地 復制到 遠程 的命令 的 後2個參數 調換順序 即可:

scp [email protected]:/home/root/others/music /home/space/music/1.mp3
scp -r www.cumt.edu.cn:/home/root/others/ /home/space/music/
Copyright © Linux教程網 All Rights Reserved