說在前面的話:只適用于完全沒有后端知識的純小白,因為我就是。最開始了解linux文件系統的目錄結構,之后在學習linux命令行,是比較推薦的學習方法。
開通了免費一年使用期的aws,總不能閑置吧,于是就想趁這個機會嘗試了解一些后端的知識。當時用winscp打開linux系統目錄也是一臉懵逼,用putty開啟命令行模式默認是在home目錄下,一頓瞎逼操作,雖然最后還是成功開了服務器綁定了域名,不過只能說明aws教程的強大了。下面稍微記錄下學習的東西,同時分享給和我一樣的小白。
linux文件目錄速覽
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
├── bin //常用的命令 ├── boot //放置一些啟動用的臨時文件 ├── cdrom // ├── dev //設備文件 ├── etc //系統所有配置文件都放在它下面 ├── home //用戶目錄,對應權限用戶只能查看到自己的目錄 │ ├── ec2-user //aws登錄名ec2-user權限的目錄 ├── lib //用于存取程序的動態庫和模塊文件 ├── lost+found //用于存放系統異常時丟失的文件 ├── media //用于掛在本地磁盤或者其他儲存設備 ├── mnt //用于掛在其他臨時系統文件 ├── opt // ├── proc //包含進程等信息,不是內存映射,不是真實目錄 ├── root //root用戶的目錄 ├── run // ├── sbin //里面很多是root用戶才能執行的命令,系統的更新備份還原和開關機用的 ├── selinux // ├── srv //service的縮寫,是一些網路服務啟動后,這些服務所需取用資料目錄 ├── sys //系統信息 ├── tmp //存放各種臨時文件 ├── usr //我們主要的操作空間 └── var //變量文件--在運行中內容不斷變化的文件。 |
按照官網教程打開apache運行程序
樹狀目錄圖
目錄詳解
/bin:
系統有很多放置執行檔的目錄,但/bin比較特殊。因為/bin放置的是在單人維護模式下還能夠被操作的指令。在/bin底下的指令可以被root與一般帳號所使用,主要有:cat,chmod(修改權限), chown, date, mv, mkdir, cp, bash等等常用的指令。
/boot:
主要放置開機會使用到的檔案,包括linux核心檔案以及開機選單與開機所需設定檔等等。linux kernel常用的檔名為:vmlinuz ,如果使用的是grub這個開機管理程式,則還會存在/boot/grub/這個目錄。
/dev:
在linux系統上,任何裝置與周邊設備都是以檔案的型態存在于這個目錄當中。 只要通過存取這個目錄下的某個檔案,就等于存取某個裝置。比要重要的檔案有/dev/null, /dev/zero, /dev/tty , /dev/lp, / dev/hd, /dev/sd*等等
/etc:
系統主要的設定檔幾乎都放置在這個目錄內,例如人員的帳號密碼檔、各種服務的啟始檔等等。 一般來說,這個目錄下的各檔案屬性是可以讓一般使用者查閱的,但是只有root有權力修改。 fhs建議不要放置可執行檔(binary)在這個目錄中。 比較重要的檔案有:/etc/inittab, /etc/init.d/, /etc/modprobe.conf, /etc/x11/, /etc/fstab, /etc/sysconfig/等等。 另外,其下重要的目錄有:/etc/init.d/ :所有服務的預設啟動script都是放在這里的,例如要啟動或者關閉iptables的話: /etc/init.d/iptables start、/etc/init.d/ iptables stop
/home:
這是系統預設的使用者家目錄(home directory)。 在你新增一個一般使用者帳號時,預設的使用者家目錄都會規范到這里來。比較重要的是,家目錄有兩種代號:
~ :代表當前使用者的家目錄,
~guest:則代表用戶名為guest的家目錄。
/lib:
系統的函式庫非常的多,而/lib放置的則是在開機時會用到的函式庫,以及在/bin或/sbin底下的指令會呼叫的函式庫而已 。 什么是函式庫呢?妳可以將他想成是外掛,某些指令必須要有這些外掛才能夠順利完成程式的執行之意。 尤其重要的是/lib/modules/這個目錄,因為該目錄會放置核心相關的模組(驅動程式)。
/media:
media是媒體的英文,顧名思義,這個/media底下放置的就是可移除的裝置。 包括軟碟、光碟、dvd等等裝置都暫時掛載于此。 常見的檔名有:/media/floppy, /media/cdrom等等。
/mnt:
如果妳想要暫時掛載某些額外的裝置,一般建議妳可以放置到這個目錄中。在古早時候,這個目錄的用途與/media相同啦。 只是有了/media之后,這個目錄就用來暫時掛載用了。
/opt:
這個是給第三方協力軟體放置的目錄 。 什么是第三方協力軟體???舉例來說,kde這個桌面管理系統是一個獨立的計畫,不過他可以安裝到linux系統中,因此kde的軟體就建議放置到此目錄下了。 另外,如果妳想要自行安裝額外的軟體(非原本的distribution提供的),那么也能夠將你的軟體安裝到這里來。 不過,以前的linux系統中,我們還是習慣放置在/usr/local目錄下。
/root:
系統管理員(root)的家目錄。 之所以放在這里,是因為如果進入單人維護模式而僅掛載根目錄時,該目錄就能夠擁有root的家目錄,所以我們會希望root的家目錄與根目錄放置在同一個分區中。
/sbin:
linux有非常多指令是用來設定系統環境的,這些指令只有root才能夠利用來設定系統,其他使用者最多只能用來查詢而已。放在/sbin底下的為開機過程中所需要的,里面包括了開機、修復、還原系統所需要的指令。至于某些伺服器軟體程式,一般則放置到/usr/sbin/當中。至于本機自行安裝的軟體所產生的系統執行檔(system binary),則放置到/usr/local/sbin/當中了。常見的指令包括:fdisk, fsck, ifconfig, init, mkfs等等。
/srv:
srv可以視為service的縮寫,是一些網路服務啟動之后,這些服務所需要取用的資料目錄。 常見的服務例如www, ftp等等。 舉例來說,www伺服器需要的網頁資料就可以放置在/srv/www/里面。呵呵,看來平時我們編寫的代碼應該放到這里了。
/tmp:
這是讓一般使用者或者是正在執行的程序暫時放置檔案的地方。這個目錄是任何人都能夠存取的,所以你需要定期的清理一下。當然,重要資料不可放置在此目錄啊。 因為fhs甚至建議在開機時,應該要將/tmp下的資料都刪除。
usr目錄的內容
/usr/x11r6/:
為x window system重要數據所放置的目錄,之所以取名為x11r6是因為最后的x版本為第11版,且該版的第6次釋出之意。
/usr/bin/:
絕大部分的用戶可使用指令都放在這里。請注意到他與/bin的不同之處。(是否與開機過程有關)
/usr/include/:
c/c++等程序語言的檔頭(header)與包含檔(include)放置處,當我們以tarball方式 (*.tar.gz 的方式安裝軟件)安裝某些數據時,會使用到里頭的許多包含檔。
/usr/lib/:
包含各應用軟件的函式庫、目標文件(object file),以及不被一般使用者慣用的執行檔或腳本(script)。 某些軟件會提供一些特殊的指令來進行服務器的設定,這些指令也不會經常被系統管理員操作, 那就會被擺放到這個目錄下啦。要注意的是,如果你使用的是x86_64的linux系統, 那可能會有/usr/lib64/目錄產生
/usr/local/:
統管理員在本機自行安裝自己下載的軟件(非distribution默認提供者),建議安裝到此目錄, 這樣會比較便于管理。舉例來說,你的distribution提供的軟件較舊,你想安裝較新的軟件但又不想移除舊版, 此時你可以將新版軟件安裝于/usr/local/目錄下,可與原先的舊版軟件有分別啦。 你可以自行到/usr/local去看看,該目錄下也是具有bin, etc, include, lib…的次目錄
/usr/sbin/:
非系統正常運作所需要的系統指令。最常見的就是某些網絡服務器軟件的服務指令(daemon)
/usr/share/:
放置共享文件的地方,在這個目錄下放置的數據幾乎是不分硬件架構均可讀取的數據, 因為幾乎都是文本文件嘛。在此目錄下常見的還有這些次目錄:/usr/share/man:聯機幫助文件
/usr/share/doc:
軟件雜項的文件說明
/usr/share/zoneinfo:
與時區有關的時區文件
/usr/src/:
一般原始碼建議放置到這里,src有source的意思。至于核心原始碼則建議放置到/usr/src/linux/目錄下。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:http://www.jianshu.com/p/c9780ad03a4d