Linux命令之文件处理
生活随笔
收集整理的這篇文章主要介紹了
Linux命令之文件处理
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文件處理命令
1、dirname命令dirname命令去除文件名中的非目錄部分,僅顯示與目錄有關(guān)的內(nèi)容。dirname命令讀取指定路徑名保留最后一個(gè)/及其后面的字符,刪除其他部分,并寫結(jié)果到標(biāo)準(zhǔn)輸出,如果最后一個(gè)/后面無(wú)字符,dirname則使用倒數(shù)第二個(gè)/,并忽略其后的所有字符。dirname和basename通常在shell內(nèi)部命令替換使用,以指定一個(gè)與指定輸入文件名略有差異的輸出文件名。語(yǔ)法dirname(選項(xiàng))(參數(shù))選項(xiàng)--help:顯示幫助;--version:顯示版本號(hào)。
實(shí)例dirname //輸出為/dirname /a/b輸出為/adirname a輸出為.dirname a/b輸出為a2.basename命令basename命令用于打印目錄或者文件的基本名稱。basename和dirname命令通常用于shell腳本中的命令替換來(lái)指定和指定的輸入文件名稱有所差異的輸出文件名稱。語(yǔ)法basename(選項(xiàng))(參數(shù))選項(xiàng)--help:顯示幫助;--version:顯示版本號(hào)。
參數(shù)文件:帶路徑信息的文件;后綴:可選參數(shù),指定要去除的文件后綴字符串。實(shí)例basename $WORKFILE3、rename命令rename命令用字符串替換的方式批量改變文件名。
語(yǔ)法rename(參數(shù))
參數(shù) 原字符串:將文件名需要替換的字符串;目標(biāo)字符串:將文件名中含有的源字符替換成目標(biāo)字符串;文件:指定要改變文件名的文件列表。實(shí)例將main1.c重命名為main.crename main1.c main.c main1.crename 支持通配符? 可代替單個(gè)字符* 可代替多個(gè)字符[charset] 可替代charset集中的任意單個(gè)字符如果使用rename foo0 foo foo0[2]*,從foo0200到foo0278的所有文件都唄重命名為foo0200到foo0278,文件中的 foo0被替換為foorename支持正則表達(dá)式字母的替換rename "s/AA/aa/" * //把文件名中的AA替換成aa修改文件的后綴rename "s//.html//.php/" * 把點(diǎn)html的后綴替換成點(diǎn)php的后綴批量添加文件后綴rename "s/$//.txt/" * //把所有的文件名都已.txt結(jié)尾批量刪除文件名rename "s//.txt//" * //把所有以.txt結(jié)尾的文件名的.txt刪掉4、cat命令cat命令連接文件并打印到標(biāo)準(zhǔn)輸出設(shè)備上,cat經(jīng)常用來(lái)顯示文本的內(nèi)容,類似于type命令。注意:當(dāng)文件較大時(shí),文本在屏幕上迅速閃過(guò)(滾屏),用戶往往看不清所顯示的內(nèi)容。因此,一般使用more等命令分屏顯示。為了控制滾屏,可以按ctrl+S鍵,停止?jié)L屏;按ctrl+Q鍵可以恢復(fù)滾屏。按ctrl+C鍵停止該命令的執(zhí)行,并且返回shell提示符狀態(tài)。
語(yǔ)法cat(選項(xiàng))(參數(shù))選項(xiàng)1、-n或-number:有1開(kāi)始對(duì)所有輸出的行數(shù)編號(hào)2、-b或者--number-nonblack:和-n相似,只不過(guò)對(duì)空白行不編號(hào);3、-s或--squeeze-black:當(dāng)遇到連續(xù)兩行以上的空白行,就代換為一行的空白行;4、-A:顯示不可打印字符,行尾顯示“$”;5、-e:6、-t:
參數(shù)文件列表:指定要連接的文件列表。實(shí)例設(shè)m1和m2是當(dāng)前目錄下的兩個(gè)文件cat m1(在屏幕上顯示m1的內(nèi)容)cat m1 m2(同時(shí)顯示m1和m2 的內(nèi)容)cat m1 m2 > file (將文件m1、m2合并后放入文件file中)5、ln命令ln命令用來(lái)為文件創(chuàng)建連接,連接類型為硬連接和符號(hào)連接兩種,默認(rèn)的連接類型是硬連接。如果創(chuàng)建符號(hào)連接必須使用 “-s”選項(xiàng)。注意:符號(hào)連接文件不是一個(gè)獨(dú)立的文件,它的許多屬性都依賴于源文件,所以給符號(hào)文件設(shè)置存取權(quán)限是沒(méi)有意義的。語(yǔ)法ln(選項(xiàng))(參數(shù))選項(xiàng)1、-b或--backup:刪除,覆蓋目標(biāo)文件之前的備份;2、-d或-F或--directory:建立目錄的硬連接;3、-f或--force:強(qiáng)行建立文件或目錄的連接,不論文件或目錄是否存在;4、-i:覆蓋既有文件之前先詢問(wèn)用戶;5、-n:把符號(hào)文件的目的目錄視為一般文件;6、-s:對(duì)源文件簡(jiǎn)歷符號(hào)連接,而非硬連接;7、-v:顯示指令執(zhí)行過(guò)程;
參數(shù)源文件:指定連接的源文件。如果使用“-s”選項(xiàng)創(chuàng)建符號(hào)連接,則源文件可以是目錄或者文件。創(chuàng)建硬連接是源文件只能是文件;目標(biāo)文件:指定源文件的目標(biāo)連接文件。
實(shí)例將/home目錄下/mpSever目錄下的test.txt文件連接到/gllong目錄下的test001.txt文件ln /home/mpSever/test.txt /gllong/test001.txt //硬連接ln -s /home/mpSever/test.txt /gllong/text002.txt //符號(hào)連接擴(kuò)展知識(shí)Linux具有為一個(gè)文件起多個(gè)名字的功能,稱為連接。被連接的文件可以存放在相同的目錄下,但是必須有不同的文件名,而不用在硬盤上為同樣的數(shù)據(jù)重復(fù)備份。另外被連接的文件也可以有相同的文件名,但是存在與不同的目錄下,這樣只需要對(duì)一個(gè)目錄下的該文件進(jìn)行修改,就可以完成對(duì)所有目錄下同名連接文件進(jìn)行修改。對(duì)于某個(gè)文件的各個(gè)連接文件,我們可以給它們指定不用的存取權(quán)限,以控制對(duì)信息共享和增強(qiáng)安全性。文件連接類型分為硬連接和符號(hào)連接。硬連接 建立硬連接時(shí),在另外的目錄或本目錄中增加文件的一個(gè)目錄項(xiàng),這樣,一個(gè)文件就登記在多個(gè)目錄中,在默認(rèn)情況下,ln創(chuàng)建硬連接。ln命令會(huì)增加連接數(shù),rm會(huì)減少連接數(shù)。一個(gè)文件除非連接數(shù)為0,否則不會(huì)從文件系統(tǒng)中被物理的刪除。對(duì)硬連接有如下限制:不能對(duì)目錄文件做硬連接。不同在不同的文件系統(tǒng)之中建立硬連接。就是說(shuō),鏈接文件和被連接文件必須位于同一個(gè)文件系統(tǒng)中。符號(hào)連接符號(hào)連接也稱為軟連接,是將一個(gè)路徑名連接到一個(gè)文件。這些文件是一種特別類型的文件。事實(shí)上,它只是一個(gè)文本文件。與硬連接不同的是,符號(hào)連接文件確實(shí)是一個(gè)新文件,當(dāng)然它具有不同的節(jié)點(diǎn)號(hào),而硬連接并沒(méi)有建立新文件。符號(hào)連接沒(méi)有硬連接的限制,可以對(duì)目標(biāo)目錄做符號(hào)連接,也可以在 不同的文件系統(tǒng)之間做符號(hào)連接。使用ln -s命令建立符號(hào)連接時(shí),源文件最好用絕對(duì)路徑名。這樣就可以在任何工作路徑下進(jìn)行符號(hào)連接。而當(dāng)源文件用相對(duì)路徑時(shí),如果當(dāng)前的工作路徑與要?jiǎng)?chuàng)建的符號(hào)文件所在路徑不同時(shí)就不能創(chuàng)建。符號(hào)連接保持了連接與源文件或者目錄之間的區(qū)別:刪除源文件或目錄,只刪除了數(shù)據(jù),不會(huì)刪除連接。一旦以同樣的文件名創(chuàng)建了源文件,連接將繼續(xù)指向該文件的新數(shù)據(jù)。在目錄長(zhǎng)列表中,符號(hào)連接作為一種特殊的文件類型顯示出來(lái)。符號(hào)連接的大小是其連接文件的路徑名中的字節(jié)數(shù)。6、unlink命令unlink命令是調(diào)用系統(tǒng)函數(shù)unlink去刪除指定的文件。和rm作用一樣,都是刪除文件。
語(yǔ)法unlink(選項(xiàng))(參數(shù))參數(shù) 文件:要?jiǎng)h除的文件7、touch命令touch命令有兩個(gè)功能:一是用于把已存在的文件的時(shí)間標(biāo)簽更新為系統(tǒng)當(dāng)前時(shí)間,它們的數(shù)據(jù)原封不動(dòng)的保存下來(lái);二是用來(lái)創(chuàng)建新的空文件。
語(yǔ)法touch(選項(xiàng))(參數(shù))選項(xiàng)1、-a或-atime=atime 只更改存取時(shí)間;2、-c 不建立任何文件;3、-d<時(shí)間日期>使用指定的日期時(shí)間,而非現(xiàn)在的日期時(shí)間;4、-m只更改變動(dòng)時(shí)間;5、-t<日期時(shí)間>使用指定的日期時(shí)間,而非現(xiàn)在的時(shí)間;
參數(shù)文件:指定要設(shè)置文件屬性的文件列表
實(shí)例touch 1.txt
轉(zhuǎn)載于:https://www.cnblogs.com/guoziyi/p/6144606.html
超強(qiáng)干貨來(lái)襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生總結(jié)
以上是生活随笔為你收集整理的Linux命令之文件处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 上传jar包到Apache Archiv
- 下一篇: Anisotropic gauss fi