Linux常用命令大全



一、

Linux常用命令 1
△文件目錄操作命令:
--ls touch  cp  mv  rm cd  ln
--cat  more  less  head  tail
--pwd mkdir  rmdir
--find  grep
--tar  gzip  compress
--sort  paste wc


△→ls
§用法:ls 參數:
-a:顯示所有文件,包括隱藏文件(以.開頭的文件)
-l:以長格式顯示
-F:在每個文件名後附上一個字符以說明該文件的類型,“*”表示可執行的普通文件;“/”表示目錄;“@”表示符號鏈接;“|”表示FIFOs;“=”表示套接字(sockets)。
-D:將目錄象文件一樣顯示,而不是顯示其下的文件
-t:按修改時間先後顯示
-R:顯示目錄及下級子目錄結構
-m: ?橫向輸出文件名,並以“,”作分格符。
-S: ?以文件大小排序。

§範例:
ls –a
ls –alR
ls -F

§備註:
加-F參數時,
*: 可執行文件
/: 目錄
@:鏈接文件

Linux的文件類型
-普通文件:
例:純文本文件,配置文件conf
顯示顏色爲白色
-目錄:
又稱文件夾
顯示顏色爲藍色
-可執行文件:
調用文件名可以運行的文件
顯示顏色爲綠色


△→用顏色代表不同文件
§藍色:目錄
§綠色:可執行文件
§紅色:壓縮文件
§淺藍色:鏈接文件
§灰色:其他文件


△→touch
§作用:生成一個空文件或修改文件的時間
§範例:
--touch * :將當前目錄下所有文件時間修改爲當前系統時間
--touch –d 20010602 test:將文件test的時間修改爲20010602
--touch test2:如果test2存在,則修改爲當前系統時間,如果不存在,則生成一個爲當前時間的空文件


△→cp – copy file
§用法:cp –afpx source target
-a:儘可能保持文件的結構和屬性
-p:保持原始文件日期
-f :如果目標文件已經存在,則覆蓋它
-i :提示是否覆蓋現有的普通目標文件
-R:包含子目錄
§範例:
--cp ls.txt mydir1
--cp –a mydir1 mydir2
--cp /etc/syslog.conf  ./
--cp -a /etc/sound/  /home/so/


△→mv – move file
§用法:mv –b source target
-b:給被覆蓋的文件建立一個備份
§範例:
--mv  abc bcd
--mv  abc mydir/
--mv  -b abc mydir/


△→rm – remove
§用法:rm –irf 文件或目錄
i:交互模式
r:刪除目錄及以下所有內容
f:強制刪除

§注意:
Root用戶在刪除文件時要特別小心
權限問題


△→cd – change directory
§用法:cd [目錄]
§作用:切換路徑
§範例:
--cd ..
--cd .
--cd ~
--cd /
--cd ../usr


△→pwd – print work directory
§用法:pwd
§作用:顯示當前工作目錄
§範例:配合cd


△→創建和刪除目錄
§mkdir
用法: mkdir  目錄名
作用:創建目錄新的目錄
範例:mkdir abc

§rmdir
用法: rmdir目錄名
作用:刪除空目錄
範例:rmdir  abc


△→file
file 文件名
查看文件內型
(後面會介紹)


△→cat 、more、 less
§cat:輸出文本文件內容(文本文件合併)
範例:
 cat tt.txt
 cat   txta  txtb  > txt

§more:按頁顯示文件
範例:more tt.txt

§less:按頁顯示文件,可以使用翻頁鍵
範例:less tt.txt


△→head、tail
§head:顯示文件的前?行
範例:head –20 /etc/passwd

§tail:顯示文件的後?行(默認是10行)
--加-f參數,會實時的監視某程序
範例:
--tail –20 /etc/passwd
--Tail +20 /etc/passwd (模2除後再到結尾)


△→sort 與 paste
§sort:將文本文件排序
範例:
sort passwd
sort –n test :將test按照數字大小排序
sort test1 test2 test3:將文件test1,test2,test3的內容聯合排序
-o filename  把結果保存在filename中
-u 不顯示重複的行

§paste:將不同文件合併
範例:
paste test1 test2 > test3


◆文件的硬鏈接:
§相當於一個文件的兩個副本,指向同一數據存儲區

