Linux基礎知識總結1 | 文件與目錄
1. linux文件權限與目錄配置
1. 文件屬性
Linux一般將文件可存取的身份分為三個類別,分別是 owner/group/others,且三種身份各 read/write/execute 等權限
文件的權限與類型解釋:
1 為:代表這個文件名為目錄或文件,本例中為文件(-),d為目錄,l為鏈接文件 ……
234為:owner擁有者的權限,本例中為可讀、可寫、可執(zhí)行(rwx)
567為:group同群組使用者權限,本例中為可讀可執(zhí)行(rx)
890為:others其他使用者權限
2. 更改文件屬性與權限
chgrp: 改變文件所屬群組,chown: 改變文件擁有者,chmod: 改變文件的權限
chgrp:要被改變的群組名稱必須要在/etc/group文件內(nèi),我要把tempFile文件夾的所屬群組改為testing,命令為:chgrp testing tempFile,加上-R : 進行遞回(recursive)的持續(xù)變更,即連同次目錄下的所有文件、目錄都更新成為這個群組之意。常常用在變更某一目錄內(nèi)所有的文件之情況
chown:使用者必須是已經(jīng)存在系統(tǒng)中的帳號,也就是在/etc/passwd 這個文件中有紀錄的使用者,我要把tempFile文件夾的擁有者改為testown,命令為:chown testown tempFile,加上-R:即連同次目錄下的所有文件、目錄的擁有者都更新為testown,一些其他用法:chown testown:testing tempFile表示把tempFile的擁有者改為testown,群組改為testing
chmod:
數(shù)字類型改變文件權限:各權限的分數(shù)分別為r:4、w:2、x:1,所以0-7分別為:
0:-、1:x、2:w、3:wx、4:r、5:rx、6:rw、7:rwx,
例如,將tempFile文件夾的三種身份(owner/group/others)的權限都改為rwx的命令:chmod 777 tempFile,加-R:即連同次目錄下的所有文件都會變更
符號類型改變文件權限:
u: user,g: group,o: others,a: all
例1:設置tempFile文件的權限成為“-rwxr-xr-x”時:chmod u=rwx,go=rx tempFile
例2:增加tempFile文件每個人都可寫入的權限:chmod a+w tempFile
例3:去掉tempFile文件可執(zhí)行權限:chmod a-x tempFile
3. 目錄與文件權限的意義

