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
所有使用者< /pre>
man [[ [-c ] [-t ] [Section] ] | [-k | -f ] ] [-F] [-m] [ -MPath ] [ -r ] [ -a ]Title < /pre>
顯示使用 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 => (0x00007ffc69bf3000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f1574dbe000)
libcap.so.2 => /lib64/libcap.so.2 (0x00007f1574bb9000)
libacl.so.1 => /lib64/libacl.so.1 (0x00007f15749af000)
libc.so.6 => /lib64/libc.so.6 (0x00007f15745ee000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f157438d000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f1574188000)
/lib64/ld-linux-x86-64.so.2 (0x00007f1574feb000)
libattr.so.1 => /lib64/libattr.so.1 (0x00007f1573f83000)
libpthread.so.0 => /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