Linux文件系統(tǒng)操作命令大全
創(chuàng)新互聯(lián)為您提適合企業(yè)的網(wǎng)站設(shè)計(jì)?讓您的網(wǎng)站在搜索引擎具有高度排名,讓您的網(wǎng)站具備超強(qiáng)的網(wǎng)絡(luò)競爭力!結(jié)合企業(yè)自身,進(jìn)行網(wǎng)站設(shè)計(jì)及把握,最后結(jié)合企業(yè)文化和具體宗旨等,才能創(chuàng)作出一份性化解決方案。從網(wǎng)站策劃到成都網(wǎng)站建設(shè)、成都做網(wǎng)站, 我們的網(wǎng)頁設(shè)計(jì)師為您提供的解決方案。
Linux命令有很多,那么Linux文件系統(tǒng)操作命令又有哪些呢?下面我為你介紹!
文件系統(tǒng)操作命令:
1. cat:可以顯示文件的內(nèi)容(經(jīng)常和more搭配使用),或?qū)⒍鄠€文件合并成一個文件。
2. chgrp:用來改變文件或目錄所屬的用戶組,命令的參數(shù)以空格分開的要改變屬組的文件列表,文件名支持通配符,如果用戶不是該文件的所有者,則不能改變該文件的所屬組。
3. chmod:用于改變文件或目錄的訪問權(quán)限,該命令有兩種用法:一種是使用圖形化的方法,另一種是數(shù)字設(shè)置法。
4. chown:用來將指定用戶或組為特定的所有者。用戶可以設(shè)置為用戶名或用戶ID,組可以是組名或組ID。特定的文件是以空格分開的可以改變權(quán)限的文件列表,文件名支持通配符。
5. clear:用來清除終端屏幕。
6. cmp:用來比較兩個文件的大小。
7. cp:(copy)可以將文件或目錄復(fù)制到其他目錄中,就如同Dos下的copy命令一樣,功能非常強(qiáng)大。在使用cp命令時,只需要指定源文件名或目標(biāo)目錄即可。
8. cut:用來移除文件的部分內(nèi)容。
9. diff:用來找出兩個文件的不同之處。
10. du: 用來顯示磁盤的剩余空間的大小。
11. file:用來顯示文件的類型。
12. find:用來在目錄中搜索文件,并執(zhí)行指定的操作。
13. head:只查看文件的頭幾行內(nèi)容,而不必瀏覽整個文件。
14. ln:可以在文件之間創(chuàng)建鏈接,實(shí)際上是給某個文件指定一個訪問它的別名。
15. less:用法與more類似,可以查看超過一屏的文件內(nèi)容,不同的是less除了可以按空格鍵向下顯示文件外,還可以利用方向鍵來滾動顯示文件,要結(jié)束瀏覽,只要在less的提示符“:”后按Q即可。
16. locate:可用于查找文件,且比find命令的搜索速度快。
17. ls(list):用來顯示當(dāng)前目錄中的文件和子目錄列表。
18. mkdir(make directory):建立子目錄。
19. more:用于顯示內(nèi)容超過一屏的文件,為了避免文件內(nèi)容顯示瞬間就消失,可以使用more命令讓文件顯示滿一屏?xí)r暫停,在按下任意鍵的時候繼續(xù)顯示下一屏的內(nèi)容。
20. rmkdir(remove directory):用來刪除“空”的子目錄或無用的目錄文件。
21. mv(move):可以將文件以及目錄移到其他位置,或更改文件以及目錄的名稱。
22. pico:可指定文本的編輯方式。
23. pwd(print working directory):可顯示用戶當(dāng)前所在的目錄。
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:移除已分類文件中的重復(fù)文本行。
32. vi:啟動vi文本編輯器。
33. wc:顯示文件中字節(jié)、詞組合文本行的數(shù)目。
34. whereis:查找特定目錄下的原始程序,二進(jìn)制程序或用戶手冊等文件的位置。
35. man:如果用戶對某個命令想了解更詳細(xì)的話,可使用此命令。
36. dd:復(fù)制一個文件。
37. df:查看一個文件系統(tǒng)的磁盤空間使用情況。
38. edquoat:設(shè)置用戶與用戶組的磁盤空間限制,即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:啟用或取消設(shè)備和文件的交換頁。
46. quotaon,quotaoff:啟用或取消quota限制。
47. umount:取消文件系統(tǒng)的裝備。
系統(tǒng)管理命令
1. finger:查詢用戶信息,也能查看默認(rèn)的用戶環(huán)境。
2. ftp:標(biāo)準(zhǔn)的文件傳輸協(xié)議的用戶接口,是在網(wǎng)絡(luò)上傳輸文件最簡單有效的方法。
3. host:用于DNS查詢。
4. hostname:用于顯示或設(shè)置系統(tǒng)的主機(jī)名。
5. ifconfig:用于配置網(wǎng)卡接口。(可以使用down或up參數(shù)來禁用或啟用某個網(wǎng)卡接口)
6. mail:發(fā)送和接收郵件。
7. netstat:顯示網(wǎng)絡(luò)連接、路由表和網(wǎng)絡(luò)接口信息,用戶可以知道目前那些網(wǎng)絡(luò)連接正在運(yùn)行。
8. ping:此命令用于測試本計(jì)算機(jī)和網(wǎng)絡(luò)上其它的計(jì)算機(jī)是否相連。
9. rlogin:遠(yuǎn)程登陸命令,該命令與telnet命令很相似,允許用戶啟動遠(yuǎn)程系統(tǒng)的交互會話。
10. rcp:rcp(remote file copy)命令是遠(yuǎn)程文件復(fù)制命令,該命令用于在計(jì)算機(jī)之間復(fù)制文件,有兩中格式,一種格式用于文件動文件的復(fù)制,另一種用于把文件或目錄復(fù)制到其他文件目錄中。
11. route:此命令用于顯示或設(shè)置IP路由表。
12. tcpdump:此命令用于測試網(wǎng)絡(luò)的通信量。
13. talk:此命令可用于事項(xiàng)網(wǎng)絡(luò)用戶的適時交談,但是必須將雙方系統(tǒng)的信息加入各自的/etc/hosts文件中,以相互識別。
14. telnet:此命令用于通過網(wǎng)絡(luò)登陸遠(yuǎn)程計(jì)算機(jī),如同操作本地計(jì)算機(jī)一樣。
15. wall:wall(write all)命令可以用于發(fā)送消息給登陸本機(jī)的用戶。在發(fā)送消息時,可直接輸入要發(fā)送的消息,也可以把文件當(dāng)成消息發(fā)送。
16. wget:此命令用于Linux環(huán)境下從Internet上下載文件,支持http和ftp協(xié)議,支持代理服務(wù)器和斷點(diǎn)連續(xù)傳功能,能夠遞歸遠(yuǎn)程主機(jī)上的目錄,查找合乎要求的的文件并下載到本地硬盤上。Wget命令可以在后臺運(yùn)行,截獲并忽略hantfup信號,因此用戶退出登陸后,仍可繼續(xù)運(yùn)行。
17. ,bg:,bg命令是后臺執(zhí)行命令,有時候用戶執(zhí)行的程序可能要話很多時間,如果放在前臺執(zhí)行,可能無法繼續(xù)其他操作,最好將他放在后臺執(zhí)行。
18. fg:fg命令是前臺執(zhí)行命令,如果用戶有程序在后臺運(yùn)行,可以通過fg命令將程序從后臺移到前臺執(zhí)行。
19. jobs:此命令用于顯示正在后臺執(zhí)行的任務(wù)清單。Bg,fg,jobs命令都屬于bash命令,
20. kill:此命令用于終止一個程序,例如:#[root@rathat9 root]kill 3793
21. ps:此命令用于顯示程序的狀態(tài)。
22. top:此命令用于顯示當(dāng)前CPU進(jìn)程。
23. at batch atp atrm:這些命令用于排序,檢查或刪除后臺運(yùn)行的任務(wù)。
Linux與用戶有關(guān)的命令:
1. passwd命令:更改用戶口令。
格式:passwd [用戶名]
2. su命令:可以讓一個普通用戶擁有超級用戶或其他用戶的權(quán)限,也可以讓超級擁護(hù)以普通用戶的身份做一些事情。
格式:su[選項(xiàng)][?][使用者賬號]
說明:若沒有指定的使用者賬號,則系統(tǒng)預(yù)設(shè)值為超級用戶root。該命令中個選項(xiàng)的含義分別為:
-c:執(zhí)行一個命令后就結(jié)束。
-:加了這個減號的目的是使環(huán)境變量和欲轉(zhuǎn)換的用戶相同。
-m:保留環(huán)境變量不變。
Linux系統(tǒng)管理命令:
1. wall命令:對全部以登陸的用戶發(fā)送信息。
2. write命令:向系統(tǒng)中某一用戶發(fā)送信息。
格式:write 用戶賬號 [終端名稱]
3. mesg命令:設(shè)定是否允許其他用戶用write命令給自己發(fā)送信息。
如果允許輸入命令:mesg y
如果不允許輸入命令:mesg n
4. sync命令:在關(guān)閉Linux系統(tǒng)是使用的。Sync是強(qiáng)制把內(nèi)存中的數(shù)據(jù)寫回硬盤,以免數(shù)據(jù)丟失。
5. shutdown命令:可以安全的關(guān)閉或重啟Linux它在系統(tǒng)關(guān)閉之前給系統(tǒng)上的所有登陸用戶提示一條警告信息。
格式:shutdown [選項(xiàng)][時間][警告信息]
命令中選項(xiàng)的含義:
-k:并不真正關(guān)機(jī),而只是發(fā)出警告信息給所有用戶。
-r:關(guān)機(jī)后立即重新啟動。
-h:關(guān)機(jī)后不重新啟動。
-f快速關(guān)機(jī),重新啟動時跳過fsck。
-n:快速關(guān)機(jī),不經(jīng)過init程序。
-c:取消一個已經(jīng)運(yùn)行的shutdown。
6. free命令:查看當(dāng)前系統(tǒng)內(nèi)存的使用情況,它顯示系統(tǒng)中剩余及已用的物理內(nèi)存和交換內(nèi)存,以及共享內(nèi)存和被核心使用的緩沖區(qū)。
格式:free [-b | -k |-m]
命令中各個選項(xiàng)的含義:
-b:以字節(jié)為單位顯示。
-k:以K字節(jié)為單位顯示。
-m:以兆字節(jié)為單位顯示。
7. uptime命令:顯示系統(tǒng)已經(jīng)運(yùn)行了多長時間,它依次顯示下列信息:現(xiàn)在時間、系統(tǒng)已經(jīng)運(yùn)行了多長時間、目前有多少登陸用戶、系統(tǒng)在過去的1分鐘、5分鐘和15分鐘內(nèi)的平均負(fù)載。
8. df命令:檢查文件系統(tǒng)的磁盤空間占用情況。
格式:df [選項(xiàng)]
說明:df命令可顯示所有文件系統(tǒng)對I節(jié)點(diǎn)和磁盤塊的使用情況。
命令中各個選項(xiàng)的含義:
-a:顯示所有文件系統(tǒng)的磁盤使用情況,包括0塊(block)的文件系統(tǒng)。
-k:以k字節(jié)為單位顯示。
-i:顯示i節(jié)點(diǎn)信息,而不是磁盤塊。
-t:顯示各指定類型的文件系統(tǒng)的磁盤空間使用情況。
-x:列出不是某一指定類型文件系統(tǒng)的磁盤空間使用情況。
-T:顯示文件系統(tǒng)類型。
9. du命令:顯示磁盤空間的使用情況。統(tǒng)計(jì)目錄(或文件)所占磁盤的大小。
格式:du [選項(xiàng)] [Names…]
說明:該命令逐級進(jìn)入指定目錄的每一個子目錄并顯示該目錄占用文件系統(tǒng)數(shù)據(jù)塊(1024字節(jié))的情況。若沒有給出Names,則對當(dāng)前目錄進(jìn)行統(tǒng)計(jì)。
命令中各個選項(xià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:最后再加上一個總計(jì)(系統(tǒng)缺省設(shè)置)。
-l:計(jì)算所有的文件大小,對硬鏈接文件,則計(jì)算多次。
-x:跳過在不同文件系統(tǒng)上的目錄不予統(tǒng)計(jì)。
10. dd命令:把指定的輸入文件拷貝到指定的輸出文件中,并且在拷貝過程中可以進(jìn)行格式轉(zhuǎn)換。
格式:dd [選項(xiàng)]
命令中各個選項(xiàng)的含義:
if = 輸入文件(或設(shè)備名稱)。
of = 輸出文件(或設(shè)備名稱)。
ibs = bytes 一次讀取bytes字節(jié),及讀入緩沖區(qū)的字節(jié)數(shù)。
skip = blocks 跳過讀入緩沖區(qū)開頭的ibs*blocks塊。
obs = bytes 一次寫入bytes字節(jié),及寫入緩沖區(qū)的字節(jié)數(shù)。
bs = bytes 同時設(shè)置讀/寫緩沖區(qū)的字節(jié)數(shù)(等于設(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 軟盤格式化后不作檢驗(yàn)。
12. echo命令:在顯示器上顯示一段文字,一般起到一個提示作用。
格式:echo [-n] 字符串
13. cal命令:顯示某年某月的日歷。
格式:cal [選項(xiàng)] [月 [年]]
命令中各個選項(xiàng)的含義:
-j:顯示出給定月中的每一天是一年中的第幾天(從1月1日算起)。
-y:顯示出整年的日歷。
14. date命令:顯示和設(shè)置系統(tǒng)日期和時間。
格式:date [選項(xiàng)] 顯示時間格式 (以 + 開頭,后面接格式)
date [選項(xiàng)] 設(shè)置時間格式
命令中各個選項(xiàng)的含義:
15. clear命令:清除屏幕上的信息。
Vi的基本命令:
1. 移動光標(biāo):
Ctrl + b:上滾一屏
Ctrl + f:下滾一屏
Ctrl + d:下滾半屏
Ctrl + u:上滾半屏
G: 移到文件最后
W:移到下個字的開頭
B:跳至上個字的開頭
2. 刪除
x:刪除當(dāng)前光標(biāo)所在后面一個字符
#x:刪除當(dāng)前光標(biāo)所在后面#個字符。例如,5x表示刪除5個字符。
dd:刪除當(dāng)前光標(biāo)所在行
#dd:刪除當(dāng)前光標(biāo)所在后面#行。例如,5dd表示刪除字光標(biāo)算起的5行。
:l,#d:例如,:1,12d表示刪除自行1至行12的文字
X:刪當(dāng)前光標(biāo)的左字符
D:刪至行尾
3. 更改
cw:更改光標(biāo)處的字到此單字的字尾處
c#w:例如,c3w表示更改3個字
cc:修改行
c:替換到行尾
4. 取代
r:取代光標(biāo)處的字符
R:取代字符直到按ESC為止
5. 復(fù)制
yw:拷貝光標(biāo)處的字到字尾只緩沖區(qū)
P:把緩沖區(qū)的資料貼上來
yy:拷貝光標(biāo)所在之行至緩沖區(qū)
#yy:例如:5yy,拷貝光標(biāo)所在之處以下5行至緩沖區(qū)
Linux文件的復(fù)制,刪除和移動命令
1.cp命令:該命令的功能是將給出的文件或目錄拷貝到另一文件或目錄中,同MSDOS下的COPY命令一樣,功能十分強(qiáng)大。
語法:cp[選項(xiàng)]源文件或目錄,目標(biāo)文件或目錄
說明該命令把指定的源文件復(fù)制到目標(biāo)文件或把多個源文件復(fù)制到目標(biāo)目錄中。
該命令的各項(xiàng)選項(xiàng)含義如下:
-a:該選項(xiàng)通常在拷貝目錄是使用。他保留鏈接,文件屬性,并遞歸地拷貝目錄,其作用等于dpr選項(xiàng)的組合。
-d:拷貝是保留鏈接
-f:刪除已經(jīng)存在的目標(biāo)文件而不提示。
-I:和 f選項(xiàng)相反,在覆蓋目標(biāo)文件之前將給出提示要求擁護(hù)確認(rèn)。回答y時目標(biāo)文件將被覆蓋,是交互式拷貝。
-p:此時cp除復(fù)制源文件的內(nèi)容外,還將把其修改時間和反問權(quán)限也復(fù)制到新文件中。
-r;若給出的源文件是一目錄文件,此時cp將遞歸復(fù)制該目錄下所有的子目錄和文件。此時目標(biāo)文件必須為一個目錄名。
-L:不作拷貝,只是鏈接文件。
需要說明的是,為防止用戶在不經(jīng)意的情況下用cp命令破壞另一個文件,如用戶指定的目標(biāo)文件名已存在,用cp 命令拷貝文件后,這個文件酒會被新源文件覆蓋,因此,建議用戶在使用cp命令拷貝文件時,最好使用I選項(xiàng)。
2.mv命令:用戶可以使用mv命令來為文件或目錄改名或?qū)⑽募梢粋€目錄移入另一個目錄中。該命令如同MS-DOS下的ren 和 move 的組合。
語法:mv[選項(xiàng)]源文件或目錄 目標(biāo)文件或目錄。
說明:視mv命令中第二個參數(shù)類型的不同(是目標(biāo)文件還是目標(biāo)目錄),mv命令將文件重命名或?qū)⑵湟浦烈粋€新的目錄中。當(dāng)?shù)诙€參數(shù)類型是文件時,mv命令完成文件重命名,此時,源文件只能有一個(也可以是源目錄名),他將所給的源文件或目錄重命名為給頂?shù)哪繕?biāo)文件名。當(dāng)?shù)诙€參數(shù)是已存在的目錄名稱時,源文件或目錄參加參數(shù)可以有很多個,mv命令將個參數(shù)指定的源文件均移至目標(biāo)目錄中。在跨文件系統(tǒng)移動文件時,mv先拷貝,再將原有文件刪除,而鏈至該文件的鏈接也將丟失。
命令中各選項(xiàng)的含義為:
-I:交互方式操作。如果mv操作將導(dǎo)致對已存在的目標(biāo)文件的覆蓋,此時系統(tǒng)詢問是否重寫,要求用戶回答y或n,這樣可以避免誤覆蓋文件。
-f:禁止交互操作。在mv操作要覆蓋某已有的目標(biāo)文件是不給任何指示,指定此選項(xiàng)后,I選項(xiàng)將不再起作用。
如果所給目標(biāo)文件(不是目錄)已存在,此時該文件的內(nèi)容將后備新文件覆蓋,為防止用戶用mv命令破壞另一個文件,使用mv命令移動文件時,最好使用I選項(xiàng)。
3.rm命令:用戶可以用rm命令刪除不需要的文件。該命令的功能問刪除一個目錄中的一個或多個文件或目錄,他也可以將某個目錄及其下的所有文件及子目錄均刪除。對于鏈接文件,只是斷開了鏈接,源文件保持不變。
Rm命令的一般形式為:
Rm [選項(xiàng)]文件……
如果沒有使用-r選項(xiàng),則rm不會刪除目錄。
該命令的各選項(xiàng)含義如下:
-f:忽略不存在的文件,從不給出提示。
-r:指示rm將參數(shù)中列出的全部目錄和子目錄均遞歸地刪除。
-I:進(jìn)行交互式刪除。
使用rm命令要小心。因?yàn)橐坏┪募粍h除,他是不能被恢復(fù)的。為了防止這種情況的發(fā)生可以使用I選項(xiàng)倆逐個確認(rèn)要刪除的文件。如果用戶輸入y,文件將被刪除。如果輸入任何其他東西,文件則不會刪除。
Linux目錄的創(chuàng)建與刪除命令:
1. mkdir命令
功能:創(chuàng)建一個目錄(類似MS-DOS下的md命令)。
語法:mkdir[選項(xiàng)]dir-name
說明:該命令創(chuàng)建由dir-name命名的目錄。要求創(chuàng)建目錄的用戶在當(dāng)前目錄中(dir-name的父目錄中)具有寫權(quán)限,并且dirname不能是當(dāng)前目錄中已有的目錄或文件名稱。
命令中個選項(xiàng)的含義為:
-m:對新建目錄設(shè)置存取權(quán)限。也可以用chmod命令設(shè)置。
-p:可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項(xiàng)后,系統(tǒng)將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄。
2. rmdir命令
功能:刪除空目錄。
語法:rmdir[選項(xiàng)]dir-name。/
說明:dir-name表示目錄名。該命令從一個目錄中刪除一個或多個子目錄項(xiàng)。需要特別注意的是,一個目錄被刪除之前必須是空的。Rm-r dir 命令可代替rndir,但是有危險性。刪除某目錄時也必須具有對父目錄的、寫權(quán)限。
命令中個選項(xiàng)的含義為:
-p遞歸刪除目錄dirname,當(dāng)子目錄刪除后其父目錄為空時,也一同被刪除。如果整個路徑被刪除或者由于某種原因保留部分路徑,則系統(tǒng)在標(biāo)準(zhǔn)輸出上顯示相應(yīng)的信息。
3. cd命令
功能:改變工作目錄。
語法:cd[directory]
說明:該命令將當(dāng)前目錄改變至directory所指定的目錄。若沒有指定directory,則回到用戶的主目錄。為了改變到指定目錄,用戶必須擁有對指定目錄的執(zhí)行和讀權(quán)限。
該命令可以使用通配符(如”*,_”這樣的通配符號)。
4. pwd命令
在Linux層次結(jié)構(gòu)中,用戶可以在被授權(quán)的任意目錄下利用mkdir命令創(chuàng)建新目錄,也可以利用cd命令從一個目錄轉(zhuǎn)換到另一個目錄。然而,沒有提示符來告知用戶目前處于哪一個目錄中。想要知道當(dāng)前所處的目錄,可以用pwd命令,該命令顯示整個路徑名。
語法:pwd
說明:此命令顯示出當(dāng)前工作目錄的絕對路徑。
5. ls命令
ls是list的簡寫,其功能為列出目錄的內(nèi)容。這是擁護(hù)最常用的一個命令之一,因?yàn)橛脩粜枰粫r地查看某個目錄的內(nèi)容,該命令類似于DOS下的dir命令
語法:ls[選項(xiàng)][目錄或是文件]
對于每個目錄,該命令將列出其中的所有子目錄與文件。對于每個文件,ls將輸出其文件名以及所要求的其他信息。默認(rèn)情況下,輸出條目按字母順序排序。但未給出目錄名或是文件名時,就顯示當(dāng)前目錄的信息。
命令中各個選項(xiàng)的含義:
-a:顯示指定目錄下所有子目錄與文件,包括隱藏文件。
-A:顯示指定目錄下所有子目錄與文件,包括隱藏文件。但不列出“.”和“..”.
-b:對文件名中的不可顯示字符用把禁止
linux中所有設(shè)備都是以文件的形式顯示
linux下文件的后綴名無實(shí)際意義
命令
pwd 顯示路徑
man +命令 列出操作說明
ls -l/-help列出 文件目錄
cd / 目錄做實(shí)驗(yàn)
安裝步驟 configure make make install?
rm -r dl 遞歸刪除目錄
rm -rf 刪除所有目錄
rm -f 加文件名 刪除文件
rmdir +文件地址 刪除文件夾所有和rm -rf功能差不多
touch 加名字 創(chuàng)建新文件
cp 復(fù)制 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查看進(jìn)程
ifconfig linux查看ip
重定向
linux和其它機(jī)器之間共享文件vsftp Windows和linux傳輸文件15-17
putty遠(yuǎn)程登錄軟件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 軟件名
;
你執(zhí)行“chmod
777
start.sh”(如果是root用戶可以直接執(zhí)行;文件的擁有者也可以直接執(zhí)行;不然的話執(zhí)行“sudo
chmod
777
start.sh“,然后輸入該用戶密碼,不過前提是該用戶擁有sudo權(quán)限)然后再執(zhí)行試試看,如果還不行,可能是你文件里面代碼的問題咯……都試試看吧……
PS:
"Permission
denied"
的意思是權(quán)限不夠,請求被拒絕!
基本linux命令有哪些呢?
1、ls命令
就是 list 的縮寫,通過 ls 命令不僅可以查看 linux 文件夾包含的文件,而且可以查看文件權(quán)限(包括目錄、文件夾、文件權(quán)限)查看目錄信息等等。
常用參數(shù)搭配:
ls -a 列出目錄所有文件,包含以.開始的隱藏文件
ls -A 列出除.及..的其它文件
ls -r 反序排列
ls -t 以文件修改時間排序
ls -S 以文件大小排序
ls -h 以易讀大小顯示
ls -l 除了文件名之外,還將文件的權(quán)限、所有者、文件大小等信息詳細(xì)列出來
實(shí)例:
(1) 按易讀方式按時間反序排序,并顯示文件詳細(xì)信息
ls -lhrt
(2) 按大小反序顯示文件詳細(xì)信息
ls -lrS
(3)列出當(dāng)前目錄中所有以"t"開頭的目錄的詳細(xì)內(nèi)容
ls -l t*
(4) 列出文件絕對路徑(不包含隱藏文件)
ls | sed "s:^:`pwd`/:"
(5) 列出文件絕對路徑(包含隱藏文件)
find $pwd -maxdepth 1 | xargs ls -ld
2、cd 命令
cd(changeDirectory) 命令語法:
cd [目錄名]
說明:切換當(dāng)前目錄至 dirName。
實(shí)例:
(1)進(jìn)入要目錄
cd /
(2)進(jìn)入 "home" 目錄
cd ~
(3)進(jìn)入上一次工作路徑
cd -
(4)把上個命令的參數(shù)作為cd參數(shù)使用。
cd !$
3、pwd 命令
pwd 命令用于查看當(dāng)前工作目錄路徑。
實(shí)例:
(1)查看當(dāng)前路徑
pwd
(2)查看軟鏈接的實(shí)際路徑
pwd -P
4、mkdir 命令
mkdir 命令用于創(chuàng)建文件夾。
可用選項(xiàng):
-m: 對新建目錄設(shè)置存取權(quán)限,也可以用 chmod 命令設(shè)置;
-p: 可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項(xiàng)后,系統(tǒng)將自動建立好那些尚不在的目錄,即一次可以建立多個目錄。
實(shí)例:
(1)當(dāng)前工作目錄下創(chuàng)建名為 t的文件夾
mkdir t
(2)在 tmp 目錄下創(chuàng)建路徑為 test/t1/t 的目錄,若不存在,則創(chuàng)建:
mkdir -p /tmp/test/t1/t
5、rm 命令
刪除一個目錄中的一個或多個文件或目錄,如果沒有使用 -r 選項(xiàng),則 rm 不會刪除目錄。如果使用 rm 來刪除文件,通常仍可以將該文件恢復(fù)原狀。
rm [選項(xiàng)] 文件…
實(shí)例:
(1)刪除任何 .log 文件,刪除前逐一詢問確認(rèn):
rm -i *.log
(2)刪除 test 子目錄及子目錄中所有檔案刪除,并且不用一一確認(rèn):
rm -rf test
(3)刪除以 -f 開頭的文件
rm -- -f*
6、rmdir 命令
從一個目錄中刪除一個或多個子目錄項(xiàng),刪除某目錄時也必須具有對其父目錄的寫權(quán)限。
注意:不能刪除非空目錄
實(shí)例:
(1)當(dāng) parent 子目錄被刪除后使它也成為空目錄的話,則順便一并刪除:
rmdir -p parent/child/child11
7、mv 命令
移動文件或修改文件名,根據(jù)第二參數(shù)類型(如目錄,則移動文件;如為文件則重命令該文件)。
當(dāng)?shù)诙€參數(shù)為目錄時,第一個參數(shù)可以是多個以空格分隔的文件或目錄,然后移動第一個參數(shù)指定的多個文件到第二個參數(shù)指定的目錄中。
實(shí)例:
(1)將文件 test.log 重命名為 test1.txt
mv test.log test1.txt
(2)將文件 log1.txt,log2.txt,log3.txt 移動到根的 test3 目錄中
mv llog1.txt log2.txt log3.txt /test3
(3)將文件 file1 改名為 file2,如果 file2 已經(jīng)存在,則詢問是否覆蓋
mv -i log1.txt log2.txt
(4)移動當(dāng)前文件夾下的所有文件到上一級目錄
mv * ../
8、cp 命令
將源文件復(fù)制至目標(biāo)文件,或?qū)⒍鄠€源文件復(fù)制至目標(biāo)目錄。
注意:命令行復(fù)制,如果目標(biāo)文件已經(jīng)存在會提示是否覆蓋,而在 shell 腳本中,如果不加 -i 參數(shù),則不會提示,而是直接覆蓋!
-i 提示
-r 復(fù)制目錄及目錄內(nèi)所有項(xiàng)目
-a 復(fù)制的文件與原文件時間一樣
實(shí)例:
(1)復(fù)制 a.txt 到 test 目錄下,保持原文件時間,如果原文件存在提示是否覆蓋。
cp -ai a.txt test
(2)為 a.txt 建議一個鏈接(快捷方式)
cp -s a.txt link_a.txt
9、cat 命令
cat 主要有三大功能:
1.一次顯示整個文件:
cat filename
2.從鍵盤創(chuàng)建一個文件:
cat filename
只能創(chuàng)建新文件,不能編輯已有文件。
3.將幾個文件合并為一個文件:
cat file1 file2 file
-b 對非空輸出行號
-n 輸出所有行號
實(shí)例:
(1)把 log2012.log 的文件內(nèi)容加上行號后輸入 log2013.log 這個文件里
cat -n log2012.log log2013.log
(2)把 log2012.log 和 log2013.log 的文件內(nèi)容加上行號(空白行不加)之后將內(nèi)容附加到 log.log 里
cat -b log2012.log log2013.log log.log
(3)使用 here doc 生成新文件
cat log.txt EOF
Hello
World
PWD=$(pwd)
EOF
ls -l log.txt
cat log.txt
Hello
World
PWD=/opt/soft/test
(4)反向列示
tac log.txt
PWD=/opt/soft/test
World
Hello
10、more 命令
功能類似于 cat, more 會以一頁一頁的顯示方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示。
命令參數(shù):
+n 從笫 n 行開始顯示
-n 定義屏幕大小為n行
+/pattern 在每個檔案顯示前搜尋該字串(pattern),然后從該字串前兩行之后開始顯示
-c 從頂部清屏,然后顯示
-d 提示“Press space to continue,’q’ to quit(按空格鍵繼續(xù),按q鍵退出)”,禁用響鈴功能
-l 忽略Ctrl+l(換頁)字符
-p 通過清除窗口而不是滾屏來對文件進(jìn)行換頁,與-c選項(xiàng)相似
-s 把連續(xù)的多個空行顯示為一行
-u 把文件內(nèi)容中的下畫線去掉
常用操作命令:
Enter 向下 n 行,需要定義。默認(rèn)為 1 行
Ctrl+F 向下滾動一屏
空格鍵 向下滾動一屏
Ctrl+B 返回上一屏
= 輸出當(dāng)前行的行號
:f 輸出文件名和當(dāng)前行的行號
V 調(diào)用vi編輯器
!命令 調(diào)用Shell,并執(zhí)行命令
q 退出more
實(shí)例:
(1)顯示文件中從第3行起的內(nèi)容
more +3 text.txt
(2)在所列出文件目錄詳細(xì)信息,借助管道使每次顯示 5 行
ls -l | more -5
按空格顯示下 5 行。
11、less 命令
less 與 more 類似,但使用 less 可以隨意瀏覽文件,而 more 僅能向前移動,卻不能向后移動,而且 less 在查看之前不會加載整個文件。
常用命令參數(shù):
-i 忽略搜索時的大小寫
-N 顯示每行的行號
-o 文件名 將less 輸出的內(nèi)容在指定文件中保存起來
-s 顯示連續(xù)空行為一行
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重復(fù)前一個搜索(與 / 或 ? 有關(guān))
N:反向重復(fù)前一個搜索(與 / 或 ? 有關(guān))
-x 數(shù)字 將“tab”鍵顯示為規(guī)定的數(shù)字空格
b 向后翻一頁
d 向后翻半頁
h 顯示幫助界面
Q 退出less 命令
u 向前滾動半頁
y 向前滾動一行
空格鍵 滾動一行
回車鍵 滾動一頁
[pagedown]: 向下翻動一頁
[pageup]: 向上翻動一頁
實(shí)例:
(1)ps 查看進(jìn)程信息并通過 less 分頁顯示
ps -aux | less -N
(2)查看多個文件
less 1.log 2.log
可以使用 n 查看下一個,使用 p 查看前一個。
12、head 命令
head 用來顯示檔案的開頭至標(biāo)準(zhǔn)輸出中,默認(rèn) head 命令打印其相應(yīng)文件的開頭 10 行。
常用參數(shù):
-n行數(shù) 顯示的行數(shù)(行數(shù)為復(fù)數(shù)表示從最后向前數(shù))
實(shí)例:
(1)顯示 1.log 文件中前 20 行
head 1.log -n 20
(2)顯示 1.log 文件前 20 字節(jié)
head -c 20 log2014.log
(3)顯示 t.log最后 10 行
head -n -10 t.log
13、tail 命令
用于顯示指定文件末尾內(nèi)容,不指定文件時,作為輸入信息進(jìn)行處理。常用查看日志文件。
常用參數(shù):
-f 循環(huán)讀?。ǔS糜诓榭催f增的日志文件)
-n行數(shù) 顯示行數(shù)(從后向前)
(1)循環(huán)讀取逐漸增加的文件內(nèi)容
ping 127.0.0.1 ping.log
后臺運(yùn)行:可使用 jobs -l 查看,也可使用 fg 將其移到前臺運(yùn)行。
tail -f ping.log
(查看日志)
14、which 命令
在 linux 要查找某個文件,但不知道放在哪里了,可以使用下面的一些命令來搜索:
which 查看可執(zhí)行文件的位置。
whereis 查看文件的位置。
locate 配合數(shù)據(jù)庫查看文件位置。
find 實(shí)際搜尋硬盤查詢文件名稱。
which 是在 PATH 就是指定的路徑中,搜索某個系統(tǒng)命令的位置,并返回第一個搜索結(jié)果。使用 which 命令,就可以看到某個系統(tǒng)命令是否存在,以及執(zhí)行的到底是哪一個位置的命令。
常用參數(shù):
-n 指定文件名長度,指定的長度必須大于或等于所有文件中最長的文件名。
實(shí)例:
(1)查看 ls 命令是否存在,執(zhí)行哪個
which ls
(2)查看 which
which which
(3)查看 cd
which cd(顯示不存在,因?yàn)?cd 是內(nèi)建命令,而 which 查找顯示是 PATH 中的命令)
查看當(dāng)前 PATH 配置:
echo $PATH
或使用 env 查看所有環(huán)境變量及對應(yīng)值
15、whereis 命令
whereis 命令只能用于程序名的搜索,而且只搜索二進(jìn)制文件(參數(shù)-b)、man說明文件(參數(shù)-m)和源代碼文件(參數(shù)-s)。如果省略參數(shù),則返回所有信息。whereis 及 locate 都是基于系統(tǒng)內(nèi)建的數(shù)據(jù)庫進(jìn)行搜索,因此效率很高,而find則是遍歷硬盤查找文件。
常用參數(shù):
-b 定位可執(zhí)行文件。
-m 定位幫助文件。
-s 定位源代碼文件。
-u 搜索默認(rèn)路徑下除可執(zhí)行文件、源代碼文件、幫助文件以外的其它文件。
實(shí)例:
(1)查找 locate 程序相關(guān)文件
whereis locate
(2)查找 locate 的源碼文件
whereis -s locate
(3)查找 lcoate 的幫助文件
whereis -m locate
你這里完全不用考慮什么時候執(zhí)行完成。應(yīng)為system函數(shù)會在參數(shù)中的命令執(zhí)行完成之后才返回,system函數(shù)執(zhí)行完之后,你就可以假定文件已經(jīng)下載完成。
具體可以查看man-pages:“man 3 system”
要經(jīng)過GCC命令在本機(jī)編譯后方可使用
在Linux系統(tǒng)中,安裝軟件最常見的有兩種:
一種是軟件的源代碼,您需要自己動手編譯它。這種軟件安裝包通常是用gzip壓縮過的tar包(后綴名為.tar.gz)。
另一種是軟件的可執(zhí)行程序,你只要安裝它就可以了。這種軟件安裝包通常是一個RPM包(RedHat Linux Packet Manager,就是RedHat的軟件包管理器),后綴名是.rpm。當(dāng)然,也有用RPM格式打包的源代碼、用gzip壓縮過的可執(zhí)行套裝程序。只要您理解了以下的思路,這兩種形式的安裝包也不在話下了。
源代碼編譯安裝
Linux軟件的源代碼分發(fā)是指提供了該軟件所有程序源代碼的發(fā)布形式,需要用戶自己編譯成可執(zhí)行的二進(jìn)制碼并進(jìn)行安裝。其優(yōu)點(diǎn)是配置靈活,可以隨意去掉或保留某些功能/模塊,適應(yīng)多種硬件/操作系統(tǒng)平臺及編譯環(huán)境;缺點(diǎn)是難度較大,一般不適合初學(xué)者使用。
各個軟件的源代碼包一般都在各個軟件項(xiàng)目的主頁中提供下載,例如:等。
1.*.src.rpm形式的源代碼軟件包
安裝:
rpm -rebuild *.src.rpm
cd /usr/src/dist/RPMS
rpm -ivh *.rpm
卸載:
rpm -e packgename
說明:rpm --rebuild *.src.rpm命令將源代碼編譯并在/usr/src/dist/RPMS下生成二進(jìn)制的RPM軟件包,然后再安裝該二進(jìn)制包即可。Packgename如前所述。
2.*.tar.gz/*.tgz/*.bz2形式的源代碼軟件包
以tar.gz或tgz或tar.bz2等格式結(jié)尾的軟件包一般都是以源代碼方式發(fā)布的軟件,安裝這類軟件首先需要對軟件進(jìn)行解壓:
# tar zxvf filename.tar.gz
# tar xvfz filename.tgz
# tar xvf j filename.tar.bz2
解壓以后,就可以進(jìn)入解壓后的目錄:
# cd filename/
對于這類文檔,常見的安裝步驟是:配置、編譯和安裝3步,其中最麻煩的就是配置,因?yàn)樗泻蛙浖惭b相關(guān)的配置都是在這一步指定的:比如軟件安裝位置等。
配置:./configure
編譯:make
安裝:make install
卸載:make uninstall 或手動刪除
說明:建議解壓后先閱讀說明文件(ReadMe和Install),了解安裝的需求,有必要時還需改動編譯配置。有些軟件包的源代碼在編譯安裝后可以用make uninstall命令來進(jìn)行卸載,如果不提供此功能,則軟件的卸載必須手動進(jìn)行。由于軟件可能將文件分散地安裝在系統(tǒng)的多個目錄中,往往很難把它刪除干凈,那你應(yīng)該在編譯前進(jìn)行配置,指定軟件將要安裝到目標(biāo)路徑:./configure --prefix=目錄名,這樣可以使用“rm -rf 軟件目錄名”命令來進(jìn)行干凈徹底的卸載。與其他安裝方式相比,需要用戶自己編譯安裝是最難的,它適合于使用Linux已有一定經(jīng)驗(yàn)的人,一般不推薦初學(xué)者使用。
RPM格式軟件包的安裝
RPM是RedHat公司開發(fā)的軟件包管理器,使用它可以很容易地對RPM形式的軟件包進(jìn)行安裝、升級、卸載、驗(yàn)證、查詢等操作,安裝簡單,而卸載時也可以將軟件安裝在多處目錄中的文件刪除干凈,因此推薦初學(xué)者盡可能使用RPM形式的軟件包。軟件包往往有特定的命令規(guī)范,名字是由“文件名+版本號+. rpm”組成的字串,例如apache-3.1.12-i386.rpm和apache-devel-3.1.12-i386.rpm,它們的軟件包名稱分別是apache和apache-devel。各個支持RPM格式的Linux常見軟件的RPM包可以在網(wǎng)站rpmfind.net中找到。
1.安裝
命令格式:
rpm-i(or--install) options file1.rpm ... fileN.rpm
參數(shù):
file1.rpm...fileN.rpm指將要安裝的RPM包的文件名。
詳細(xì)選項(xiàng):
-h(or—hash)安裝時輸出hash記號;test只對安裝進(jìn)行測試,并不實(shí)際安裝;--percent以百分比的形式輸出安裝的進(jìn)度;-- excludedocs不安裝軟件包中的文檔;--includedocs安裝文檔;--replacepkgs強(qiáng)制重新安裝已經(jīng)安裝的軟件包;-- replacefiles替換屬于其他軟件包的文件;--force忽略軟件包及文檔的沖突;--noscripts不運(yùn)行預(yù)安裝和后安裝腳本;-- prefix NEWPATH將軟件包安裝到由NEWPATH指定的路徑下;--ignorearch不校驗(yàn)軟件包的結(jié)構(gòu);--ignoreos不檢查軟件包運(yùn)行的操作系統(tǒng);--nodeps不檢查依賴性關(guān)系;--ftpproxy HOST用HOST作為FTP代理;--ftpport PORT指定FTP的端口號為PORT。
通用選項(xiàng):
-v顯示附加信息;-vv顯示調(diào)試信息;--root DIRECTORY讓RPM將DIRECTORY指定的路徑作為根目錄,這樣預(yù)安裝程序和后安裝程序都會安裝到這個目錄下;--rcfile FILELIST設(shè)置rpmrc文檔為FILELIST;--dbpath DIRECTORY設(shè)置RPM資料庫所在的路徑為DIRECTORY。
2.刪除
命令格式:
rpm -e(or--erase) options pkg1 ... pkgN
參數(shù):
pkg1...pkgN:要刪除的軟件包。
詳細(xì)選項(xiàng):
--test只執(zhí)行刪除的測試;--noscripts不運(yùn)行預(yù)安裝和后安裝腳本程序;--nodeps不檢查依賴性。
通用選項(xiàng):
-vv顯示調(diào)試信息;--root DIRECTORY讓RPM將DIRECTORY指定的路徑作為根目錄,這樣預(yù)安裝程序和后安裝程序都會安裝到這個目錄下;--rcfile FILELIST設(shè)置rpmrc文檔為FILELIST;--dbpath DIRECTORY設(shè)置RPM資料庫所在的路徑為DIRECTORY。
3.升級
命令格式:
rpm -U(or--upgrade) options file1.rpm ... fileN.rpm
參數(shù):
file1.rpm...fileN.rpm指軟件包的名字。
詳細(xì)選項(xiàng):
-h(or—hash)安裝時輸出hash記號;—oldpackage允許一個舊版本;--test只進(jìn)行升級測試;--excludedocs不安裝軟件包中的文件;--includedocs安裝文件;--replacepkgs強(qiáng)制重新安裝已經(jīng)安裝的軟件包;--replacefiles替換屬于其他軟件包的文件;--force忽略軟件包及文件的沖突;--percent以百分比的形式輸出安裝的進(jìn)度;--noscripts不運(yùn)行預(yù)安裝和后安裝腳本;--prefix NEWPATH將軟件包安裝到由NEWPATH指定的路徑下;--ignorearch不校驗(yàn)軟件包的結(jié)構(gòu);--ignoreos不檢查軟件包運(yùn)行的操作系統(tǒng);--nodeps不檢查依賴性關(guān)系;--ftpproxy HOST用HOST作為FTP代理;--ftpport HOST指定FTP的埠號為HOST。
通用選項(xiàng):
-v顯示附加信息;-vv顯示調(diào)試信息;--root DIRECTORY讓RPM將DIRECTORY指定的路徑作為根目錄,這樣預(yù)安裝程序和后安裝程序都會安裝到這個目錄下;--rcfile FILELIST設(shè)置rpmrc文件為FILELIST ;--dbpath DIRECTORY設(shè)置RPM資料庫所在的路徑為DIRECTORY。
4.查詢
命令格式:
rpm -q(or--query) options
參數(shù):
pkg1...pkgN:查詢已安裝的軟件包。
詳細(xì)選項(xiàng):
-p PACKAGE_FILE查詢軟件包的文件;-f FILE查詢FILE屬于哪個軟件包;-a查詢所有安裝的軟件包;--whatproVides CAPABILITY查詢提供了CAPABILITY功能的軟件包;-g group查詢屬于group組的軟件包;--whatrequires CAPABILITY查詢所有需要CAPABILITY功能的軟件包。
選項(xiàng):
-i顯示軟件包的概要信息;-l顯示軟件包中的文件列表;-c顯示配置文件列表;-d顯示文件列表;-s顯示軟件包中文檔列表并顯示每個文件的狀態(tài) -;-scripts顯示安裝、卸載、校驗(yàn)?zāi)_本;--queryformat(or--qf)以用戶指定的方式顯示查詢信息;--dump顯示每個文件的所有已校驗(yàn)信息;--proVides顯示軟件包提供的功能;--requires(or-R)顯示軟件包所需的功能。
通用選項(xiàng):
-v顯示附加信息;-vv顯示調(diào)試信息;--root DIRECTORY讓RPM將DIRECTORY指定的路徑作為根目錄,這樣預(yù)安裝程序和后安裝程序都會安裝到這個目錄下;-rcfile FILELIST設(shè)置rpmrc文件為FILELIST;--dbpath DIRECTORY設(shè)置RPM資料庫所在的路徑為DIRECTORY。
5.校驗(yàn)已安裝的軟件包
命令格式:
rpm -V(or--verify,or-y) options
參數(shù):
pkg1...pkgN將要校驗(yàn)的軟件包名
軟件包選項(xiàng):
-p PACKAGE_FILE校驗(yàn)PACKAGE_FILE所屬的軟件包;-a校驗(yàn)所有的軟件包;-g group校驗(yàn)所有屬于組group的軟件包。
詳細(xì)選項(xiàng):
--noscripts不運(yùn)行校驗(yàn)?zāi)_本;--nodeps不校驗(yàn)依賴性;--nofiles不校驗(yàn)文檔屬性。
通用選項(xiàng):
-v顯示附加信息;-vv顯示調(diào)試信息;--root PATH讓RPM將PATH指定的路徑做為根目錄,這樣預(yù)安裝程序和后安裝程序都會安裝到這個目錄下;--rcfile FILELIST設(shè)置rpmrc文件為FILELIST;--dbpath DIRECTORY設(shè)置RPM資料庫所在的路徑為DIRECTORY。
6.校驗(yàn)軟件包中的文件
語法:
rpm -K(or--checksig) options file1.rpm...fileN.rpm
參數(shù):
file1.rpm...fileN.rpm軟件包的文件名;Checksig--詳細(xì)選項(xiàng);--nopgp不校驗(yàn)PGP簽名。
通用選項(xiàng):
-v顯示附加信息;-vv顯示調(diào)試信息;--rcfile FILELIST設(shè)置rpmrc文件為FILELIST。
7.其他RPM選項(xiàng)
--rebuilddb重建RPM資料庫;--initdb創(chuàng)建一個新的RPM資料庫;--quiet盡可能地減少輸出;--help顯示幫助文件;--version顯示RPM的當(dāng)前版本。
如果你不喜歡在字符接口下安裝或卸載這些軟件包,完全可以安裝基于X-Window的圖形接口軟件包管理程序,如glint, xrpm這樣的圖形接口。或使用KDE的KPackage(單擊【開始】→【運(yùn)行命令】,在其中輸入KPackage即可啟動KPackage)等,這樣對軟件包的安裝、升級、卸載、驗(yàn)證和查詢就可以通過單擊鼠標(biāo)來輕松完成,如圖所示。
需要注意的是,每個RPM軟件包格式的軟件并不一定是獨(dú)立的,各個RPM軟件包之間有一定的依賴關(guān)系,刪除某個RPM軟件包可能導(dǎo)致別的軟件不能使用。因此在升級和刪除時應(yīng)該注意。
要充分理解本文,必須具備Windows 環(huán)境下桌面應(yīng)用程序的工作經(jīng)驗(yàn),我認(rèn)為讀者對如何使用 Linux 桌面有一個基本的了解。使用一個運(yùn)行的 Linux 計(jì)算來機(jī)探討本文的概念和示例是很有幫助的。
有時候第一次在 Linux 上運(yùn)行一個應(yīng)用程序需要一點(diǎn)額外工作。有些應(yīng)用程序,比如服務(wù)器服務(wù),可能無法安裝為服務(wù),因此您需要從命令行啟動這些應(yīng)用程序。對于啟動這些應(yīng)用程序的用戶帳戶而言,需要在應(yīng)用程序文件中設(shè)置執(zhí)行許可標(biāo)志 (x)。
Linux 在內(nèi)核空間或用戶空間運(yùn)行進(jìn)程。用戶空間 是操作系統(tǒng)的區(qū)域,應(yīng)用程序通常在此運(yùn)行。簡單地說,每個用戶帳戶有其自己的用戶空間,應(yīng)用程序在這個領(lǐng)域內(nèi)運(yùn)行。
默認(rèn)情況下,只有 root 用戶有權(quán)訪問內(nèi)核空間。root 用戶 是 Linux 中的超級用戶,相當(dāng)于 Windows 中的管理員帳戶。在 root 用戶帳戶下運(yùn)行應(yīng)用程序可能會引起安全風(fēng)險,是不可取的。
很多服務(wù)器服務(wù)需要 root 權(quán)限啟動服務(wù)。然而,服務(wù)啟動后,root 帳戶通常會將其移至服務(wù)帳戶。嚴(yán)格地說,Linux 中的服務(wù)帳戶 才是標(biāo)準(zhǔn)的用戶帳戶。主要區(qū)別是服務(wù)帳戶僅用于運(yùn)行一個服務(wù),而不是為任何實(shí)際登錄的用戶準(zhǔn)備的。
您可以使用 chmod 命令在一個文件中設(shè)置執(zhí)行權(quán)限。在 Linux 中,umask 設(shè)置通常用來防止下載的文件被執(zhí)行,也有充分的理由相信,因?yàn)樗兄诰S護(hù) Linux 計(jì)算機(jī)的安全性。
大多數(shù) Linux 發(fā)行版具有一個值為 022 的 umask 設(shè)置,這意味著,默認(rèn)情況下一個新文件權(quán)限設(shè)置為 644。權(quán)限的數(shù)字表示形式采用讀 (4)、寫 (2)、執(zhí)行 (1) 的格式。因此,默認(rèn)權(quán)限為 644 的應(yīng)用程序下載意味著文件所有者有讀寫權(quán)限,而組用戶和其他用戶只有讀權(quán)限。
例如,為每個人賦予一個文件的執(zhí)行權(quán)限,使用 chmod a+x 命令。a 表示所有人,加號 (+) 表示添加,而 x 表示執(zhí)行。同樣地,如果應(yīng)用程序是一個服務(wù)器服務(wù),您應(yīng)該確保只有授權(quán)帳戶才有權(quán)執(zhí)行此服務(wù)。
如果一個應(yīng)用程序能夠在標(biāo)準(zhǔn)用戶帳戶權(quán)限下運(yùn)行,但只有特定組中的用戶才需要使用它,您可以將該組所有者權(quán)限設(shè)置為可執(zhí)行,然后將這些用戶添加到該組中。
更具體地說,您可以在一個可執(zhí)行文件中設(shè)置訪問控制列表 (ACL) 權(quán)限,賦予特定用戶或組權(quán)限來運(yùn)行該應(yīng)用程序。使用 setfacl 實(shí)用工具設(shè)置 ACL 權(quán)限。
對于這些需要以 root 用戶啟動進(jìn)程的應(yīng)用程序,比如服務(wù)器服務(wù),您有幾個選擇。總結(jié)了允許用戶執(zhí)行需要 root 權(quán)限的服務(wù)器服務(wù)的各種選項(xiàng)。
作為 root 用戶 不推薦用于服務(wù)器服務(wù)。當(dāng)用戶已經(jīng)知道 root 密碼而且應(yīng)用程序泄露不是首要關(guān)注問題時,可用于應(yīng)用程序。
SetUID 由于安全問題,不推薦使用。SetUID 允許標(biāo)準(zhǔn)用戶以另一個用戶方式,比如 root 用戶,執(zhí)行一個文件。
sudo 很常用,并且被認(rèn)為是一個很好的實(shí)踐。sudo 授予一個用戶或組成員權(quán)限以執(zhí)行可能額外需要 root 權(quán)限的文件。該用戶不需要知道 root 密碼。
帶有文件權(quán)限的標(biāo)準(zhǔn)用戶帳戶 在一個文件上為用戶所有者、組所有者或其他人(所有人)設(shè)置執(zhí)行權(quán)限。這是授予那些不需要 root 權(quán)限來執(zhí)行應(yīng)用程序的用戶的常用方法。
帶有 ACL 權(quán)限的標(biāo)準(zhǔn)用戶帳戶 使用較少,但是如果您不想授予一個用戶 sudo 訪問或者更改文件的權(quán)限,這也是一個可行的解決方案。在一個文件上使用 setfacl 命令,您可以授予一個特定用戶或用戶組執(zhí)行該文件的權(quán)力。
在管理 Linux 服務(wù)器時,從命令行運(yùn)行應(yīng)用程序是一項(xiàng)基本的任務(wù)。很多應(yīng)用程序使用 shell 腳本(類似于 Windows 批處理文件 .bat)來啟動應(yīng)用程序并執(zhí)行其他任務(wù),比如設(shè)置變量以及為其他用戶分配進(jìn)程。例如,應(yīng)用程序可能需要一個 Java? Virtual Machine (JVM) 來執(zhí)行。那樣的話,shell 腳本可以設(shè)置適當(dāng)?shù)沫h(huán)境變量,然后執(zhí)行 Java 命令來運(yùn)行 Java Archive (JAR) 或類文件。這同樣適用于使用 Perl、Python、甚至 C# 的應(yīng)用程序。(當(dāng)然,C# 編譯的應(yīng)用程序可以在 Linux 上運(yùn)行)
從命令行或者 shell 提示符執(zhí)行應(yīng)用程序的一個常用方法是使用 ./ 命令。如果您在 Linux 中使用句號 (.) 和正斜杠 (/),就意味著告訴環(huán)境您想要以可執(zhí)行文件運(yùn)行該文件。例如,運(yùn)行一個名為 myapp 的可執(zhí)行文件,您可以使用 ./myapp 命令。同樣地,您可以在文件名之前加上語言環(huán)境,比如:
sh php python perl java
但更多情況下,套裝應(yīng)用程序使用 shell 腳本,以 #! 符號設(shè)置環(huán)境變量提供該語言的運(yùn)行時可執(zhí)行路徑,比如 #!/usr/bin/python。您也應(yīng)該熟悉這種方法。
清單 1 使用 catalina.sh 默認(rèn)腳本通過 ./ 方法啟動 Apache Tomcat 應(yīng)用程序服務(wù)器。然后,使用 sh 方法啟動服務(wù)器。因?yàn)槟J(rèn)端口是 8080,標(biāo)準(zhǔn)用戶不需要對其進(jìn)行特別修改就可以啟動該服務(wù)。