Linux目錄結構和常用命令
一、Linux目錄結構
Linux文件夾很多都是固定的,分門別類,要想快速弄清楚系統的架構,那麼哪些目錄裏面裝着哪些文件是幹什麼用的。
首先,回顧一下Linux系統下文件的常見種類
藍色 :目錄
青色 :鏈接
黑色 :文件
從”/”根目錄開始吧,一切的起源
在實際系統中如下:
//20180503 CENTOS7裏,原根目錄下的 bin lib lib64 sbin 都轉移到了 USR下面了
二、各個目錄解析
2.1 / ——根目錄
每一個文件都是從根目錄開始的,只有root用戶纔有該目錄下的讀寫權限
在此區別於/root目錄,它是root用戶的獨有工作目錄
2.2 /bin ——用戶二進制文件
包含二進制可執行文件
Linux的命令(單用戶)都集中在本目錄下,例如:ps,ls,ping,cat,mkdir
2.3 /sbin ——系統二進制文件
和/bin目錄下的可執行文件類似,但是這裏的可執行文件都是需要系統管理員權限才能實施的。類似IPtables、reboot、fdisk、ifconfig等重要操作命令
2.4 /etc ——配置文件目錄
包含了所有程序需要的配置文件
同時也包含了用於啓動/停止單個程序的shell腳本。
比如:
舉例說明:
/etc/yum.conf
很重要的yum包配置,順便粘貼一下
******************************************************************************
[fedora] #方括號裏面的是軟件源的名稱,將被yum取得並識別
name=Fedora $releasever - $basearch
#這裏也定義了軟件 倉庫的名稱,通常是爲了方便閱讀配置文件,一般沒什麼作用,$releasever變量定義了發行版本,通常是8,9,10等數字,$basearch變 量定義了系統的架構,可以是i386、x86_64、ppc等值,這兩個變量根據當前系統的版本架構不同而有不同的取值,這可以方便yum升級的時候選擇 適合當前系統的軟件包,以下同……
failovermethod=priority
#failovermethod 有兩個值可以選擇,priority是默認值,表示從列出的baseurl中順序選擇鏡像服務器地址,roundrobin表示在列出的服務器中隨機選擇
exclude=compiz* *compiz* fusion-icon*
#exclude這個選項是後來我自己加上去的,用來禁止這個軟件倉庫中的某些軟件包的安裝和更新,可以使用通配符,並以空格分隔,可以視情況需要自行添加
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
#上面的一行baseurl第一個字符是'#'表示該行已經被註釋,將不會被讀取,這一行的意思是指定一個baseurl(源的鏡像服務器地址)
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
#上面的這一行是指定一個鏡像服務器的地址列表,通常是開啓的,本例中加了註釋符號禁用了,我們可以試試,將$releasever和$basearch替換成自己對應的版本和架構,例如10和i386,在瀏覽器中打開,我們就能看到一長串鏡可用的鏡像服務器地址列表。
選擇自己訪問速度較快的鏡像服務器地址複製並粘貼到repo文件中,我們就能獲得較快的更新速度了,格式如下baseurl所示:
baseurl=
ftp://ftp.sfc.wide.ad.jp/pub/Linux/Fedora/releases/10/Everything/i386/os
http://ftp.chg.ru/pub/Linux/fedora/linux/releases/10/Everything/i386/os
http://ftp.yz.yamagata-u.ac.jp/pub/linux/fedora/linux/releases/10/Everything/i386/os
http://mirror.nus.edu.sg/fedora/releases/10/Everything/i386/os
http://mirror.yandex.ru/fedora/linux/releases/10/Everything/i386/os
http://ftp.twaren.net/Linux/Fedora/linux/releases/10/Everything/i386/os
http://ftp.itu.edu.tr/Mirror/Fedora/linux/releases/10/Everything/i386/os
enabled=1 #這個選項表示這個repo中定義的源是啓用的,0爲禁用
gpgcheck=1 #這個選項表示這個repo中下載的rpm將進行gpg的校驗,已確定rpm包的來源是有效和安全的
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch #定義用於校驗的gpg密鑰,就是數位簽章的公鑰檔所在位置!
##以下的軟件倉庫基本上用不到,選項含義同上
[fedora-debuginfo]
name=Fedora $releasever - $basearch - Debug
failovermethod=priority
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/debug/
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-debug-$releasever&arch=$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch
[fedora-source]
name=Fedora $releasever - Source
failovermethod=priority
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/source/SRPMS/
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-source-$releasever&arch=$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch
*******************************************************************************
2.5 /dev 設備文件
包含設備文件
就是windows裏面的設備管理器,只不過這個是文件呈現出來的
最主要的功能就是查看接入的USB、CD設備情況,和tty控制線
例如:/dev/tty1、/dev/cdrom
看這些都是超鏈接,具體是哪個文件請看:
2.6 /proc進程信息
包含了系統的進程信息
這是一個虛擬的文件系統,將Linux的各個進程以及系統資源都以文件形式存在
例如:/proc/{pid} 查看選這個pid的信息;/proc/uptime uptime資源信息
對比:
1. 進程
進程1的文件裏顯示:
2. 系統資源
2.7 /var ——變量文件
顧名思義就是隨着時間和使用不斷變化的文件
具體點:1.系統日誌文件(/var/log) 2.數據庫文件(/var/lib) 3.電子郵件(/var/mail) 4.打印隊列(/var/spool) 5.鎖文件(/var/lock) 6.多次重啓需要的臨時文件(/var/tmp)
2.8 /tmp —— 臨時文件
包含系統和用戶創建的臨時文件夾
在系統重啓的時候全部文件將會被刪除,所以別在這個目錄下建立文檔和腳本文件
2.9 /usr —— 用戶程序
包含二進制文件、庫文件、文檔和二級程序的源代碼
/usr/bin 包含用戶程序的二進制文件
/usr/sbin 包含系統管理員的二進制文件
/usr/lib 包含了/usr/bin和/usr/sbin需要用到的庫
/usr/local 包含從源安裝的用戶程序
2.10 /home ——大家比較熟知的了
每個用戶都有自己的專享文件夾,保存了用戶的文檔、視頻等
2.11 /boot ——引導並加載程序的文件
包含了內核引導、文件引導等必要文件
Opensuse的內容:
2.12 /lib ——系統庫
包含/bin和/sbin下的可執行文件的庫文件
庫文件一般的命名爲ld* lib* so*
2.13 /opt ——可選的附加應用程序
Option代表可選的
也包含了從其他廠商添加的應用程序
我什麼也沒裝,就是空的,下次補出來
2.14 /mnt ——掛載目錄
臨時文件目錄,系統管理員可以掛載新硬盤到這裏
2.15 /media ——可移動媒體
簡單來說就是把CD、U盤讀取到這個目錄下面來
掛載CD就在 /media/cdrom,掛載/media/floppy
這裏用的是OpenSUSE,目錄還是有些變化的,變成了在/run/media/lukas(用戶)下
更加精細地區分了用戶
2.16 /srv ——服務數據
Srv代表的是服務service
這裏存儲的是服務器相關的數據 FTP、TFTP、WWW 不用說也知道了
OK 基礎的目錄部分就已經完事了,大部分能用到的都有的。
本文的初衷在於,之前的linux文檔丟失,不得不重新撰寫,也算是複習了。內容簡陋,文筆粗糙。
20180424完稿
Lukas