§特點:
---兩個文件,長度相等,總長度不變
---刪除其中一個文件,另一個仍然存在
---修改其中一個文件,另一個也修改


◆文件的符號鏈接:
§相當於一個文件的快捷方式

§特點:
---僅保存一個指針,長度小於原文件
---刪除符號鏈接,不影響原文件
---刪除原文件,符號鏈接即沒有意義


◆ln命令–link
§功能:產生鏈接文件
§用法:ln –s 來源文件 目標文件
---加-s參數:symbolic link
---不加-s參數:hard link
§範例:
 ln –s /bin/less  /usr/bin/less
 ln myfile  mylinkfile


◆which
§查找內部命令的完整路徑和別名


◆whereis – where is file ?
§作用:查找文件或目錄位置
§說明:whereis並不進行磁盤級的查找,只是在$PATH所設定的路徑中去查找
§範例:whereis ls

備註:$PATH的設置在Shell一章進行介紹


◆find
§作用:查找文件或目錄
§用法:find 查找路徑  匹配條件 
 動作 常用匹配條件
§- type d表示目錄f表示文件l表示鏈接b塊文件p管道文件
§name ‘字符串’
§iname ‘字符串’ 不區分大小寫
§user 用戶名
§group 組名
§perm xxxx
§size n
§atime n  過去n天被訪問過的
§mtime n 在過去n天中被修改過的

備註:
name和iname:name區分大小寫,iname不區分大小寫
find / -name core –print -exec rm –rf  {}  \;
(p131):在Linux環境中當某個程序執行錯誤時,就會將存留在內存中的內容保存成core文件,因此係統運行一段時間後,會形成很多core文件,上面命令的作用是:
從根目錄開始查找文件core,並把符合的結果打印出來,然後用-exec執行rm –rf,將查找的結果(以大括號{})刪除,注意命令最後一定要加  \;  ,否則不是合法命令。

find的範例:
--find . -name ls.txt
--find . -name ls.txt –print
--find / -name ‘c??’ –print
--find / -name ‘f*’ –print
--find . -name ‘f*’ –exec ls –l {} \;
--find . -name f\* –ok rm {} \;
--find . -perm 644  –mtime 4
--find . -name ‘c??’ –o -name ‘d??’


◆locate,updatedb
§locate
作用:查找文件或目錄
範例:locate l1.txt
注意:不是從磁盤空間上查找,而是從 
updatedb產生的文件中查找

§updatedb
作用:更新資料庫
說明:以root身份登錄後纔可以執行


◆grep
§功能:在文件中查找匹配的字符串
§格式:grep  [參數] “待查字符串” 文件
-v 反向匹配
-w 完整匹配
-i 忽略大小寫
-c 只顯示有幾行符號要求
-n 在顯示行前標上在文檔中的行號

△使用簡單的正則表達式
§. :任意一個字符。
§* :匹配字符的零次或多次出現。
§[a-z] :a到z的任意字符一個
§^a :以字母a開始的行
§a$ :以字母a結束的行

△在grep中使用正則表達式
§$ grep ‘[Ff]leas’ fleas
§$ grep –c ‘.’ fleas
§$ grep –n ‘.*’ fleas>fleas.num
§$ grep –i ‘and’ fleas
§$ grep –w ‘on’ fleas


◆wc
§wc 選項 文件
§統計文件中的行數、單詞數、字符數
§-c:顯示字節數
§-w:顯示單詞數
§-l:顯示行數


◆壓縮與解壓縮-常用壓縮工具
§gzip,gunzip   .gz
§zip,unzip    .zip
§tar        .tar
§compress      .Z
§bzip2      .bz2


△→gzip
§功能:壓縮文件,壓縮後文件格式 .gz
§選項:
-1:快速壓縮
-9:最佳壓縮狀態
-r:壓縮時包括子目錄
-d:解壓縮
§範例:
--gzip –1 file1.jpg
--gzip –d file1.jpg.gz
§注意:
---壓縮後源文件消失
---壓縮目錄時並不會將整個目錄壓縮成一個單獨文件


△→gunzip
§功能:
對gzip文件進行解壓縮
§範例:
--gunzip dd.jpg.gz
--gunzip –r mydir1/ (解開mydir1目錄中的所有gzip的壓縮文件)


△→tar
§功能:
歸檔多個文件和目錄到一個.tar文件內,同時實現反向功能。

