1. 程式人生 > >Linux 一些重要的目錄及命令

Linux 一些重要的目錄及命令

重要目錄

根目錄下的目錄

在這裡插入圖片描述

  • /bin 二進位制可執行命令
  • /dev 裝置特殊檔案
  • /home 使用者主目錄的基點,比如使用者user的主目錄就是/home/user,可以用~user表示
  • /lib64 linux 64位(可以uname -a檢視下核心是否位64位的)用的lib庫
  • /media 作為外接儲存裝置的碟符
  • /mnt 系統提供這個目錄是讓使用者臨時掛載其他的檔案系統
  • /opt 安裝第三方軟體的地方
  • /root 系統管理員的主目錄
  • /selinux (Security-Enhanced Linux)由Kernel SElinux模組和使用者態工具兩部分組成。帶給linux的主要價值時:提供了一個靈活的,可配置的MAC機制。SElinux是一個安全體系結構,它通過LSM框架被整合到Linux Kernel2.6.x中。它是NSA和SELinux社群的聯合專案。提供了一種靈活的強制訪問控制系統,且內嵌於Linux Kernel中。SElinux定義了系統中每個使用者、程序、應用和檔案的訪問和轉變的許可權,然後它使用一個安全策略來控制這些實體之間的互動,安全策略指定如何嚴格或寬鬆的進行檢查。
  • /sys 儲存的是記憶體的過載點(即資料是直接寫在記憶體中的,我們是不能直接操作的)。
  • /usr 最龐大的目錄,要用到的應用程式和檔案幾乎都在這個目錄
  • /boot 這裡存放的是啟動Linux時使用的一些核心檔案。
  • /etc 系統管理和配置檔案
  • /lib 標準程式設計庫,又叫動態連結共享庫,作用類似windows裡的.dll檔案
  • /lost+found 這個目錄平時是空的,系統非正常關機而留下“無家可歸”的檔案(windows下叫什麼.chk)就在這裡
  • /misc 作為外接儲存裝置的碟符
  • /net 核心的網路部分程式碼,其每個子目錄對應於網路的一個方面
  • /proc 虛擬的目錄,是系統記憶體的對映。可直接訪問這個目錄來獲取系統資訊。
  • /sbin 超級管理命令,這裡存放的是系統管理員使用的管理程式
  • /srv 儲存系統提供的服務資料
  • /tmp 公共的臨時檔案儲存點
  • /var 某些大檔案的溢位區,比方說各種服務的日誌檔案

usr下目錄

在這裡插入圖片描述

  • /usr/bin     使用者和管理員的標準命令;
  • /usr/games   存放著XteamLinux自帶的小遊戲;
  • /usr/include    來存放Linux下開發和編譯應用程式所需要的頭 檔案,for c 或者c++;
  • /usr/lib      應用程式和程式包的連線庫;
  • /usr/local     系統管理員安裝的應用程式目錄;
  • /usr/sbin      存放root超級使用者使用的管理程式;
  • /usr/share   用於存放一些共享的資料,比如音樂檔案或者圖 標等等
  • /usr/src      Linux開放的原始碼;

簡單概括為:

  1. 主目錄:/root、/home/username
  2. 使用者可執行檔案:/bin、/usr/bin、/usr/local/bin
  3. 系統可執行檔案:/sbin、/usr/sbin、/usr/local/sbin
  4. 其他掛載點:/media、/mnt
  5. 配置:/etc
  6. 臨時檔案:/tmp
  7. 核心和Bootloader:/boot
  8. 伺服器資料:/var、/srv
  9. 系統資訊:/proc、/sys
  10. 共享庫:/lib、/usr/lib、/usr/local/lib

