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開放的原始碼;
簡單概括為:
- 主目錄:/root、/home/username
- 使用者可執行檔案:/bin、/usr/bin、/usr/local/bin
- 系統可執行檔案:/sbin、/usr/sbin、/usr/local/sbin
- 其他掛載點:/media、/mnt
- 配置:/etc
- 臨時檔案:/tmp
- 核心和Bootloader:/boot
- 伺服器資料:/var、/srv
- 系統資訊:/proc、/sys
- 共享庫:/lib、/usr/lib、/usr/local/lib
重要命令(非基礎命令)
- du 是linux中一個常用的命令,它可以很好的對機器的磁碟進行管理,du的英文原義為“disk usage”,含義為顯示磁碟空間的使用情況,統計目錄(或檔案)所佔磁碟空間的大小 du [選項][檔案或目錄]
- df 用來檢查Linux伺服器的檔案系統的磁碟佔用情況。可以利用該命令來獲取磁碟被佔用了多少空間,目前還剩下多少空間等資訊。 df [選項] ( df可以檢視一級資料夾大小、使用比例、檔案系統及其掛入點,但對檔案卻無能為力,du可以檢視檔案及資料夾的大小。 兩者配合使用,非常有效。比如用df檢視哪個一級目錄過大,然後用df檢視資料夾或檔案的大小,如此便可迅速確定癥結。)
- top 用來監控linux的系統狀況,比如cpu、記憶體的使用,是最直觀、好用的檢視伺服器負載的命令。它實時動態重新整理顯示伺服器狀態資訊,且可以通過互動式命令自定義顯示內容。
- 第一行: 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的時候就表明系統在超負荷運轉了
- 第二行: Tasks 任務(程序),系統現在共有198個程序,其中處於執行中的有1個,196個在休眠(sleep),stoped狀態的有1個,zombie狀態(殭屍)的有0個。
- 第三行: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的百分比
- 第四行:記憶體狀態 1907304k total 實體記憶體總量 934560k used 使用中的記憶體總量 972744k free 空閒記憶體總量 46020k buffers 快取的記憶體量
- 第五行:swap交換分割槽 2097148k total 交換區總 0k used 使用的交換區總量 2097148k free 空閒交換區總量 525512k cached 緩衝的交換區總量
- 第六行是空行
- 第七行以下:各程序(任務)的狀態監控第七行以下:各程序(任務)的狀態監控
- free 顯示當前系統未使用的和已使用的記憶體數目,還可以顯示被核心使用的記憶體緩衝區
- total:去掉為硬體和作業系統保留的記憶體後剩餘的記憶體總量。系統都會有部分記憶體是保留給硬體和作業系統的!
- userd:當前已使用的記憶體總量。
- free:空閒的或可以使用的記憶體總量
- shared:共享記憶體大小,主要用於程序間通訊
- buff(buffers):主要用於塊裝置資料緩衝,例如記錄檔案系統的 metadata(目錄、許可權等等資訊)。
- cache:主要用於檔案內容緩衝
- 關係: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 [選項] 賬戶名稱 用來修改賬戶的登陸密碼,使用許可權是所有使用者