§格式:
tar [c][x][v][z][f filename] file or dirname

§選項:
-c:建立一個.tar文件
-v:顯示冗餘信息
-f:指定新文件名
-x:解壓某個文件


△→compress
§功能:
壓縮和解壓縮(紅旗4.0沒有提供)

§參數:
-v:顯示壓縮比例和壓縮後的文件名
-d:將.Z結尾的的壓縮文件解壓縮
-f:強制將文件壓縮

§範例:
--compress –v letter.txt
--compress –d letter.txt.Z


△→bzip2
§功能:
壓縮和解壓縮

§參數:
z:壓縮
d:解壓縮
k:不刪除原文件

§範例:
--bzip2 –z wtb.*
--bzip2 –dk wtb.c.bz2

 

◆◆Linux常用命令 2
△信息顯示命令:
--dmesg
--file
--who  w  whoami
--hostname  uname
--du  df  free


△→dmesg
§功能:
顯示機器引導時內核顯示的狀態信息

§參數:
-c :顯示出狀態後刪除這些信息

§用法:
dmesg


△→file
§功能:測試文件類型
§/usr/share/magic.mime保存文件類型

§參數
-b:不顯示文件名
-f  filename:用一個文件文件保存的每一行作爲文件去檢查
-k :搜索到第一個匹配項不停止
-z :檢查壓縮文件中的每一個文件
-s /dev/hd*:檢查分區系統類型

§範例
--file *
--file –s /dev/hda2

備註:file –z ff.gz:檢測壓縮文件ff.gz的類型


△→who
§who功能:
查看其他登錄的用戶

§參數:
-b:系統最後啓動時間
-a:顯示所有信息
-H:顯示項目標頭
-r:查看系統運行等級
-w,在登錄帳號後面顯示一個字符來表示用戶的信息狀態:
---"+":允許寫信息;
---"-":不允許寫信息;
---"?":不能找到終端設備。
-q:統計當前有多少用戶登錄系統


§輸出的通用格式如下:
name [state] line time [idle] [pid] [commnet] [exit]

--name用戶的登陸名
--state寫到終端的能力
--line在/dev中找到的行名
--time自從用戶登陸所用的時間
--idle自從用戶最後一次活動所經歷的時間
--pid用戶的進程ID
--commnet註釋行
--exit已死進程的退出狀態


△→W
§w功能:
查看其他登錄的用戶(who增強版)

§第一行輸出內容:當前時間,系統啓動到現在的時間,登錄用戶的數目,系統在最近1秒、5秒和15秒的平均負載

§第二行輸出內容:登錄帳號、終端名稱、遠程主機名、登錄時間、空閒時間、JCPU、PCPU、當前正在運行進程的命令行。

*JCPU時間指的是和該終端(tty)連接的所有進程佔用的時間

*PCPU時間則是指當前進程(即在WHAT項中顯示的進程)所佔用的時間


△→whoami
§whoami的功能
查看登錄用戶自己的信息

§whoami使用範例
whoami


△△→whoami和who am i區別:
1.whoami顯示effective current username(即通過su username1之後, 顯示的是username1);
2.who am i顯示的是original username(即在使用su命令之前的username).


△→hostname:
查看主機名 (根據/etc/hosts文件顯示)

§參數:
-a:顯示系統別名
-d:顯示系統域名
-f: 顯示FQDN名
-i:顯示本機IP地址(127.0.0.1)


△→uname:
顯示系統信息

§參數:
 -s:顯示內核名
 -r:顯示內核版本
 -i:顯示硬件平臺
-p:顯示處理器內型
-o:顯示操作系統內型


△→du:
-c:統計大小用K表示.
-b:用Byte表示.
-s:統計整個目錄所佔空間.
--max-depth=N,顯示幾級目錄.

報告指定的文件(目錄)已使用的磁盤空間的總量.


△→df:
報告文件系統磁盤空間的使用情況

-h:更人性化顯示
-i: 顯示節點信息
-l: 顯示本地文件系統信息
-t filesystem type: 顯示指定類型的文件系統信息


△→free:
查看當前內存和交換空間的使用情況.

-t:顯示總的內存信息(物理內存+虛擬內存)
-s N:實時監視內存,延遲N秒顯示信息

*根據/proc/meminfo文件分析的結果

 

 

 

