Linux基礎

伞下月亮發表於2024-04-05

今天記個筆記。

1.find

find / -name "yum.log"      #精確查詢
find / -name "\*yum*"       #模糊查詢1
find /var/log -name "*.log" #模糊查詢2
find / -size +10M               #查詢大於10M的檔案
find / -size +10M | xargs ls –lh        #使查詢結果進行二次ls顯示
find / -type f/d/c/b/s/l        #普通檔案/目錄/字串/塊裝置/socket/連結

2.cat

cat /proc/version       #檢視正在執行的核心版本
cat /etc/issue      #顯示發行版本的相關資訊 

3.mv

mv yum.log /tmp #一般把檔案放入/tmp當做刪除,而不直接使用rm

4. mkdir

mkdir –p /a/b/c     #遞迴建立目錄

5. uname

uname –a        #顯示電腦以及作業系統的相關資訊

6. lsb_release

lsb_release –a      #顯示LSB和特定版本的一些資訊
lsb_release –h      #檢視幫助

7. grep

grep max_children php-fpm.log   #抓取檔案中的特定字元:grep+字元+檔案

Linux基礎

grep –n max_children php-fpm.log        #顯示行數
vi php-fpm.log +65      #進入到檔案的第65行進行編輯

8. tar

tar zcvf demo.tar.gz ./* 把當前目錄的所有檔案打包成demo.tar.gz
tar zxvf demo.tar.gz ./* 解壓demo.tar.gz檔案

9. df –h #檢視磁碟使用情況

10. free –m #以m單位顯示伺服器記憶體的使用情況

Linux基礎

11. top #動態顯示程式資訊,q退出

12. cat /etc/passwd

Linux基礎

Username : Password : Userid : Groupid : Comment : Home_directory : Shell
  • Username:唯一標識,一個使用者賬號,使用者在登入時使用的就是它
  • Password:passwd中的密碼是加密的,幾乎不能被破解
  • Userid:Linux內部使用userid來標識使用者。0是系統管理員,1-499是系統保留賬號,500+是一般賬號
  • Groupid:不同使用者可屬於同一使用者組,具有使用者組共有的許可權
  • 通過usermod –g [組名] [使用者名稱]來修改
  • Comment:用於給賬號做註釋,可為空
  • Home_directory:主目錄,這個目錄屬於該賬號,root的主目錄是/root,其他賬號的主目錄在/home下
  • Shell:登入使用的shell,就是對登入命令進行解析的工具

    注:系統中還有一些預設的賬號,如daemon、bin等這些賬號有特殊用途,一般用於系統管理,其口令部分大部分用x表示,表示他們不能在登入時使用。

13. 新增使用者並增加sudo許可權

1.#useradd morra #增加使用者morra
2.#visudo
3.找到root ALL=(ALL) ALL,在下面新增一行morra ALL=(ALL) ALL

Linux基礎

14. 重定向

> :會覆蓋原始檔
>> :不會覆蓋,只會向後追加

15. inode

索引節點是檔案在檔案系統的唯一標識。要讀取檔案必須要經過目錄記錄的檔名來指向到正確的inode,進而找到block的位置:

檔名 -> inode -> device block

ls -i text.txt          #檢視檔案的inode號碼
stat text.txt           #檢視檔案的inode資訊

inode包含檔案的元資訊:

Linux基礎

  • 檔案的位元組數
  • 檔案擁有者的User ID
  • 檔案的Group ID
  • 檔案的讀、寫、執行許可權
  • 件的時間戳,共有三個:Change指inode上一次變動的時間,Modify指檔案內容上一次變動的時間,Access:指檔案上一次開啟的時間。
  • 連結數,即有多少檔名指向這個inode
  • 檔案資料block的位

inode特殊用法:

  1. 有時,檔名包含特殊字元,無法正常刪除。這時,直接刪除inode節點,就能起到刪除檔案的作用。
  2. 移動檔案或重新命名檔案,只是改變檔名,不影響inode號碼。
  3. 開啟一個檔案以後,系統就以inode號碼來識別這個檔案,不再考慮檔名。因此,通常來說,系統無法從inode號碼得知檔名。這使得軟體更新變得簡單,可以在不關閉軟體的情況下進行更新,不需要重啟。因為系統通過inode號碼,識別執行中的檔案,不通過檔名。更新的時候,新版檔案以同樣的檔名,生成一個新的inode,不會影響到執行中的檔案。等到下一次執行這個軟體的時候,檔名就自動指向新版檔案,舊版檔案的inode則被回收。

16. 軟連結和硬連結

硬連結Hard Link:

  • ln [原始檔] [目標檔案]
  • 實際連結與文字共用同一個inode,即多個檔名指向同一個inode號碼
  • 建立之後連結數會加1
  • 刪除實際連結或文字檔案都不會影響檔案本身(刪除一個檔名,不影響另一個檔名的訪問,除非兩個都刪除)
  • 不能連結到目錄(只針對檔案有效)
  • 不能跨檔案系統使用連結
  • 最大的好處是安全,相當於做檔案備份
  • 建立目錄時,預設會生成兩個目錄項:"."和".."。前者的inode號碼就是當前目錄的inode號碼,等同於當前目錄的"硬連結";後者的inode號碼就是當前目錄的父目錄的inode號碼,等同於父目錄的"硬連結"。所以,任何一個目錄的"硬連結"總數,總是等於2加上它的子目錄總數(含隱藏目錄),這裡的2是父目錄對其的“硬連結”和當前目錄下的".硬連結“。

軟連線Soft Link/符號連線Symbolic Link:

  • ln -s [源文檔案或目錄] [目標檔案或目錄]
  • 軟連線就和windows裡的快捷方式差不多

17. linux檔案目錄結構

Linux基礎

/:存放系統程式,也就是At&t開發的Unix程式。
/usr:存放Unix系統商(比如IBM和HP)開發的程式。
/usr/local:存放使用者自己安裝的程式。
/opt:在某些系統,用於存放第三方廠商開發的程式,所以取名為option,意為"選裝"。

相關文章