初步瞭解Linux系統的目錄(一級目錄)

對於每一個初學Linux系統的初學者來說,瞭解Linux的目錄結構是第一步也是關鍵一步,下圖是Linux系統的樹狀目錄結構
在這裏插入圖片描述
在這裏插入圖片描述

/bin目錄:
bin爲binary的縮寫,主要放置系統的必要執行文件,例如:cat、cp、chmod df、dmesg、gzip、kill、ls、mkdir、more、mount、rm、su、tar等
/boot目錄:
boot是引導程序,內核的存放的目錄。此目錄包含了在引導過程中所必須的文件,引導程序的相關文件(如:grup、kernel、lilo以及相應的配置文件及Linux操作系統內核相關文件;sbin超級用戶可以使用的命令存放目錄。存放大多數涉及系統管理命令,如:引導系統的init程序,是超級用戶root的可執行命令存放地,普通用戶無權限)

[root@linuxprobe Desktop]# ls /boot
config-3.10.0-123.el7.x86_64
grub2
initramfs-0-rescue-c0dfe5671a8c40a7a4eaf2c389476e05.img
initramfs-3.10.0-123.el7.x86_64.img
initramfs-3.10.0-123.el7.x86_64kdump.img
initrd-plymouth.img
symvers-3.10.0-123.el7.x86_64.gz
System.map-3.10.0-123.el7.x86_64
vmlinuz-0-rescue-c0dfe5671a8c40a7a4eaf2c389476e05
vmlinuz-3.10.0-123.el7.x86_64
[root@linuxprobe Desktop]# 

/dev目錄
用於存放設備文件的目錄,dev是設備(device)的英文縮寫。/dev這個目錄對所有的用戶都十分重要。因爲在這個目錄中包含了所有Linux系統中使用的外部設備。但是這裏並不是放的外部設備的驅動程序,這一點和windows,dos操作系統不一樣。它實際上是一個訪問這些外部設備的端口。我們可以非常方便地去訪問這些外部設備,和訪問一個文件,一個目錄沒有任何區別。

[linuxprobe@linuxprobe Desktop]$ ls /dev
agpgart          kmsg                rtc0      tty20  tty45  ttyS3
autofs           log                 sda       tty21  tty46  uhid
block            loop-control        sda1      tty22  tty47  uinput
bsg              lp0                 sda2      tty23  tty48  urandom
btrfs-control    lp1                 sg0       tty24  tty49  usbmon0
bus              lp2                 sg1       tty25  tty5   usbmon1
cdrom            lp3                 shm       tty26  tty50  usbmon2
char             mapper              snapshot  tty27  tty51  vcs
console          mcelog              snd       tty28  tty52  vcs1
...

robe@linuxprobe Desktop]$ 

/etc目錄
用來存放程序所需的整個文件系統的配置文件

[linuxprobe@linuxprobe Desktop]$ ls /etc
abrt                     httpd                     printcap
adjtime                  idmapd.conf               profile
aliases                  init.d                    profile.d
aliases.db               inittab                   protocols
alsa                     inputrc                   pulse
alternatives             iproute2                  purple
amanda                   ipsec.conf                qemu-ga
anacrontab               ipsec.d                   qemu-kvm
...
[linuxprobe@linuxprobe Desktop]$ 


/e**tc/rc or/etc/rc.d or/etc/rc*.d
  啓動、或改變運行級時運行的scripts或scripts的目錄.
/etc/passwd
  用戶數據庫,其中的域給出了用戶名、真實姓名、家目錄、加密的口令和用戶的其他信息.
/etc/fdprm
  軟盤參數表.說明不同的軟盤格式.用setfdprm 設置.
/etc/fstab
  啓動時mount -a命令(在/etc/rc 或等效的啓動文件中)自動mount的文件系統列表.linux下,也包括用swapon -a啓用的swap區的信息.
/etc/group
  類似/etc/passwd ,但說明的不是用戶而是組.
/etc/inittab
  init 的配置文件.
/etc/issue
  getty在登錄提示符前的輸出信息.通常包括系統的一段短說明或歡迎信息.內容由系統管理員確定.
/etc/magic
  file 的配置文件.包含不同文件格式的說明,file 基於它猜測文件類型.

/etc/motd
  Message Of TheDay,成功登錄後自動輸出.內容由系統管理員確定.經常用於通告信息,如計劃關機時間的警告.
/etc/mtab
  當前安裝的文件系統列表.由scripts初始化,並由mount 命令自動更新.需要一個當前安裝的文件系統的列表時使用,例如df命令.
/etc/shadow
  在安裝了影子口令軟件的系統上的影子口令文件.影子口令文件將/etc/passwd 文件中的加密口令移動到/etc/shadow中,而後者只對root可讀.這使破譯口令更困難.