二、

1. Vi命令

1) 光標命令 
k,j,h,l
——上下左右光標移動命令,雖然你可以在Linux中使用鍵盤右邊的四個光標鍵, 但是記住這四個命令還有非常有用的,也就是右手在鍵盤上放置的位置部分
nG ——n爲行數,該命令立即使光標跳到指定行。 
Ctrl+G
——光標所在位置的行數和列數報告 
w,b
——使光標向前或向後跳過一個單詞 

2) 
編輯命令 
i,a,r
——在光標的前,,上方插入字符命令(i=insert,a=append,r=replace) 
cw,dw
——改變(置換)/刪除光標所在處的單詞的命令 (c=change,d=delete) 
x,d$,dd
——刪除一個字符,光標所在處到行尾的所有字符,和整行的命令 

3) 
查找命令 
/string, ?string
——從光標所在處向後/向前查找相應的字符串的命令 

4)
拷貝複製命令 
yy,p 
——拷貝一行到剪貼板/取出剪貼板中內容的命令 

三、常見問題及應用技巧 

1) 
在一個新文件中讀/etc/passwd中的內容,取出用戶名部分 
vi file 
:r /etc/passwd 
在打開的文件file中光標所在處讀入/etc/passwd 
:%s/:.*//g 
刪除/etc/passwd中用戶名後面的從冒號開始直到行尾的所有部分 
:3r /etc/passwd 
這是在指定的行號後面讀入文件內容 

另外一種方法刪掉文件中所有的空行及以#開始的註釋行 
#cat squid.conf.default | grep -v '^$' | grep -v '^#' 

2) 
在打開一個文件編輯後才知道登錄的用戶對該文件沒有寫權,不能存盤 
vi file 
:w /tmp/1 
既然沒法存盤,不想放棄所做的所有修改,先臨時存到/tmp/1 
:20,59w /tmp/1 
或者僅僅把第2059行之間的內容存盤成文件/tmp/1 

3) 
VI編輯一個文件,但需要刪除大段大段的內容 
vi file 
Ctrl+G 
把光標移到需要刪除的行的處按ctrl+G顯示行號,再到結尾處再按Ctrl+G. 
:23,1045d 
假定兩次行號爲231045,則把這幾間的內容全刪除 

也可以在開始和結束兩行中用ma,mb命令標記後用:'a,'bd刪除

4) 
在整個文件或某幾行中在行首或行尾加一些字符串 
vi file 
:3,$s/^/some string /
在文件的第一行至最後一行的行首前插入some string 
:%s/$/ some string/g 
在整個文件每一行的行尾添加 some string 
:%s/string1/string2/g 
在整個文件中替換string1string2 
:3,7s/string1/string2/ 
僅替換文件中的第三到七行中的string1string2 
Note: s
substitute,%表示所有行,g表示global 

5) 
同時編輯兩個文件,在兩個文件中拷貝剪貼文本 
vi file1 file2 
yy 
同時打開兩個文件,在文件1的光標所在處拷貝所在行 
:n 
切換到文件2 (n=next) 
在文件2的光標所在處粘貼所拷貝的行 
:N 
切換回文件

6) 
替換文件中的路徑 
:%s#/usr/bin#/bin#g 
把文件中所有路徑/usr/bin換成/bin 
或者用 
:%s/\/usr\/bin/\/bin/g 
'/'前用\符號指出'/'是真的單個字符'/'

使用命令“:%s#/usr/bin#/bin#g”可以把文件中所有路徑/usr/bin換成/bin。也可以使用命令“:%s//usr/bin//bin/g”實現,其中“”是轉義字符,表明其後的“/”字符是具有實際意義的字符,不是分隔符。




2. cat 命令

使用權限:所有使用者 
使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName 
說明:把檔案串連接後傳到基本輸出(螢幕或加 > fileName 到另一個檔案) 
參數: 

-n 
 --number  1 開始對所有輸出的行數編號 
-b 
 --number-nonblank  -n 相似,只不過對於空白行不編號 
-s 
 --squeeze-blank 當遇到有連續兩行以上的空白行,就代換爲一行的空白行 
-v 
 --show-nonprinting 

範例: 
cat -n textfile1 > textfile2 
 textfile1 的檔案內容加上行號後輸入 textfile2 這個檔案裏 
