Linux目錄結構和常用命令

来源:http://www.cnblogs.com/isunny/archive/2016/08/29/5817409.html
-Advertisement-
Play Games

一、Linux目錄結構 你想知道為什麼某些程式位於/bin下,或者/sbin,或者/usr/bin,或/usr/sbin目錄下嗎?例如,less命令位於/usr/bin目錄下。為什麼沒在/bin中,或/sbin,或/usr/sbin目錄中?所有這些目錄之間有什麼不同? 在這篇文章中,讓我們回顧一下L ...


一、Linux目錄結構


你想知道為什麼某些程式位於/bin下,或者/sbin,或者/usr/bin,或/usr/sbin目錄下嗎?例如,less命令位於/usr/bin目錄下。為什麼沒在/bin中,或/sbin,或/usr/sbin目錄中?所有這些目錄之間有什麼不同?

在這篇文章中,讓我們回顧一下Linux的文件系統結構,並理解各上層目錄的含義。

藍色:表示目錄

青色:表示鏈接

黑色:表示文件

 

1、/- 根
每一個文件和目錄從根目錄開始。
只有root用戶具有該目錄下的寫許可權。請註意,/root是root用戶的主目錄,這與/.不一樣

 

2、/bin中 - 用戶二進位文件
包含二進位可執行文件。
在單用戶模式下,你需要使用的常見Linux命令都位於此目錄下。系統的所有用戶使用的命令都設在這裡。
例如:ps、ls、ping、grep、cp

 

3、/sbin目錄 - 系統二進位文件
就像/bin,/sbin同樣也包含二進位可執行文件。
但是,在這個目錄下的linux命令通常由系統管理員使用,對系統進行維護。例如:iptables、reboot、fdisk、ifconfig、swapon命令

 

4、/etc - 配置文件
包含所有程式所需的配置文件。
也包含了用於啟動/停止單個程式的啟動和關閉shell腳本。例如:/etc/resolv.conf、/etc/logrotate.conf

hosts:設備名稱(或功能變數名稱)到ip地址的解析,相當於本地存在的dns功能。見下圖:

 

5、/dev - 設備文件
包含設備文件。
這些包括終端設備、USB或連接到系統的任何設備。例如:/dev/tty1、/dev/usbmon0

6、/proc - 進程信息
包含系統進程的相關信息。
這是一個虛擬的文件系統,包含有關正在運行的進程的信息。例如:/proc/{pid}目錄中包含的與特定pid相關的信息。
這是一個虛擬的文件系統,系統資源以文本信息形式存在。例如:/proc/uptime

7、/var - 變數文件
var代表變數文件。
這個目錄下可以找到內容可能增長的文件。
這包括 - 系統日誌文件(/var/log);包和資料庫文件(/var/lib);電子郵件(/var/mail);列印隊列(/var/spool);鎖文件(/var/lock);多次重新啟動需要的臨時文件(/var/tmp);

8、/tmp - 臨時文件
包含系統和用戶創建的臨時文件。
當系統重新啟動時,這個目錄下的文件都將被刪除。

9、/usr - 用戶程式
包含二進位文件、庫文件、文檔和二級程式的源代碼。
/usr/bin中包含用戶程式的二進位文件。如果你在/bin中找不到用戶二進位文件,到/usr/bin目錄看看。例如:at、awk、cc、less、scp。
/usr/sbin中包含系統管理員的二進位文件。如果你在/sbin中找不到系統二進位文件,到/usr/sbin目錄看看。例如:atd、cron、sshd、useradd、userdel。
/usr/lib中包含了/usr/bin和/usr/sbin用到的庫。
/usr/local中包含了從源安裝的用戶程式。例如,當你從源安裝Apache,它會在/usr/local/apache2中。

10、/home - HOME目錄
所有用戶用home目錄來存儲他們的個人檔案。
例如:/home/john、/home/nikita

11、/boot - 引導載入程式文件
包含引導載入程式相關的文件。
內核的initrd、vmlinux、grub文件位於/boot下。
例如:initrd.img-2.6.32-24-generic、vmlinuz-2.6.32-24-generic

