一、ls:linux
ls命令是linux下最經常使用的命令,是list的縮寫。若是ls指定其餘目錄,那麼就會顯示指定目錄裏的文件及文件夾清單。 經過ls 命令不只能夠查看linux文件夾包含的文件,並且能夠查看文件權限(包括目錄、文件夾、文件權限)查看目錄信息等等。 數據庫
命令格式:ls [選項] [目錄名]服務器
命令實例:less
①列出/home/test文件夾下的全部文件和目錄的詳細資料:ls -lR /home/testsvn
②列出當前目錄中全部以 「p」 開頭的目錄的詳細內容:ls -l t*加密
③只列出文件下的子目錄,列出 /opt/soft 文件下面的子目錄:ls -F /opt/soft/ | grep /$spa
列出 /opt/soft 文件下面的子目錄:ls -l /opt/soft | grep "^d"操作系統
④列出當前目錄下全部名稱 s 開頭的文件,時間正序排列:ls -ltr s*命令行
⑤計算當前目錄下文件和目錄數:設計
ls -l * |grep 「^-「|wc -l —文件個數
ls -l * |grep 「^d」|wc -l —目錄個數
⑥在 ls 中列出文件的絕對路徑:ls | sed "s:^:`pwd`/:"
⑦遞歸列出當前目錄下的全部文件(包括隱藏文件)的絕對路徑:find $PWD | xargs ls -ld
二、cd:目錄切換
命令格式:cd [目錄名]
三、pwd:查看」當前工做目錄「的完整路徑
四、mkdir :
用來建立指定的名稱的目錄,要求建立目錄的用戶在當前目錄中具備寫權限,而且指定的目錄名不能是當前目錄中已有的目錄。
命令格式:mkdir [選項] 目錄…
命令實例:①遞歸建立多個目錄:mkdir -p test2/test22
②建立權限爲777的目錄:mkdir -m 777 test3
③一個命令建立項目的目錄結構: mkdir -vp scf/{lib/,bin/,doc/{info,product},logs/{info,product},service/deploy/{info,product}}
輸出:
mkdir: 已建立目錄 「scf」
mkdir: 已建立目錄 「scf/lib」
mkdir: 已建立目錄 「scf/bin」
mkdir: 已建立目錄 「scf/doc」
mkdir: 已建立目錄 「scf/doc/info」
mkdir: 已建立目錄 「scf/doc/product」
mkdir: 已建立目錄 「scf/logs」
......
五、rm:
刪除一個目錄中的一個或多個文件或目錄,對於連接文件,只是刪除了連接,原有文件均保持不變。
命令格式:rm [選項] 文件…
部分經常使用命令:
①刪除test目錄及子目錄中的全部文件,且不用一一確認:rm -rf test2
②刪除以 -f 開頭的文件:rm -- -f
六、rmdir:
刪除空目錄,一個目錄被刪除以前必須是空的。(注意,rm – r dir命令可代替rmdir,可是有很大危險性。)刪除某目錄時也必須具備對父目錄的寫權限。
命令格式:rmdir [選項]… 目錄…
命令實例:遞歸刪除目錄dirname,當子目錄刪除後其父目錄爲空時,也一同被刪除,刪除logs包含的空目錄:rmdir -p logs
七、mv:
能夠用來移動文件或者將文件更名,視mv命令中第二個參數類型的不一樣(是目標文件仍是目標目錄)
命令格式:mv [選項] 源文件或目錄 目標文件或目錄
命令參數:
-b :若需覆蓋文件,則覆蓋前先行備份。
-f :force 強制的意思,若是目標文件已經存在,不會詢問而直接覆蓋;
-i :若目標文件 (destination) 已經存在時,就會詢問是否覆蓋!
-u :若目標文件已經存在,且 source 比較新,纔會更新(update)
八、cp:
將源文件複製至目標文件,或將多個源文件複製至目標目錄。
命令格式:cp [選項]… [-T] 源 目的 或 :cp [選項]… 源… 目錄 或:cp [選項]… -t 目錄 源…
部分經常使用命令:
①複製整個目錄(目標目錄存在與否結果是不同的):cp -a test test1
②複製一個log.log 創建一個log_link.log(log_link.log 是由 -s 的參數形成的,創建的是一個『快捷方式』): cp -s log.log log_link.log
九、touch:
更改文檔或目錄的日期時間,包括存取時間和更改時間
命令格式:touch [選項]... 文件...
命令實例:
①建立不存在的文件:touch log2012.log log2013.log
②更新log.log 時間 和 log2.log時間戳相同:touch -r log.log log2.log
③設定文件的時間戳:touch -t 201211142234.50 log.log
十、cat:
鏈接文件或標準輸入並打印。這個命令經常使用來顯示文件內容,或者將幾個文件鏈接起來顯示,或者從標準輸入讀取內容並顯示,它常與重定向符號配合使用。
其餘功能:
1.一次顯示整個文件:cat filename
2.從鍵盤建立一個文件:cat > filename 只能建立新文件,不能編輯已有文件.
3.將幾個文件合併爲一個文件:cat file1 file2 > file
命令格式:cat [選項] [文件]...
命令實例:
①把log1文件內容加上行號輸入到log2文件:cat -n log1.log log2.log
②把log1和log2文件內容加上行號(空白行除外),輸入到log文件:cat -b log1.log log2.log log.log
注:tac:是將 cat 反寫過來,因此他的功能就跟 cat 相反, cat 是由第一行到最後一行連續顯示在螢幕上,而 tac 則是由最後一行到第一行反向在螢幕上顯示出來!
十一、nl:
計算文件中行號,nl 能夠將輸出的文件內容自動的加上行號!其默認的結果與 cat -n 有點不太同樣, nl 能夠將行號作比較多的顯示設計,包括位數與是否自動補齊 0 等等的功能。nl 命令讀取 File 參數(缺省狀況下標準輸入),計算輸入中的行號,將計算過的行號寫入標準輸出。 在輸出中,nl 命令根據您在命令行中指定的標誌來計算左邊的行。 輸入文本必須寫在邏輯頁中。每一個邏輯頁有頭、主體和頁腳節(能夠有空節)。 除非使用 -p 標誌,nl 命令在每一個邏輯頁開始的地方從新設置行號。 能夠單獨爲頭、主體和頁腳節設置行計算標誌(例如,頭和頁腳行能夠被計算然而文本行不能)。
命令格式:nl [選項]... [文件]...
命令實例:
①用nl 列出log.log的內容:nl log.log
②用nl 列出log.log的內容,包括空行:nl -b a log.log
③用nl 列出log.log的內容,行號前面自動補0,統一輸出格式:nl -b a log.log;nl -b a -n rz -w 3 log.log
nl -b a -n rz 命令行號默認爲六位,要調整位數能夠加上參數 -w 3 調整爲3位。
十二、more:
功能相似 cat ,cat命令是整個文件的內容從上到下顯示在屏幕上。 more會以一頁一頁的顯示方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示,並且還有搜尋字串的功能 。more命令從前向後讀取文件,所以在啓動時就加載整個文件。
命令格式:more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ]
經常使用操做命令:
Enter 向下n行,須要定義。默認爲1行
Ctrl+F 向下滾動一屏
空格鍵 向下滾動一屏
Ctrl+B 返回上一屏
= 輸出當前行的行號
命令實例:
①從文件第三行讀取:more +3 log.log
②從文件中找出第一次出現「day3」字符串的行,並從該處前兩行顯示輸出: more +/day3 log2012.log
③設定每屏顯示行數:more -5 log2012.log
④結合ls 顯示目錄:ls -l | more -5
1三、less:
less 與 more 相似,但使用 less 能夠隨意瀏覽文件,而 more 僅能向前移動,卻不能向後移動,並且 less 在查看以前不會加載整個文件。
命令格式:less [參數] 文件
命令實例:
①ps 查看進程信息,並經過less分頁顯示:ps -ef |less
②查看命令歷史,並經過less分頁顯示: history | less
③瀏覽多個文件:Less log1.log log2.log
注:
ctrl + F - 向前移動一屏
ctrl + B - 向後移動一屏
ctrl + D - 向前移動半屏
ctrl + U - 向後移動半屏
1四、head:
head 用來顯示檔案的開頭至標準輸出中,默認head命令打印其相應文件的開頭10行
命令格式:head [參數]... [文件]...
命令實例:
①顯示前 n 行文件:head -n 5 log.log
②顯示文件前 n 個字節:head -c 20 log.log
③顯示文件除了最後n個字節之外的內容:head -c -32 log.log
④顯示文件除最後 n 行的所有內容:head -n -6 log.log
1五、tail:
用於顯示指定文件末尾內容,不指定文件時,做爲輸入信息進行處理。經常使用查看日誌文件,使用tail命令的-f選項能夠方便的查閱正在改變的日誌文件,tail -f filename會把filename裏最尾部的內容顯示在屏幕上,而且不斷刷新
命令格式:tail[必要參數][選擇參數][文件]
命令實例:
①顯示文件後幾行的信息:tail -n 5 log2014.log
②循環查看文件內容:tail -f test.log
③從第五行開始顯示文件:tail -n +5 log.log
1六、which:
在PATH變量指定的路徑中,搜索某個系統命令的位置,而且返回第一個搜索結果。也就是說,使用which命令,就能夠看到某個系統命令是否存在,以及執行的究竟是哪個位置的命令。
命令格式:which 可執行文件名稱
命令參數:
-n 指定文件名長度,指定的長度必須大於或等於全部文件中最長的文件名。
-p 與-n參數相同,但此處的包括了文件的路徑。
-w 指定輸出時欄位的寬度。
-V 顯示版本信息
命令實例:
①查找文件,顯示命令路徑:which lsmod
which 是根據使用者所配置的 PATH 變量內的目錄去搜尋可運行檔的!因此,不一樣的 PATH 配置內容所找到的命令不同
1七、whereis:
whereis命令是定位可執行文件、源代碼文件、幫助文件在文件系統中的位置,只能用於程序名的搜索,並且只搜索二進制文件(參數-b)、man說明文件(參數-m)和源代碼文件(參數-s)。若是省略參數,則返回全部信息。和find相比,whereis查找的速度很是快,這是由於linux系統會將 系統內的全部文件都記錄在一個數據庫文件中,當使用whereis 和 locate時,會從數據庫中查找數據,而不是像find命令那樣,通 過遍歷硬盤來查找,效率天然會很高。 可是該數據庫文件並非實時更新,默認狀況下時一星期更新一次,所以,咱們在用whereis和locate 查找文件時,有時會找到已經被刪除的數據,或者剛剛創建文件,卻沒法查找到,緣由就是由於數據庫文件沒有被更新。
命令格式:whereis [-bmsu] [BMS 目錄名 -f ] 文件名
命令參數:
-b 定位可執行文件。
-m 定位幫助文件。
-s 定位源代碼文件。
-u 搜索默認路徑下除可執行文件、源代碼文件、幫助文件之外的其它文件。
-B 指定搜索可執行文件的路徑。
-M 指定搜索幫助文件的路徑。
-S 指定搜索源代碼文件的路徑。
命令實例:
①查找全部和 ** 相關的文件:whereis svn
②只將二進制文件查找出來:whereis -b svn
1八、locate:
locate命令能夠在搜尋數據庫時快速找到檔案,數據庫由updatedb程序來更新,updatedb是由cron daemon週期性創建的,locate命令在搜尋數據庫時比由整個由硬盤資料來搜尋資料來得快,但較差勁的是locate所找到的檔案如果最近才創建或 剛改名的,可能會找不到,在內定值中,updatedb天天會跑一次,能夠由修改crontab來更新設定值。(etc/crontab)。locate指定用在搜尋符合條件的檔案,它會去儲存檔案與目錄名稱的數據庫內,尋找合乎範本樣式條件的檔案或目錄錄,可使用特殊字元(如」*」 或」?」等)來指定範本樣式。locate指令和find找尋檔案的功能相似,但locate是透過update程序將硬盤中的全部檔案和目錄資料先創建一個索引數據庫,在 執行loacte時直接找該索引,查詢速度會較快,索引數據庫通常是由操做系統管理,但也能夠直接下達update強迫系統當即修改索引數據庫。
命令格式:Locate [選擇參數] [樣式]
命令實例:
①查找和pwd相關的全部文件:locate pwd
②搜索etc 目錄下全部以sh開頭的文件:locate /etc/sh
1九、find:
在目錄結構中搜索文件,並執行指定的操做
命令格式:find pathname -options [-print -exec -ok ...]
特殊命令選項:
-amin n 查找系統中最後N分鐘訪問的文件
-atime n 查找系統中最後n*24小時訪問的文件
-cmin n 查找系統中最後N分鐘被改變文件狀態的文件
-ctime n 查找系統中最後n*24小時被改變文件狀態的文件
-mmin n 查找系統中最後N分鐘被改變文件數據的文件
-mtime n 查找系統中最後n*24小時被改變文件數據的文件
命令實例:
①查找48小時內修改過的文件:find -atime -2
②在當前目錄查找 以.log結尾的文件:find . -name "*.log"
③查找/opt/soft/test/目錄下 權限爲 777的文件:find /opt/soft/test/ -perm 777
④查找當目錄,以.log結尾的普通文件:find . -type f -name "*.log"
⑤查找當前全部目錄並排序:find . -type d | sort
⑥查找當前目錄大於1K的文件:find . -size +1000c -print
注:find命令之exec:
find命令之xargs:
20、chmod:
用於改變linux系統文件或目錄的訪問權限。用它控制文件或目錄的訪問權限。該命令有兩種用法。一種是包含字母和操做符表達式的文字設定法;另外一種是包含數字的數字設定法。
權限範圍:
u :目錄或者文件的當前的用戶
g :目錄或者文件的當前的羣組
o :除了目錄或者文件的當前用戶或羣組以外的用戶或者羣組
a :全部的用戶及羣組
權限代號:
r :讀權限,用數字4表示
w :寫權限,用數字2表示
x :執行權限,用數字1表示
- :刪除權限,用數字0表示
s :特殊權限
命令實例:
①增長文件全部用戶組可執行權限(設定文件log.log的屬性爲:文件屬主(u) 增長執行權限;與文件屬主同組用戶(g) 增長執行權限;其餘用戶(o) 增長執行權限):chmod a+x log.log
②同時修改不一樣用戶權限(設定文件text的屬性爲:文件屬主(u) 增長寫權限;與文件屬主同組用戶(g) 增長寫權限;其餘用戶(o) 刪除執行權限):chmod ug+w,o-x log.log
③刪除文件權限(刪除全部用戶的可執行權限):chmod a-x log.log
④使用「=」設置權限(撤銷原來全部的權限,而後使擁有者具備可讀權限):chmod u=x log.log
⑤對一個目錄及其子目錄添加權限(遞歸地給test目錄下全部文件和子目錄的屬主分配權限 ):chmod -R u+x test
2一、df:
用來檢查linux服務器的文件系統的磁盤空間佔用狀況。能夠利用該命令來獲取硬盤被佔用了多少空間,目前還剩下多少空間等信息。
顯示指定磁盤文件的可用空間。若是沒有文件名被指定,則全部當前被掛載的文件系統的可用空間將被顯示。默認狀況下,磁盤空間將以 1KB 爲單位進行顯示,除非環境變量 POSIXLY_CORRECT 被指定,那樣將以512字節爲單位進行顯示
2二、du:
du命令也是查看使用空間的,可是與df命令不一樣的是Linux du命令是查看當前指定文件或目錄(會遞歸顯示子目錄)佔用磁盤空間大小
命令實例:
①顯示指定文件所佔空間:du log.log
②以 M 單位展現文件大小:du -h test
③按照空間大小排序:du|sort -nr|more
2三、chgrp:
在lunix系統裏,文件或目錄的權限的掌控以擁有者及所訴羣組來管理。可使用chgrp指令取變動文件與目錄所屬羣組,這種方式採用羣組名稱或羣組識別碼均可以。Chgrp命令就是change group的縮寫!要被改變的組名必需要在/etc/group文件內存在才行。
命令格式:chgrp [選項] [組] [文件]
命令實例:
①改變文件羣組屬性:chgrp -v bin log.log
②根據指定文件改變文件的羣組屬性(改變文件log1.log 的羣組屬性,使得文件log1.log的羣組屬性和參考文件log2.log的羣組屬性相同):chgrp --reference=log2.log log1.log
③經過羣組識別碼改變文件羣組屬性(經過羣組識別碼改變文件羣組屬性,100爲users羣組的識別碼,具體羣組和羣組識別碼能夠去/etc/group文件中查看):chgrp -R 100 test6
2四、chown:
將指定文件的擁有者改成指定的用戶或組,用戶能夠是用戶名或者用戶ID;組能夠是組名或者組ID;文件是以空格分開的要改變權限的文件列表,支持通配符。系統管理員常用chown命令,在將文件拷貝到另外一個用戶的名錄下以後,讓用戶擁有使用該文件的權限。
命令格式:chown [選項]... [全部者][:[組]] 文件...
命令實例:
①更改文件擁有者和羣組:chown mail:mail log.log;chown mail: log2.log
②更改文件羣組:chown :mail log2.log
③改變指定目錄以及其子目錄下的全部文件的擁有者和羣組:chown -R -v root:mail test6
2五、/etc/group:
/etc/group文件與/etc/passwd和/etc/shadow文件都是有關於系統管理員對用戶和用戶組管理時相關的文件。/etc/group文件是有關於系統管理員對用戶和用戶組管理的文件,linux用戶組的全部信息都存放在/etc/group文件中。具備某種共同特徵的用戶集合起來就是用戶組(Group)。用戶組(Group)配置文件主要有 /etc/group和/etc/gshadow,其中 /etc/gshadow是/etc/group的加密信息文件。
將用戶分組是Linux系統中對用戶進行管理及控制訪問權限的一種手段。每一個用戶都屬於某個用戶組;一個組中能夠有多個用戶,一個用戶也能夠屬於不 同的組。當一個用戶同時是多個組中的成員時,在/etc/passwd文件中記錄的是用戶所屬的主組,也就是登陸時所屬的默認組,而其餘組稱爲附加組。用戶組的全部信息都存放在/etc/group文件中。此文件的格式是由冒號(:)隔開若干個字段:組名:口令:組標識號:組內用戶列表
組名是用戶組的名稱,由字母或數字構成。與/etc/passwd中的登陸名同樣,組名不該重複。
口令字段存放的是用戶組加密後的口令字。通常Linux系統的用戶組都沒有口令,即這個字段通常爲空,或者是*
組標識號與用戶標識號相似,也是一個整數,被系統內部用來標識組。別稱GID.
組內用戶列表是屬於這個組的全部用戶的列表,不一樣用戶之間用逗號(,)分隔。這個用戶組多是用戶的主組,也多是附加組。
2六、in:
爲某一個文件在另一個位置創建一個同步的連接.當咱們須要在不一樣的目錄,用到相同的文件時,咱們不須要在每個須要的目錄下都放一個必須相同的文件,咱們只要在某個固定的目錄,放上該文件,而後在 其它的目錄下用ln命令連接(link)它就能夠,沒必要重複的佔用磁盤空間。
連接又可分爲兩種 : 硬連接(hard link)與軟連接(symbolic link),硬連接的意思是一個檔案能夠有多個名稱,而軟連接的方式則是產生一個特殊的檔案,該檔案的內容是指向另外一個檔案的位置。硬連接是存在同一個文件系統中,而軟連接卻能夠跨越不一樣的文件系統。
ln指令用在連接文件或目錄,如同時指定兩個以上的文件或目錄,且最後的目的地是一個已經存在的目錄,則會把前面指定的全部文件或目錄複製到該目錄中。若同時指定多個文件或目錄,且最後的目的地並不是是一個已存在的目錄,則會出現錯誤信息。
命令實例:
①給文件建立軟連接:ln -s log2.log link2
②給文件建立硬連接:ln log2.log ln2
③給目錄建立軟連接:ln -sv /opt/soft/test/test3 /opt/soft/test/test5