cat -b textfile1 textfile2 >> textfile3 
 textfile1  textfile2 的檔案內容加上行號(空白行不加)之後將內容附加到 textfile3

3. CD 
命令
使用權限 : 所有使用者 

使用方式 : cd [dirName] 

說明 : 變換工作目錄至 dirName 其中 dirName 表示法可爲絕對路徑或相對路徑。若目錄名稱省略,則變換至使用者的 home directory (也就是剛 login 時所在的目錄) 

另外,"~" 也表示爲 home directory 的意思,"." 則是表示目前所在的目錄,".." 則表示目前目錄位置的上一層目錄。 
範例 : 跳到 /usr/bin/ : 
cd /usr/bin 

跳到自己的 home directory : 
cd ~ 

跳到目前目錄的上上兩層 : 
cd ../..

4. chmod
命令

使用權限 : 所有使用者 

使用方式 : chmod [-cfvR] [--help] [--version] mode file... 

說明 : Linux/Unix 的檔案存取權限分爲三級 : 檔案擁有者、羣組、其他。利用 chmod 可以藉以控制檔案如何被他人所存取。 

例子 : 

mode : 
權限設定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中表示該檔案的擁有者,表示與該檔案的擁有者屬於同一個羣體(group)者,
表示其他以外的人,表示這三者皆是。 
表示增加權限、表示取消權限、表示唯一設定權限。 
表示可讀取,表示可寫入,表示可執行,表示只有當該檔案是個子目錄或者該檔案已經被設定過爲可執行。 
-c : 
若該檔案權限確實已經更改,才顯示其更改動作 
-f : 
若該檔案權限無法被更改也不要顯示錯誤訊息 
-v : 
顯示權限變更的詳細資料 
-R : 
對目前目錄下的所有檔案與子目錄進行相同的權限變更(即以遞迴的方式逐個變更
--help : 
顯示輔助說明 
--version : 
顯示版本 

範例 :將檔案 file1.txt 設爲所有人皆可讀取 : 
chmod ugo+r file1.txt 

將檔案 file1.txt 設爲所有人皆可讀取 : 
chmod a+r file1.txt 

將檔案 file1.txt  file2.txt 設爲該檔案擁有者,與其所屬同一個羣體者可寫入,但其他以外的人則不可寫入 : 
chmod ug+w,o-w file1.txt file2.txt 

 ex1.py 設定爲只有該檔案擁有者可以執行 : 
chmod u+x ex1.py 

將目前目錄下的所有檔案與子目錄皆設爲任何人可讀取 : 
chmod -R a+r * 

此外chmod也可以用數字來表示權限如 chmod 777 file 
語法爲:chmod abc file 
其中a,b,c各爲一個數字,分別表示UserGroup、及Other的權限。 
r=4
w=2x=1 
若要rwx屬性則4+2+1=7 
若要rw-屬性則4+2=6 
若要r-x屬性則4+1=7 

範例: 
chmod a=rwx file 
 
chmod 777 file 
效果相同 
chmod ug=rwx,o=x file 
 
chmod 771 file 
效果相同 
若用chmod 4755 filename可使此程式具有root的權限

5. chown命令

使用權限 : root 

使用方式 : chmod [-cfhvR] [--help] [--version] user[:group] file... 

說明 : Linux/Unix 是多人多工作業系統,所有的檔案皆有擁有者。利用 chown 可以將檔案的擁有者加以改變。一般來說,這個指令只有是由系統管理者(root)所使用,一般使用者沒有權限可以改變別人的檔案擁有者,也沒有權限可以自己的檔案擁有者改設爲別人。只有系統管理者(root)纔有這樣的權限。 

例子 : 

user : 
新的檔案擁有者的使用者 IDgroup : 新的檔案擁有者的使用者羣體(group)-c : 若該檔案擁有者確實已經更改,才顯示其更改動作-f : 若該檔案擁有者無法被更改也不要顯示錯誤訊息-h : 只對於連結(link)進行變更,而非該 link 真正指向的檔案-v : 顯示擁有者變更的詳細資料-R : 對目前目錄下的所有檔案與子目錄進行相同的擁有者變更(即以遞迴的方式逐個變更)--help : 顯示輔助說明--version : 顯示版本 

範例 : 
將檔案 file1.txt 的擁有者設爲 users 羣體的使用者 jessie : 
chown jessie:users file1.txt 

將目前目錄下的所有檔案與子目錄的擁有者皆設爲 users 羣體的使用者 lamport : 
chmod -R lamport:users * 


名稱:cp 
使用權限:所有使用者 

使用方式: 

cp [options] source dest 
cp [options] source... directory 

說明:將一個檔案拷貝至另一檔案,或將數個檔案拷貝至另一目錄。 

例子 

-a 
儘可能將檔案狀態、權限等資料都照原狀予以複製。 
-r 
 source 中含有目錄名,則將目錄下之檔案亦皆依序拷貝至目的地。 
-f 
若目的地已經有相同檔名的檔案存在,則在複製前先予以刪除再行復制。 
範例: 
將檔案 aaa 複製(已存在),並命名爲 bbb : 
cp aaa bbb 

將所有的C語言程式拷貝至 Finished 子目錄中 : 
cp *.c Finished 

6. Cut 
命令

使用權限:所有使用者 

用法:cut -cnum1-num2 filename 

說明:顯示每行從開頭算起 num1  num2 的文字。 

範例: 

shell>> cat example 
test2 
this is test1 
shell>> cut -c0-6 example ## print 
開頭算起前 6 個字元 
test2 
this i 


7. Ln 
命令

使用權限 : 所有使用者 

使用方式 : ln [options] source dist,其中 option 的格式爲 : 

[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}] 
[--help] [--version] [--] 
說明 : Linux/Unix 檔案系統中,有所謂的連結(link),我們可以將其視爲檔案的別名,而連結又可分爲兩種 : 硬連結(hard link)與軟連結(symbolic link),硬連結的意思是一個檔案可以有多個名稱,而軟連結的方式則是產生一個特殊的檔案,該檔案的內容是指向另一個檔案的位置。硬連結是存在同一個檔案系統中,而軟連結卻可以跨越不同的檔案系統。 
ln source dist 
是產生一個連結(dist) source,至於使用硬連結或軟鏈結則由參數決定。 

