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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...