Linux目錄結構的組織形式和Windows有很大的不一樣。首先Linux沒有「盤(C盤、D盤、E盤)」的概念。已經創建文件系統的硬盤分區被掛載到某一個目錄下,用戶經過操做目錄來實現磁盤讀寫。python
Linux不像Windows那樣的系統目錄,Linux使用正斜槓"/"而不是反斜槓"\"來標識目錄。linux
Windows目錄:程序員
Linux目錄:數據庫
Linux首先是創建一個根"/"文件系統,全部的目錄也都是由根目錄衍生出來。windows
登陸系統後,在當前命令窗口輸入命令:安全
ls /
查看結果以下圖:服務器
在Linux底下,全部的文件與目錄都是由根目錄開始,是目錄與文件的源頭,而後一個個的分支下來,如同樹枝狀,所以稱爲這種目錄配置爲:目錄樹。網絡
目錄樹的特色是什麼呢?架構
如下是對這些目錄的解釋:性能
/bin:
bin是Binary的縮寫, 這個目錄存放着最常用的命令。
/boot:
這裏存放的是啓動Linux時使用的一些核心文件,包括一些鏈接文件以及鏡像文件。
/dev :
dev是Device(設備)的縮寫, 該目錄下存放的是Linux的外部設備,在Linux中訪問設備的方式和訪問文件的方式是相同的。
/etc:
這個目錄用來存放全部的系統管理所須要的配置文件和子目錄。
/home:
用戶的主目錄,在Linux中,每一個用戶都有一個本身的目錄,通常該目錄名是以用戶的帳號命名的。
/lib:
這個目錄裏存放着系統最基本的動態鏈接共享庫,其做用相似於Windows裏的DLL文件。幾乎全部的應用程序都須要用到這些共享庫。
/lost+found:
這個目錄通常狀況下是空的,當系統非法關機後,這裏就存放了一些文件。
/media:
linux系統會自動識別一些設備,例如U盤、光驅等等,當識別後,linux會把識別的設備掛載到這個目錄下。
/mnt:
系統提供該目錄是爲了讓用戶臨時掛載別的文件系統的,咱們能夠將光驅掛載在/mnt/上,而後進入該目錄就能夠查看光驅裏的內容了。
/opt:
這是給主機額外安裝軟件所擺放的目錄。好比你安裝一個ORACLE數據庫則就能夠放到這個目錄下。默認是空的。
/proc:
這個目錄是一個虛擬的目錄,它是系統內存的映射,咱們能夠經過直接訪問這個目錄來獲取系統信息。
這個目錄的內容不在硬盤上而是在內存裏,咱們也能夠直接修改裏面的某些文件,好比能夠經過下面的命令來屏蔽主機的ping命令,使別人沒法ping你的機器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
/root:
該目錄爲系統管理員,也稱做超級權限者的用戶主目錄。
/sbin:
s就是Super User的意思,這裏存放的是系統管理員使用的系統管理程序。
/selinux:
這個目錄是Redhat/CentOS所特有的目錄,Selinux是一個安全機制,相似於windows的防火牆,可是這套機制比較複雜,這個目錄就是存放selinux相關的文件的。
/srv:
該目錄存放一些服務啓動以後須要提取的數據。
/sys:
這是linux2.6內核的一個很大的變化。該目錄下安裝了2.6內核中新出現的一個文件系統 sysfs 。
該文件系統是內核設備樹的一個直觀反映。
當一個內核對象被建立的時候,對應的文件和目錄也在內核對象子系統中被建立。
/tmp:
這個目錄是用來存放一些臨時文件的。
/usr:
這是一個很是重要的目錄,用戶的不少應用程序和文件都放在這個目錄下,相似於windows下的program files目錄。
/usr/bin:
系統用戶使用的應用程序。
/usr/sbin:
超級用戶使用的比較高級的管理程序和系統守護程序。
/usr/src:內核源代碼默認的放置目錄。
/var:
這個目錄中存放着在不斷擴充着的東西,咱們習慣將那些常常被修改的目錄放在這個目錄下。包括各類日誌文件。
在linux系統中,有幾個目錄是比較重要的,平時須要注意不要誤刪除或者隨意更改內部文件。
/etc: 上邊也提到了,這個是系統中的配置文件,若是你更改了該目錄下的某個文件可能會致使系統不能啓動。
/bin, /sbin, /usr/bin, /usr/sbin: 這是系統預設的執行文件的放置目錄,好比 ls 就是在/bin/ls 目錄下的。
值得提出的是,/bin, /usr/bin 是給系統用戶使用的指令(除root外的通用戶),而/sbin, /usr/sbin 則是給root使用的指令。
/var: 這是一個很是重要的目錄,系統上跑了不少程序,那麼每一個程序都會有相應的日誌產生,而這些日誌就被記錄到這個目錄下,具體在/var/log 目錄下,另外mail的預設放置也是在這裏。
當年超哥在一家美資企業,一位臺灣老程序員送個人一本書。。。
多是看我骨骼驚奇吧!!
咱們知道切換目錄的指令是cd,那麼首先得知道如何切換目錄,這個得用心記呀!
. 當前目錄 .. 上一層目錄 - 前一個工做目錄 ~ 當前【用戶】所在的家目錄
須要注意的是,在全部目錄底下都存在兩個目錄,分別是【.】和【..】,分別表明當前目錄,上層目錄!那麼如何證實它的存在呢?
命令: ls -la /
查看命令解釋:man ls (Linux下的幫助指令)
結論:ls - list directory contens (列出目錄內容)
ls -la / 以豎狀格式化顯示列出/目錄全部內容
接下來看一下經常使用的目錄處理指令:
cd : (change directory,更改目錄)
pwd:(顯示當前目錄)
mkdir:(創建一個新目錄)
rmdir:(刪除一個空目錄)
cd是change directory的縮寫,這是用來變換工做目錄的命令,注意命令和目錄之間有一個空格。
mkdir是make directory的縮寫,用來創建新目錄,在默認狀況下,目錄得一級一級的創建。
例如我要創建/home/oldboy/python目錄,我就必須有/home,而後/home/oldboy,最後/home/oldboy/python,若是沒有/home/oldboy,則不能創建python目錄!
可見高效的建立目錄用上-p參數,能夠直接執行命令【mkdir -p /home/oldboy/python】,系統會自動添加上/home,/home/oldboy,/home/oldboy/python依次創建目錄,是否是很方便,^ ^
當我想刪除一個空目錄時,就用rmdir吧,例如我想刪除剛纔創建的oldboy目錄,以及/tmp/oldboy/python,那麼可使用【rmdir oldboy】,可是注意rmdir只能刪除空目錄。
刪除命令能夠正確使用【rm -rf】
同窗們應該都會配置windows下的環境變量(PATH),都知道系統會按照PATH的設定,去每一個PATH定義的目錄下搜索可執行文件。
那麼如何查看Linux下的PATH環境變量呢?
執行命令:
echo $PATH
echo命令是有打印的意思
$符號後面跟上PATH,表示輸出PATH的變量
PATH(必定是大寫的)這個變量是由一堆目錄組成,分隔符是":"號,而不一樣於windows的";"號。
Linux中很是重要的概念--路徑,路徑用來定位如何找到某個文件。
這裏超哥先講個例子,到底什麼是相對路徑,絕對路徑
好比一個老外,要來老男孩教育學習python,可是他找不到地點,所以向你問路,你能夠告訴他:
1.先坐飛機來中國北京,從北京機場坐地鐵到沙河地鐵站,而後走路800米到沙河匯德商廈,上四樓,找到超哥,結束尋路。
2. 超哥就在匯德商廈403辦公室,武佩奇後面坐着呢!!!
Linux下特別注意文件名/路徑的寫法,能夠將所謂的路徑(path)定義爲絕對路徑(absolute)和相對路徑(relative)。這兩種文件名/路徑的寫法依據是這樣的:
所以你必須瞭解,相對路徑是:以你當前所在路徑的相對路徑來表示的。
例如你如今在/home 這個目錄下,如要進入/var/log這個路徑,如何寫呢?
結果如圖:
由於你在/home底下,所以你要回到上一層(../)以後,才能繼續前往/var,特別注意:
分割線----
這個.與..目錄概念很是重要,平時常常會看到cd ..或者python ../home/oldboy/exam.py 就是表明進入上一層與執行相對路徑的python代碼!
1.linux是以 / 開始的樹狀目錄結構,tree查看 2.經常使用文件目錄操做命令是ls,cd,mkdir,rmdir 3.Linux的PATH查看是 echo $PATH,能夠修改/etc/profile文件永久生效,以冒號分割
4.絕對路徑,相對路徑的查看
5.文件權限chmod chgrp chown
用戶在硬件存儲設備中執行的文件創建,寫入,讀取,修改,轉存與控制等操做都是依賴文件系統完成的。文件系統的做用是合理規劃硬盤,保證用戶正常使用。
Linux系統支持數十種文件系統,常見文件系統以下。
/etc/fstab是用來存放文件系統的靜態信息的文件
cat /etc/fstab #檢查linux的文件系統
練習
1.在/home/目錄建立文件夾oldboy,進入oldboy建立helloLinux.txt2.建立/tmp/chaogeLinux.txt,用絕對路徑方式與相對路徑兩種方法3.在/tmp/目錄下建立chaogeDir目錄4.查看linuxPATH5.修改chaogeLinux.txt文件屬主是chaoge,權限是可讀可寫