天天看點

linux系統目錄結構首先來看tree的用法tree二、主要參數   

                        linux系統目錄結構  

<a href="https://s5.51cto.com/oss/201710/21/3cf3391ad3b0a540286927e2c94ae5e5.png-wh_500x0-wm_3-wmp_4-s_3703067643.png" target="_blank"></a>

<a href="https://s3.51cto.com/oss/201710/21/206536379cb1a93e0b6cde6bc62a50e3.png-wh_500x0-wm_3-wmp_4-s_2617767639.png" target="_blank"></a>

檔案目錄管理

[root@alex ~]# ls

c  m

[root@alex ~]# list        ls的簡寫 ,獵取系統的檔案或者目錄   

[root@alex ~]# ls /                                                ls跟目錄  

bin  boot  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

[root@alex ~]# ls /root/          root的家目錄

[root@alex ~]# ls /root/.ssh/authorized_keys       家目錄下面建立的檔案

/root/.ssh/authorized_keys

[root@alex ~]# useradd dabaitu     useradd 建立家目錄   

[root@alex ~]# ls /home/                         檢視家目錄下面的使用者  

dabaitu

[root@alex ~]# ls /home/dabaitu    可以在家目錄下建立    root是跟目錄  普通使用者在home下面 

[root@alex ~]# useradd user         

[root@alex ~]# ls /home/

dabaitu  user

[root@alex ~]# ls /home/user     家目錄在home  user下面  

root的家目錄在/跟下面    普通使用者的在home下面     useradd  是建立使用者的    ls   是list  縮寫 檢視文資訊的

[root@alex ~]# ls /root/.ssh/authorized_keys                (配置秘鑰認證的是路徑和檔案必須放在。ssh/authorized_keys)

[root@alex ~]# ls /etc/ssh/sshd_config    是ssh/sshd規定的。配置檔案在etc下面更改  

[root@alex ~]# yum install -y tree           用yum安裝tree   tree 是以樹形狀列出目錄内容  

tree -L

提示: tree: Missing argument to -L option

然後tree -L 1

顯示一級目錄和檔案

tree -L 1 -d  

隻顯示一級目錄

是以我們可以用tree -L 1 -d這個顯示該目錄下的一級目錄

附帶 man了一下tree,還是這個解釋比較清楚。

TREE(1)                                                                TREE(1)

tree - list contents of directories in a tree-like format.