不論是硬連結或軟鏈結都不會將原本的檔案複製一份,只會佔用非常少量的磁碟空間。 

參數 : 

-f : 
鏈結時先將與 dist 同檔名的檔案刪除-d : 允許系統管理者硬鏈結自己的目錄-i : 在刪除與 dist 同檔名的檔案時先進行詢問-n : 在進行軟連結時,將 dist 視爲一般的檔案-s : 進行軟鏈結(symbolic link)-v : 在連結之前顯示其檔名-b : 將在鏈結時會被覆寫或刪除的檔案進行備份-S SUFFIX : 將備份的檔案都加上 SUFFIX 的字尾-V METHOD : 指定備份的方式--help : 顯示輔助說明--version : 顯示版本 
範例 : 
將檔案 yy 產生一個 symbolic link : zz 
ln -s yy zz 

將檔案 yy 產生一個 hard link : zz 
ln yy xx

8. mkdir
命令

使用權限:於目前目錄有適當權限的所有使用者 

使用方式:mkdir [-p] dirName 

說明:建立名稱爲 dirName 之子目錄。 

參數:-p 確保目錄名稱存在,不存在的就建一個。 

範例: 

在工作目錄下,建立一個名爲 AAA 的子目錄 : 
mkdir AAA 

在工作目錄下的 BBB 目錄中,建立一個名爲 Test 的子目錄。若 BBB 目錄原本不存在,則建立一個。(注:本例若不加 -p,且原本 BBB目錄不存在,則產生錯誤。) 
mkdir -p BBB/Test

9. rpm
命令

如果想知道都在那裏:
rpm -qpl abc.i386.rpm 
或者
rpm -ql abc

rpm
i386i586i686等不同版本的不同
有的rpm有分i386i586i686等不同版本,如:
abc-1.2.3-4.i386.rpm
abc-1.2.3-4.i586.rpm
abc-1.2.3-4.i686.rpm
它們有什麼不同呢?
這裏的i386i586i686指的是適用於intel i386 i586i686 兼容指令集的微處理器。一般來說,等級愈高的機器可接受較低等級的rpm文件。你可以透過/proc/cpuinfo這個檔案查詢你的CPU等級。

