一、
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 或者僅僅把第20到59行之間的內容存盤成文件/tmp/1
3) 用VI編輯一個文件,但需要刪除大段大段的內容
vi file
Ctrl+G 把光標移到需要刪除的行的處按ctrl+G顯示行號,再到結尾處再按Ctrl+G.
:23,1045d 假定兩次行號爲23和1045,則把這幾間的內容全刪除
也可以在開始和結束兩行中用ma,mb命令標記後用:'a,'bd刪除.
4) 在整個文件或某幾行中在行首或行尾加一些字符串
vi file
:3,$s/^/some string /
在文件的第一行至最後一行的行首前插入some string
:%s/$/ some string/g 在整個文件每一行的行尾添加 some string
:%s/string1/string2/g 在整個文件中替換string1成string2
:3,7s/string1/string2/ 僅替換文件中的第三到七行中的string1成string2
Note: s爲substitute,%表示所有行,g表示global
5) 同時編輯兩個文件,在兩個文件中拷貝剪貼文本
vi file1 file2
yy 同時打開兩個文件,在文件1的光標所在處拷貝所在行
:n 切換到文件2 (n=next)
p 在文件2的光標所在處粘貼所拷貝的行
:N 切換回文件1
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]...][,...],其中u 表示該檔案的擁有者,g 表示與該檔案的擁有者屬於同一個羣體(group)者,
o 表示其他以外的人,a 表示這三者皆是。
+ 表示增加權限、- 表示取消權限、= 表示唯一設定權限。
r 表示可讀取,w 表示可寫入,x 表示可執行,X 表示只有當該檔案是個子目錄或者該檔案已經被設定過爲可執行。
-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各爲一個數字,分別表示User、Group、及Other的權限。
r=4,w=2,x=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的i386、i586和i686等不同版本的不同
有的rpm有分i386、i586和i686等不同版本,如:
abc-1.2.3-4.i386.rpm
abc-1.2.3-4.i586.rpm
abc-1.2.3-4.i686.rpm
它們有什麼不同呢?
這裏的i386、i586、i686指的是適用於intel i386、 i586、i686 兼容指令集的微處理器。一般來說,等級愈高的機器可接受較低等級的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,用glint或xrpm則不必。
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