SYNOPSIS

       tree  [-adfghilnopqrstuvxACDFNS]  [-L  level  [-R]]  [-H  baseHREF] [-T

       title] [-o filename] [--nolinks] [-P pattern] [-I  pattern]  [--inodes]

       [--device] [--noreport] [--dirsfirst] [--version] [--help] [--filelimit

       #] [directory ...]

                                                                                                                                man

所有使用者&lt; /pre&gt;

man [[ [-c ] [-t ] [Section] ] | [-k | -f ] ] [-F] [-m] [ -MPath ] [ -r ] [ -a ]Title &lt; /pre&gt;

顯示使用 cat 指令的手冊資訊。

 使用 troff 指令格式化手冊資訊。如果在超文本資訊基中查找到手冊頁面,則忽略該标志。

 顯示關鍵字資料庫中包含與作為最終參數給定的字元比對的标題的字元串的每一行。     可以輸入多個标題,中間用空格隔開。     要使用 -k 标志,root 使用者必須以前已輸入 catman -w 以建立 /usr/share/man/whatis 檔案。

 顯示在關鍵字資料庫中僅與作為最終參數給定的指令名相關的項。可以輸入多個指令名,中間用空格隔開。     使用該标志僅搜尋指令物件。     要使用 -f 标志,root 使用者必須以前已輸入 catman -w 以建立 /usr/share/man/whatis 檔案。

隻顯示首個比對項。  

隻在 MANPATH 或 -M 中指定的路徑中搜尋。  

更改 man 指令搜尋手冊資訊的标準位置。路徑是用冒号隔開的路徑的清單,其中,可以使用以下特殊符号:   %D - 聯機幫助頁的預設 AIX? 路徑。  %L-與目前語言環境的 LC_MESSAGES 類别相對應的特定于語言環境的目錄位置。   %L-與目前 LC_MESSAGES 類别的首 2 個字元相對應的特定于語言環境的目錄位置。 

手冊資訊的遠端搜尋。如果出于某個原因,遠端搜尋失敗,則 man 将執行本地搜尋以擷取請求的聯機幫助頁。  

 顯示所有比對項。

/

home --- 存儲普通使用者的個人檔案

ftp --- 使用者所有服務

httpd

samba

user1

user2

bin --- 系統啟動時需要的執行檔案(二進制)

sbin --- 可執行程式的目錄,但大多存放涉及系統管理的指令。隻有root權限才能執行

proc --- 虛拟,存在linux核心鏡像;儲存所有核心參數以及系統配置資訊

1 --- 程序編号

usr --- 使用者目錄,存放使用者級的檔案

bin --- 幾乎所有使用者所用指令,另外存在與/bin,/usr/local/bin

sbin --- 系統管理者指令,與使用者相關,例如,大部分伺服器程式

include ---  存放C/C++頭檔案的目錄

lib --- 固定的程式資料

local --- 本地安裝軟體儲存位置

man --- 手工生成的目錄

info --- 資訊文檔

doc --- 不同封包檔資訊

tmp

X11R6 ---  該目錄用于儲存運作X-Window所需的所有檔案。該目錄中還包含用于運作GUI要的配置檔案和二進制檔案。

X386 --- 功能同X11R6,X11 發行版5 的系統檔案

boot --- 引導加載器所需檔案,系統所需圖檔儲存于此

lib --- 根檔案系統目錄下程式和核心子產品的公共庫

modules --- 可加載子產品,系統崩潰後重新開機所需子產品

dev --- 裝置檔案目錄

etc --- 配置檔案

skel --- home目錄建立,該目錄初始化

sysconfig --- 網絡,時間,鍵盤等配置目錄

var

file

lib --- 該目錄下的檔案在系統運作時,會改變

local --- 安裝在/usr/local的程式資料,變化的

lock --- 檔案使用特定外設或檔案,為其上鎖,其他檔案暫時不能通路

log --- 記錄日志

run --- 系統運作合法資訊

spool --- 列印機、郵件、代理伺服器等假脫機目錄

catman --- 緩存目錄

tmp --- 臨時檔案目錄,系統啟動後的臨時檔案存放在/var/tmp

lost+found --- 在檔案系統修複時恢複的檔案

/:根目錄,一般根目錄下隻存放目錄,不要存放檔案,/etc、/bin、/dev、/lib、/sbin應該和根目錄放置在一個分區中

/bin:/usr/bin:可執行二進制檔案的目錄,如常用的指令ls、tar、mv、cat等。

/boot:放置linux系統啟動時用到的一些檔案。/boot/vmlinuz為linux的核心檔案,以及/boot/gurb。建議單獨分區,分區大小100M即可

/dev:存放linux系統下的裝置檔案,通路該目錄下某個檔案,相當于通路某個裝置,常用的是挂載光驅mount /dev/cdrom /mnt。

/etc:系統配置檔案存放的目錄,不建議在此目錄下存放可執行檔案,重要的配置檔案有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置檔案之前記得備份。

注:/etc/X11存放與x windows有關的設定。

/home:系統預設的使用者家目錄,新增使用者賬号時,使用者的家目錄都存放在此目錄下,~表示目前使用者的家目錄,~test表示使用者test的家目錄。建議單獨分區,并設定較大的磁盤空間,友善使用者存放資料

/lib:/usr/lib:/usr/local/lib:系統使用的函數庫的目錄,程式在執行過程中,需要調用一些額外的參數時需要函數庫的協助,比較重要的目錄為/lib/modules。

/lost+fount:系統異常産生錯誤時,會将一些遺失的片段放置于此目錄下,通常這個目錄會自動出現在裝置目錄下。如加載硬碟于/disk 中,此目錄下就會自動産生目錄/disk/lost+found

/mnt:/media:CD光牒預設挂載點,通常CD光牒挂載于/mnt/cdrom下,也不一定,可以選擇任意位置進行挂載。

/opt:給主機額外安裝軟體所擺放的目錄。如:FC4使用的Fedora 社群開發軟體,如果想要自行安裝新的KDE 桌面軟體,可以将該軟體安裝在該目錄下。以前的 Linux 系統中,習慣放置在 /usr/local 目錄下

/proc:此目錄的資料都在記憶體中,如系統核心,外部裝置,網絡狀态,由于資料都存放于記憶體中,是以不占用磁盤空間,比較重要的目錄有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等

/root:系統管理者root的家目錄,系統第一個啟動的分區為/,是以最好将/root和/放置在一個分區下。

/sbin:/usr/sbin:/usr/local/sbin:放置系統管理者使用的可執行指令,如fdisk、shutdown、mount等。與/bin不同的是,這幾個目錄是給系統管理者root使用的指令,一般使用者隻能"檢視"而不能設定和使用。

/tmp:一般使用者或正在執行的程式臨時存放檔案的目錄,任何人都可以通路,重要資料不可放置在此目錄下

/srv:服務啟動之後需要通路的資料目錄,如www服務需要通路的網頁資料存放在/srv/www内

/usr:應用程式存放目錄,/usr/bin存放應用程式,/usr/share存放共享資料,/usr/lib存放不能直接運作的,卻是許多程式運作所必需的一些函數庫檔案。/usr/local:存放軟體更新包。/usr/share/doc:系統說明檔案存放目錄。/usr/share/man: 程式說明檔案存放目錄,使用 man ls時會查詢/usr/share/man/man1/ls.1.gz的内容建議單獨分區,設定較大的磁盤空間

/var:放置系統執行過程中經常變化的檔案,如随時更改的日志檔案/var/log,/var/log/message:所有的登入檔案存放目錄,/var/spool/mail:郵件存放的目錄,/var/run:程式或服務啟動後,其PID存放在該目錄下。建議單獨分區,設定較大的磁盤空間

root@alex ~]# ls /    列出根目錄下面的檔案   

