Linux從入門到精通8:Linux文件操作命令快速上手

Linux文件系統(tǒng)中,一切皆為文件。這些文件大致可以分為七大類:普通文件(-)、目錄文件(d)、符號(hào)鏈接文件(l)、套接字文件(s)、塊設(shè)備文件(b)、字符設(shè)備文件(c)、命名管道文件(p),使用命令ls -l即可查看文件的類型(-l選項(xiàng)輸出結(jié)果的第一列的第一個(gè)字符即是文件類型)。本節(jié)就來介紹一下Linux文件的常用操作命令。

1.查看文件內(nèi)容

1.1 cat命令

cat命令顯示文件內(nèi)容,一次性輸出全部文件內(nèi)容到屏幕上。

語法:cat (選項(xiàng)) (參數(shù))

常用的選項(xiàng):
-n或-number:顯示所有行的行號(hào);
-b或--number-nonblank:顯示非空白行的行號(hào);
-s或--squeeze-blank:遇到連續(xù)空白行,只顯示一個(gè)空白行;

參數(shù):文件列表(以空格間隔)

1.2 more命令

more命令支持分屏顯示長文件的內(nèi)容:Enter鍵下一行,空格鍵下一屏,B鍵上一屏,H鍵顯示幫助,斜線“\”進(jìn)入查找模式,Q鍵退出。

語法:more (語法) (參數(shù))

常用的選項(xiàng):
-<數(shù)字>:指定每屏顯示的行數(shù);
+<數(shù)字>:從指定數(shù)字的行開始顯示;
-d:顯示提示信息;
-c:不進(jìn)行滾屏操作,每次刷新當(dāng)前屏幕的內(nèi)容;
-s:將多個(gè)空行壓縮成一個(gè)空行顯示;
-u:禁止下劃線;

參數(shù):目標(biāo)文件。

1.3 less命令

less命令分屏顯示長文件內(nèi)容,比more命令功能更強(qiáng)大,如less命令允許用戶向前或向后瀏覽文件,而more命令只能向前瀏覽。PageUp鍵向上翻頁,PageDown鍵向下翻頁,Q鍵退出。

語法:less (選項(xiàng)) (參數(shù))

常用的選項(xiàng):
-g:檢索時(shí)高亮顯示檢索內(nèi)容;
-l:檢索時(shí)忽略大小寫;
-N:顯示行號(hào);
-s:連續(xù)空白行只顯示一個(gè)空白行;
-S:長內(nèi)容不換行;
-x<數(shù)字>:指定一個(gè)TAB鍵等于幾個(gè)空格。

參數(shù):目標(biāo)文件。

1.4 head命令

head命令顯示文件開頭的內(nèi)容,默認(rèn)只顯示前10行。

語法:head (選項(xiàng)) (參數(shù))

常用的選項(xiàng):
-n<數(shù)字>:指定顯示頭部內(nèi)容的行數(shù);
-c<字符數(shù)>:指定顯示頭部內(nèi)容的字符數(shù);
-v:總是顯示文件名的頭信息;
-q:不顯示文件名的頭信息。

參數(shù):文件列表。

1.5 tail命令

tail命令顯示文件尾部的內(nèi)容,默認(rèn)只顯示最后10行。

語法:tail (選項(xiàng)) (參數(shù))

常用的選項(xiàng):
-n<N>或--line=<N>:輸出文件的尾部N(N位數(shù)字)行內(nèi)容;
-c<N>或--bytes=<N>:輸出文件尾部的N(N為整數(shù))個(gè)字節(jié)內(nèi)容;
-f<filename>或--follow<filename>:顯示文件最新追加的內(nèi)容;
-s<秒數(shù)>或--sleep-interal=<秒數(shù)>:與“-f”選項(xiàng)連用,指定監(jiān)視文件變化時(shí)間隔的秒數(shù);
-v或--verbose:當(dāng)有多個(gè)文件參數(shù)時(shí),總是輸出各個(gè)文件名;
-q或--quiet或--silent:當(dāng)有多個(gè)文件參數(shù)時(shí),不輸出各個(gè)文件名;

參數(shù):文件列表。

2.查找文件

2.1 find命令

find命令在指定目錄下查找文件。不帶參數(shù)表示在當(dāng)前目錄下查找。

