一,、Linux目錄結(jié)構(gòu)
你想知道為什么某些程序位于/bin下,或者/sbin,,或者/usr/bin,,或/usr/sbin目錄下嗎?例如,,less命令位于/usr/bin目錄下,。為什么沒在/bin中,或/sbin,,或/usr/sbin目錄中,?所有這些目錄之間有什么不同?
在這篇文章中,,讓我們回顧一下Linux的文件系統(tǒng)結(jié)構(gòu),,并理解各上層目錄的含義。
藍(lán)色:表示目錄
青色:表示鏈接
黑色:表示文件
1,、/- 根 每一個(gè)文件和目錄從根目錄開始,。 只有root用戶具有該目錄下的寫權(quán)限。請(qǐng)注意,,/root是root用戶的主目錄,,這與/.不一樣
2,、/bin中 - 用戶二進(jìn)制文件 包含二進(jìn)制可執(zhí)行文件。 在單用戶模式下,,你需要使用的常見Linux命令都位于此目錄下,。系統(tǒng)的所有用戶使用的命令都設(shè)在這里。 例如:ps,、ls,、ping、grep,、cp
3,、/sbin目錄 - 系統(tǒng)二進(jìn)制文件 就像/bin,/sbin同樣也包含二進(jìn)制可執(zhí)行文件,。 但是,,在這個(gè)目錄下的linux命令通常由系統(tǒng)管理員使用,對(duì)系統(tǒng)進(jìn)行維護(hù),。例如:iptables,、reboot、fdisk,、ifconfig,、swapon命令
4、/etc - 配置文件 包含所有程序所需的配置文件,。 也包含了用于啟動(dòng)/停止單個(gè)程序的啟動(dòng)和關(guān)閉shell腳本,。例如:/etc/resolv.conf、/etc/logrotate.conf
5,、/dev - 設(shè)備文件 包含設(shè)備文件,。 這些包括終端設(shè)備、USB或連接到系統(tǒng)的任何設(shè)備,。例如:/dev/tty1,、/dev/usbmon0
6、/proc - 進(jìn)程信息 包含系統(tǒng)進(jìn)程的相關(guān)信息,。 這是一個(gè)虛擬的文件系統(tǒng),,包含有關(guān)正在運(yùn)行的進(jìn)程的信息。例如:/proc/{pid}目錄中包含的與特定pid相關(guān)的信息,。 這是一個(gè)虛擬的文件系統(tǒng),,系統(tǒng)資源以文本信息形式存在。例如:/proc/uptime
7,、/var - 變量文件 var代表變量文件。 這個(gè)目錄下可以找到內(nèi)容可能增長的文件,。 這包括 - 系統(tǒng)日志文件(/var/log);包和數(shù)據(jù)庫文件(/var/lib);電子郵件(/var/mail);打印隊(duì)列(/var/spool);鎖文件(/var/lock);多次重新啟動(dòng)需要的臨時(shí)文件(/var/tmp);
8,、/tmp - 臨時(shí)文件 包含系統(tǒng)和用戶創(chuàng)建的臨時(shí)文件,。 當(dāng)系統(tǒng)重新啟動(dòng)時(shí),這個(gè)目錄下的文件都將被刪除,。
9,、/usr - 用戶程序 包含二進(jìn)制文件、庫文件,、文檔和二級(jí)程序的源代碼,。 /usr/bin中包含用戶程序的二進(jìn)制文件。如果你在/bin中找不到用戶二進(jìn)制文件,,到/usr/bin目錄看看,。例如:at、awk,、cc,、less、scp,。 /usr/sbin中包含系統(tǒng)管理員的二進(jìn)制文件,。如果你在/sbin中找不到系統(tǒng)二進(jìn)制文件,到/usr/sbin目錄看看,。例如:atd,、cron、sshd,、useradd,、userdel。 /usr/lib中包含了/usr/bin和/usr/sbin用到的庫,。 /usr/local中包含了從源安裝的用戶程序,。例如,當(dāng)你從源安裝Apache,,它會(huì)在/usr/local/apache2中,。
10、/home - HOME目錄 所有用戶用home目錄來存儲(chǔ)他們的個(gè)人檔案,。 例如:/home/john,、/home/nikita
11、/boot - 引導(dǎo)加載程序文件 包含引導(dǎo)加載程序相關(guān)的文件,。 內(nèi)核的initrd,、vmlinux、grub文件位于/boot下,。 例如:initrd.img-2.6.32-24-generic,、vmlinuz-2.6.32-24-generic
12、/lib - 系統(tǒng)庫 包含支持位于/bin和/sbin下的二進(jìn)制文件的庫文件. 庫文件名為 ld*或lib*.so.* 例如:ld-2.11.1.so,,libncurses.so.5.7
13,、/opt - 可選的附加應(yīng)用程序 opt代表可選的,。 包含從個(gè)別廠商的附加應(yīng)用程序。 附加應(yīng)用程序應(yīng)該安裝在/opt/或者/opt/的子目錄下,。
14,、/mnt - 掛載目錄 臨時(shí)安裝目錄,系統(tǒng)管理員可以掛載文件系統(tǒng),。
15,、/media - 可移動(dòng)媒體設(shè)備 用于掛載可移動(dòng)設(shè)備的臨時(shí)目錄。 舉例來說,,掛載CD-ROM的/media/cdrom,,掛載軟盤驅(qū)動(dòng)器的/media/floppy;
16、/srv - 服務(wù)數(shù)據(jù) srv代表服務(wù),。 包含服務(wù)器特定服務(wù)相關(guān)的數(shù)據(jù),。 例如,/srv/cvs包含cvs相關(guān)的數(shù)據(jù),。
【參考】
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、顯示硬盤,、分區(qū),、CPU、內(nèi)存信息 5,、網(wǎng)絡(luò) 6,、進(jìn)程 7、文件
- 1,、命令幫助
- [root@localhost ~]#man ps
-
- 2,、用戶
- $finger username 顯示用戶username的信息
$who 顯示當(dāng)前登陸用戶 $who am I $su 成為root用戶 $sudo command 以root用戶身份執(zhí)行 $passwd 更改密碼 -
-
- 3、SHELL
- $history 顯示在當(dāng)前shell下命令歷史
$alias 顯示所有的命令別稱 $alias new_command='command' 將命令command別稱為new_command $env 顯示所有的環(huán)境變量 $export var=value 設(shè)置環(huán)境變量var為value -
-
- 4,、顯示硬盤,、分區(qū)、CPU,、內(nèi)存信息
- $df -lh 顯示所有硬盤的使用狀況
$mount 顯示所有的硬盤分區(qū)掛載 $mount partition path 掛在partition到路徑path $umount partition 卸載partition $sudo fdisk -l 顯示所有的分區(qū) $sudo fdisk device 為device(比如/dev/sdc)創(chuàng)建分區(qū)表,。 進(jìn)入后選擇n, p, w $sudo mkfs -t ext3 partition 格式化分區(qū)patition(比如/dev/sdc1) 修改 /etc/fstab,以自動(dòng)掛載分區(qū),。增加行: /dev/sdc1 path(mount point) ext3 defaults 0 0 $arch 顯示架構(gòu) $cat /proc/cpuinfo 顯示CPU信息 $cat /proc/meminfo 顯示內(nèi)存信息 $free 顯示內(nèi)存使用狀況 -
- 5,、網(wǎng)絡(luò)
- $ifconfig 顯示網(wǎng)絡(luò)接口以及相應(yīng)的IP地址。ifconfig可用于設(shè)置網(wǎng)絡(luò)接口
$ifup eth0 運(yùn)行eth0接口 $ifdown eth0 關(guān)閉eth0接口 $iwconfig 顯示無線網(wǎng)絡(luò)接口 $route 顯示路由表,。route還可以用于修改路由表 $netstat 顯示當(dāng)前的網(wǎng)絡(luò)連接狀態(tài) $ping IP 發(fā)送ping包到地址IP $traceroute IP 探測(cè)前往地址IP的路由路徑 $dhclient 向DHCP主機(jī)發(fā)送DHCP請(qǐng)求,,以獲得IP地址以及其他設(shè)置信息,。 $host domain DNS查詢,,尋找域名domain對(duì)應(yīng)的IP $host IP 反向DNS查詢 $wget url 使用wget下載url指向的資源 $wget -m url 鏡像下載 -
- 6,、進(jìn)程
- $top 顯示進(jìn)程信息,并實(shí)時(shí)更新
$ps 顯示當(dāng)前shell下的進(jìn)程 $ps -lu username 顯示用戶username的進(jìn)程 $ps -ajx 以比較完整的格式顯示所有的進(jìn)程 $kill PID 殺死PID進(jìn)程 (PID為Process ID) -
-
- 7,、文件
- $touch filename 如果文件不存在,,創(chuàng)建一個(gè)空白文件;如果文件存在,,更新文件讀取和修改時(shí)間,。
$rm filename 刪除文件 $cp file1 file2 復(fù)制file1為file2 $ls -l path 顯示文件和文件相關(guān)信息 $mkdir dir 創(chuàng)建dir文件夾 $mkdir -p path 遞歸創(chuàng)建路徑path上的所有文件夾 $rmdir dir 刪除dir文件夾,dir必須為空文件夾,。 $rm -r dir 刪除dir文件夾,,以及其包含的所有文件 $file filename 文件filename的類型描述 $chown username:groupname filename 更改文件的擁有者為owner,擁有組為group $chmod 755 filename更改文件的權(quán)限為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 顯示文件倒數(shù)第五行 $diff file1 file2 顯示file1和file2的差別 $sort filename 對(duì)文件中的行排序,,并顯示 $sort -f filename 排序時(shí),,不考慮大小寫 $sort -u filename 排序,并去掉重復(fù)的行 $uniq filename 顯示文件filename中不重復(fù)的行 (內(nèi)容相同,,但不相鄰的行,,不算做重復(fù)) $wc filename 統(tǒng)計(jì)文件中的字符、詞和行數(shù) $wc -l filename 統(tǒng)計(jì)文件中的行數(shù)
|