鳥哥Linux私房菜知識點總結6到7章,私房菜7章
最近翻看了一本《鳥哥的Linux私房菜》。這是一本基礎的書,萬丈高樓平地起,會的不多但可以學。這是我整理的一些知識點,雖然很基礎。希望和大家共同交流。
第6章主機規劃與磁碟分割
1、在進行團隊開發資源時,使用者組是很有用的一個功能。
2、Linux檔案屬性,
如:-rw-r--r--
第一個字元代表這個檔案時目錄[d],檔案[-]或連結檔案[I]
接下來的三個字元代表檔案所有者的許可權
再接下來的三個字元代表所屬組的許可權
最後三個字元代表其他人的許可權
3、改變檔案屬性和許可權:
chgrp:改變檔案所屬使用者組
chown:改變檔案所有者
chmod:改變檔案許可權
4、檔案複製:
cp 源檔案 目標檔案(註:複製行為cp會複製執行者的屬性和許可權)
5、你有r許可權並不能說明就具有進入該目錄的許可權,能不能進入某一個目錄,只與該目錄的x 許可權有關。
6、要開放目錄給任何人瀏覽時,至少應該給r和x的許可權,但w許可權不能輕易交出。
7、建立目錄命令:mkdir
建立空檔案命令:touch
8、.html檔案可使用網頁瀏覽器來直接開啟,.php檔案,可通過用戶端的瀏覽器來服務端瀏覽,以得到運算後的網頁結果
9、/var目錄主要針對常態性變動的檔案,包括緩衝,登陸檔案,程式檔案,Mysql資料庫檔案
10、SELinux是Linux重要外掛,它可以用來作為具體許可權的管理,針對邏輯程式的存取權限的限制。
^(* ̄(oo) ̄)^
第7章Linux檔案與目錄管理
一、常用的處理目錄的命令:
1、cd:切換目錄
2、pwd:顯示目前的目錄
想要知道當前所在目錄,直接輸入pwd即可
3、mkdir:建立一個新的目錄
mkdir -p test1/test2/test3/test4 使用-p這個牛X,可以自行建立多層目錄
mkdir -m 711 test 建立許可權為rwx--x--x的目錄
4、rmdir:刪除一個空的目錄
rmdir -r test 可刪除test下面的所有目錄
二、關於執行路徑的變數:$Path
echo $Path 使用root的身份列出查詢的路徑
三、查看檔案和目錄
ls -al ~ 將主資料夾的所有檔案列出來(含屬性和隱藏)
Ls -alF --color=never~ 不顯示顏色,但在檔案名稱末顯示出該檔案名稱代表的類型
Ls -al --full-time ~ 完整呈現檔案的修改時間
四、複製,刪除和移動
1、cp:複製檔案或目錄
cp複製時預設的目的檔案所有者是命令的執行者,就是誰執行的,老大歸誰
因此例如密碼檔案或設定檔,就不能直接用cp,必須加上-a或-p可以完整複製檔案許可權的參數才行。
可以利用cp -a /etc /tmp 來進行檔案備份。
2、rm:移除檔案或目錄
-f 不會出現警告資訊
-i 刪除前會問一下(想起個笑話,說比爾蓋茨家的馬桶按一下都有提示,確定沖廁嗎)
-r 遞迴刪除(因為很吊,所以很危險!!)
rm -i bashrc* 刪掉所有以bashrc開頭的檔案
3、mv:移動檔案與目錄或更名
-f 若目標檔案已存在,直接覆蓋
-i 會問你一下
-u 目標檔案已存在,並且source更新,才林更新。
五、獲得路徑檔案名稱和目錄名稱
basename 獲得最後的檔案名稱
dirname 獲得目錄名
六、檔案內容查詢
1、cat 由第一行開始顯示內容
-A 列出特別字元,而非空白
-b 列出行號,空白不顯示行號
-n 列出行號,空白顯示行號
2、nl 顯示時順便輸出行號
3、More 一頁一頁顯示
Space 向下翻一頁
Enter 向下滾動一行
搜尋字串功能:
輸入/ xxx ,然後按n進行查詢就行了
4、Od 以二進位的方式讀取檔案內容
5、資料選取head,tail
①Head number 檔案 取出第number行
②持續顯示/TEST內容(更新立即顯示)taiel -f /test
③想要顯示/test第11行到第20行
Head -n 20 /test | tail -n 10
七、修改檔案時間或建立新檔案 touch
1、mtime 檔案內容更改 -m
ctime 檔案狀態(許可權和屬性)更改 -c
atime 檔案內容被取用 -a
2、將/test檔案日期改為兩天前
touch -d “2 days ago” /test
3、將/test時間改為2007/09/15 2:02
touch -t 0709150202 /test
八、檔案與目錄的預設許可權與隱藏許可權
1、檔案預設許可權umask
①使用者在建立檔案或目錄時候的許可權預設值
②使用者建立檔案預設無x許可權,因此最大值為666
③使用者建立目錄預設許可權全開,因此最大值為777
④umask的分數是指該預設值需要減掉的許可權
2、檔案隱藏屬性chattr,lsattr
①chattr [+-=][屬性] 檔案或目錄名稱
+ 增加某一個特殊屬性
- 減少某一個特殊屬性
= 僅有後面接的參數
A 當設定這個屬性,當訪問檔案時,她的atime不會改變,可避免I/O較慢的及 其過度訪問磁碟。
S 當進行任何檔案修改,改動會”同步”寫入磁碟中。
a 設定檔案只能增加資料,不能刪除和修改,只有root可以
i 該檔案不能被刪除,改名,設定串連也無法寫入或添加資料,對系統安全性有 協助啊,只有root可以設定此屬性
s 若檔案被刪除,則就會被完全從磁碟中over了
u 若檔案被刪除,資料內容還存在磁碟,可以被找回
3、檔案的特殊許可權:SUID ,SGID ,SBIT
^(* ̄(oo) ̄)^ 回頭再研究這塊,有點小迷糊
①若果將A目錄加上了SBIT的許可權項目時,則甲只能夠針對自己建立的檔案或目 錄進行刪除,重新命名,移動等操作,而無法刪除他人的檔案
②4 為SUID
2 為SGID
1 為SBIT
如用chmod 4775 filename
③當然也可用符號
SUID為 u+s
SGID為 g+s
SBIT為 o+t
④檔案具有SUID時,代表當使用者執行此二進位程式時,在執行過程中使用者會暫時具有程式所有者許可權。
⑤目錄具有SGID時,代表使用者在這個目錄下建立的檔案使用者組都會與該目錄的使用者組名稱相同。
⑥目錄具有SBIT時,代表在該目錄下使用者建立的檔案只有自己與root能刪。
4、查看檔案類型file
file /test
九、命令與檔案的查詢
1、指令檔名的查詢
which(尋找”執行檔案”)
2、檔案名稱的尋找
①whereis與locate利用資料庫來尋找資料,並沒有實際查詢硬碟比較節省時間。
②Linux系統會將系統內的所有檔案都記錄在一個資料庫檔案裡面
3、Find:
這個比較霸道,有老多種參數了。
①與時間有關:-atime,-ctime,-mtime
Eg:將3天前檔案有改動的都列出來find / -time 3
尋找test下檔案將檔案日期比test1早的列出來find /test -newer /tset1
②與使用者或使用者組名有關的參數:
這塊就寫兩個小例子就行了。
Eg:尋找/home下面屬於vbird的檔案
find /home -user vbird
尋找系統中不屬於任何人的檔案
find / -nouser
③與檔案許可權及名稱有關的參數:
-size [+-]SIZE 尋找大於或小於某個SIZE的檔案
-type TYPE 尋找某個類型檔案:一般正規檔案(f)、裝置檔案(b,c)、目錄(d)、 連 接檔案(l)、socket(s)、FIFO(p)屬性
-perm mode 檔案許可權剛好等於XXX的檔案
-perm -mode 檔案許可權必須要包括mode的許可權
-perm +mode 包含任一mode許可權
**重點:在/etc下尋找檔案名稱包含.cpp的檔案
find /etc -name ‘*.cpp’
十、許可權與命令間的關係
1、讓使用者能進入某目錄成為工作目錄的許可權:
目錄要求的權限:使用者對此目錄至少x許可權
額外需求:想用ls的話,還要有r許可權
2、使用者在某個目錄內讀取檔案的基本許可權:
目錄要求的權限:使用者對此目錄至少x許可權
檔案要求的權限:使用者對檔案至少有r許可權
3、讓使用者可修改一個檔案的基本許可權:
目錄要求的權限:使用者對此目錄至少x許可權
檔案要求的權限:使用者對檔案至少有r、w許可權
4、使用者在某個目錄內建立檔案的基本許可權:
目錄要求的權限:使用者對此目錄至少w、x許可權
5、使用者進入目錄內並執行檔案的基本許可權:
目錄要求的權限:使用者對此目錄至少x許可權
檔案要求的權限:使用者對檔案至少有x許可權
十一、情景類比題:
情景:有兩個賬戶alex與arod,兩人除了自己使用者組外還共同支援一個名為project的使用者組,假設兩個使用者需要共同擁有/srv/ahome目錄開發權,且該目錄不許其他人進行查閱。。。
解答:
1、製作兩個賬戶的相關資料
groupadd project 天劍新的使用者組
useradd -G project alex 建立alex帳號,且支援project
useradd -G project alex 建立alex帳號,且支援project
id alex 查閱alex帳號屬性
2、建立需要開發的項目目錄
mkdir /srv/home
ll -d /srv/ahome
3、給許可權,使用者組應為project
chgrp project /srv/ahome
chmod 770 /srv/ahome
ll -d /srv/ahome
4、加入SGID 許可權
chmod 2770 /srv/ahome
最後是我喜歡的一句話:
每個人都有一雙翅膀;有的人長在腳上,有的人長在手上,有的人長在頭上,有的人長在心上。翅膀長在哪裡,你的天賦就在哪裡
鳥哥的linux私房菜第7章課後練習題
find /etc -size +50k -a ! -user root -exec ls -ld {} \;
find /etc -size +50k -a ! -user root -type f -exec ls -l {} \;
上面兩式均可!注意到 ! ,那個 ! 代表的是反向選擇,亦即『不是後面的項目』之意!
find /etc -size +1500k -o -size 0
相對於 -a ,那個 -o 就是或 (or) 的意思!
參考資料:linux.vbird.org/
看完鳥哥LINUX私房菜 想進一步學習linux 看什書?
您真是把上面的都看明白了並且能為自己所用了 那在學一下簡單的指令碼編寫 就可以找it企業然後通過實踐提升對linux的水平了 呵呵我現在就從公司閒置好幾台伺服器裡玩linux呢 沒有比這更好的環境了 其實鳥哥這種書上面教的東西從最基本的命令到一個複雜的服務 這些流程網上都可以查到 但只有一種能力需要自己在實踐中鍛煉就是排錯 我看人linux玩的好不好不在他能裝多少服務 而是看他能不能用最快的速度定位各種錯誤並解決