語法:find (選項(xiàng)) (參數(shù))

常用的選項(xiàng):
-amin<分鐘>:查找在指定時(shí)間曾被存取過的文件或目錄,單位以分鐘計(jì)算;
-atime<24小時(shí)數(shù)>:查找在指定時(shí)間曾被存取過的文件或目錄,單位以24小時(shí)計(jì)算;
-mmin<分鐘>:查找在指定時(shí)間曾被更改過的文件或目錄,單位以分鐘計(jì)算;
-mtime<24小時(shí)數(shù)>:查找在指定時(shí)間曾被更改過的文件或目錄,單位以24小時(shí)計(jì)算;
-cmin<分鐘>:查找在指定時(shí)間之時(shí)被更改過的文件或目錄;
-ctime<24小時(shí)數(shù)>:查找在指定時(shí)間之時(shí)被更改的文件或目錄,單位以24小時(shí)計(jì)算;
-depth:從指定目錄下最深層的子目錄開始查找;
-expty:尋找文件大小為0Byte的文件,或目錄下沒有任何子目錄或文件的空目錄;
-gid<群組識(shí)別碼>:查找符合指定之群組識(shí)別碼的文件或目錄;
-group<群組名稱>:查找符合指定之群組名稱的文件或目錄;
-inum<inode編號(hào)>:查找符合指定的inode編號(hào)的文件或目錄;
-maxdepth<目錄層級(jí)>:設(shè)置最大目錄層級(jí);
-mindepth<目錄層級(jí)>:設(shè)置最小目錄層級(jí);
-name<范本樣式>:指定字符串作為尋找文件或目錄的范本樣式;
-nogroup:找出不屬于本地主機(jī)群組識(shí)別碼的文件或目錄;
-nouser:找出不屬于本地主機(jī)用戶識(shí)別碼的文件或目錄;
-path<范本樣式>:指定字符串作為尋找目錄的范本樣式;
-perm<權(quán)限數(shù)值>:查找符合指定的權(quán)限數(shù)值的文件或目錄;
-size<文件大小>:查找符合指定的文件大小的文件;
-type<文件類型>:只尋找符合指定的文件類型的文件;
-uid<用戶識(shí)別碼>:查找符合指定的用戶識(shí)別碼的文件或目錄;
-used<日數(shù)>:查找文件或目錄被更改之后在指定時(shí)間曾被存取過的文件或目錄,單位以日計(jì)算;
-user<擁有者名稱>:查找符和指定的擁有者名稱的文件或目錄;

參數(shù):目標(biāo)目錄。

2.2 locate命令和slocate命令

locate命令和slocate命令都用來查找文件或目錄。locate命令其實(shí)是find -name的另一種寫法,但是要比后者快得多,原因在于它不搜索具體目錄,而是搜索一個(gè)數(shù)據(jù)庫/var/lib/locatedb,這個(gè)數(shù)據(jù)庫中含有本地所有文件信息。Linux系統(tǒng)自動(dòng)創(chuàng)建這個(gè)數(shù)據(jù)庫,并且每天自動(dòng)更新一次,所以使用locate命令查不到最新變動(dòng)過的文件。為了避免這種情況,可以在使用locate之前,先使用updatedb命令,手動(dòng)更新數(shù)據(jù)庫。

語法:locate/slocate (選項(xiàng)) (參數(shù))

常用的選項(xiàng):
-d<目錄>或--database=<目錄>:指定數(shù)據(jù)庫所在的目錄;
-i:忽略大小寫;
-u:更新數(shù)據(jù)庫;

參數(shù):查找的內(nèi)容。

2.3 which命令

which命令查找并顯示給定命令的絕對(duì)路徑。

語法:which (選項(xiàng)) (參數(shù))

常用的選項(xiàng):
-n<文件名長度>:指定文件名長度,指定的長度必須大于或等于所有文件中最長的文件名;
-p<文件名長度>:與-n參數(shù)相同,但此處的<文件名長度>包含了文件的路徑;
-w:指定輸出時(shí)欄位的寬度。

參數(shù):要查找的命令的列表。

2.4 whereis命令

whereis命令查找二進(jìn)制程序、源代碼文件和man手冊(cè)頁等相關(guān)文件的路徑。

