您好,登錄后才能下訂單哦!
在Linux下對(duì)文件和目錄的操作是學(xué)習(xí)linux的基礎(chǔ),文件的操作無非就是增刪改查等等。對(duì)于目錄的操作也是對(duì)目錄的增刪改查以及修改目錄屬性等操作。在了解目錄管理前得先了解目錄的結(jié)構(gòu)。linux下的目錄是樹型結(jié)構(gòu),所有的目錄都從根(/)開始,其他的文件系統(tǒng)以掛載的方式掛載到目錄上去進(jìn)行使用。訪問目錄時(shí)有相對(duì)路徑和絕對(duì)路徑之分。
相對(duì)路徑:路徑的寫法不是由根寫起的,而是在當(dāng)前路徑的基礎(chǔ)之上的。例如:例如由 /usr/share/doc 要到 /usr/share/man 底下時(shí),可以寫成: cd ../man
絕對(duì)路徑:路徑從根寫起,例如:/usr/local
1.文件與目錄管理常用命令
ls / cd / cp / mv /pwd /rm / rmdir / chgrp /chown /chmod / find / ln / mkdir / whereis / which / file / touch / locate / dd / updatedb / rename
接下來我將總結(jié)這些命令的常用選項(xiàng)
1.1 ls 用來顯示目標(biāo)列表,在Linux中是使用率較高的命令。
-a:顯示所有檔案及目錄(ls內(nèi)定將檔案名或目錄名稱為“.”的視為影藏,不
會(huì)列出);
-A:顯示除影藏文件“.”和“..”以外的所有文件列表;
-C:多列顯示輸出結(jié)果。這是默認(rèn)選項(xiàng);
-l:與“-C”選項(xiàng)功能相反,所有輸出信息用單列格式輸出,不輸出為多列;
-c:與“-lt”選項(xiàng)連用時(shí),按照文件狀態(tài)時(shí)間排序輸出目錄內(nèi)容,排序的依據(jù)
是文件的索引節(jié)點(diǎn)中的ctime字段。與“-l”選項(xiàng)連用時(shí),則排序的一句是文件的狀
態(tài)改變時(shí)間;
-d:僅顯示目錄名,而不顯示目錄下的內(nèi)容列表。顯示符號(hào)鏈接文件本身,而
不顯示其所指向的目錄列表;
-i:顯示文件索引節(jié)點(diǎn)號(hào)(inode)。一個(gè)索引節(jié)點(diǎn)代表一個(gè)文件; --file-
type:與“
-F”選項(xiàng)的功能相同,但是不顯示“*”;
-k:以KB(千字節(jié))為單位顯示文件大??;
-l:以長格式顯示目錄下的內(nèi)容列表。輸出的信息從左到右依次包括文件
名,文件類型、權(quán)限模式、硬連接數(shù)、所有者、組、文件大小和文件的最后修
改時(shí)間等;
-m:用“,”號(hào)區(qū)隔每個(gè)文件和目錄的名稱;水平輸出文件列表;
-r:以文件名反序排列并輸出目錄內(nèi)容列表;
-s:顯示文件和目錄的大小,以區(qū)塊為單位;
-t:用文件和目錄的更改時(shí)間排序;
-R:遞歸處理,將指定目錄下的所有文件及子目錄一并處理;
--full-time:列出完整的日期與時(shí)間;
--color[=WHEN]:使用不同的顏色高亮顯示不同類型的。
-F:在每個(gè)輸出項(xiàng)后追加文件的類型標(biāo)識(shí)符,可用于按照特殊字符對(duì)文件進(jìn)
行分類
具體含義:“*”表示具有可執(zhí)行權(quán)限的普通文件,“/”表示目錄,“@”表示符
號(hào)鏈接,“|”表示命令管道FIFO,“=”表示sockets套接字。當(dāng)文件為普通文件時(shí),
不輸出任何標(biāo)識(shí)符;
1.2 cd 用來切換工作目錄。
cd 進(jìn)入用戶主目錄;
cd ~ 進(jìn)入用戶主目錄;
cd - 返回進(jìn)入此目錄之前所在的目錄;
cd .. 返回上級(jí)目錄(若當(dāng)前目錄為“/“,則執(zhí)行完后還在“/";".."為上級(jí)目錄的意思);
cd ../.. 返回上兩級(jí)目錄;
cd !$ 把上個(gè)命令的參數(shù)作為cd參數(shù)使用。
1.3 cp 復(fù)制命令
-a:此參數(shù)的效果和同時(shí)指定"-dpR"參數(shù)相同;
-i:(默認(rèn)選項(xiàng))覆蓋既有文件之前先詢問用戶;
-f:強(qiáng)行復(fù)制文件或目錄,不論目標(biāo)文件或目錄是否已存在;
-p:保留源文件或目錄的屬性;
-R/r:遞歸處理,將指定目錄下的所有文件與子目錄一并處理;
-l:對(duì)源文件建立硬連接,而非復(fù)制文件;
-s:對(duì)源文件建立符號(hào)連接,而非復(fù)制文件;
-d:當(dāng)復(fù)制符號(hào)連接時(shí),把目標(biāo)文件或目錄也建立為符號(hào)連接,并指向與源文
件或目錄連接的原始文件或目錄;
-u:使用這項(xiàng)參數(shù)后只會(huì)在源文件的更改時(shí)間較目標(biāo)文件更新時(shí)或是名稱相互
對(duì)應(yīng)的目標(biāo)文件并不存在時(shí),才復(fù)制文件;
-b:覆蓋已存在的文件目標(biāo)前將目標(biāo)文件備份;
-v:詳細(xì)顯示命令執(zhí)行的操作。
1.4 mv 用來對(duì)文件或目錄重新命名,或者將文件從一個(gè)目錄移到另一個(gè)目錄中。
-i:(默認(rèn))交互式操作,覆蓋前先行詢問用戶,如果源文件與目標(biāo)文件或目標(biāo)
目錄中的文件同名,則詢問用戶是否覆蓋目標(biāo)文件。用戶輸入”y”,表示將覆蓋目標(biāo)
文件;輸入”n”,表示取消對(duì)源文件的移動(dòng)。這樣可以避免誤將文件覆蓋。
-b:當(dāng)文件存在時(shí),覆蓋前,為其創(chuàng)建一個(gè)備份;
-f:若目標(biāo)文件或目錄與現(xiàn)有的文件或目錄重復(fù),則直接覆蓋現(xiàn)有的文件或目
錄;
-u:當(dāng)源文件比目標(biāo)文件新或者目標(biāo)文件不存在時(shí),才執(zhí)行移動(dòng)操作。
1.5 rm 可以刪除一個(gè)目錄中的一個(gè)或多個(gè)文件或目錄,也可以將某個(gè)目錄
及其下屬的所有文件及其子目錄均刪除掉。對(duì)于鏈接文件,只是刪除整個(gè)鏈接
文件,而原有文件保持不變。
-d:直接把欲刪除的目錄的硬連接數(shù)據(jù)刪除成0,刪除該目錄;
-f:強(qiáng)制刪除文件或目錄;
-i:刪除已有文件或目錄之前先詢問用戶;
-r或-R:遞歸處理,將指定目錄下的所有文件與子目錄一并處理;
-v:顯示指令的詳細(xì)執(zhí)行過程。
1.6 chgrp 用來改變文件或目錄所屬的用戶組。該命令用來改變指定文件所
屬的用戶組。其中,組名可以是用戶組的id,也可以是用戶組的組名。文件名
可以 是由空格分開的要改變屬組的文件列表,也可以是由通配符描述的文件集
合。如果用戶不是該文件的文件主或超級(jí)用戶(root),則不能改變?cè)撐募?/span>
組。
-R或——recursive:遞歸處理,將指令目錄下的所有文件及子目錄一并處
理;
-f或--quiet或——silent:不顯示錯(cuò)誤信息;
-h或--no-dereference:只對(duì)符號(hào)連接的文件作修改,而不是該其他任何相關(guān)
文件;
-v或——verbose:顯示指令執(zhí)行過程;
--reference=<參考文件或目錄>:把指定文件或目錄的所屬群組全部設(shè)成和參
考文件或目錄的所屬群組相同;
1.7 chown 改變某個(gè)文件或目錄的所有者和所屬的組,該命令可以向某個(gè)
用戶授權(quán),使該用戶變成指定文件的所有者或者改變文件所屬的組。用戶組可
以是組名或組id。文件名可以使由空格分開的文件列表,在文件名中可以包含
通配符。
-f或--quite或——silent:不顯示錯(cuò)誤信息;
-h或--no-dereference:只對(duì)符號(hào)連接的文件作修改,而不更改其他任何相關(guān)
文件;
-R或——recursive:遞歸處理,將指定目錄下的所有文件及子目錄一并處理;
-v或——version:顯示指令執(zhí)行過程;
--dereference:效果和“-h”參數(shù)相同;
--reference=<參考文件或目錄>:把指定文件或目錄的擁有者與所屬群組全
部設(shè)成和參考文件或目錄的擁有者與所屬群組相同;
1.8 chmod 用來變更文件或目錄的權(quán)限。在UNIX系統(tǒng)家族里,文件或目錄
權(quán)限的控制分別以讀取、寫入、執(zhí)行3種一般權(quán)限來區(qū)分,另有3種特殊權(quán)限可
供運(yùn)用。用戶可以使用chmod指令去變更文件與目錄的權(quán)限,設(shè)置方式采用文
字或數(shù)字代號(hào)皆可。符號(hào)連接的權(quán)限無法變更,如果用戶對(duì)符號(hào)連接修改權(quán)
限,其改變會(huì)作用在被連接的原始文件。
權(quán)限范圍的表示法如下:
u User,即文件或目錄的擁有者;
g Group,即文件或目錄的所屬群組;
o Other,除了文件或目錄擁有者或所屬群組之外,其他用戶皆屬于這個(gè)范
圍;
a All,即全部的用戶,包含擁有者,所屬群組以及其他用戶;
r 讀取權(quán)限,數(shù)字代號(hào)為“4”;
w 寫入權(quán)限,數(shù)字代號(hào)為“2”;
x 執(zhí)行或切換權(quán)限,數(shù)字代號(hào)為“1”;
- 不具任何權(quán)限,數(shù)字代號(hào)為“0”;
s 特殊功能說明:變更文件或目錄的權(quán)限。
-f或--quiet或——silent:不顯示錯(cuò)誤信息;
-R或——recursive:遞歸處理,將指令目錄下的所有文件及子目錄一并處理;
-v或——verbose:顯示指令執(zhí)行過程;
--reference=<參考文件或目錄>:把指定文件或目錄的所屬群組全部設(shè)成和
參考文件或目錄的所屬群組相同;
<權(quán)限范圍>+<權(quán)限設(shè)置>:開啟權(quán)限范圍的文件或目錄的該選項(xiàng)權(quán)限設(shè)置;
<權(quán)限范圍>-<權(quán)限設(shè)置>:關(guān)閉權(quán)限范圍的文件或目錄的該選項(xiàng)權(quán)限設(shè)置;
<權(quán)限范圍>=<權(quán)限設(shè)置>:指定權(quán)限范圍的文件或目錄的該選項(xiàng)權(quán)限設(shè)置;
1.9 mkdir 建立目錄/文件夾
-m<目錄屬性> 設(shè)置目錄屬性
-p 建立父目錄,確定目錄是否存在,不存在則建立
-parenls 建立父目錄
-v 顯示詳細(xì)的處理信息
1.10 whereis 查找文件/查看命令路徑
-b 定位可執(zhí)行文件。
-m 定位幫助文件。
-s 定位源代碼文件。
-u 搜索默認(rèn)路徑下除可執(zhí)行文件、源代碼文件、幫助文件以外的其它文件。
-B 指定搜索可執(zhí)行文件的路徑。
-M 指定搜索幫助文件的路徑。
-S 指定搜索源代碼文件的路徑。
-f 只顯示文件的真實(shí)名稱
1.11 file - 確定文件類型
-b 不輸出文件名 (簡(jiǎn)要模式)
-z 試圖查看壓縮文件內(nèi)部信息.
-L (在支持符號(hào)鏈接的系統(tǒng)上)選項(xiàng)顯示符號(hào)鏈接文件的原文件, 就像 ls(1) 命令的like-named 選項(xiàng).
1.12 touch 用來更新文件或目錄的時(shí)間,不存在的文件將會(huì)被創(chuàng)建為空文件,除非使用-c 或-h 選項(xiàng)。
如果文件名為"-"則特殊處理,更改與標(biāo)準(zhǔn)輸出相關(guān)的文件的訪問時(shí)間。
長選項(xiàng)必須使用的參數(shù)對(duì)于短選項(xiàng)時(shí)也是必需使用的。
-a 只更改訪問時(shí)間
-m 只更改修改時(shí)間
-c, --no-create 不創(chuàng)建任何文件
-d, --date=字符串 使用指定字符串表示時(shí)間替代當(dāng)前時(shí)間
-r, --reference=文件 使用指定文件的時(shí)間屬性替代當(dāng)前時(shí)間
-t STAMP 使用[[CC]YY]MMDDhhmm[.ss] 格式的時(shí)間替代當(dāng)--time=WORD 使用WORD 指定的時(shí)間:access、atime、use 都等于 -a選項(xiàng)的效果,而modify、mtime 等于-m 選項(xiàng)的效果
1.13 rename 用于 對(duì)文件進(jìn)行命名管理,可進(jìn)行批量命名并支持正則表達(dá)式, rename命令存在兩個(gè)版本用法上有所區(qū)別 一個(gè)是 C語言版本支持通配符,另一個(gè)是 Perl版本.支持正則表達(dá)式
-n 操作預(yù)覽,在不更改文件名稱情況下,顯示執(zhí)行后的結(jié)果
-f 強(qiáng)制執(zhí)行
【常用通配符說明】
? 表示一個(gè)任意字符
* 表示一個(gè)或一串任意字符
-------------------------------------------------
【常用正則表達(dá)式符號(hào)說明】
^ 匹配輸入的開始位置
$ 匹配輸入的結(jié)尾
. 匹配除換行符外的任意字符
+ 匹配前一個(gè)字符一次或多次 例如,"zo+"可以匹配"zoo",但不匹配"z"
[a-z] 表示某個(gè)范圍內(nèi)的字符,例如,"[a-z]"匹配"a"與"z"之間的任何一個(gè)小寫字母字符。
[^m-z] 否定的字符區(qū)間。與不在指定區(qū)間內(nèi)的字符匹配。
1.14 updatedb命令用來創(chuàng)建或更新slocate命令所必需的數(shù)據(jù)庫文件。updatedb命令的執(zhí)行過程較長,因?yàn)樵趫?zhí)行時(shí)它會(huì)遍歷整個(gè)系統(tǒng)的目錄樹,并將所有的文件信息寫入slocate數(shù)據(jù)庫文件中。 補(bǔ)充說明:slocate本身具有一個(gè)數(shù)據(jù)庫,里面存放了系統(tǒng)中文件與目錄的相關(guān)信息。
-o<文件>:忽略默認(rèn)的數(shù)據(jù)庫文件,使用指定的slocate數(shù)據(jù)庫文件;
-U<目錄>:更新指定目錄的slocate數(shù)據(jù)庫; -v:顯示執(zhí)行的詳細(xì)過程。
1.15 dd轉(zhuǎn)換和拷貝文件
當(dāng)進(jìn)行非強(qiáng)制的轉(zhuǎn)換的時(shí)候,使用指定的輸入和輸出塊大小拷貝文件 (默認(rèn)是從標(biāo)準(zhǔn)輸入到標(biāo)準(zhǔn)輸出。)
它每次從輸入讀取指定大小的一個(gè)塊(默認(rèn)是512字節(jié))。 如果使用 bs=bytes 選項(xiàng),并且沒有轉(zhuǎn)換,除了指定 sync, noerror, 或 notrunc 之外, 那么dd將把全部讀到的數(shù)據(jù)(可以比請(qǐng)求讀的少) 寫到獨(dú)立的輸出塊去。 這個(gè)輸出塊的長度和讀到的數(shù)據(jù) 完全一樣,除非指定使用 sync(同步) 轉(zhuǎn)換,那樣的話,數(shù)據(jù)結(jié)尾處將追加NUL字符(或空格,見下)。
其他情況下,輸入的時(shí)候每次讀一個(gè)塊,然后處理,并將 輸出結(jié)果收集起來,最后寫到指定大小的數(shù)據(jù)塊中去。最 終的輸出塊可能會(huì)比指定的大小短一些。
if=file 從 file 中讀而不是標(biāo)準(zhǔn)輸入。
of=file 寫到 file 里去而不是標(biāo)準(zhǔn)輸出。除非指定 conv=notrunc ,否則, dd 將把 file 截為O字節(jié)(或由 seek= 選項(xiàng)指定的大?。?nbsp;
ibs=bytes 一次讀 bytes 字節(jié)。默認(rèn)是512。
obs=bytes 一次寫 bytes 字節(jié)。默認(rèn)是512。
bs=bytes 一次讀和寫 bytes 字節(jié)。這將覆蓋 ibs 和 obs 設(shè)定的值(并且,設(shè)定 bs 不等于同時(shí)將 ibs 和 obs 設(shè)為同一個(gè)值,至少在 只使用 sync, noerror 或 notrunc 轉(zhuǎn)換時(shí)是這樣的。因?yàn)閎s規(guī)定,每個(gè)輸入塊都應(yīng)作為單獨(dú) 的數(shù)據(jù)塊拷貝到輸出,而不把較短的塊組合到一起)。
count=blocks 只拷貝輸入文件的前 blocks 塊(每塊的大小為 ibs-byte 字節(jié)),而不是全部內(nèi)容,直到文件末尾。
conv=轉(zhuǎn)換[,轉(zhuǎn)換]... 將文件按 轉(zhuǎn)換 參數(shù)指定的方式轉(zhuǎn)換(在lq,rq兩邊沒有空格)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。