/etc/login.defs
  login 命令的配置文件.
/etc/printcap
  類似/etc/termcap ,但針對打印機.語法不同.
/etc/profile , /etc/csh.login ,/etc/csh.cshrc
  登錄或啓動時Bourne或Cshells執行的文件.這允許系統管理員爲所有用戶建立全局缺省環境.
/etc/securetty
  確認安全終端,即哪個終端允許root登錄.一般只列出虛擬控制檯,這樣就不可能(至少很困難)通過modem或網絡闖入系統並得到超級用戶特權.
/home目錄:
用戶的主目錄,這是系統預設的使用者家目錄(home directory)。 在你新增一個一般使用者帳號時,預設的使用者家目錄都會規範到這裏來。比較重要的是,家目錄有兩種代號:
~ :代表當前使用者的家目錄,而 ~guest:則代表用戶名爲guest的家目錄。
/lib目錄:
系統的函式庫非常的多,而/lib放置的則是在開機時會用到的函式庫,以及在/bin或/sbin底下的指令會呼叫的函式庫而已 。 什麼是函式庫呢?妳可以將他想成是外掛,某些指令必須要有這些外掛才能夠順利完成程式的執行之意。 尤其重要的是/lib/modules/這個目錄,因爲該目錄會放置核心相關的模組(驅動程式)。

[linuxprobe@linuxprobe Desktop]$ ls /lib
alsa       firmware    java-ext     modprobe.d        sse2
binfmt.d   games       jvm          modules           sysctl.d
bonobo     gcc         jvm-commmon  modules-load.d    systemd
cpp        grub        jvm-exports  mozilla           tmpfiles.d
crda       java        jvm-private  polkit-1          tuned
cups       java-1.5.0  kbd          python2.7         udev
debug      java-1.6.0  kdump        rpm               udisks2
dracut     java-1.7.0  kernel       sendmail          yum-plugins
firewalld  java-1.8.0  locale       sendmail.postfix
[linuxprobe@linuxprobe Desktop]$ 

/media目錄:
media是媒體的英文,顧名思義,這個/media底下放置的就是可移除的裝置。 包括軟碟、光碟、DVD等等裝置都暫時掛載於此。 常見的檔名有:/media/floppy, /media/cdrom等等。

[linuxprobe@linuxprobe Desktop]$ ls /media
cdrom
[linuxprobe@linuxprobe Desktop]$ ls /media/cdrom
addons  images      Packages                 RPM-GPG-KEY-redhat-release
EFI     isolinux    release-notes            TRANS.TBL
EULA    LiveOS      repodata
GPL     media.repo  RPM-GPG-KEY-redhat-beta
[linuxprobe@linuxprobe Desktop]$ 

/mnt目錄:
如果你想要暫時掛載某些額外的裝置,一般建議妳可以放置到這個目錄中。在古早時候,這個目錄的用途與/media相同啦。 只是有了/media之後,這個目錄就用來暫時掛載用了。
/opt目錄:
這個是給第三方協力軟體放置的目錄 。 什麼是第三方協力軟體啊?舉例來說,KDE這個桌面管理系統是一個獨立的計畫,不過他可以安裝到Linux系統中,因此KDE的軟體就建議放置到此目錄下了。 另外,如果妳想要自行安裝額外的軟體(非原本的distribution提供的),那麼也能夠將你的軟體安裝到這裏來。 不過,以前的Linux系統中,我們還是習慣放置在/usr/local目錄下。

[linuxprobe@linuxprobe Desktop]$ ls /opt
centos  rh
[linuxprobe@linuxprobe Desktop]$ 

