這篇文章主要介紹Linux文件與目錄管理是什么意思,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
基礎(chǔ)命令
基本命令
pwd命令
作用:顯示當(dāng)前工作目錄的名稱
選項:-p 顯示鏈接的真實路徑
cd命令
作用:切換當(dāng)前工作目錄
常用:
cd 切換到根目錄cd - 返回到前一個工作目錄cd .. 切換工作目錄到當(dāng)前目錄的上一級目錄cd /usr/local 切換工作目錄到/usr/local
ls命令
作用:顯示目錄與文件信息
常用選項:
-a 顯示所有文件,包括以.開頭的隱藏文件-h 人性化顯示容量信息-l 長格式顯示文檔的詳細信息-u 顯示文件或目錄最后被訪問的時間-t 以修改時間排序,ls默認按文件名稱排序-R 遞歸顯示子目錄
touch命令
作用:創(chuàng)建文件或者修改文件時間
如:$ touch hello.txt
如果hello.txt文件不存在,則創(chuàng)建文件,如果存在,則修改hello.txt所有的時間為當(dāng)前系統(tǒng)的時間。
mkdir命令
作用:創(chuàng)建目錄
選項:-p 創(chuàng)建多級目錄
如:$ mkdir -p /tmp/data/mysql
假如/tmp/data目錄不存在,就會自動創(chuàng)建/data目錄再創(chuàng)建mysql目錄。
cp命令
作用:復(fù)制文件或者目錄
選項:
-r 遞歸,復(fù)制子文件與子目錄(復(fù)制目錄必加)-a 復(fù)制時保留源文檔的所有屬性
rm命令
作用:刪除文件或者目錄
選項:
-f 不提示,強制刪除-i 刪除前,提示是否刪除-r 遞歸刪除,刪除目錄以及目錄下的所有內(nèi)容
需謹慎:rm -rf *
mv命令
作用:移動或者重命名文件或目錄
如:
重命名文件$ mv hello.txt hello.doc移動文件到指定目錄$ mv hello.txt /usr/local/src移動文件到指定目錄并改名$ mv hello.txt /usr/local/src/hello.doc
du命令
作用:計算文件或目錄的大小(容量)
選項:
-h 人性化顯示容量信息-a 查看所有目錄以及文件的容量信息-s 僅顯示總?cè)萘?/p>
查看文件內(nèi)容命令
cat命令
作用:查看文件內(nèi)容
選項:
-b 顯示行號,空白行不顯示行號-n 顯示行號,包含空白行
示例:
[root@moli_linux1 ~]$ cat -b hello.txt 1 one:hello world 2 two:hello world [root@moli_linux1 ~]$ cat -n hello.txt 1 one:hello world 2 3 two:hello world
tac命令
作用:倒序查看文件內(nèi)容(與cat相反)
[root@moli_linux1 ~]$ tac hello.txt two:hello world one:hello world
head命令
作用:查看文件頭部內(nèi)容,默認顯示前10行。
選項:
-c nK 顯示文件前nKB的內(nèi)容-n 顯示文件前n行內(nèi)容
示例:head -5 /etc/passwd 顯示/etc/passwd文件前5行內(nèi)容。
tail命令
作用:查看文件尾部內(nèi)容,默認顯示末尾10行。
選項:
-c nK 顯示文件前nKB的內(nèi)容-n 顯示文件前n行內(nèi)容
示例:tail -5 /etc/passwd 顯示/etc/passwd文件后5行內(nèi)容。
less命令
作用:分頁查看文件內(nèi)容
說明:按空格鍵查看下一頁,q鍵退出查看,ctrl b向上翻頁,ctrl f向下翻頁,g跳到第一行,G跳到最后一行。
示例:less /var/log/jenkins/jenkins.log
more命令
作用:分頁查看文件內(nèi)容
說明:按空格鍵查看下一頁,q鍵退出查看,ctrl b向上翻頁,ctrl f向下翻頁
示例:`more /var/log/jenkins/jenkins.log
`
wc命令
作用:顯示文件行,單詞與字節(jié)統(tǒng)計信息
選項:
-c 顯示文件字節(jié)統(tǒng)計信息-l 顯示文件行數(shù)統(tǒng)計信息-w 顯示文件單詞統(tǒng)計信息
示例:
[root@moli_linux1 ~]$ wc hello.txt 3 4 33 hello.txt [root@moli_linux1 ~]$ wc -c hello.txt 33 hello.txt [root@moli_linux1 ~]$ wc -l hello.txt 3 hello.txt [root@moli_linux1 ~]$ wc -w hello.txt 4 hello.txt
權(quán)限管理
Linux下文件的權(quán)限一般包括讀、寫、可執(zhí)行三種控制,可用字母或者數(shù)字表示。
字母表示為為r、w、x數(shù)字表示為4、2、1
也就是r=4,w=2,x=1。
我們可以使用ls -l命令查看文件或者目錄的權(quán)限。
[root@moli_linux1 ~]$ ls -l 總用量 8 drwxr-xr-x. 3 root root 23 6月 6 2018 192.168.229 -rw-------. 1 root root 1538 5月 19 2018 anaconda-ks.cfg drwxr-xr-x. 3 root root 18 7月 27 2018 git_data -rw-r--r-- 1 root root 33 3月 5 13:37 hello.txt drwxr-xr-x. 4 root root 33 7月 4 2018 server drwxr-xr-x 4 root root 68 10月 2 15:48 shell-100 drwxr-xr-x 4 root root 67 11月 16 21:29 test-find
其中第一列的第一個字符表示文件類型,之后的9個字符就是權(quán)限了,而第一列最后一個字符有的是一個點.,有的沒有,這個點代表這個文件受selinux所限制。
以上面的drwxr-xr-x.為例:
第一個字符是字母d,表示文件類型是目錄,常見的有:字母l代表鏈接文件、字母b或者c代表設(shè)備、字母s代表socket文件等。第二個字符到第九個字符代表權(quán)限。三位一組分別為所有者(a)權(quán)限,所屬組(g)權(quán)限、其他用戶(o)權(quán)限。這個文件的權(quán)限為所有者權(quán)限可讀可寫可執(zhí)行、所屬組權(quán)限為可讀可執(zhí)行不可寫、其他用戶權(quán)限可執(zhí)行不可讀不可寫。最后一個字符是點,表示受selinux限制。
關(guān)于權(quán)限的表示可看下表:
數(shù)字 | 字母 | 文件 | 目錄 |
---|---|---|---|
4 | r | 查看文件內(nèi)容 | 查看目錄下的文件與目錄名稱 |
2 | w | 修改文件內(nèi)容 | 在目錄下增、刪、改文件與目錄名稱 |
1 | x | 可執(zhí)行,一般為程序或者腳本 | 可用cd命令進入目錄 |
Linux默認權(quán)限
文件默認權(quán)限
文件默認大權(quán)限為644 (rw-r--r--)一般會給文件644權(quán)限
目錄默認權(quán)限
目錄默認大權(quán)限為755(rwxr-xr-x)一般會給目錄755權(quán)限
chmod命令
作用:修改文件或者目錄的權(quán)限
格式:chmod [選項] 權(quán)限 文件或目錄
選項:-R 遞歸將權(quán)限應(yīng)用于所有的子目錄與子文件
其中權(quán)限的表示可用數(shù)字或者字母,也可以用a(所有人)、u(代表所有者)、g(所屬組)、o(其他用戶)。
示例:
環(huán)境準(zhǔn)備,test目錄下有3個文件和1個目錄test-1,子目錄test-1里有文件hello.txt。各個文件目錄權(quán)限如下:
[root@moli_linux1 test]$ ll -R .: 總用量 0 -rw-r--r-- 1 root root 0 3月 7 14:43 1.txt -rw-r--r-- 1 root root 0 3月 7 14:43 2.txt -rw-r--r-- 1 root root 0 3月 7 14:43 3.txt drwxr-xr-x 2 root root 23 3月 7 14:44 test-1 ./test-1: 總用量 0 -rw-r--r-- 1 root root 0 3月 7 14:44 hello.txt [root@moli_linux1 test]$ tree . ├── 1.txt ├── 2.txt ├── 3.txt └── test-1 └── hello.txt 1 directory, 4 files
修改1.txt文件的權(quán)限為600
$ chmod 600 1.txt 或者 $ chmod u=rwx,g-r,o-r 1.txt
對1.txt文件的所有人權(quán)限添加可執(zhí)行權(quán)限
$ chmod a+x 1.txt 或者 $ chmod u+x,g+x,o+x 1.txt
對test目錄下的所有文件設(shè)置所有人可讀可寫
$ chmod -R a=rw test
建議:修改權(quán)限能用數(shù)字就用數(shù)字...
chown命令
作用:修改文件或目錄的所有者與所屬組
格式:chown [選項] [所有者]:[所屬組] 文件名/目錄名
選項:-R 遞歸將權(quán)限應(yīng)用于所有子目錄與子文件
使用ls -l命令查看文件或目錄的時候,第三列和第四列就是文件或目錄的所有者與所屬組。
[root@moli_linux1 test]$ ls -l 1.txt -rwx------ 1 root root 0 3月 7 14:43 1.txt
比如上面1.txt文件的所有者是root用戶,所屬組是root組。
修改1.txt文件的所有者為mori,所屬組為mail
[root@moli_linux1 test]$ chown mori:mail 1.txt [root@moli_linux1 test]$ ll 1.txt -rwx------ 1 mori mail 0 3月 7 14:43 1.txt # 所有者與所屬組已改變umask
Linux默認權(quán)限控制,也就是說umask的作用是設(shè)置用戶創(chuàng)建文件或者目錄時,這個文件或目錄的默認權(quán)限。
在Linux終端輸入umask時,出現(xiàn)數(shù)字0022這個就是默認的umask值。
[root@moli_linux1 test]$ umask 0022
修改umask
我們可以通過輸入命令$ umask 0032修改系統(tǒng)默認的umask值
[root@moli_linux1 test]$ umask 0032 [root@moli_linux1 test]$ umask 0032
umask反掩碼計算
當(dāng)umask掩碼是偶數(shù)的時候,默認權(quán)限=大權(quán)限-umask值
文件大權(quán)限是666,因此創(chuàng)建文件的默認權(quán)限是666-022=644目錄大權(quán)限是777,因此創(chuàng)建目錄的默認權(quán)限是777-022=755
當(dāng)umask掩碼是奇數(shù)的時候,計算文件的默認權(quán)限的時候,要在奇數(shù)位加1
如:umask=032
對于文件:666-032=634,然后奇數(shù)位+1,634+010=644對于目錄:777-032=745,然后奇數(shù)位+1,745+010=755
文件系統(tǒng)權(quán)限
設(shè)置文件系統(tǒng)權(quán)限命令chattr
chattr +a(append) 只能追加chattr +i 無敵,不能進行任何操作
查看文件系統(tǒng)權(quán)限命令lsattr
示例:
[root@moli_linux1 test]$ ll 2.txt -rw-r--r-- 1 root root 0 3月 7 14:43 2.txt [root@moli_linux1 test]$ chattr +a 2.txt # 添加隱藏權(quán)限 [root@moli_linux1 test]$ echo "hello world" > 2.txt # 不允許重定向 -bash: 2.txt: 不允許的操作 [root@moli_linux1 test]$ echo "hello world" >> 2.txt # 允許追加重定向 [root@moli_linux1 test]$ mv 2.txt helloworld.txt # 不允許移動 mv: 無法將"2.txt" 移動至"helloworld.txt": 不允許的操作 [root@moli_linux1 test]$ rm -f 2.txt # 不允許刪除 rm: 無法刪除"2.txt": 不允許的操作 [root@moli_linux1 test]$ lsattr 2.txt #查看隱藏權(quán)限 -----a---------- 2.txt [root@moli_linux1 test]# chattr -a 2.txt # 去除隱藏權(quán)限 [root@moli_linux1 test]$ lsattr 2.txt # 沒有隱藏權(quán)限 ---------------- 2.txt [root@moli_linux1 test]$ rm -f 2.txt # 再次刪除,成功
鏈接文件
Linux中鏈接文件分為軟連接和硬鏈接。軟連接可以跨分區(qū),但源文件不可刪除。硬鏈接不可以跨分區(qū),但可以將源文件刪除。
創(chuàng)建軟硬鏈接使用命令ln
創(chuàng)建軟連接:ln -s 文件名 鏈接名
創(chuàng)建硬鏈接:ln 文件名 鏈接名
軟連接
軟鏈接就是一個普通文件,只是數(shù)據(jù)塊內(nèi)容有點特殊。軟鏈接有著自己的 inode 號以及用戶數(shù)據(jù)塊。
因此軟鏈接的創(chuàng)建與使用沒有類似硬鏈接的諸多限制:
軟鏈接有自己的文件屬性及權(quán)限等;可對不存在的文件或目錄創(chuàng)建軟鏈接;軟鏈接可交叉文件系統(tǒng);即,可跨分區(qū)。軟鏈接可對文件或目錄創(chuàng)建;創(chuàng)建軟鏈接時,鏈接計數(shù) i_nlink 不會增加;刪除軟鏈接并不影響被指向的文件,但若被指向的原文件被刪除,則相關(guān)軟連接被稱為死鏈接(即 dangling
link,若被指向路徑文件被重新創(chuàng)建,死鏈接可恢復(fù)為正常的軟鏈接)。
示例:
[root@moli_linux1 ~]$ ln -s /test/hello.txt /tmp/hi.txt #創(chuàng)建文件軟連接 [root@moli_linux1 ~]$ ln -s /test/ /var/test #創(chuàng)建目錄軟連接 [root@moli_linux1 ~]$ rm /test/hello.txt;cat /tmp/hi.txt #刪除源文件后,鏈接無法使用
硬鏈接
由于硬鏈接是有著相同 inode 號僅文件名不同的文件,因此硬鏈接存在以下幾點特性:
文件有相同的 inode 及 data block;只能對已存在的文件進行創(chuàng)建;不能交叉文件系統(tǒng)進行硬鏈接的創(chuàng)建;不能對目錄進行創(chuàng)建,只可對文件創(chuàng)建;刪除一個硬鏈接文件并不影響其他有相同 inode 號的文件。
示例:
[root@moli_linux1 ~]$ ln /test/hello.txt /tmp/hi.txt #創(chuàng)建文件硬鏈接 [root@moli_linux1 ~]$ rm /test/hello.txt #刪除源文件后依舊可用
以上是Linux文件與目錄管理是什么意思的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
本文題目:Linux文件與目錄管理是什么意思-創(chuàng)新互聯(lián)
鏈接URL:http://www.rwnh.cn/article4/djpsoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、網(wǎng)站收錄、軟件開發(fā)、定制開發(fā)、商城網(wǎng)站、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容