12、/lib - 系統庫
包含支持位於/bin和/sbin下的二進位文件的庫文件.
庫文件名為 ld*或lib*.so.*
例如:ld-2.11.1.so,libncurses.so.5.7

13、/opt - 可選的附加應用程式
opt代表可選的。
包含從個別廠商的附加應用程式。
附加應用程式應該安裝在/opt/或者/opt/的子目錄下。

14、/mnt - 掛載目錄
臨時安裝目錄,系統管理員可以掛載文件系統。

15、/media - 可移動媒體設備
用於掛載可移動設備的臨時目錄。
舉例來說,掛載CD-ROM的/media/cdrom,掛載軟盤驅動器的/media/floppy;

16、/srv - 服務數據
srv代表服務。
包含伺服器特定服務相關的數據。
例如,/srv/cvs包含cvs相關的數據。

 

【參考】

Linux Filesystem Hierarchy

Source and pre-formatted versions available 1. Linux Filesystem Hierarchy

1.1. Foreward
1.2. The Root Directory
1.3. /bin
1.4. /boot
1.5. /dev
1.6. /etc
1.7. /home
1.8. /initrd
1.9. /lib
1.10. /lost+found
1.11. /media
1.12. /mnt
1.13. /opt
1.14. /proc
1.15. /root
1.16. /sbin
1.17. /usr
1.18. /var
1.19. /srv
1.20. /tmp

Glossary A. UNIX System V Signals B. Sources C. About the Author D. Contributors E. Disclaimer F. Donations G. Feedback H. GNU Free Documentation License

H.1. PREAMBLE
H.2. APPLICABILITY AND DEFINITIONS
H.3. VERBATIM COPYING
H.4. COPYING IN QUANTITY
H.5. MODIFICATIONS
H.6. COMBINING DOCUMENTS
H.7. COLLECTIONS OF DOCUMENTS
H.8. AGGREGATION WITH INDEPENDENT WORKS
H.9. TRANSLATION
H.10. TERMINATION
H.11. FUTURE REVISIONS OF THIS LICENSE
H.12. ADDENDUM: How to use this License for your documents
 
 

二、常用命令

1、命令幫助
2、用戶
3、SHELL
4、顯示硬碟、分區、CPU、記憶體信息
5、網路
6、進程
7、文件 

1、命令幫助
[root@localhost ~]#man ps
 
2、用戶
$finger username   顯示用戶username的信息
$who               顯示當前登陸用戶
$who am I
$su                成為root用戶
$sudo command      以root用戶身份執行
$passwd            更改密碼
 
 
3、SHELL
$history                  顯示在當前shell下命令歷史
$alias                      顯示所有的命令別稱
$alias new_command='command'    將命令command別稱為new_command
$env                       顯示所有的環境變數
$export var=value    設置環境變數var為value
 
 
4、顯示硬碟、分區、CPU、記憶體信息
$df -lh                            顯示所有硬碟的使用狀況
$du -sh *                       顯示當前目錄下各個目錄和文件的大小
$mount                           顯示所有的硬碟分區掛載
$mount partition path       掛在partition到路徑path
$umount partition            卸載partition
$sudo fdisk -l                  顯示所有的分區
$sudo fdisk device             為device(比如/dev/sdc)創建分區表。 進入後選擇n, p, w
$sudo mkfs -t ext3 partition   格式化分區patition(比如/dev/sdc1)
                                       修改 /etc/fstab,以自動掛載分區。增加行:
                                       /dev/sdc1  path(mount point) ext3 defaults 0 0
$arch                            顯示架構
$cat /proc/cpuinfo          顯示CPU信息
$cat /proc/meminfo         顯示記憶體信息
$free                             顯示記憶體使用狀況
 