bin   dev  home  lib64       media  opt   root  sbin  sys  usr

boot  etc  lib   lost+found  mnt    proc  run   srv   tmp  var

[root@alex ~]# ls /sbin                                                                  root使用者下面用的    而普通使用者沒有權限用  

[root@alex ~]# ls /bin/                                                                     普通使用者用/bin/下面的   

[root@alex ~]# ls /boot/                                                                   系統啟動的相關檔案  

config-3.10.0-327.el7.x86_64                             initrd-plymouth.img

config-3.10.0-514.26.2.el7.x86_64                        symvers-3.10.0-327.el7.x86_64.gz

grub                                                     symvers-3.10.0-514.26.2.el7.x86_64.gz

grub2                                                    System.map-3.10.0-327.el7.x86_64

initramfs-0-rescue-36dc953195bb4389870d2591ff6bfea5.img  System.map-3.10.0-514.26.2.el7.x86_64

initramfs-3.10.0-327.el7.x86_64.img                      vmlinuz-0-rescue-36dc953195bb4389870d2591ff6bfea5

initramfs-3.10.0-327.el7.x86_64kdump.img                 vmlinuz-3.10.0-327.el7.x86_64

initramfs-3.10.0-514.26.2.el7.x86_64.img                 vmlinuz-3.10.0-514.26.2.el7.x86_64

initramfs-3.10.0-514.26.2.el7.x86_64kdump.img

[root@alex ~]# ls /dev   linux 系統當中特有的裝置檔案     CD光牒滑鼠鍵盤 全部的dev下面 

[root@alex ~]# ls /etc/   linux系統的配置檔案 

[root@alex ~]# ls /home/       使用者家目錄的檔案  

dabaitu  user  

[root@alex ~]# ls /lib/lib64       存放系統的庫檔案的   很多指令都會依賴一些庫 比如ls就依賴一些庫檔案 