如果在某目錄下不具有x的權限, 那么就無法切換到該目錄下,也就無法執(zhí)行該目錄下的任何指令,即使具有該目錄的r 或w的權限,所以要開放目錄給任何人瀏覽時,至少要給予r及x的權限,但w權限不可隨便給
4. linux目錄
Linux目錄樹:
2. Linux文件與目錄管理
1. 目錄與路徑
相關命令:
可執(zhí)行文件路徑的變量: $PATH
echo $PATH可以顯示出路徑,$表示后面接的是變量,結果:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
PATH(一定是大寫)這個變量的內(nèi)容是由一堆目錄所組成的,每個目錄中間用冒號(:)來隔開, 每個目錄是有“順序”之分的
2. 文件與目錄管理
ls 命令用來查看目錄的內(nèi)容
3. 創(chuàng)建(touch)|復制(cp)|刪除(rm)|移動(mv)
touch命令:
創(chuàng)建一個新文件:touch fileName
cp命令:
cp 命令用來拷貝文件,要復制文件,輸入命令cp
cp t.txt Document/t?該命令將把文件 t.txt 復制到 Document 目錄下,并命名為 ts
-i 互動:如果文件將覆蓋目標中的文件,他會提示確認
-r 遞歸:這個選項會復制整個目錄樹、子目錄以及其他
-v 詳細:顯示文件的復制進度
mv命令:
mv 命令用來移動文件
-i 互動:如果選擇的文件會覆蓋目標中的文件,他會提示確認
-f 強制:它會超越互動模式,不提示地移動文件,屬于很危險的選項
-v 詳細:顯示文件的移動進度
mv t.txt Document?把文件 t.txt 移動到目錄 Document 中
rm命令:
rm 命令用來刪除文件
-i 互動:提示確認刪除
-f 強制:代替互動模式,不提示確認刪除
-v 詳細:顯示文件的刪除進度
-r 遞歸:將刪除某個目錄以及其中所有的文件和子目錄
rm t.txt?該命令刪除文件 t.txt
3.查看文件內(nèi)容
1、cat 由第一行開始顯示文件內(nèi)容
直接查閱一個文件的內(nèi)容cat fileName
2、tac 從最后一行開始顯示,可以看出 tac 是 cat 的倒著寫
由最后一行到第一行反向在屏幕上顯示出來tac fileName
3、nl 顯示的時候,順道輸出行號
可以將輸出的文件內(nèi)容自動的加上行號nl fileName
4、more 一頁一頁的顯示文件內(nèi)容
nl 與 cat, tac 等,都是一次性的將數(shù)據(jù)一口氣顯示到屏幕上面,而more可以進行一頁一頁翻動?more fileName,在 more 這個程序運行過程中,有幾個按鍵可以按:
5、less 與 more 類似,但是比 more 更好的是,他可以往前翻頁
less 的用法比起 more 又更加的有彈性,在 more 的時候,并沒有辦法向前面翻, 只能往后面看,但若使用了 less 時,就可以使用 [pageup]、[pagedown] 等按鍵的功能來往前往后翻看文件
6、head 只看頭幾行
head [-n number] fileName,默認的情況中,顯示前面十行!若要顯示前 20 行:head -n 20 fileName
7、tail 只看尾巴幾行
tail [-n number] fileName,默認的情況中,顯示后面十行!若要顯示后 20 行:tail -n 20 fileName
實戰(zhàn):假如我想要顯示 /etc/man_db.conf 的第 11 到第 20 行
head -n 20 /etc/man_db.conf | tail -n 10,這兩個指令中間有個管線 (|) 的符號存在,這個管線的意思是:“前面的指令所輸出的訊息,請通過管線交由后續(xù)的指令繼續(xù)使用”的意思
8、od 以二進制的方式讀取文件內(nèi)容
od [-t TYPE] 文件,
4.默認權限和隱藏權限
1. 文件默認權限umask
當創(chuàng)建一個新的文件或目錄時,他的默認權限是什么呢,可以用umask命令查看
直接輸入:umask,會得到一串數(shù)字,例如0022,與一般權限有關的是后面三個數(shù)字,第一個數(shù)字是特殊權限用的,先不要理會。當加入 -S (Symbolic)這個選項,就會以符號類型的方式來顯示出權限?umask -S,結果:u=rwx,g=rx,o=rx
0022的后三個數(shù)字分別表示owner、group、others被拿掉的權限,owner擁有rwx三個權限,group和others被拿了w權限,因為r、w、x分別代表4、2、1
在默認的情況中, root 的 umask 會拿掉比較多的屬性,root 的 umask 默認是 022, 這是基于安全的考慮啦~至于一般身份使用者,通常他們的 umask 為 002 ,亦即保留同群組的寫入權力
那怎樣才能修改這些默認權限呢,比如要把默認權限改為002,直接輸入umask 002即可
2. 文件隱藏屬性
chattr (設置文件隱藏屬性)
lsattr(顯示文件隱藏屬性)
3. 觀察文件類型
file fileName?用于查看某個文件的類型、格式等,如下所示:
[root@VM-20-9-centos public]# file robots.txt robots.txt: ASCII text [root@VM-20-9-centos public]# file .DS_Store .DS_Store: Apple Desktop Services Store
4. 指令與文件的搜尋
1.指令文件名的搜尋
which:尋找命令的可執(zhí)行文件
-a :將所有由 PATH 目錄中可以找到的指令均列出,而不止第一個被找到的指令名稱
[root@VM-20-9-centos /]# which -a ls alias ls='ls --color=auto' /usr/bin/ls [root@VM-20-9-centos /]# which -a cat /usr/bin/cat [root@VM-20-9-centos /]# which -a vim /usr/bin/vim [root@VM-20-9-centos /]# which -a ifconfig /usr/sbin/ifconfig
2.文件文件名的搜尋
whereis:在一些特定的目錄中尋找文件或文件名
[root@VM-20-9-centos /]# whereis vim vim: /usr/bin/vim /usr/share/vim /usr/share/man/man1/vim.1.gz [root@VM-20-9-centos /]# whereis ifconfig ifconfig: /usr/sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz [root@VM-20-9-centos /]# whereis passwd passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.gz
whereis因為只查找了特定的目錄,所以查找速度快,可以用whereis -l查看一共查找了哪些目錄,而find的查找速度卻要慢,因為它直接搜尋磁盤
locate:locate是在已創(chuàng)建的數(shù)據(jù)庫 /var/lib/mlocate/ 里面搜尋數(shù)據(jù),所以不用直接在去硬盤當中存取數(shù)據(jù),所以速度快,而數(shù)據(jù)庫的創(chuàng)建默認是每天執(zhí)行一次,所以當新建了文件或目錄后需要更新數(shù)據(jù)庫,才能找到文件,命令是 updatedb
updatedb:根據(jù) /etc/updatedb.conf 的設置去搜尋系統(tǒng)硬盤內(nèi)的文件名,并更新 /var/lib/mlocate 內(nèi)的數(shù)據(jù)庫文件
[root@VM-20-9-centos /]# locate -l 2 public /etc/firewalld/zones/public.xml /etc/firewalld/zones/public.xml.old [root@VM-20-9-centos /]# locate -l 5 passwd /etc/passwd /etc/passwd- /etc/pam.d/passwd /etc/security/opasswd /usr/bin/gpasswd
Linux
版權聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權內(nèi)容。