smbmount文件屬於哪一個rpm
#which smbmount
/usr/bin/smbmount
#rpm -qf /usr/bin/smbmount
samba-client-2.2.5-10

關於rpm的小技巧
1)安裝rpm包時顯示進度:用-vh參數,如rpm -ivh ipchains-1.3.6-1.i386.rpm,glintxrpm則不必。
2)直接通過ftp來安裝rpm包:如rpm -i ftp://ftp.xxx.xxx
3)
校驗所有的rpm包,查找丟失的文件:rpm -Va
4)
查找一個文件屬於哪個rpm包:例如:rpm -qf /usr/bin/who
5)
列出一個rpm包的描述信息:例如:rpm -qpi mon-0.37j-1.i386.rpm
6)
列出一個rpm包的文件信息:例如:rpm -qpl mon-0.37j-1.i386.rpm 

rpm文件中解出某個文件的三種方法
Peck Dickens的兩種方法
1) 使用Midnight Commander (mc), 翻看rpm內部文件,並將某文件拷貝出來
2) 命令行方式
cd /tmp
md rpmtmp
cd rpmtmp
rpm2cpio {FullNameOfRPM} | cpio -iumd {FullNameOfFileToExtract}
注意,完成後請刪除臨時文件
Pam Roberts的一種方法
3) 使用rpm-utils-1.5-1.noarch.rpm中的rpm-get命令,該rpm可以從rpmfind.net獲取 

安裝一個rpm
rpm -ivh <rpm package name>
升級一個包
rpm -Uvh <rpm package name>
移走一個RPM
rpm -e <rpm package name>
查詢一個包是否被安裝
rpm -q <rpm package name>
得到被安裝的包的信息
rpm -qi <rpm package name>
列出該包中有哪些文件
rpm -ql <rpm package name>
列出所有被安裝的包
rpm -qa <rpm package name>
列出一個未被安裝進系統的RPM包的文件中包含哪些文件
rpm -qilp <rpm package name>

rpm -q --queryformat "%{NAME} %{ARCH} " glibc
glibc i686 
-----------------------------
一、安裝

命令格式:
rpm -i ( or --install) options file1.rpm ... fileN.rpm

參數:
file1.rpm ... fileN.rpm 將要安裝的RPM包的文件名

