Linux文件系統(tǒng)操作命令大全

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于做網(wǎng)站、網(wǎng)站設計、萬載網(wǎng)絡推廣、小程序制作、萬載網(wǎng)絡營銷、萬載企業(yè)策劃、萬載品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學生創(chuàng)業(yè)者提供萬載建站搭建服務,24小時服務熱線:028-86922220,官方網(wǎng)址:chinadenli.net
Linux命令有很多,那么Linux文件系統(tǒng)操作命令又有哪些呢?下面我為你介紹!
文件系統(tǒng)操作命令:
1. cat:可以顯示文件的內(nèi)容(經(jīng)常和more搭配使用),或?qū)⒍鄠€文件合并成一個文件。
2. chgrp:用來改變文件或目錄所屬的用戶組,命令的參數(shù)以空格分開的要改變屬組的文件列表,文件名支持通配符,如果用戶不是該文件的所有者,則不能改變該文件的所屬組。
3. chmod:用于改變文件或目錄的訪問權(quán)限,該命令有兩種用法:一種是使用圖形化的方法,另一種是數(shù)字設置法。
4. chown:用來將指定用戶或組為特定的所有者。用戶可以設置為用戶名或用戶ID,組可以是組名或組ID。特定的文件是以空格分開的可以改變權(quán)限的文件列表,文件名支持通配符。
5. clear:用來清除終端屏幕。
6. cmp:用來比較兩個文件的大小。
7. cp:(copy)可以將文件或目錄復制到其他目錄中,就如同Dos下的copy命令一樣,功能非常強大。在使用cp命令時,只需要指定源文件名或目標目錄即可。
8. cut:用來移除文件的部分內(nèi)容。
9. diff:用來找出兩個文件的不同之處。
10. du: 用來顯示磁盤的剩余空間的大小。
11. file:用來顯示文件的類型。
12. find:用來在目錄中搜索文件,并執(zhí)行指定的操作。
13. head:只查看文件的頭幾行內(nèi)容,而不必瀏覽整個文件。
14. ln:可以在文件之間創(chuàng)建鏈接,實際上是給某個文件指定一個訪問它的別名。
15. less:用法與more類似,可以查看超過一屏的文件內(nèi)容,不同的是less除了可以按空格鍵向下顯示文件外,還可以利用方向鍵來滾動顯示文件,要結(jié)束瀏覽,只要在less的提示符“:”后按Q即可。
16. locate:可用于查找文件,且比find命令的搜索速度快。
17. ls(list):用來顯示當前目錄中的文件和子目錄列表。
18. mkdir(make directory):建立子目錄。
19. more:用于顯示內(nèi)容超過一屏的文件,為了避免文件內(nèi)容顯示瞬間就消失,可以使用more命令讓文件顯示滿一屏時暫停,在按下任意鍵的時候繼續(xù)顯示下一屏的內(nèi)容。
20. rmkdir(remove directory):用來刪除“空”的子目錄或無用的目錄文件。
21. mv(move):可以將文件以及目錄移到其他位置,或更改文件以及目錄的名稱。
22. pico:可指定文本的編輯方式。
23. pwd(print working directory):可顯示用戶當前所在的目錄。
24. rm:用來刪除系統(tǒng)中過時或無用的文件,可以刪除目錄中的文件或目錄本身,對于鏈接文件,原有文件保持不變。
25. sort:將文本文件自動分類。
26. stat:用于顯示文件或文件系統(tǒng)的狀態(tài)。
27. Strings:顯示文件中要打印的字符串。
28. tail:輸出文件的結(jié)尾。
29. touch:改變文件的時間戳。
30. umask:用于啟動bash shell。
31. uniq:移除已分類文件中的重復文本行。
32. vi:啟動vi文本編輯器。
33. wc:顯示文件中字節(jié)、詞組合文本行的數(shù)目。
34. whereis:查找特定目錄下的原始程序,二進制程序或用戶手冊等文件的位置。
35. man:如果用戶對某個命令想了解更詳細的話,可使用此命令。
36. dd:復制一個文件。
37. df:查看一個文件系統(tǒng)的磁盤空間使用情況。
38. edquoat:設置用戶與用戶組的磁盤空間限制,即Windows系統(tǒng)中的配額。
39. fdformat:格式化軟盤。
40. fdisk:執(zhí)行Linux下的`磁盤分區(qū)。
41. mkfs:建立一個Linux文件系統(tǒng)。
42. mkswap:創(chuàng)建一個Linux交換分區(qū)。
43. mount:掛載一個文件系統(tǒng)。
44. quota:限制和顯示用戶可用的磁盤空間。
45. swapon,swapoff:啟用或取消設備和文件的交換頁。
46. quotaon,quotaoff:啟用或取消quota限制。
47. umount:取消文件系統(tǒng)的裝備。
系統(tǒng)管理命令
1. finger:查詢用戶信息,也能查看默認的用戶環(huán)境。
2. ftp:標準的文件傳輸協(xié)議的用戶接口,是在網(wǎng)絡上傳輸文件最簡單有效的方法。
3. host:用于DNS查詢。
4. hostname:用于顯示或設置系統(tǒng)的主機名。
5. ifconfig:用于配置網(wǎng)卡接口。(可以使用down或up參數(shù)來禁用或啟用某個網(wǎng)卡接口)
6. mail:發(fā)送和接收郵件。
7. netstat:顯示網(wǎng)絡連接、路由表和網(wǎng)絡接口信息,用戶可以知道目前那些網(wǎng)絡連接正在運行。
8. ping:此命令用于測試本計算機和網(wǎng)絡上其它的計算機是否相連。
9. rlogin:遠程登陸命令,該命令與telnet命令很相似,允許用戶啟動遠程系統(tǒng)的交互會話。
10. rcp:rcp(remote file copy)命令是遠程文件復制命令,該命令用于在計算機之間復制文件,有兩中格式,一種格式用于文件動文件的復制,另一種用于把文件或目錄復制到其他文件目錄中。
11. route:此命令用于顯示或設置IP路由表。
12. tcpdump:此命令用于測試網(wǎng)絡的通信量。
13. talk:此命令可用于事項網(wǎng)絡用戶的適時交談,但是必須將雙方系統(tǒng)的信息加入各自的/etc/hosts文件中,以相互識別。
14. telnet:此命令用于通過網(wǎng)絡登陸遠程計算機,如同操作本地計算機一樣。
15. wall:wall(write all)命令可以用于發(fā)送消息給登陸本機的用戶。在發(fā)送消息時,可直接輸入要發(fā)送的消息,也可以把文件當成消息發(fā)送。
16. wget:此命令用于Linux環(huán)境下從Internet上下載文件,支持http和ftp協(xié)議,支持代理服務器和斷點連續(xù)傳功能,能夠遞歸遠程主機上的目錄,查找合乎要求的的文件并下載到本地硬盤上。Wget命令可以在后臺運行,截獲并忽略hantfup信號,因此用戶退出登陸后,仍可繼續(xù)運行。
17. ,bg:,bg命令是后臺執(zhí)行命令,有時候用戶執(zhí)行的程序可能要話很多時間,如果放在前臺執(zhí)行,可能無法繼續(xù)其他操作,最好將他放在后臺執(zhí)行。
18. fg:fg命令是前臺執(zhí)行命令,如果用戶有程序在后臺運行,可以通過fg命令將程序從后臺移到前臺執(zhí)行。
19. jobs:此命令用于顯示正在后臺執(zhí)行的任務清單。Bg,fg,jobs命令都屬于bash命令,
20. kill:此命令用于終止一個程序,例如:#[root@rathat9 root]kill 3793
21. ps:此命令用于顯示程序的狀態(tài)。
22. top:此命令用于顯示當前CPU進程。
23. at batch atp atrm:這些命令用于排序,檢查或刪除后臺運行的任務。
Linux與用戶有關(guān)的命令:
1. passwd命令:更改用戶口令。
格式:passwd [用戶名]
2. su命令:可以讓一個普通用戶擁有超級用戶或其他用戶的權(quán)限,也可以讓超級擁護以普通用戶的身份做一些事情。
格式:su[選項][?][使用者賬號]
說明:若沒有指定的使用者賬號,則系統(tǒng)預設值為超級用戶root。該命令中個選項的含義分別為:
-c:執(zhí)行一個命令后就結(jié)束。
-:加了這個減號的目的是使環(huán)境變量和欲轉(zhuǎn)換的用戶相同。
-m:保留環(huán)境變量不變。
Linux系統(tǒng)管理命令:
1. wall命令:對全部以登陸的用戶發(fā)送信息。
2. write命令:向系統(tǒng)中某一用戶發(fā)送信息。
格式:write 用戶賬號 [終端名稱]
3. mesg命令:設定是否允許其他用戶用write命令給自己發(fā)送信息。
如果允許輸入命令:mesg y
如果不允許輸入命令:mesg n
4. sync命令:在關(guān)閉Linux系統(tǒng)是使用的。Sync是強制把內(nèi)存中的數(shù)據(jù)寫回硬盤,以免數(shù)據(jù)丟失。
5. shutdown命令:可以安全的關(guān)閉或重啟Linux它在系統(tǒng)關(guān)閉之前給系統(tǒng)上的所有登陸用戶提示一條警告信息。
格式:shutdown [選項][時間][警告信息]
命令中選項的含義:
-k:并不真正關(guān)機,而只是發(fā)出警告信息給所有用戶。
-r:關(guān)機后立即重新啟動。
-h:關(guān)機后不重新啟動。
-f快速關(guān)機,重新啟動時跳過fsck。
-n:快速關(guān)機,不經(jīng)過init程序。
-c:取消一個已經(jīng)運行的shutdown。
6. free命令:查看當前系統(tǒng)內(nèi)存的使用情況,它顯示系統(tǒng)中剩余及已用的物理內(nèi)存和交換內(nèi)存,以及共享內(nèi)存和被核心使用的緩沖區(qū)。
格式:free [-b | -k |-m]
命令中各個選項的含義:
-b:以字節(jié)為單位顯示。
-k:以K字節(jié)為單位顯示。
-m:以兆字節(jié)為單位顯示。
7. uptime命令:顯示系統(tǒng)已經(jīng)運行了多長時間,它依次顯示下列信息:現(xiàn)在時間、系統(tǒng)已經(jīng)運行了多長時間、目前有多少登陸用戶、系統(tǒng)在過去的1分鐘、5分鐘和15分鐘內(nèi)的平均負載。
8. df命令:檢查文件系統(tǒng)的磁盤空間占用情況。
格式:df [選項]
說明:df命令可顯示所有文件系統(tǒng)對I節(jié)點和磁盤塊的使用情況。
命令中各個選項的含義:
-a:顯示所有文件系統(tǒng)的磁盤使用情況,包括0塊(block)的文件系統(tǒng)。
-k:以k字節(jié)為單位顯示。
-i:顯示i節(jié)點信息,而不是磁盤塊。
-t:顯示各指定類型的文件系統(tǒng)的磁盤空間使用情況。
-x:列出不是某一指定類型文件系統(tǒng)的磁盤空間使用情況。
-T:顯示文件系統(tǒng)類型。
9. du命令:顯示磁盤空間的使用情況。統(tǒng)計目錄(或文件)所占磁盤的大小。
格式:du [選項] [Names…]
說明:該命令逐級進入指定目錄的每一個子目錄并顯示該目錄占用文件系統(tǒng)數(shù)據(jù)塊(1024字節(jié))的情況。若沒有給出Names,則對當前目錄進行統(tǒng)計。
命令中各個選項的含義:
-s:對每個Names參數(shù)只給出占用的數(shù)據(jù)塊總數(shù)。
-a:遞歸的顯示指定目錄中各文件及子孫目錄中個文件占用的數(shù)據(jù)塊數(shù)。若既不指定-s,也不指定-a,則顯示Names中的每一個目錄及其中的各子目錄所占的磁盤塊數(shù)。
-b:以字節(jié)為單位列出磁盤空間使用情況(系統(tǒng)缺省以k字節(jié)為單位)。
-k:以1024字節(jié)為單位列出磁盤空間的使用情況。
-c:最后再加上一個總計(系統(tǒng)缺省設置)。
-l:計算所有的文件大小,對硬鏈接文件,則計算多次。
-x:跳過在不同文件系統(tǒng)上的目錄不予統(tǒng)計。
10. dd命令:把指定的輸入文件拷貝到指定的輸出文件中,并且在拷貝過程中可以進行格式轉(zhuǎn)換。
格式:dd [選項]
命令中各個選項的含義:
if = 輸入文件(或設備名稱)。
of = 輸出文件(或設備名稱)。
ibs = bytes 一次讀取bytes字節(jié),及讀入緩沖區(qū)的字節(jié)數(shù)。
skip = blocks 跳過讀入緩沖區(qū)開頭的ibs*blocks塊。
obs = bytes 一次寫入bytes字節(jié),及寫入緩沖區(qū)的字節(jié)數(shù)。
bs = bytes 同時設置讀/寫緩沖區(qū)的字節(jié)數(shù)(等于設置ibs和obs).
cbs = byte 一次轉(zhuǎn)換bytes字節(jié)。
count = blocks 只拷貝輸入的block塊。
conv = ASCⅡ 把EBCDIC碼轉(zhuǎn)換為ASCⅡ。
conv = ebcdic 把ASCⅡ碼轉(zhuǎn)換為EBCDIC碼。
conv = ibm ibm把ASCⅡ碼轉(zhuǎn)換為alternate EBCDIC碼。
conv = block 把變動位轉(zhuǎn)換成固定字符。
conv = ublock 把固定位轉(zhuǎn)換成變動位。
conv = ucase 把字母由小寫轉(zhuǎn)換為大寫。
conv = lcase 把字母由大寫轉(zhuǎn)換為小寫。
conv = notrunc 不截短輸出文件。
conv = swab 交換每一對輸入字節(jié)。
conv = noerror 出錯是不停止處理。
conv = sync 把每個輸入記錄的大小都調(diào)到ibs的大小(用NUL填充)。
11. fdformat命令:低級格式化軟盤。
格式:format [-n] device
說明:-n 軟盤格式化后不作檢驗。
12. echo命令:在顯示器上顯示一段文字,一般起到一個提示作用。
格式:echo [-n] 字符串
13. cal命令:顯示某年某月的日歷。
格式:cal [選項] [月 [年]]
命令中各個選項的含義:
-j:顯示出給定月中的每一天是一年中的第幾天(從1月1日算起)。
-y:顯示出整年的日歷。
14. date命令:顯示和設置系統(tǒng)日期和時間。
格式:date [選項] 顯示時間格式 (以 + 開頭,后面接格式)
date [選項] 設置時間格式
命令中各個選項的含義:
15. clear命令:清除屏幕上的信息。
Vi的基本命令:
1. 移動光標:
Ctrl + b:上滾一屏
Ctrl + f:下滾一屏
Ctrl + d:下滾半屏
Ctrl + u:上滾半屏
G: 移到文件最后
W:移到下個字的開頭
B:跳至上個字的開頭
2. 刪除
x:刪除當前光標所在后面一個字符
#x:刪除當前光標所在后面#個字符。例如,5x表示刪除5個字符。
dd:刪除當前光標所在行
#dd:刪除當前光標所在后面#行。例如,5dd表示刪除字光標算起的5行。
:l,#d:例如,:1,12d表示刪除自行1至行12的文字
X:刪當前光標的左字符
D:刪至行尾
3. 更改
cw:更改光標處的字到此單字的字尾處
c#w:例如,c3w表示更改3個字
cc:修改行
c:替換到行尾
4. 取代
r:取代光標處的字符
R:取代字符直到按ESC為止
5. 復制
yw:拷貝光標處的字到字尾只緩沖區(qū)
P:把緩沖區(qū)的資料貼上來
yy:拷貝光標所在之行至緩沖區(qū)
#yy:例如:5yy,拷貝光標所在之處以下5行至緩沖區(qū)
Linux文件的復制,刪除和移動命令
1.cp命令:該命令的功能是將給出的文件或目錄拷貝到另一文件或目錄中,同MSDOS下的COPY命令一樣,功能十分強大。
語法:cp[選項]源文件或目錄,目標文件或目錄
說明該命令把指定的源文件復制到目標文件或把多個源文件復制到目標目錄中。
該命令的各項選項含義如下:
-a:該選項通常在拷貝目錄是使用。他保留鏈接,文件屬性,并遞歸地拷貝目錄,其作用等于dpr選項的組合。
-d:拷貝是保留鏈接
-f:刪除已經(jīng)存在的目標文件而不提示。
-I:和 f選項相反,在覆蓋目標文件之前將給出提示要求擁護確認。回答y時目標文件將被覆蓋,是交互式拷貝。
-p:此時cp除復制源文件的內(nèi)容外,還將把其修改時間和反問權(quán)限也復制到新文件中。
-r;若給出的源文件是一目錄文件,此時cp將遞歸復制該目錄下所有的子目錄和文件。此時目標文件必須為一個目錄名。
-L:不作拷貝,只是鏈接文件。
需要說明的是,為防止用戶在不經(jīng)意的情況下用cp命令破壞另一個文件,如用戶指定的目標文件名已存在,用cp 命令拷貝文件后,這個文件酒會被新源文件覆蓋,因此,建議用戶在使用cp命令拷貝文件時,最好使用I選項。
2.mv命令:用戶可以使用mv命令來為文件或目錄改名或?qū)⑽募梢粋€目錄移入另一個目錄中。該命令如同MS-DOS下的ren 和 move 的組合。
語法:mv[選項]源文件或目錄 目標文件或目錄。
說明:視mv命令中第二個參數(shù)類型的不同(是目標文件還是目標目錄),mv命令將文件重命名或?qū)⑵湟浦烈粋€新的目錄中。當?shù)诙€參數(shù)類型是文件時,mv命令完成文件重命名,此時,源文件只能有一個(也可以是源目錄名),他將所給的源文件或目錄重命名為給頂?shù)哪繕宋募.數(shù)诙€參數(shù)是已存在的目錄名稱時,源文件或目錄參加參數(shù)可以有很多個,mv命令將個參數(shù)指定的源文件均移至目標目錄中。在跨文件系統(tǒng)移動文件時,mv先拷貝,再將原有文件刪除,而鏈至該文件的鏈接也將丟失。
命令中各選項的含義為:
-I:交互方式操作。如果mv操作將導致對已存在的目標文件的覆蓋,此時系統(tǒng)詢問是否重寫,要求用戶回答y或n,這樣可以避免誤覆蓋文件。
-f:禁止交互操作。在mv操作要覆蓋某已有的目標文件是不給任何指示,指定此選項后,I選項將不再起作用。
如果所給目標文件(不是目錄)已存在,此時該文件的內(nèi)容將后備新文件覆蓋,為防止用戶用mv命令破壞另一個文件,使用mv命令移動文件時,最好使用I選項。
3.rm命令:用戶可以用rm命令刪除不需要的文件。該命令的功能問刪除一個目錄中的一個或多個文件或目錄,他也可以將某個目錄及其下的所有文件及子目錄均刪除。對于鏈接文件,只是斷開了鏈接,源文件保持不變。
Rm命令的一般形式為:
Rm [選項]文件……
如果沒有使用-r選項,則rm不會刪除目錄。
該命令的各選項含義如下:
-f:忽略不存在的文件,從不給出提示。
-r:指示rm將參數(shù)中列出的全部目錄和子目錄均遞歸地刪除。
-I:進行交互式刪除。
使用rm命令要小心。因為一旦文件被刪除,他是不能被恢復的。為了防止這種情況的發(fā)生可以使用I選項倆逐個確認要刪除的文件。如果用戶輸入y,文件將被刪除。如果輸入任何其他東西,文件則不會刪除。
Linux目錄的創(chuàng)建與刪除命令:
1. mkdir命令
功能:創(chuàng)建一個目錄(類似MS-DOS下的md命令)。
語法:mkdir[選項]dir-name
說明:該命令創(chuàng)建由dir-name命名的目錄。要求創(chuàng)建目錄的用戶在當前目錄中(dir-name的父目錄中)具有寫權(quán)限,并且dirname不能是當前目錄中已有的目錄或文件名稱。
命令中個選項的含義為:
-m:對新建目錄設置存取權(quán)限。也可以用chmod命令設置。
-p:可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項后,系統(tǒng)將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄。
2. rmdir命令
功能:刪除空目錄。
語法:rmdir[選項]dir-name。/
說明:dir-name表示目錄名。該命令從一個目錄中刪除一個或多個子目錄項。需要特別注意的是,一個目錄被刪除之前必須是空的。Rm-r dir 命令可代替rndir,但是有危險性。刪除某目錄時也必須具有對父目錄的、寫權(quán)限。
命令中個選項的含義為:
-p遞歸刪除目錄dirname,當子目錄刪除后其父目錄為空時,也一同被刪除。如果整個路徑被刪除或者由于某種原因保留部分路徑,則系統(tǒng)在標準輸出上顯示相應的信息。
3. cd命令
功能:改變工作目錄。
語法:cd[directory]
說明:該命令將當前目錄改變至directory所指定的目錄。若沒有指定directory,則回到用戶的主目錄。為了改變到指定目錄,用戶必須擁有對指定目錄的執(zhí)行和讀權(quán)限。
該命令可以使用通配符(如”*,_”這樣的通配符號)。
4. pwd命令
在Linux層次結(jié)構(gòu)中,用戶可以在被授權(quán)的任意目錄下利用mkdir命令創(chuàng)建新目錄,也可以利用cd命令從一個目錄轉(zhuǎn)換到另一個目錄。然而,沒有提示符來告知用戶目前處于哪一個目錄中。想要知道當前所處的目錄,可以用pwd命令,該命令顯示整個路徑名。
語法:pwd
說明:此命令顯示出當前工作目錄的絕對路徑。
5. ls命令
ls是list的簡寫,其功能為列出目錄的內(nèi)容。這是擁護最常用的一個命令之一,因為用戶需要不時地查看某個目錄的內(nèi)容,該命令類似于DOS下的dir命令
語法:ls[選項][目錄或是文件]
對于每個目錄,該命令將列出其中的所有子目錄與文件。對于每個文件,ls將輸出其文件名以及所要求的其他信息。默認情況下,輸出條目按字母順序排序。但未給出目錄名或是文件名時,就顯示當前目錄的信息。
命令中各個選項的含義:
-a:顯示指定目錄下所有子目錄與文件,包括隱藏文件。
-A:顯示指定目錄下所有子目錄與文件,包括隱藏文件。但不列出“.”和“..”.
-b:對文件名中的不可顯示字符用把禁止
linux中所有設備都是以文件的形式顯示
linux下文件的后綴名無實際意義
命令
pwd 顯示路徑
man +命令 列出操作說明
ls -l/-help列出 文件目錄
cd / 目錄做實驗
安裝步驟 configure make make install?
rm -r dl 遞歸刪除目錄
rm -rf 刪除所有目錄
rm -f 加文件名 刪除文件
rmdir +文件地址 刪除文件夾所有和rm -rf功能差不多
touch 加名字 創(chuàng)建新文件
cp 復制 mv 移動 rm 刪除
vi 文本編輯器 輸入a將從命令格式變成輸入格式
head tail 查看前面和后面
find 加位置 加文件名 查找
echo $PATH 查詢路徑
useradd 加名字 添加用戶
userdel 加名字 刪除用戶
su 加用戶名 切換用戶
chmod +x/-x 加文件名 修改文件權(quán)限
chmod 755 加文件名 改變權(quán)限在安裝程序時
grep 加文本字符 加在那個文件 查找字符存在那行
fdisk -l 查看磁盤信息
命令1|命令2|命令三... 管道
ps -ef查看進程
ifconfig linux查看ip
重定向
linux和其它機器之間共享文件vsftp Windows和linux傳輸文件15-17
putty遠程登錄軟件ssh
gzip 壓縮和解壓縮 -d解壓 21
service iptables off防火墻關(guān)閉
tar -xvf 第二層解壓縮
.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是壓縮!)
———————————————
.gz
解壓1:gunzip FileName.gz
解壓2:gzip -d FileName.gz
壓縮:gzip FileName
.tar.gz 和 .tgz
解壓:tar zxvf FileName.tar.gz ./DirName
壓縮:tar zcvf FileName.tar.gz DirName
.tar.bz2
解壓:tar xjf FileName.tar.bz2 ./DirName
壓縮:tar cjf FileName.tar.bz2 DirName
rpm -ivh 加.rpm文件 安裝
安裝sudo apt-get install 軟件名
;
Linux常用的命令可以分為以下幾類:安裝和登錄命令、文件處理命令、系統(tǒng)管理相關(guān)命令、網(wǎng)絡操作命令、系統(tǒng)安全相關(guān)命令、其它命令。
安裝和登錄命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last。
文件處理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln。
系統(tǒng)管理相關(guān)命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab。
網(wǎng)絡操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup。
系統(tǒng)安全相關(guān)命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who。
其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。
Linux簡介
Linux,全稱GNU/Linux,是一套免費使用和自由傳播的類Unix操作系統(tǒng),是一個基于POSIX的多用戶、多任務、支持多線程和多CPU的操作系統(tǒng)。伴隨著互聯(lián)網(wǎng)的發(fā)展,Linux得到了來自全世界軟件愛好者、組織、公司的支持。
它除了在服務器方面保持著強勁的發(fā)展勢頭以外,在個人電腦、嵌入式系統(tǒng)上都有著長足的進步。使用者不僅可以直觀地獲取該操作系統(tǒng)的實現(xiàn)機制,而且可以根據(jù)自身的需要來修改完善Linux,使其最大化地適應用戶的需要。
Linux不僅系統(tǒng)性能穩(wěn)定,而且是開源軟件。其核心防火墻組件性能高效、配置簡單,保證了系統(tǒng)的安全。在很多企業(yè)網(wǎng)絡中,為了追求速度和安全,Linux不僅僅是被網(wǎng)絡運維人員當作服務器使用,甚至當作網(wǎng)絡防火墻,這是Linux的一大亮點。
linux命令格式:
說明:command: 命令名,相應功能的英文單詞或單詞的縮寫 [-options]:選項,可用來對命令進行控制,也可以省略,[]代表可選 parameter1 …:傳給命令的參數(shù):可以是零個一個或多個
一般是linux命令自帶的幫助信息
如:
man是linux提供的一個手冊,包含了絕大部分的命令、函數(shù)使用說明
該手冊分成很多章節(jié)(section),使用man時可以指定不同的章節(jié)來瀏覽。
例:man ls ; man 2 printf
man中各個section意義如下:
man是按照手冊的章節(jié)號的順序進行搜索的。
man設置了如下的功能鍵:
在敲出命令的前幾個字母的同時,按下tab鍵,系統(tǒng)會自動幫我們補全命令
當系統(tǒng)執(zhí)行過一些命令后,可按上下鍵翻看以前的命令,history將執(zhí)行過的命令列舉出來
ls是英文單詞list的簡寫,其功能為列出目錄的內(nèi)容,是用戶最常用的命令之一,它類似于DOS下的dir命令。
Linux文件或者目錄名稱最長可以有265個字符,“.”代表當前目錄,“..”代表上一級目錄,以“.”開頭的文件為隱藏文件,需要用 -a 參數(shù)才能顯示。
ls常用參數(shù):
Linux允許將命令執(zhí)行結(jié)果重定向到一個文件,本應顯示在終端上的內(nèi)容保存到指定文件中。
如:ls test.txt ( test.txt 如果不存在,則創(chuàng)建,存在則覆蓋其內(nèi)容 )
注意: 輸出重定向會覆蓋原來的內(nèi)容,輸出重定向則會追加到文件的尾部。
查看內(nèi)容時,在信息過長無法在一屏上顯示時,會出現(xiàn)快速滾屏,使得用戶無法看清文件的內(nèi)容,此時可以使用more命令,每次只顯示一頁,按下空格鍵可以顯示下一頁,按下q鍵退出顯示,按下h鍵可以獲取幫助。
管道:一個命令的輸出可以通過管道做為另一個命令的輸入。
管道我們可以理解現(xiàn)實生活中的管子,管子的一頭塞東西進去,另一頭取出來,這里“ | ”的左右分為兩端,左端塞東西(寫),右端取東西(讀)。
clear作用為清除終端上的顯示(類似于DOS的cls清屏功能),也可使用快捷鍵:Ctrl + l ( “l(fā)” 為字母 )。
在使用Unix/Linux的時候,經(jīng)常需要更換工作目錄。cd命令可以幫助用戶切換工作目錄。Linux所有的目錄和文件名大小寫敏感
cd后面可跟絕對路徑,也可以跟相對路徑。如果省略目錄,則默認切換到當前用戶的主目錄。
使用pwd命令可以顯示當前的工作目錄,該命令很簡單,直接輸入pwd即可,后面不帶參數(shù)。
通過mkdir命令可以創(chuàng)建一個新的目錄。參數(shù)-p可遞歸創(chuàng)建目錄。
需要注意的是新建目錄的名稱不能與當前目錄中已有的目錄或文件同名,并且目錄創(chuàng)建者必須對當前目錄具有寫權(quán)限。
可使用rmdir命令刪除一個目錄。必須離開目錄,并且目錄必須為空目錄,不然提示刪除失敗。
可通過rm刪除文件或目錄。使用rm命令要小心,因為文件刪除后不能恢復。為了防止文件誤刪,可以在rm后使用-i參數(shù)以逐個確認要刪除的文件。
常用參數(shù)及含義如下表所示:
Linux鏈接文件類似于Windows下的快捷方式。
鏈接文件分為軟鏈接和硬鏈接。
軟鏈接:軟鏈接不占用磁盤空間,源文件刪除則軟鏈接失效。
硬鏈接:硬鏈接只能鏈接普通文件,不能鏈接目錄。
使用格式:
如果沒有-s選項代表建立一個硬鏈接文件,兩個文件占用相同大小的硬盤空間,即使刪除了源文件,鏈接文件還是存在,所以-s選項是更常見的形式。
注意:如果軟鏈接文件和源文件不在同一個目錄,源文件要使用絕對路徑,不能使用相對路徑。
Linux系統(tǒng)中g(shù)rep命令是一種強大的文本搜索工具,grep允許對文本文件進行模式查找。如果找到匹配模式, grep打印包含模式的所有行。
grep一般格式為:
在grep命令中輸入字符串參數(shù)時,最好引號或雙引號括起來。例如:grep‘a(chǎn) ’1.txt。
常用選項說明:
find命令功能非常強大,通常用來在特定的目錄下搜索符合條件的文件,也可以用來搜索特定用戶屬主的文件。
常用用法:
cp命令的功能是將給出的文件或目錄復制到另一個文件或目錄中,相當于DOS下的copy命令。
常用選項說明:
用戶可以使用mv命令來移動文件或目錄,也可以給文件或目錄重命名。
常用選項說明:
計算機中的數(shù)據(jù)經(jīng)常需要備份,tar是Unix/Linux中最常用的備份工具,此命令可以把一系列文件歸檔到一個大文件中,也可以把檔案文件解開以恢復數(shù)據(jù)。
tar使用格式 tar [參數(shù)] 打包文件名 文件
tar命令很特殊,其參數(shù)前面可以使用“-”,也可以不使用。
常用參數(shù):
tar與gzip命令結(jié)合使用實現(xiàn)文件打包、壓縮。 tar只負責打包文件,但不壓縮,用gzip壓縮tar打包后的文件,其擴展名一般用xxxx.tar.gz。
gzip使用格式如下:
gzip [選項] 被壓縮文件
常用選項:
tar與bzip2命令結(jié)合使用實現(xiàn)文件打包、壓縮(用法和gzip一樣)。
tar只負責打包文件,但不壓縮,用bzip2壓縮tar打包后的文件,其擴展名一般用xxxx.tar.gz2。
在tar命令中增加一個選項(-j)可以調(diào)用bzip2實現(xiàn)了一個壓縮的功能,實行一個先打包后壓縮的過程。
壓縮用法:tar -jcvf 壓縮包包名 文件...(tar jcvf bk.tar.bz2 *.c)
解壓用法:tar -jxvf 壓縮包包名 (tar jxvf bk.tar.bz2)
通過zip壓縮文件的目標文件不需要指定擴展名,默認擴展名為zip。
壓縮文件:zip [-r] 目標文件(沒有擴展名) 源文件
解壓文件:unzip -d 解壓后目錄文件 壓縮文件
whoami該命令用戶查看當前系統(tǒng)當前賬號的用戶名。可通過cat /etc/passwd查看系統(tǒng)用戶信息。
由于系統(tǒng)管理員通常需要使用多種身份登錄系統(tǒng),例如通常使用普通用戶登錄系統(tǒng),然后再以su命令切換到root身份對傳統(tǒng)進行管理。這時候就可以使用whoami來查看當前用戶的身份。
who命令用于查看當前所有登錄系統(tǒng)的用戶信息。
常用選項:
如果是圖形界面,退出當前終端;
如果是使用ssh遠程登錄,退出登陸賬戶;
如果是切換后的登陸用戶,退出則返回上一個登陸賬號。
在Unix/Linux中添加用戶賬號可以使用adduser或useradd命令,因為adduser命令是指向useradd命令的一個鏈接,因此,這兩個命令的使用格式完全一樣。
useradd命令的使用格式如下:
useradd [參數(shù)] 新建用戶賬號
在Unix/Linux中,超級用戶可以使用passwd命令為普通用戶設置或修改用戶口令。用戶也可以直接使用該命令來修改自己的口令,而無需在命令后面使用用戶名。
可以通過su命令切換用戶,su后面可以加“-”。su和su –命令不同之處在于,su -切換到對應的用戶時會將當前的工作目錄自動轉(zhuǎn)換到切換后的用戶主目錄:
注意:如果是ubuntu平臺,需要在命令前加“sudo”,如果在某些操作需要管理員才能操作,ubuntu無需切換到root用戶即可操作,只需加“sudo”即可。sudo是ubuntu平臺下允許系統(tǒng)管理員讓普通用戶執(zhí)行一些或者全部的root命令的一個工具,減少了root 用戶的登陸和管理時間,提高了安全性。
方法一:
方法二:
groupadd 新建組賬號 groupdel 組賬號 cat /etc/group 查看用戶組
使用方法:usermod -g 用戶組 用戶名
新創(chuàng)建的用戶,默認不能sudo,需要進行一下操作
-g用來制定這個用戶默認的用戶組
-G一般配合'-a'來完成向其它組添加
chmod 修改文件權(quán)限有兩種使用格式:字母法與數(shù)字法。
字母法:chmod u/g/o/a +/-/= rwx 文件
cal命令用于查看當前日歷,-y顯示整年日歷
設置時間格式(需要管理員權(quán)限):
date [MMDDhhmm[[CC]YY][.ss]] +format
CC為年前兩位yy為年的后兩位,前兩位的mm為月,后兩位的mm為分鐘,dd為天,hh為小時,ss為秒。如: date 010203042016.55。
顯示時間格式(date '+%y,%m,%d,%H,%M,%S'):
進程是一個具有一定獨立功能的程序,它是操作系統(tǒng)動態(tài)執(zhí)行的基本單元。
ps命令可以查看進程的詳細狀況,常用選項(選項可以不加“-”)如下:
top命令用來動態(tài)顯示運行中的進程。top命令能夠在運行后,在指定的時間間隔更新顯示信息。可以在使用top命令時加上-d 來指定顯示信息更新的時間間隔。
在top命令執(zhí)行后,可以按下按鍵得到對顯示的結(jié)果進行排序:
kill命令指定進程號的進程,需要配合 ps 使用。有些進程不能直接殺死,這時候我們需要加一個參數(shù)“ -9 ”,“ -9 ” 代表強制結(jié)束.
使用格式:
kill [-signal] pid
df命令用于檢測文件系統(tǒng)的磁盤空間占用和空余情況,可以顯示所有文件系統(tǒng)對節(jié)點和磁盤塊的使用情況。
du命令用于統(tǒng)計目錄或文件所占磁盤空間的大小,該命令的執(zhí)行結(jié)果與df類似,du更側(cè)重于磁盤的使用狀況。
du命令的使用格式如下: du [選項] 目錄或文件名
快照功能:記錄當前的硬盤的狀態(tài)。剛建快照時快照占用內(nèi)存為0,標記了當前硬盤的存儲狀態(tài)。當虛擬機對快照標記的內(nèi)容改寫時,會將改寫的內(nèi)容存儲進快照,與未改寫的部分整合得到完整的快照。當快照標記的部分被完全改寫,那么快照存儲空間完整記錄了當時拍攝時的內(nèi)存狀態(tài)。
參數(shù)形式
第一種:參數(shù)用一橫的說明后面的參數(shù)是字符形式。
第二種:參數(shù)用兩橫的說明后面的參數(shù)是單詞形式。
第三種:參數(shù)前有橫的是 System V風格。
第四種:參數(shù)前沒有橫的是 BSD風格。
cat、more、less、head、tail命令的比較:
cat命令可以一次顯示整個文件,如果文件比較大,使用不是很方便;
more命令可以讓屏幕在顯示滿一屏幕時暫停,按空格往前翻頁,按b往后翻頁。
less命令也可以分頁顯示文件,和more命令的區(qū)別就在于: 支持上下鍵卷動屏幕、查找;不需要在一開始就讀取整個文件,打開大文件時比more、vim更快。
head命令用于查看文件的前n行。
tail命令用于查看文件的后n行,加上-f命令,查看在線日志非常方便,可以打印最新增加的日志。
一般模式:
編輯模式:
命令模式:
編碼
多行操作(列編輯模式)
插入:ctrl+v進入列編輯模式,上下移動光標選擇需要插入的位置,然后輸入大寫I,輸入需要文本,最后按esc鍵退出,就會發(fā)現(xiàn)文本會在選擇的多行中插入。
刪除:ctrl+v進入列編輯模式,上下移動光標選中需要刪除的部分,然后按d,就會刪除選中的內(nèi)容。
①head:顯示文件頭部內(nèi)容
②tail:輸出文件尾部內(nèi)容
注意:用vim和vi修改內(nèi)容會刪除源文件并生成新文件,所以tail -f會失效。需要用到
追加和覆蓋語句(或),才能被tail -f監(jiān)視到。
一般用于查看小文件
查看壓縮文件中的文本內(nèi)容
例:
①more:文件內(nèi)容分屏查看器
②less:分屏顯示文件內(nèi)容,效率比more高
1、簡單讀取
運行腳本如下
測試結(jié)果為:
2、-p 參數(shù),允許在 read 命令行中直接指定一個提示。
運行腳本如下
測試結(jié)果為:
echo [選項] [輸出內(nèi)容] (輸出內(nèi)容到控制臺)
輸出給定文本的sha256加密后的內(nèi)容
①顯示當前時間信息
②顯示當前時間年月日
③顯示當前時間年月日時分秒
④顯示昨天
⑤顯示明天時間
⑥顯示上個月時間
需要注意的是取下個月的命令存在bug,執(zhí)行如下命令會得到21-10,但是正常應該得到21-09,需要注意
date -d "2021-08-31 +1 month" +%y-%m
⑦修改系統(tǒng)時間
⑧獲取當前時間戳
獲取秒時間戳: date +%s
獲取毫秒時間戳:$[ (date +%s%N) /1000000]
查看日歷
(1)查看當前月的日歷
(2)查看2017年的日歷
例:
對比gzip/gunzip,zip/unzip可以壓縮文件和目錄且保留源文件。
①zip:壓縮
②unzip:解壓縮
只能壓縮文件不能壓縮目錄,不保留原來的文件。
gzip 文件 (只能將文件壓縮為*.gz文件)
gunzip 文件.gz (解壓縮文件命令)
例: crontab -e
(1)進入crontab編輯界面。會打開vim編輯你的工作。
(2)每隔1分鐘,向/root/bailongma.txt文件中添加一個11的數(shù)字
*/1 * * * * /bin/echo ”11” /root/bailongma.txt
(3)可以用tail -f 目標文件來實施監(jiān)控追加的內(nèi)容
查看日志
可以用tail -f /var/log/cron.log觀察
Cron表達式見文章:
ls [選項] [目錄或是文件]
cd [參數(shù)]
例: cd -P $(dirname $p1) ; pwd 先跳轉(zhuǎn)到文件的所在目錄,再打印$p1文件的實際路徑
概述
①cp(copy):只能在本機中復制
②scp(secure copy):可以復制文件給遠程主機
scp -r test.sh hxr@hadoop102:/root
③rsync(remote sync):功能與scp相同,但是不會改文件屬性
rsync -av test.sh test.sh hxr@hadoop102:/root
④nc(netcat):監(jiān)聽端口,可以實現(xiàn)機器之間傳輸文件。
nc -lk 7777 (-l表示listen,-k表示keep)
強制覆蓋不提示的方法:\cp
例:scp -r test.sh hxr@bigdata1:/root
例:rsync -av test.sh hxr@bigdata1:/root
例:
nc -lp 10000 nc_test.txt
nc -w 1 hadoop102 nc_test.txt
遠程登錄時默認使用的私鑰為~/.ssh/id_rsa
生成密鑰對
將公鑰發(fā)送到本機
將密鑰發(fā)送到需要登錄到本機的服務器上
修改密鑰的權(quán)限
遠程登陸
如果有多個節(jié)點需要遠程登陸,可以在.ssh下創(chuàng)建config并輸入
再次登陸
①正向代理:
②反向代理:
所謂“反向代理”就是讓遠端啟動端口,把遠端端口數(shù)據(jù)轉(zhuǎn)發(fā)到本地。
HostA 將自己可以訪問的 HostB:PortB 暴露給外網(wǎng)服務器 HostC:PortC,在 HostA 上運行:
那么鏈接 HostC:PortC 就相當于鏈接 HostB:PortB。
使用時需修改 HostC 的 /etc/ssh/sshd_config 的一條配置如下,不然啟動的進程監(jiān)聽的ip地址為127.0.0.1,即只有本機可以訪問該端口。
相當于內(nèi)網(wǎng)穿透,比如 HostA 和 HostB 是同一個內(nèi)網(wǎng)下的兩臺可以互相訪問的機器,HostC是外網(wǎng)跳板機,HostC不能訪問 HostA,但是 HostA 可以訪問 HostC。
那么通過在內(nèi)網(wǎng) HostA 上運行 ssh -R 告訴 HostC,創(chuàng)建 PortC 端口監(jiān)聽,把該端口所有數(shù)據(jù)轉(zhuǎn)發(fā)給我(HostA),我會再轉(zhuǎn)發(fā)給同一個內(nèi)網(wǎng)下的 HostB:PortB。
同內(nèi)網(wǎng)下的 HostA/HostB 也可以是同一臺機器,換句話說就是 內(nèi)網(wǎng) HostA 把自己可以訪問的端口暴露給了外網(wǎng) HostC。
例: 比如在我的內(nèi)網(wǎng)機192.168.32.244上有一個RabbitMQ的客戶端,端口號為15672。現(xiàn)在我希望在外網(wǎng)上訪問固定ip的云服務器chenjie.asia的6009端口,通過跳板機192.168.32.243來轉(zhuǎn)發(fā)請求到192.168.32.244:15672,從而實現(xiàn)在外網(wǎng)訪問內(nèi)網(wǎng)服務的功能,即內(nèi)網(wǎng)穿透。
①在192.168.32.244上啟動RabbitMQ服務
②將chenjie.asia云服務器的私鑰復制到跳板機192.168.32.243的~/.ssh下,并重命名為id_rsa。通過如下命令看是否可以遠程登陸到云服務,可以登陸則進行下一步。
③修改chenjie.asia服務器的ssh配置文件 /etc/ssh/sshd_config ,允許其他節(jié)點訪問
然后重啟sshd服務
④在跳板機192.168.32.243啟動ssh反向代理
這個進程在關(guān)閉session時會停止,可以添加啟動參數(shù) -CPfN
例:
以 root 身份執(zhí)行的程序有了所有特權(quán),這會帶來安全風險。Kernel 從 2.2 版本開始,提供了 Capabilities 功能,它把特權(quán)劃分成不同單元,可以只授權(quán)程序所需的權(quán)限,而非所有特權(quán)。
例如:linux不允許非root賬號只用1024以下的端口,使用root啟動命令nginx,會導致nginx權(quán)限過高太危險。所以用setcap命令
sudo setcap cap_net_bind_service=+eip /bigdata/nginx/sbin/nginx
正確的關(guān)機流程為 :sync shutdown reboot halt
(1)sync (功能描述:將數(shù)據(jù)由內(nèi)存同步到硬盤中)
(2)halt (功能描述:關(guān)閉系統(tǒng),等同于shutdown -h now 和 poweroff)
(3)reboot (功能描述:就是重啟,等同于 shutdown -r now)
(4)shutdown [選項] [時間]
安裝
yum install -y telnet-server telnet
ls -i 顯示文件的節(jié)點號
find -inum 節(jié)點號 -delete 刪除指定的節(jié)點即可刪除對應的文件
啟動一個服務: systemctl start postfix.service
關(guān)閉一個服務: systemctl stop postfix.service
重啟一個服務: systemctl restart postfix.service
顯示一個服務的狀態(tài): systemctl status postfix.service
在開機時啟用一個服務: systemctl enable postfix.service
在開機時禁用一個服務: systemctl disable postfix.service
注:在enable的時候會打印出來該啟動文件的位置
列出所有已經(jīng)安裝的服務及狀態(tài):
systemctl list-units
systemctl list-unit-files
查看服務列表狀態(tài):
systemctl list-units --type=service
查看服務是否開機啟動: systemctl is-enabled postfix.service
查看已啟動的服務列表: systemctl list-unit-files | grep enabled
查看啟動失敗的服務列表: systemctl --failed
查看服務日志: journalctl -u postfix -n 10 -f
命令類似systemctl,用于操作native service。
添加腳本為服務(需要指定啟動級別和優(yōu)先級): chkconfig --add [腳本]
刪除服務: chkconfig --del [腳本]
單獨查看某一服務是否開機啟動的命令 : chkconfig --list [服務名]
單獨開啟某一服務的命令 : chkconfig [服務名] on
單獨關(guān)閉某一服務的命令: chkconfig [服務名] off
查看某一服務的狀態(tài): /etc/intd.d/[服務名] status
啟用服務就是在當前"runlevel"的配置文件目錄 /etc/systemd/system/multi-user.target.wants 里,建立 /usr/lib/systemd/system 里面對應服務配置文件的軟鏈接;禁用服務就是刪除此軟鏈接,添加服務就是添加軟連接。
su 用戶名稱 (切換用戶,只能獲得用戶的執(zhí)行權(quán)限,不能獲得環(huán)境變量)
su - 用戶名稱 (切換到用戶并獲得該用戶的環(huán)境變量及執(zhí)行權(quán)限)
echo $PATH 打印環(huán)境變量
設置普通用戶具有root權(quán)限
修改 /etc/sudoers 文件,找到下面一行(91行),在root下面添加一行,如下 所示:
或者配置成采用sudo命令時,不需要輸入密碼
修改完畢,現(xiàn)在可以用hxr 帳號登錄,然后用命令 sudo ,即可獲得root權(quán)限進行操作。
以azkaban用戶執(zhí)行引號中的命令
gpasswd -d [username] [groupname] 將用戶從組中刪除
gpasswd -a [username] [groupname] 將用戶加入到組中
用戶組的管理涉及用戶組的添加、刪除和修改。組的增加、刪除和修改實際上就是對 /etc/group文件的更新。
0首位表示類型 - 代表文件 d 代表目錄 l 鏈接文檔(link file)
三種特殊權(quán)限suid、sgid、sticky
例子:
變更文件權(quán)限方式一
例:chmod u-x,o+x houge.txt
變更文件權(quán)限方式二
例:chmod -R 777 /mnt/ 修改整個文件夾的文件權(quán)限
在linux中創(chuàng)建文件或者目錄會有一個默認權(quán)限的,這個默認權(quán)限是由umask決定的(默認為0022)。umask設置的是權(quán)限的“補碼”,而我們常用chmod設置的是文件權(quán)限碼。一般在/etc/profile 、~/.bashprofile 或者 ~/.profile中設置umask值。
umask計算
如root用戶的默認umask為0022(第一個0 代表特殊權(quán)限位,這里先不考慮),創(chuàng)建的文件默認權(quán)限是644(即默認666掩上umask的022),創(chuàng)建的目錄是755(即默認777掩上umask的022)。
對于root用戶的umask=022這個來說,777權(quán)限二進制碼就是(111)(111)(111),022權(quán)限二進制碼為(000)(010)(010)。
上面就是一個umask的正常計算過程,但是這樣實在是太麻煩了。我們使用如下的簡單的方法快速計算。
上面的這個方法計算是非常方便的, 為何得到奇數(shù)要+1呢?
文件的最大權(quán)限是666,都是偶數(shù),你得到奇數(shù),說明你的umask有奇數(shù)啊,讀為4,寫為2,都是偶數(shù),說明你有執(zhí)行權(quán)限的。
就按照上面的umask=023為例,在計算其他用戶權(quán)限的時候6-3=3 ,6是讀寫,3是寫和執(zhí)行,其實應該是讀寫權(quán)限減去讀權(quán)限的得到寫權(quán)限的,相當于我們多減去了一個執(zhí)行權(quán)限。所以結(jié)果加1。
umask修改
如果想單獨修改某個文件夾的新建文件的權(quán)限,可以使用setfacl命令。
例:遞歸改變文件所有者和所有組 chown -R hxr:hxr /mnt
例:
您好 沒有上下移動光標的快捷鍵
上下不可以移動,只能用上下鍵來切換您以前敲的命令 或者用 history命令來顯示歷史打過的命令
Linux的一個特色就是其命令多而且功能強大, 頻繁輸入命令不僅麻煩而且工作量較大,雖然可以使用TAB進行命令補足,或者使用aliase來簡化某個命令的輸入,但這并不能從根本上解決敲擊鍵盤次數(shù)過多的問題。\x0d\x0a\x0d\x0a可以把任何命令或命令的組合指定給鍵盤上的某個鍵,可以是Alt+[A-Z],\x0d\x0aCtrl-[A-Z], Alt+Shift+[A-Z], F1-F12, Ctrl-F[1-12], Alt-F[1-12], Alt+Shift+F[1-12],還有更不可思議的是甚至還可以為功能鍵加上“參數(shù)”,這樣你按下那個鍵的時候,它會等待你輸入相應的參數(shù),并根據(jù)不同的參數(shù)運行不同的命令。\x0d\x0a\x0d\x0a當然,有一些熱鍵會被終端所捕獲,如常見的Ctrl-D/C/Q/Z等,不過沒關(guān)系,可用的熱鍵還多著呢!\x0d\x0a\x0d\x0a定義熱鍵的配置文件為:/etc/inputrc 或 ~/.inputrc,定義熱鍵的格式如下:\x0d\x0a\x0d\x0a"":""\x0d\x0a\x0d\x0a其中熱鍵對應的ASCII字符可以通過 "先按Ctrl-V, 然后按熱鍵" 的方式來輸入, 如Ctrl-G對應的字符為^G, Alt-P對應的字符為^[p, Ctrl-Alt-H對應的字符為^[^H.\x0d\x0a\x0d\x0a可以用/C來代替Ctrl,/M來代替Alt, /M-/C來代替Alt-Ctrl, 如/C-M = Ctrl-M, /M-/C-H = Alt-Ctrl-M. 另外還可以用/e代表^[.\x0d\x0a\x0d\x0a先來看一些基本的熱鍵定義,(這里熱鍵里的字母不區(qū)分大小寫):\x0d\x0a"^[-":"su -/C-M" # 按Alt+- 執(zhí)行su - 命令,末尾/C-M表示輸入完定義的命令后回車,也可以更簡潔地用一個/n來表示.\x0d\x0a\x0d\x0a"/M-/C-G":"gaim /dev/null disown/C-M"\x0d\x0a# 按Ctrl-Alt-g在當前shell打開gaim, 并脫離該shell獨立運行,即:即使你退出了該shell, gaim也不會關(guān)閉\x0d\x0a\x0d\x0a其他一些組合鍵可以根據(jù)自己的需要配置,偶就不多說了.\x0d\x0a\x0d\x0a大家也許會覺得這樣定義熱鍵太亂了,而且很難記住,還有一定的限制。這個問題在后面會得到解決。\x0d\x0a\x0d\x0a一般情況下,我們可以使用上下方向鍵來查找命令歷史列表,以此重復輸入命令,但是方向鍵離主鍵盤區(qū)太遠,如果頻繁使用的話,會耽誤不少時間,而且挪動右手時也不太方便,有沒有什么辦法把方向鍵的功能轉(zhuǎn)移到我們經(jīng)常敲命令的地方呢?如使用Alt+J = Down Arrow 向下查找,Alt+K=Up Arrow 向下查找\x0d\x0a\x0d\x0a通過定義熱鍵可以做到這點:\x0d\x0a\x0d\x0a"/eh":"^[OD" # move left\x0d\x0a# Alt-H 向左移一個字符, 相當于Left Arrowgh, 這里^[OD即向上方向鍵的ASCII字符,輸入方式與前面提到的類似\x0d\x0a"/el":"^[OC" # move right\x0d\x0a# Alt-L 向右移一個字符,相當于Right Arrow\x0d\x0a\x0d\x0a"/ej":"^[OB" # move up\x0d\x0a# Alt-J 向下移動,相當于Up Arrow\x0d\x0a\x0d\x0a"/ek":"^[OA" # move down\x0d\x0a# Alt-K 向上移動,相當于Down Arrow\x0d\x0a\x0d\x0a"/ei":"^?" # left earse one character\x0d\x0a# Alt-I 向左刪除一個字符,相當于Backspace\x0d\x0a\x0d\x0a"/eo":delete-char # right earse one character\x0d\x0a# Alt-O 向右刪除一個字符,相當于Delete\x0d\x0a\x0d\x0a"/en":backward-kill-word # left kill one word\x0d\x0a# Alt-N 向左刪除一個單詞\x0d\x0a\x0d\x0a"/em":kill-word # right kill one word\x0d\x0a# Alt-M 向右刪除一個單詞\x0d\x0a\x0d\x0a"/ea":"^[n^[n^[n^[n^[n^[n^[n" # kill to the head\x0d\x0a# Alt-A 刪除當前位置到開頭,也就是多Alt-N幾次(A-- ahead)\x0d\x0a\x0d\x0a"/ee":"^[m^[m^[m^[m^[m^[m^[m" # kill to the head\x0d\x0a# Alt-E 刪除當前位置到末尾,也就是多Alt-M幾次(E-- end)\x0d\x0a\x0d\x0a"/ep": insert-last-argumem"\x0d\x0a# Alt-P 插入上一個命令最后一個參數(shù) (P-- Paste)\x0d\x0a\x0d\x0a"/ew": forward-word\x0d\x0a# 系統(tǒng)默認Alt-F (forward)跳到當前單詞詞尾,如果已在詞尾,則跳到下一個單詞(右邊一個單詞)詞尾\x0d\x0a\x0d\x0a"/eq": backward-word\x0d\x0a# 系統(tǒng)默認Alt-B (backward)跳到當前單詞詞首,如果已在詞首,則跳到上一個單詞(左邊一個單詞)詞首\x0d\x0a\x0d\x0a發(fā)覺F和B鍵離得太遠,不方便,偶分別改作Alt-Q, Alt-W, 但是Alt-F/B照樣可以用\x0d\x0a\x0d\x0a這樣輸入命令的時候幾乎可以不用離開主鍵盤區(qū),而且移動光標,刪除字符,刪除單詞,上下歷史命令查找都集中在一塊,比以前方便多了。不過開始可能有些不習慣,就跟使用vi一樣,但是多練幾次就熟練了。\x0d\x0a\x0d\x0aLinux下絕大部分服務的配置是基于配置文件的,一般說來,更改了某個服務的配置文件,要使其立即生效,還需重啟該服務直接的或依附的守護進程才行。難道你就不覺得“每次 vi /etc/xxx.conf 完后又 service xxx restart/reload 或 killall -HUP xxx”這樣做很繁瑣么?如果要配置的服務較多而且要不停地調(diào)試呢?況且我們平常使用Linux時難免會不時地終止或啟動某個服務進程,輸入命令的次數(shù)也不少。如果為每個服務都指定一個熱鍵的話,似乎不大可能。如果我們賦予一個熱鍵為一個基本鍵,而相應的服務為其“參數(shù)”,那又如何呢?\x0d\x0a\x0d\x0a舉個例子,賦予Alt-S (S--Start)為啟動服務的基本鍵,服務名的前2個字符為啟動“參數(shù)”,那么就可以像下面那樣隨意啟動某個服務了:\x0d\x0a"/essm":"service smb start/n"\x0d\x0a# /es=Alt-s, sm=smb,\x0d\x0a# 即:按下Alt-s后緊跟著再輸入sm(這時輸入的sm并不會顯示在終端上),就可以啟動samba的服務進程了,不必擔心按下鍵與輸入“參數(shù)”間的時間延遲問題,你按下Alt-s,然后去外面兜一圈回來,再接著輸入sm,照樣可以。\x0d\x0a\x0d\x0a"/esht":"service httpd start/n" # ht=httpd,啟動Apache服務\x0d\x0a\x0d\x0a類似地,我們賦予\x0d\x0aAlt-D(D-- shutDown) 為停止服務的基本鍵\x0d\x0aAlt-R(R-- Restart) 為重啟服務的基本鍵\x0d\x0aAlt-T(T-- Status) 為查看服務狀態(tài)的基本鍵\x0d\x0aAlt-C(C-- Configure) 為打開服務對應的主配置文件的基本鍵\x0d\x0a如:"/ecnf":"vi /etc/exports/n" # Alt-c+nf 打開NFS的配置文件\x0d\x0a"/ecsm":"vi /etc/samba/smb.conf/n" # Alt-c+sm 打開smb的配置文件\x0d\x0a\x0d\x0a如果某個服務(如ssh)有2個配置文件,可以在其后再加一個數(shù)字,如:\x0d\x0a"/ecssh1":"vi /etc/ssh/sshd_config/n" # 打開sshd服務端配置文件\x0d\x0a"/ecssh2":"vi /etc/ssh/ssh_config/n" # 打開sshd客戶端配置文件\x0d\x0a\x0d\x0a如果要執(zhí)行某個應用程序呢?可以用Alt-x做基本鍵(x-- eXeccute) 如:\x0d\x0a"/exga":"gaim /dev/null disown clean /n"\x0d\x0a"/exxm":"xmms /dev/null disown clean /n"\x0d\x0a"/exvm":"vmware /dev/null disown clean /n" "/exna":"nautilus /dev/null disown clean /n"\x0d\x0a等等....\x0d\x0a\x0d\x0a到現(xiàn)在為止我們只要按1個組合鍵+2個字符就可以實現(xiàn)下面眾多的功能:\x0d\x0a1. 執(zhí)行指定的應用程序\x0d\x0a2. 啟動|重啟|關(guān)閉|指定的服務進程\x0d\x0a3. 查看指定服務的狀態(tài)\x0d\x0a4. 打開指定服務的指定配置文件
網(wǎng)頁名稱:linux命令上下,linux常用命令
URL鏈接:http://chinadenli.net/article30/dsesgpo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設、微信公眾號、App設計、建站公司、云服務器、網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)