5、網路
$ifconfig      顯示網路介面以及相應的IP地址。ifconfig可用於設置網路介面
$ifup eth0     運行eth0介面
$ifdown eth0   關閉eth0介面
$iwconfig      顯示無線網路介面
$route         顯示路由表。route還可以用於修改路由表
$netstat       顯示當前的網路連接狀態
$ping IP       發送ping包到地址IP
$traceroute IP 探測前往地址IP的路由路徑
$dhclient      向DHCP主機發送DHCP請求,以獲得IP地址以及其他設置信息。
$host domain   DNS查詢,尋找功能變數名稱domain對應的IP
$host IP       反向DNS查詢
$wget url      使用wget下載url指向的資源
$wget -m url   鏡像下載
 
6、進程
$top               顯示進程信息,並實時更新
$ps                顯示當前shell下的進程
$ps -lu username   顯示用戶username的進程
$ps -ajx           以比較完整的格式顯示所有的進程
$kill PID          殺死PID進程 (PID為Process ID)
 
 
7、文件
$touch filename    如果文件不存在,創建一個空白文件;如果文件存在,更新文件讀取和修改時間。
$rm filename       刪除文件
$cp file1 file2    複製file1為file2
$ls -l path        顯示文件和文件相關信息
$mkdir dir         創建dir文件夾
$mkdir -p path     遞歸創建路徑path上的所有文件夾
$rmdir dir         刪除dir文件夾,dir必須為空文件夾。
$rm -r dir         刪除dir文件夾,以及其包含的所有文件
$file filename     文件filename的類型描述
$chown username:groupname filename    更改文件的擁有者為owner,擁有組為group
$chmod 755 filename更改文件的許可權為755: owner r+w+x, group: r+x, others: r+x 
$od -c filename    以ASCII字元顯示文件

$cat filename      顯示文件
$cat file1 file2   連接顯示file1和file2
$head -1 filename  顯示文件第一行
$tail -5 filename  顯示文件倒數第五行
$diff file1 file2  顯示file1和file2的差別
$sort filename     對文件中的行排序,並顯示
$sort -f filename  排序時,不考慮大小寫
$sort -u filename  排序,並去掉重覆的行
$uniq filename     顯示文件filename中不重覆的行 (內容相同,但不相鄰的行,不算做重覆)
$wc filename       統計文件中的字元、詞和行數
$wc -l filename    統計文件中的行數

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 我們來看看在圖像處理領域如何使用捲積神經網路來對圖片進行分類。 1 讓電腦做圖片分類: 圖片分類就是輸入一張圖片,輸出該圖片對應的類別(狗,貓,船,鳥),或者說輸出該圖片屬於哪種分類的可能性最大。 人類看到一張圖片馬上就能分辨出裡面的內容,但是電腦分辨一張圖片就完全不一樣了。同一張圖片, 人類看 ...
  • ...
  • Coalsece 返回第一個不是null的值 ...
  • 萬事開頭難,尤其是剛接觸Linux的人,會感覺難以入手,如果大家需要的話,我後續會寫文章,從Linux安裝到簡單使用,以step by step的形式貼出來,讓大家少走彎路,增加學習Linux的信心,以後大家開始學習鳥哥的私房菜——基礎文件篇,就事半功倍了。 ...
  • 參考鏈接: http://blog.csdn.net/zydlyq/article/details/50963360 ...
  • 整理Apache+Mysql+PHP+PHPWind(Apache+PHP集成環境) 一、情況簡述: 1、虛擬機VM上面CentOS 2、全部yum安裝(yum安裝與源碼安裝的安裝路徑不同) 二、操作步驟簡述 安裝Apache(httpd) 安裝Mysql(mysqld) 安裝PHP(phpd-fd ...
  • 原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章、作者信息和本聲明,否則將追究法律責任。 最近一直在完善基於Busybox做的ARM Linux的根文件系統,由於busybox是一個精簡的指令集組成的簡單文件系統,其優點就是極精簡,滿足了Linux基本的啟動需求,由於它幾乎沒有什麼後臺服務,對於 ...
  • localhost + 埠可以正常訪問Manager APP,而IP + 埠不能訪問Manager APP,報403錯誤。(我的主機環境是Ubuntu16.04) 前提是你已經配好了tomcat_user.xml,server.xml,context.xml 前提是你已經配好了tomcat_us ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...