語法:whereis (選項(xiàng)) (參數(shù))

常用的選項(xiàng):
-b:只查找二進(jìn)制文件;
-B<目錄>:只在指定的目錄下查找二進(jìn)制文件;
-f:不顯示文件名前的路徑名稱;
-m:只查找說明文件;
-M<目錄>:只在指定的目錄下查找說明文件;
-s:只查找原始代碼文件;
-S<目錄>只在指定的目錄下查找原始代碼文件;
-u:查找不包含指定類型的文件。

參數(shù):要查找的二進(jìn)制程序、源文件和man手冊(cè)頁等的名字。

3.文件傳輸命令

3.1 ftp命令

ftp命令的功能是用命令的方式在本地機(jī)和遠(yuǎn)程機(jī)之間傳送文件。

語法:ftp (選項(xiàng)) (參數(shù))

常用的選項(xiàng):
-d:詳細(xì)顯示指令執(zhí)行過程,便于排錯(cuò)或分析程序執(zhí)行的情況;
-i:關(guān)閉互動(dòng)模式,不詢問任何問題;
-g:關(guān)閉本地主機(jī)文件名稱支持特殊字符的擴(kuò)充特性;
-n:不使用自動(dòng)登錄;
-v:顯示指令執(zhí)行過程。

參數(shù):遠(yuǎn)程主機(jī)的主機(jī)名或IP地址。

FTP命令的常用操作:
FTP>put/send:上傳文件.
FTP>get/recv:下載文件.
FTP>mkdir:新建目錄.
FTP>rmdir:刪除目錄.
FTP>pwd: 查看遠(yuǎn)程主機(jī)的工作目錄.
FTP>lcd: 切換本地主機(jī)的工作目錄,缺省為HOME目錄.
FTP>cd: 切換目錄.
FTP>cdup: 切換到上一級(jí)目錄.
FTP>dir/ls:列出目錄下內(nèi)容.
FTP>chmod:改變文件權(quán)限.
FTP>delete: 刪除文件.
FTP>rename:重命名文件.
FTP>mdelete:批量刪除.
FTP>mget:批量下載.
FTP>mput:批量上傳.
FTP>ascii: 設(shè)定以ASCII方式傳送文件(缺省值).
FTP>binary: 設(shè)定以二進(jìn)制方式傳送文件.
FTP>bell: 每完成一次文件傳送,報(bào)警提示.
FTP>bye/quit/close: 退出.
FTP>prompt: 交互提示模式.
FTP>status: 顯示當(dāng)前FTP的狀態(tài).
FTP>help/? [command] 顯示幫助信息.

3.2 scp命令

scp命令用于遠(yuǎn)程拷貝文件,而且傳輸是加密的。

語法:scp (選項(xiàng)) (參數(shù))

常用的選項(xiàng):
-1:使用ssh協(xié)議版本1;
-2:使用ssh協(xié)議版本2;
-4:使用ipv4;
-6:使用ipv6;
-B:以批處理模式運(yùn)行;
-C:使用壓縮;
-F:指定ssh配置文件;
-l:指定寬帶限制;
-o:指定使用的ssh選項(xiàng);
-P:指定遠(yuǎn)程主機(jī)的端口號(hào);
-p:保留文件的最后修改時(shí)間,最后訪問時(shí)間和權(quán)限模式;
-q:不顯示復(fù)制進(jìn)度;
-r:以遞歸方式復(fù)制。

參數(shù):
源文件:指定要復(fù)制的源文件。
目標(biāo)文件:目標(biāo)文件。格式為user@host:filename(文件名為目標(biāo)文件的名稱)。

3.3 rcp命令

rcp命令用于遠(yuǎn)程拷貝文件。

語法:rcp (選項(xiàng)) (參數(shù))

常用的選項(xiàng):
-p:保留源文件或目錄的屬性,包括擁有者、所屬群組、權(quán)限與時(shí)間;
-r:遞歸處理,將指定目錄下的文件與子目錄一并處理;
-x:加密兩臺(tái)Linux主機(jī)間傳送的所有信息。
-D:指定遠(yuǎn)程服務(wù)器的端口號(hào)。

參數(shù):
源文件:host1:filename
目標(biāo)文件:host2:filename

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容