登陸Linux系統後,輸入命令 ls /,便可查看根目錄下的全部目錄。node
這些就是Linux系統的目錄結構。windows
一、/bin與usr/bin:即Binary的縮寫,該目錄下存放的是最經常使用的命令。less
二、/boot:啓動Linux時使用的一些核心文件,包括一些鏈接文件和鏡像文件。ssh
三、/dev:(Device的縮寫),該目錄存放的是Linux的外部設備。spa
四、/etc:全部系統管理所須要的配置文件和子目錄。命令行
五、/home:用戶的家目錄。3d
六、/lib與lib64:系統最基本的動態鏈接共享庫,其做用相似於Windows裏的DLL文件。日誌
七、/media:系統會自動識別一些設備(U盤、光驅等),當識別後,Linux會把識別的設備掛載到該目錄下。blog
八、/mnt:讓用戶臨時掛載別的文件系統,好比咱們能夠把光驅掛載到/mnt/上,而後進入該目錄查看光驅裏的內容。遞歸
九、/opt:給主機額外安裝軟件所設置的目錄,默認爲空。
十、/proc:虛擬目錄,是系統內存的映射,能夠直接訪問它來獲取系統信息。
十一、/root:系統管理員的家目錄。
十二、/run:和/var/run是同一個目錄,用來存放一些服務的pid。
1三、/sbin與usr/sbin:系統管理員所使用的系統管理程序。
1四、/srv:存放一些服務啓動以後須要提取的數據。
1五、/sys:存放的是與硬件驅動程序相關的信息。
1六、/tmp:存放一些臨時文件。
1七、/var:該目錄存放的是不斷擴充且常常修改的目錄,包括各類日誌文件或者pid文件。
ls(list)的縮寫,用於列出指定目錄或者文件。
經常使用的參數:
-a:列出當前目錄下的文件和目錄,包括隱藏文件。
-l:列出當前目錄下除隱藏文件外的全部文件和目錄的詳細信息,包括權限、全部者、所屬組以和文件建立的日期和時間。
-h:以人性化的方式列出文件,主要是文件的大小顯示方式(B,KB,MB,G)
-i:列出文件的inode
-d:列出當前目錄
在Linux文件系統中,主要有如下幾種類型的文件:
普通文件:即通常的文件。
目錄:至關於windows中的文件夾。
連接文件:相似於windows中的快捷方式。
連接文件又分爲硬連接和軟連接,二者本質上的區別在於inode。
設備:卻與系統周邊相關的一些文件。
alias,即命令的別名,在命令行中直接輸入alias便可查看系統已設置的別名。
如何自定義一個別名呢?
格式爲alias 別名=’’,便可設置別名
能夠用which命令查看詳細信息:
取消別名的方法:unalias 別名
路徑:即文件存放的地方。
在Linux中,分爲絕對路徑和相對路徑。
絕對路徑:由根目錄/開始寫起的,好比: /etc/ssh
相對路徑:不是由根目錄/開始寫起的,好比: cd test
cd (change directory的縮寫),用來切換用戶所在目錄。
cd :直接輸入cd ,會進入當前用戶的根目錄下。
cd 後面加上目錄名,則會切換到指定的目錄下。
cd ~ 返回用戶的家目錄。
cd - :返回上一級目錄。
cd . 表示當前目錄,cd .. 表示當前目錄的上一級目錄。
mkdir (make directory的縮寫),用於建立目錄。
那麼,若是咱們想在/tmp/zhangjin/目錄下再建立目錄1/2/3呢?這時候直接建立會發現報錯
這時候,咱們再加參數-p就能夠解決,-p,用於遞歸建立目錄。
rmdir (remove diretory),用於刪除空目錄,該命令只能用於刪除空目錄,不能刪除文件。
rm:用於刪除目錄mdir和文件,經常使用的參數有-r和-f
-r:刪除目錄,相似於rmdir,但比rmdir更強大,它能夠刪除非空目錄。
-f:強制刪除,若是後面跟一個不存在的文件或目錄,也不會報錯。
查看環境變量的命令:
將路徑加入環境變量的方法:
cp(copy的簡寫):複製。格式爲:cp [參數] [來源文件] [目的文件],例如,把test1複製成test2,能夠這樣寫:cp test1 test2。
經常使用參數:
-r:用於複製目錄,若是不加此參數,則不能複製目錄。
-i:複製時若是文件已經存在,則會詢問是否覆蓋。
mv(move的縮寫),該命令的格式爲: mv [參數] [源文件或目錄] [目標文件或目錄]。
(1)、目標文件是目錄,但該目錄不存在時:會把源目錄重命名爲目標目錄名。
(2)、目標文件是目錄,且該目錄存在時:會把源文件或目錄移動到該目錄中。
(3)、目標文件是文件,且該文件不存在時:會把源文件重命名爲目標文件名。
(4)、目標文件是文件,但該文件存在時:會詢問是否覆蓋。
4個命令都是關於查看文件的。
cat: cat後面直接加文件名,能夠查看文件內容。
加-n參數,能夠顯示行號:
tac: 和命令cat同樣,不一樣的是顯示結果和cat正好反過來,先顯示最後一行,而後倒數第二行,最後才顯示第一行。
more:當文件內容太多時,一屏不能所有顯示,這時就能夠用more,當看完一屏時,按空格鍵能夠繼續看下一屏,看徹底部後就會退出,相關的快捷鍵:Ctrl+D向上翻屏 Ctrl+F向下翻屏 q退出。
less:功能和more同樣,不一樣的是,less能夠一行一行顯示,並且能夠用 /(在當前行向下搜索) ?(在當前行向上搜索)來查找字符串。
head:用於顯示文件的前10行,若是加參數-n,則表示顯示文件的前n行。
tail:和head相似,用於顯示文件的最後10行,若是加參數-n,則顯示文件的最後n行。
文件的權限能夠經過命令 ls -l 來查看。
咱們以文件123爲例,從左至右可劃分爲9個部分:
一、- :表示普通文件,若是爲d,則表示目錄,此外還有l表示連接文件,b表示塊設備等。rw-rw-r--:這部分又能夠分爲3部分,rwx爲一組,共有3組,分別表示全部者(user),所屬組(group)和其餘人(other)的權限。其中,r表示可讀,w表示可寫,x表示可執行。因而可知123這個文件,全部者擁有的權限爲可讀可寫(rw),所屬組的權限爲可讀可寫(rw),其餘人的權限爲可讀(r)。
二、表示該文件佔用的節點(inode),若是是目錄,這個數值與該目錄下是子目錄數量有關。
三、該文件的全部者。
四、該文件的所屬組。
五、該文件的大小。
6-八、表示該文件最後一次被修改的時間,格式爲月份、日期和時間。
九、文件名。
chgrp不經常使用(change group) :更改文件的所屬組。格式爲: chgrp [組名] [文件名]。
chown(change ower) :更改文件的全部者。格式爲: chown [-R] 帳戶名 文件名 或者 chown [-R] 帳戶名:組名 文件名。
再查看目錄dir3下的文件test3,能夠發現test3文件的全部者仍是root
加上參數-R,能夠發現,文件的全部者也改成user1了。
chmod (change mode):改變用戶對文件/目錄的讀寫執行權限。格式爲: chmod [-R] xyz(數字) 文件名。
爲了方便更改文件的權限,Linux使用數字來代替rwx,r=4, w=2, x=1,-=0。例如,rwxrw-r--,用數字表示就是764(4+2+1=7,4+2+0=6,4+0+0=4)。
chmod還支持使用rwx的方式來設置權限。通常用u、g、o來分別表示user、group和others的屬性,a(all)則表明所有。
默認狀況下,目錄的權限值爲755,普通文件的權限值爲644,這個值的規定便涉及umask了。
umask用於改變文件的默認權限,格式爲:umask 3位數字。
查看umask的值,只要在命令行中輸入命令umask便可。
能夠看到,umask的預設值是0022,那麼這表示什麼含義呢?咱們先來看如下兩條規則。
一、若用戶創建普通文件,則預設沒有可執行權限,只有r、w兩個權限,最大值爲666(-rw-rw-rw-)。
二、若用戶創建目錄,則預設全部權限均開放,即777(drwxrwxrwx)。
umask數值表明的含義爲以上兩條規則中的默認值(文件爲666,目錄爲777)須要減掉的權限,因此:
目錄的權限爲rwxrwxrwx - ----w--w- = rwxr-xr-x
普通文件的權限爲rw-rw-rw - ----w--w- = rw-r--r--
umask的值是能夠自定義的,好比設定umask爲002,在建立目錄或文件時,默認權限分別爲:
目錄:rwxrwxrwx - -------w- = rwxrwxr-x
文件:rw-rw-rw- - -------w- = rw-rw-r--
能夠看到,建立的目錄默認權限變爲755,文件的默認權限變爲664。
關於umask的計算方法,不該該直接單純用數字相減,而應該換算成rwx來相減進行換算。