重要命令(非基礎命令)

  • du 是linux中一個常用的命令,它可以很好的對機器的磁碟進行管理,du的英文原義為“disk usage”,含義為顯示磁碟空間的使用情況,統計目錄(或檔案)所佔磁碟空間的大小 du [選項][檔案或目錄]
  • df 用來檢查Linux伺服器的檔案系統的磁碟佔用情況。可以利用該命令來獲取磁碟被佔用了多少空間,目前還剩下多少空間等資訊。 df [選項] ( df可以檢視一級資料夾大小、使用比例、檔案系統及其掛入點,但對檔案卻無能為力,du可以檢視檔案及資料夾的大小。 兩者配合使用,非常有效。比如用df檢視哪個一級目錄過大,然後用df檢視資料夾或檔案的大小,如此便可迅速確定癥結。)
  • top 用來監控linux的系統狀況,比如cpu、記憶體的使用,是最直觀、好用的檢視伺服器負載的命令。它實時動態重新整理顯示伺服器狀態資訊,且可以通過互動式命令自定義顯示內容。 在這裡插入圖片描述
  1. 第一行:  15:33:39 當前系統時間  1:36 系統已經運行了0天1小時36分鐘(在這期間沒有重啟過)  2 users 當前有2個使用者登入系統  load average: 0.04, 0.14, 0.14 load average後面的三個數分別是1分鐘、5分鐘、15分鐘的負載情況。 load average資料是每隔5秒鐘檢查一次活躍的程序數,然後按特定演算法計算出的數值。如果這個數除以邏輯CPU的數量,結果高於5的時候就表明系統在超負荷運轉了
  2. 第二行:  Tasks 任務(程序),系統現在共有198個程序,其中處於執行中的有1個,196個在休眠(sleep),stoped狀態的有1個,zombie狀態(殭屍)的有0個。
  3. 第三行:cpu狀態  0.0% us 使用者空間佔用CPU的百分比。  0.0% sy 核心空間佔用CPU的百分比。  0.0% ni 改變過優先順序的程序佔用CPU的百分比  100.0% id 空閒CPU百分比 0.0% wa IO等待佔用CPU的百分比  0.0% hi 硬中斷(Hardware IRQ)佔用CPU的百分比  0.0% si 軟中斷(Software Interrupts)佔用CPU的百分比 0.0% wa IO等待佔用CPU的百分比  0.0% hi 硬中斷(Hardware IRQ)佔用CPU的百分比  0.0% si 軟中斷(Software Interrupts)佔用CPU的百分比
  4. 第四行:記憶體狀態  1907304k total 實體記憶體總量  934560k used 使用中的記憶體總量 972744k free 空閒記憶體總量 46020k buffers 快取的記憶體量
  5. 第五行:swap交換分割槽  2097148k total 交換區總 0k used 使用的交換區總量 2097148k free 空閒交換區總量 525512k cached 緩衝的交換區總量
  6. 第六行是空行
  7. 第七行以下:各程序(任務)的狀態監控第七行以下:各程序(任務)的狀態監控
  • free 顯示當前系統未使用的和已使用的記憶體數目,還可以顯示被核心使用的記憶體緩衝區 在這裡插入圖片描述
  1. total:去掉為硬體和作業系統保留的記憶體後剩餘的記憶體總量。系統都會有部分記憶體是保留給硬體和作業系統的!
  2. userd:當前已使用的記憶體總量。
  3. free:空閒的或可以使用的記憶體總量
  4. shared:共享記憶體大小,主要用於程序間通訊
  5. buff(buffers):主要用於塊裝置資料緩衝,例如記錄檔案系統的 metadata(目錄、許可權等等資訊)。
  6. cache:主要用於檔案內容緩衝
  7. 關係:total = used + free
  • pstack pstack PID pstack命令可顯示每個程序的棧跟蹤。 pstack 命令必須由相應程序的屬主或 root 執行。 可以使用 pstack 來確定程序掛起的位置。 此命令允許使用的唯一選項是要檢查的程序的 PID。 pstack 看活動的程序內的堆疊

  • su su [user_name] su 命令可以用來互動地更改你的使用者ID和組ID。 Su是switch user 或set user id的一個縮寫。這個命令讓你開啟一個子程序,成為新的使用者 ID 和賦予你存取與這個使用者ID 關聯所有檔案的存取許可權。因此,出於安全的考慮,你在實際轉換身份時,會被要求輸入這個使用者帳號的密碼。 如果沒有引數,su 命令將你轉換為 root(系統管理員)。root 帳號有時也被稱為超級使用者,因為這個使用者可以存取系統中的任何檔案。也正是這個原因,許多人將su命令看成是 supper-user(超級使用者)的一個縮寫。當然,你必須要提供root密碼。 想要回到你原先的使用者身份,不要再使用 su 命令,你只需要使用 exit命令退出你使用su命令而生成的新的對話程序。

  • sudo sudo -K -L -V -h -k -l -vsudo [-HPSb] [-a auth_type] [-c class-] [-p prompt] [-u username#uid] {-e file […] -i -s command} “Sudo”是Unix/Linux平臺上的一個非常有用的工具,它允許系統管理員分配給普通使用者一些合理的“權利”,讓他們執行一些只有超級使用者或其他特許使用者才能完成的任務,比如:執行一些像mount,halt,su之類的命令,或者編輯一些系統配置檔案,像/etc/mtab,/etc/samba/smb.conf等。這樣以來,就不僅減少了root使用者的登陸次數和管理時間,也提高了系統安全性。

  • adduser adduser [-c comment] [-d home_dir] [-e expire_date] [-f inactive_time] [-g initial_group] [-G group[,…]] [-m [-k skeleton_dir] | -M] [-p passwd] [-s shell] [-u uid [ -o]] [-n] [-r] loginid 在Slackware中,adduser指令是個script程式,利用交談的方式取得輸入的使用者帳號資料,然後再交由真正建立帳號的useradd指令建立新使用者,如此可方便管理員建立使用者帳號。 在RedHatLinux中,adduser指令則是useradd指令的符號連線,兩者實際上是同一個指令。 使用許可權:系統管理員。

  • password passwd [選項] 賬戶名稱 用來修改賬戶的登陸密碼,使用許可權是所有使用者