詳細選項:
-h (or --hash) 安裝時輸出hash記號 (``#'')
--test 
只對安裝進行測試,並不實際安裝。
--percent 以百分比的形式輸出安裝的進度。
--excludedocs 不安裝軟件包中的文檔文件
--includedocs 安裝文檔
--replacepkgs 強制重新安裝已經安裝的軟件包
--replacefiles 替換屬於其它軟件包的文件
--force 忽略軟件包及文件的衝突
--noscripts 不運行預安裝和後安裝腳本
--prefix <path> 將軟件包安裝到由 <path> 指定的路徑下
--ignorearch 不校驗軟件包的結構
--ignoreos 不檢查軟件包運行的操作系統
--nodeps 不檢查依賴性關係
--ftpproxy <host>  <host> 作爲 FTP代理 
--ftpport <port> 
指定FTP的端口號爲 <port>

通用選項

-v 顯示附加信息
-vv 顯示調試信息
--root <path> RPM<path>指定的路徑做爲"根目錄",這樣預安裝程序和後安裝程序都會安裝到這個目錄下
--rcfile <rcfile> 設置rpmrc文件爲 <rcfile> 
--dbpath <path> 
設置RPM 資料庫存所在的路徑爲 <path>

二、刪除

命令格式:

rpm -e ( or --erase) options pkg1 ... pkgN

參數

pkg1 ... pkgN :要刪除的軟件包

詳細選項

--test 只執行刪除的測試
--noscripts 不運行預安裝和後安裝腳本程序
--nodeps 不檢查依賴性

通用選項

-vv 顯示調試信息
--root <path> RPM<path>指定的路徑做爲"根目錄",這樣預安裝程序和後安裝程序都會安裝到這個目錄下
--rcfile <rcfile> 設置rpmrc文件爲 <rcfile>
--dbpath <path> 
設置RPM 資料庫存所在的路徑爲 <path>

三、升級

命令格式

rpm -U ( or --upgrade) options file1.rpm ... fileN.rpm

參數

file1.rpm ... fileN.rpm 軟件包的名字

詳細選項

-h (or --hash) 安裝時輸出hash記號 (``#'') 
--oldpackage 
允許"升級"到一個老版本
--test 只進行升級測試
--excludedocs 不安裝軟件包中的文檔文件
--includedocs 安裝文檔
--replacepkgs 強制重新安裝已經安裝的軟件包
--replacefiles 替換屬於其它軟件包的文件
--force 忽略軟件包及文件的衝突
--percent 以百分比的形式輸出安裝的進度。
--noscripts 不運行預安裝和後安裝腳本 
--prefix <path> 
將軟件包安裝到由 <path> 指定的路徑下
--ignorearch 不校驗軟件包的結構
--ignoreos 不檢查軟件包運行的操作系統
--nodeps 不檢查依賴性關係
--ftpproxy <host>  <host> 作爲 FTP代理 
--ftpport <port> 
指定FTP的端口號爲 <port>

通用選項

-v 顯示附加信息
-vv 顯示調試信息
--root <path> RPM<path>指定的路徑做爲"根目錄",這樣預安裝程序和後安裝程序都會安裝到這個目錄下
--rcfile <rcfile> 設置rpmrc文件爲 <rcfile> 
--dbpath <path> 
設置RPM 資料庫存所在的路徑爲 <path>

四、查詢

命令格式:

rpm -q ( or --query) options

參數:

pkg1 ... pkgN :查詢已安裝的軟件包

詳細選項

-p <file>(or ``-'') 查詢軟件包的文件
-f <file> 查詢<file>屬於哪個軟件包
-a 查詢所有安裝的軟件包
--whatprovides <x> 查詢提供了 <x>功能的軟件包 
-g <group> 
查詢屬於<group> 組的軟件包
--whatrequires <x> 查詢所有需要 <x> 功能的軟件包

信息選項

<null> 顯示軟件包的全部標識
-i 顯示軟件包的概要信息
-l 顯示軟件包中的文件列表
-c 顯示配置文件列表
-d 顯示文檔文件列表
-s 顯示軟件包中文件列表並顯示每個文件的狀態
--scripts 顯示安裝、卸載、校驗腳本
--queryformat (or --qf) 以用戶指定的方式顯示查詢信息
--dump 顯示每個文件的所有已校驗信息 
--provides 
顯示軟件包提供的功能
--requires (or -R) 顯示軟件包所需的功能

通用選項

-v 顯示附加信息
-vv 顯示調試信息
--root <path> RPM<path>指定的路徑做爲"根目錄",這樣預安裝程序和後安裝程序都會安裝到這個目錄下
--rcfile <rcfile> 設置rpmrc文件爲 <rcfile> 
--dbpath <path> 
設置RPM 資料庫存所在的路徑爲 <path>

五、校驗已安裝的軟件包

命令格式:

rpm -V ( or --verify, or -y) options

參數

pkg1 ... pkgN 將要校驗的軟件包名

軟件包選項

-p <file> Verify against package file <file> 
-f <file> 
校驗<file>所屬的軟件包
-a Verify 校驗所有的軟件包
-g <group> 校驗所有屬於組 <group> 的軟件包

詳細選項

--noscripts 不運行校驗腳本 
--nodeps 
不校驗依賴性
--nofiles 不校驗文件屬性

通用選項

-v 顯示附加信息
-vv 顯示調試信息
--root <path> RPM<path>指定的路徑做爲"根目錄",這樣預安裝程序和後安裝程序都會安裝到這個目錄下
--rcfile <rcfile> 設置rpmrc文件爲 <rcfile> 
--dbpath <path> 
設置RPM 資料庫存所在的路徑爲 <path>

六、校驗軟件包中的文件

語法:

rpm -K ( or --checksig) options file1.rpm ... fileN.rpm

參數:

file1.rpm ... fileN.rpm 軟件包的文件名

Checksig--詳細選項

--nopgp 不校驗PGP簽名 

通用選項

-v 顯示附加信息
-vv 顯示調試信息
--rcfile <rcfile> 設置rpmrc文件爲 <rcfile> 

七、其它RPM選項

--rebuilddb 重建RPM資料庫
--initdb 創建一個新的RPM資料庫
--quiet 儘可能的減少輸出
--help 顯示幫助文件
--version 顯示RPM的當前版本

10. mv 命令

文件移動命令.
#mv resin.tar  /home/resin

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章