/proc目錄:
這個目錄本身是一個虛擬文件系統(virtual filesystem)喔。 他放置的資料都是在內存當中,例如系統核心、行程資訊(process)(是進程嗎?)、周邊裝置的狀態及網絡狀態等等。因爲這個目錄下的資料都是在記憶體(內存)當中,所以本身不佔任何硬盤空間。比較重要的檔案(目錄)例如: /proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/*等等。

[linuxprobe@linuxprobe Desktop]$ ls /proc
1     118   155   197   239   274   3093  55   618  78         diskstats
10    119   156   198   24    275   3096  56   619  79         dma
100   12    157   199   240   2754  31    562  62   8          driver
101   120   158   2     241   2764  3101  563  620  80         execdomains
1013  1208  159   20    242   278   314   564  621  81         fb
1014  121   16    200   243   279   3142  566  622  82         filesystems
1019  122   160   2008  244   28    32    567  623  83         fs
102   123   161   201   245   280   33    569  624  84         interrupts
...
[linuxprobe@linuxprobe Desktop]$ 

/root目錄:(普通用戶無權限進入)
系統管理員(root)的家目錄。 之所以放在這裏,是因爲如果進入單人維護模式而僅掛載根目錄時,該目錄就能夠擁有root的家目錄,所以我們會希望root的家目錄與根目錄放置在同一個分區中。

[linuxprobe@linuxprobe Desktop]$ ls /root
ls: cannot open directory /root: Permission denied
[linuxprobe@linuxprobe Desktop]$ sudo su
[sudo] password for linuxprobe: 
[root@linuxprobe Desktop]# ls /root
anaconda-ks.cfg  Downloads             nginx-1.8.1         Public
Desktop          initial-setup-ks.cfg  nginx-1.8.1.tar.gz  Templates
Documents        Music                 Pictures            Videos
[root@linuxprobe Desktop]# 

/run目錄:
是一個臨時文件系統,存儲系統啓動以來的信息。當系統重啓時,這個目錄下的文件應該被刪掉或清除。如果你的系統上有 /var/run 目錄,應該讓它指向 run。

[root@linuxprobe Desktop]# ls /run
abrt             dmeventd-server  lock         ppp            spice-vdagentd
alsactl.pid      dovecot          log          radvd          sshd.pid
atd.pid          faillock         lsm          rhsm           syslogd.pid
auditd.pid       gdm              lvm          rpcbind.lock   systemd
avahi-daemon     httpd            lvmetad.pid  rpcbind.sock   tmpfiles.d
...
[root@linuxprobe Desktop]#

/sbin目錄:
Linux有非常多指令是用來設定系統環境的,這些指令只有root才能夠利用來設定系統,其他使用者最多隻能用來查詢而已。放在/sbin底下的爲開機過程中所需要的,裏面包括了開機、修復、還原系統所需要的指令。至於某些伺服器軟體程式,一般則放置到/usr/sbin/當中。至於本機自行安裝的軟體所產生的系統執行檔(system binary),則放置到/usr/local/sbin/當中了。常見的指令包括:fdisk, fsck, ifconfig, init, mkfs等等。(裏面的文件數太多了就不展示了)

/srv目錄:
srv可以視爲service的縮寫,是一些網路服務啓動之後,這些服務所需要取用的資料目錄。 常見的服務例如WWW, FTP等等。 舉例來說,WWW伺服器需要的網頁資料就可以放置在/srv/www/裏面。呵呵,看來平時我們編寫的代碼應該放到這裏了。

/sys目錄:
這個目錄其實跟/proc非常類似,也是一個虛擬的檔案系統,主要也是記錄與核心相關的資訊。 包括目前已載入的核心模組與核心偵測到的硬體裝置資訊等等。 這個目錄同樣不佔硬盤容量。

[root@linuxprobe Desktop]# ls /sys
block  class  devices   fs          kernel  power
bus    dev    firmware  hypervisor  module
[root@linuxprobe Desktop]# 

/tmp目錄:
用於存放各種臨時文件,是公用的臨時文件存儲點

[root@linuxprobe Desktop]# ls /tmp
ssh-7LTG04R9SIaZ        systemd-private-EsaF3D  systemd-private-P0mpwv
ssh-lS0kig3iO9UD        systemd-private-f3jeAB  systemd-private-p9kC25
ssh-r3sEpXMiwnGZ        systemd-private-fqGL4a  systemd-private-Pdp0DR
systemd-private-0ftXos  systemd-private-FSRkYO  systemd-private-PGmaEB
systemd-private-0qQWO2  systemd-private-ft6WLL  systemd-private-PSImbU
...

[root@linuxprobe Desktop]# 

/usr目錄:
用於存放系統應用程序,比較重要的目錄/usr/local 本地系統管理員軟件安裝目錄(安裝系統級的應用)。這是最龐大的目錄,要用到的應用程序和文件幾乎都在這個目錄

[root@linuxprobe Desktop]# ls /usr
bin  etc  games  include  lib  lib64  libexec  local  sbin  share  src  tmp
[root@linuxprobe Desktop]# 

/var目錄:
這個目錄中存放着在不斷擴充着的東西,我們習慣將那些經常被修改的目錄放在這個目錄下。包括各種日誌文件。

[root@linuxprobe Desktop]# ls /var
account  crash  ftp    gopher    local  mail   opt       spool  www
adm      db     games  kerberos  lock   named  preserve  tmp    yp
cache    empty  gdm    lib       log    nis    run       var
[root@linuxprobe Desktop]# 

這些Linux目錄的解釋是我在查閱了大量的資料,觀看教學視頻時記錄下來的,以及根據自己的一些經驗總結出來的,正是因爲水平有限,所以想把這些目錄整理一下,方便自己更好的查閱,當然我總結的也不是很深入,還有很多要學習的。

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