Linux命令-文件
查看文件信息:ls
ls是英文單詞list的簡(jiǎn)寫(xiě),其功能為列出目錄的內(nèi)容,是用戶(hù)最常用的命令之一,它類(lèi)似于DOS下的dir命令。
Linux文件或者目錄名稱(chēng)最長(zhǎng)可以有265個(gè)字符,“.”代表當(dāng)前目錄,“..”代表上一級(jí)目錄,以“.”開(kāi)頭的文件為隱藏文件,需要用-a參數(shù)才能顯示。
ls -a ? ? ? ? ? ? ? ? ? ? ? ? 顯示指定目錄下所有子目錄與文件,包括隱藏文件
ls -l ? ? ? ? ? ? ? ? ? ? ? ? ?以列表方式顯示文件的詳細(xì)信息
ls -h ? ? ? ? ? ? ? ? ? ? ? ? 配合-l 以人性化的方式顯示文件的大小
通配符
* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文件代表文件名中所有字符
ls te* ? ? ? ? ? ? ? ? ? ? ? ? 查找以te開(kāi)頭的文件
ls *html ? ? ? ? ? ? ? ? ? ? ?查找結(jié)尾為html的文件
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?代表文件名中任意一個(gè)字符
ls ?.c ? ? ? ? ? ? ? ? ? ? ? 只找第一個(gè)字符任意,后綴為.c的文件
ls a.? ? ? ? ? ? ? ? ? ? ? ? ? 只找只有三個(gè)字符,前兩個(gè)字符為a.最后一個(gè)字符任意的文件
【】 ? ? ? ? ? ? ? ? ? ? ? ? ?【''和''】將字符組括起來(lái),表示可以匹配字符組中的任意一個(gè)。' '用于表示字符范圍
【abc】 ? ? ? ? ? ? ? ? ? ? 匹配a、b、c、中的任意一個(gè)
【a-f】 ? ? ? ? ? ? ? ? ? ? ? ?匹配從a到f范圍的任意一個(gè)字符
ls 【a-f】* ? ? ? ? ? ? ? ? ? 找到從a到f范圍內(nèi)的任意一個(gè)字符開(kāi)頭的文件
ls a-f ? ? ? ? ? ? ? ? ? ? ? ? ? 查找名為a-f的文件,當(dāng) - 處于方括號(hào)之外失去通配符的作用
ls \*a ? ? ? ? ? ? ? ? ? ? ? ? ? 查找文件名為*a的文件
輸出重定向命令
Linux允許將命令執(zhí)行結(jié)果重定向到一個(gè)文件,本應(yīng)顯示在終端上的內(nèi)容保存到指定文件中。
如:ls?>?test.txt?(?test.txt如果不存在,則創(chuàng)建,存在則覆蓋其內(nèi)容)
注意:>輸出重定向會(huì)覆蓋原來(lái)的內(nèi)容,>>輸出重定向則會(huì)追加到文件的尾部。
分屏顯示:more
查看內(nèi)容時(shí),在信息過(guò)長(zhǎng)無(wú)法在一屏上顯示時(shí),會(huì)出現(xiàn)快速滾屏,使得用戶(hù)無(wú)法看清文件的內(nèi)容,此時(shí)可以使用more命令,每次只顯示一頁(yè),按下空格鍵可以顯示下一頁(yè),按下q鍵退出顯示,按下h鍵可以獲取幫助。
ctrl+b 返回上一屏
ctrl+f 下一屏
管道:|
管道:一個(gè)命令的輸出可以通過(guò)管道做為另一個(gè)命令的輸入。
管道我們可以理解現(xiàn)實(shí)生活中的管子,管子的一頭塞東西進(jìn)去,另一頭取出來(lái),這里“ | ”的左右分為兩端,左端塞東西(寫(xiě)),右端取東西(讀)。
清屏:clear
clear作用為清除終端上的顯示(類(lèi)似于DOS的cls清屏功能),也可使用快捷鍵:Ctrl?+?l?(?“l(fā)”為字母)。
切換工作目錄: cd
cd后面可跟絕對(duì)路徑,也可以跟相對(duì)路徑。如果省略目錄,則默認(rèn)切換到當(dāng)前用戶(hù)的主目錄。
cd ? ? ? ? ? ? ? ? ? ? ? 切換到主目錄
cd ? ? ? ? ? ? ? ? ? ? ? 切換到主目錄
cd. ? ? ? ? ? ? ? ? ? ? ?切換到當(dāng)前目錄
cd.. ? ? ? ? ? ? ? ? ? ? 切換到上級(jí)目錄
cd- ? ? ? ? ? ? ? ? ? ? ? 可進(jìn)入上次所在的目錄
注意:
如果路徑是從根路徑開(kāi)始的,則路徑的前面需要加上 “ / ”,如 “ /mnt ”,通常進(jìn)入某個(gè)目錄里的文件夾,前面不用加 “ / ”。
顯示當(dāng)前路徑:pwd
使用pwd命令可以顯示當(dāng)前的工作目錄,該命令很簡(jiǎn)單,直接輸入pwd即可,后面不帶參數(shù)。
創(chuàng)建目錄:mkdir
通過(guò)mkdir命令可以創(chuàng)建一個(gè)新的目錄。參數(shù)-p可遞歸創(chuàng)建目錄。
需要注意的是新建目錄的名稱(chēng)不能與當(dāng)前目錄中已有的目錄或文件同名,并且目錄創(chuàng)建者必須對(duì)當(dāng)前目錄具有寫(xiě)權(quán)限。
刪除目錄:rmdir
可使用rmdir命令刪除一個(gè)目錄。必須離開(kāi)目錄,并且目錄必須為空目錄,不然提示刪除失敗。
-p遞歸刪除
刪除文件:rm
可通過(guò)rm刪除文件或目錄。使用rm命令要小心,因?yàn)槲募h除后不能恢復(fù)。為了防止文件誤刪,可以在rm后使用-i參數(shù)以逐個(gè)確認(rèn)要?jiǎng)h除的文件。
常用參數(shù)及含義如下表所示:
-i ? ? ? ? ? ? ? ? ? ? ? ? 以進(jìn)行交互方式執(zhí)行
-f ? ? ? ? ? ? ? ? ? ? ? ? ?強(qiáng)制刪除,無(wú)需提示
-r ? ? ? ? ? ? ? ? ? ? ? ? 遞歸地刪除目錄下的內(nèi)容,刪除文件是必需加此參數(shù)
建立鏈接文件:ln
linux鏈接文件類(lèi)似于Windows下的快捷方式。
鏈接文件分為軟鏈接和硬鏈接。
軟鏈接:軟鏈接不占用磁盤(pán)空間,源文件刪除則軟鏈接失效。
硬鏈接:硬鏈接只能鏈接普通文件,不能鏈接目錄。
使用格式:
ln 源文件 鏈接文件
ln -s 源文件 鏈接文件
如果沒(méi)有-s選項(xiàng)代表建立一個(gè)硬鏈接文件,兩個(gè)文件占用相同大小的硬盤(pán)空間,即使刪除了源文件,鏈接文件還是存在,所以-s選項(xiàng)是更常見(jiàn)的形式。
注意:如果軟鏈接文件和源文件不在同一個(gè)目錄,源文件要使用絕對(duì)路徑,不能使用相對(duì)路徑。
查看或者合并文件內(nèi)容:cat
cat 文件 ? ? ? ? ? ? ? ? 查看當(dāng)前路徑文件的內(nèi)容
cat /xx/xx/文件 ? ? ?查看絕對(duì)路徑下的文件內(nèi)容
cat 文件1 文件2 > 文件3 ? ? ? ? ? 把文件1、2內(nèi)容都重定向文件3中(> ?:先清空,再添加 ? >> ?: 直接添加 ?)
文本搜索:grep
Linux系統(tǒng)中g(shù)rep命令是一種強(qiáng)大的文本搜索工具,grep允許對(duì)文本文件進(jìn)行模式查找。如果找到匹配模式,grep打印包含模式的所有行。
grep一般格式為:?grep?[-選項(xiàng)]?‘搜索內(nèi)容串’文件名
在grep命令中輸入字符串參數(shù)時(shí),最好引號(hào)或雙引號(hào)括起來(lái)。例如:grep‘a(chǎn)?’1.txt。
-v ? ? ? ? ? ? ? 顯示不包含匹配文本的所有行(相當(dāng)于去反)
-n ? ? ? ? ? ? ? 顯示匹配行及號(hào)
-i ? ? ? ? ? ? ? ?忽略大小寫(xiě)
grep搜索內(nèi)容串可以是正則表達(dá)式。
正則表達(dá)式是對(duì)字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個(gè)“規(guī)則字符串”,這個(gè)“規(guī)則字符串”用來(lái)表達(dá)對(duì)字符串的一種過(guò)濾邏輯。
查找文件:find
find命令功能非常強(qiáng)大,通常用來(lái)在特定的目錄下搜索符合條件的文件,也可以用來(lái)搜索特定用戶(hù)屬主的文件。
-mount, -xdev : 只檢查和指定目錄在同一個(gè)文件系統(tǒng)下的文件,避免列出其它文件系統(tǒng)中的文件
-amin n : 在過(guò)去 n 分鐘內(nèi)被讀取過(guò)
-anewer file : 比文件 file 更晚被讀取過(guò)的文件
-atime n : 在過(guò)去 n 天過(guò)讀取過(guò)的文件
-cmin n : 在過(guò)去 n 分鐘內(nèi)被修改過(guò)
-cnewer file :比文件 file 更新的文件
-ctime n : 在過(guò)去 n 天過(guò)修改過(guò)的文件
-empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名稱(chēng)是 name
-ipath p, -path p : 路徑名稱(chēng)符合 p 的文件,ipath 會(huì)忽略大小寫(xiě)
-name name, -iname name : 文件名稱(chēng)符合 name 的文件。iname 會(huì)忽略大小寫(xiě)
-size n : 文件大小 是 n 單位,b 代表 512 位元組的區(qū)塊,c 表示字元數(shù),k 表示 kilo bytes,w 是二個(gè)位元組。-type c : 文件類(lèi)型是 c 的文件。
拷貝文件:cp
cp命令的功能是將給出的文件或目錄復(fù)制到另一個(gè)文件或目錄中,相當(dāng)于DOS下的copy命令。
a:此選項(xiàng)通常在復(fù)制目錄時(shí)使用,它保留鏈接、文件屬性,并復(fù)制目錄下的所有內(nèi)容。其作用等于dpR參數(shù)組合。
-d:復(fù)制時(shí)保留鏈接。這里所說(shuō)的鏈接相當(dāng)于Windows系統(tǒng)中的快捷方式。
-f:覆蓋已經(jīng)存在的目標(biāo)文件而不給出提示。
-i:與-f選項(xiàng)相反,在覆蓋目標(biāo)文件之前給出提示,要求用戶(hù)確認(rèn)是否覆蓋,回答"y"時(shí)目標(biāo)文件將被覆蓋。
-p:除復(fù)制文件的內(nèi)容外,還把修改時(shí)間和訪問(wèn)權(quán)限也復(fù)制到新文件中。
-r:若給出的源文件是一個(gè)目錄文件,此時(shí)將復(fù)制該目錄下所有的子目錄和文件。
-l:不復(fù)制文件,只是生成鏈接文件。
使用指令"cp"將當(dāng)前目錄"test/"下的所有文件復(fù)制到新目錄"newtest"下,輸入如下命令:
$ cp –r test/ newtest
移動(dòng)文件:mv
用戶(hù)可以使用mv命令來(lái)移動(dòng)文件或目錄,也可以給文件或目錄重命名。
-i: 若指定目錄已有同名文件,則先詢(xún)問(wèn)是否覆蓋舊文件;
-f: 在mv操作要覆蓋某已有的目標(biāo)文件時(shí)不給任何指示;
-v:顯示移動(dòng)進(jìn)度
命令格式 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?運(yùn)行結(jié)果
mv 文件名 文件名 ? ? ? ? ? ? ? ? ? ? ? 將源文件名改為目標(biāo)文件名
mv 文件名 目錄名 ? ? ? ? ? ? ? ? ? ? ? 將文件移動(dòng)到目標(biāo)目錄
mv 目錄名 目錄名 ? ? ? ? ? ? ? ? ? ? ? 目標(biāo)目錄已存在,將源目錄移動(dòng)到目標(biāo)目錄;目標(biāo)目錄不存在則改名
mv 目錄名 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文件名出錯(cuò)
實(shí)例
將文件 aaa 更名為 bbb :
mv aaa bbb
將info目錄放入logs目錄中。注意,如果logs目錄不存在,則該命令將info改名為logs。
mv info/logs
再如將/usr/student下的所有文件和目錄移到當(dāng)前目錄下,命令行為:
$ mv/usr/student/*? .
歸檔管理:tar
計(jì)算機(jī)中的數(shù)據(jù)經(jīng)常需要備份,tar是Unix/Linux中最常用的備份工具,此命令可以把一系列文件歸檔到一個(gè)大文件中,也可以把檔案文件解開(kāi)以恢復(fù)數(shù)據(jù)。
tar使用格式tar?[參數(shù)]打包文件名?文件
tar命令很特殊,其參數(shù)前面可以使用“-”,也可以不使用。
-c 建立新的備份文件。
-v ?顯示指令執(zhí)行過(guò)程。
-t ?列出檔案中包含的文件
-x ?解開(kāi)檔案文件
-f 指定檔案文件名稱(chēng),f后面一定是.tar文件,所以必需放選項(xiàng)最后
注意:除了f需要放在參數(shù)的最后,其它參數(shù)的順序任意。
文件壓縮解壓:gzip
tar與gzip命令結(jié)合使用實(shí)現(xiàn)文件打包、壓縮。 tar只負(fù)責(zé)打包文件,但不壓縮,用gzip壓縮tar打包后的文件,其擴(kuò)展名一般用xxxx.tar.gz。
gzip使用格式如下:
gzip??[選項(xiàng)]被壓縮文件
-d ? ?解壓
-r ?壓縮所有字目錄
tar這個(gè)命令并沒(méi)有壓縮的功能,它只是一個(gè)打包的命令,但是在tar命令中增加一個(gè)選項(xiàng)(-z)可以調(diào)用gzip實(shí)現(xiàn)了一個(gè)壓縮的功能,實(shí)行一個(gè)先打包后壓縮的過(guò)程。
壓縮用法:tar?cvzf壓縮包包名?文件1文件2?...
-z:指定壓縮包的格式為:file.tar.gz
解壓用法:?tar?zxvf?壓縮包包名
-z:指定壓縮包的格式為:file.tar.gz