Linux目錄結構和常用命令

Linux目錄結構和常用命令

一、Linux目錄結構

Linux文件夾很多都是固定的,分門別類,要想快速弄清楚系統的架構,那麼哪些目錄裏面裝着哪些文件是幹什麼用的。

首先,回顧一下Linux系統下文件的常見種類

藍色 :目錄

青色 :鏈接

黑色 :文件

從”/”根目錄開始吧,一切的起源

clip_image001

在實際系統中如下:

clip_image003

clip_image004

//20180503 CENTOS7裏,原根目錄下的 bin lib lib64 sbin 都轉移到了 USR下面了

二、各個目錄解析

2.1 / ——根目錄

每一個文件都是從根目錄開始的,只有root用戶纔有該目錄下的讀寫權限

在此區別於/root目錄,它是root用戶的獨有工作目錄

2.2 /bin ——用戶二進制文件

包含二進制可執行文件

Linux的命令(單用戶)都集中在本目錄下,例如:ps,ls,ping,cat,mkdir

clip_image006

clip_image008

2.3 /sbin ——系統二進制文件

和/bin目錄下的可執行文件類似,但是這裏的可執行文件都是需要系統管理員權限才能實施的。類似IPtables、reboot、fdisk、ifconfig等重要操作命令

clip_image010

clip_image012

clip_image014

clip_image016

2.4 /etc ——配置文件目錄

包含了所有程序需要的配置文件

同時也包含了用於啓動/停止單個程序的shell腳本。

比如:

clip_image018

clip_image020

clip_image022

clip_image024

clip_image026

舉例說明:

/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

clip_image028

clip_image030

看這些都是超鏈接,具體是哪個文件請看:

clip_image032

clip_image034

clip_image036

2.6 /proc進程信息

包含了系統的進程信息

這是一個虛擬的文件系統,將Linux的各個進程以及系統資源都以文件形式存在

例如:/proc/{pid} 查看選這個pid的信息;/proc/uptime uptime資源信息

clip_image038

對比:

1. 進程

clip_image040

進程1的文件裏顯示:

clip_image042

clip_image044

2. 系統資源

clip_image045

2.7 /var ——變量文件

顧名思義就是隨着時間和使用不斷變化的文件

具體點:1.系統日誌文件(/var/log) 2.數據庫文件(/var/lib) 3.電子郵件(/var/mail) 4.打印隊列(/var/spool) 5.鎖文件(/var/lock) 6.多次重啓需要的臨時文件(/var/tmp)

clip_image047

2.8 /tmp —— 臨時文件

包含系統和用戶創建的臨時文件夾

在系統重啓的時候全部文件將會被刪除,所以別在這個目錄下建立文檔和腳本文件

2.9 /usr —— 用戶程序

包含二進制文件、庫文件、文檔和二級程序的源代碼

clip_image049

/usr/bin 包含用戶程序的二進制文件

/usr/sbin 包含系統管理員的二進制文件

/usr/lib 包含了/usr/bin和/usr/sbin需要用到的庫

/usr/local 包含從源安裝的用戶程序

2.10 /home ——大家比較熟知的了

每個用戶都有自己的專享文件夾,保存了用戶的文檔、視頻等

clip_image051

2.11 /boot ——引導並加載程序的文件

包含了內核引導、文件引導等必要文件

Opensuse的內容:

clip_image053

2.12 /lib ——系統庫

包含/bin和/sbin下的可執行文件的庫文件

庫文件一般的命名爲ld* lib* so*

clip_image055

2.13 /opt ——可選的附加應用程序

Option代表可選的

也包含了從其他廠商添加的應用程序

我什麼也沒裝,就是空的,下次補出來

2.14 /mnt ——掛載目錄

臨時文件目錄,系統管理員可以掛載新硬盤到這裏

2.15 /media ——可移動媒體

簡單來說就是把CD、U盤讀取到這個目錄下面來

掛載CD就在 /media/cdrom,掛載/media/floppy

這裏用的是OpenSUSE,目錄還是有些變化的,變成了在/run/media/lukas(用戶)下

更加精細地區分了用戶

clip_image056

2.16 /srv ——服務數據

Srv代表的是服務service

這裏存儲的是服務器相關的數據 FTP、TFTP、WWW 不用說也知道了

clip_image057

OK 基礎的目錄部分就已經完事了,大部分能用到的都有的。

本文的初衷在於,之前的linux文檔丟失,不得不重新撰寫,也算是複習了。內容簡陋,文筆粗糙。

20180424完稿

Lukas

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章