[root@alex ~]# ldd /bin/ls                        庫檔案   看看它都依賴那些庫   

    linux-vdso.so.1 =&gt;  (0x00007ffc69bf3000)

    libselinux.so.1 =&gt; /lib64/libselinux.so.1 (0x00007f1574dbe000)

    libcap.so.2 =&gt; /lib64/libcap.so.2 (0x00007f1574bb9000)

    libacl.so.1 =&gt; /lib64/libacl.so.1 (0x00007f15749af000)

    libc.so.6 =&gt; /lib64/libc.so.6 (0x00007f15745ee000)

    libpcre.so.1 =&gt; /lib64/libpcre.so.1 (0x00007f157438d000)

    libdl.so.2 =&gt; /lib64/libdl.so.2 (0x00007f1574188000)

    /lib64/ld-linux-x86-64.so.2 (0x00007f1574feb000)

    libattr.so.1 =&gt; /lib64/libattr.so.1 (0x00007f1573f83000)

    libpthread.so.0 =&gt; /lib64/libpthread.so.0 (0x00007f1573d67000)

[root@alex ~]# ls /media              移動存儲,系統自動挂載的時候一般會放在/media   固定存儲,系統自動挂載一般放在/mnt

[root@alex ~]# ls /mnt                 挂載用的   

[root@alex ~]# ls /opt                 

/opt:使用者級的程式目錄,可以了解為D:/Software,opt有可選的意思,這裡可以用于放置第三方大型軟體(或遊戲),當你不需要時,直接rm -rf掉即可。在硬碟容量不夠時,也可将/opt單獨挂載到其他磁盤上使用。

[root@alex ~]# ls /proc    系統啟動的一些程序  檔案  

1. /proc目錄

Linux 核心提供了一種通過 /proc 檔案系統,在運作時通路核心内部資料結構、改變核心設定的機制。proc檔案系統是一個僞檔案系統,它隻存在記憶體當中,而不占用外存空間。它以檔案系統的方式為通路系統核心資料的操作提供接口。

使用者和應用程式可以通過proc得到系統的資訊,并可以改變核心的某些參數。由于系統的資訊,如程序,是動态改變的,是以使用者或應用程式讀取proc檔案時,proc檔案系統是動态從系統核心讀出所需資訊并送出的。下面列出的這些檔案或子檔案夾,并不是都是在你的系統中存在,這取決于你的核心配置和裝載的子產品。另外,在/proc下還有三個很重要的目錄:net,scsi和sys。 Sys目錄是可寫的,可以通過它來通路或修改核心的參數,而net和scsi則依賴于核心配置。例如,如果系統不支援scsi,則scsi 目錄不存在。

除了以上介紹的這些,還有的是一些以數字命名的目錄,它們是程序目錄。系統中目前運作的每一個程序都有對應的一個目錄在/proc下,以程序的 PID号為目錄名,它們是讀取程序資訊的接口。而self目錄則是讀取程序本身的資訊接口,是一個link。

[root@alex ~]# ls /root/      root使用者的家目錄  

[root@alex ~]# ls /run/       一些程序産生的臨時檔案 

[root@alex ~]# ls /srv/                                         /srv :主要用來存儲本機或本伺服器提供的服務或資料。

[root@alex ~]# ls /sys/                        系統核心相關的檔案   

block  bus  class  dev  devices  firmware  fs  hypervisor  kernel  module  power

[root@alex ~]# ls /tmp/                         系統的臨時目錄  

[root@alex ~]# ls /usr/            使用者的檔案會放在usr   

/usr:系統級的目錄,可以了解為C:/Windows/,/usr/lib了解為C:/Windows/System32。

/usr/local:使用者級的程式目錄,可以了解為C:/Progrem Files/。使用者自己編譯的軟體預設會安裝到這個目錄下。

[root@alex ~]# ls /var/

adm  cache  crash  db  empty  games  gopher  kerberos  lib  local  lock  log  mail  nis  opt  preserve  run  spool  tmp  yp

[root@alex ~]# ls /var/log  

/var :系統産生的不可自動銷毀的緩存檔案、日志記錄。(系統和程式運作後産生的資料、不對外提供服務、隻能使用者手動清理)(包括mail、資料庫檔案、日志檔案)

[root@alex ~]# ls /usr/bin/  /usr/sbin/  /bin/  /sbin/  /etc/ /var/ /usr/local/    常用 !

本文轉自 amenging 51CTO部落格,原文連結:http://blog.51cto.com/11335852/1974793

繼續閱讀