天天看點

Linux常用指令

arch 顯示機器處理器架構

cat 把檔案串連接配接後傳到基本輸出(螢幕或加 > fileName 到另一個檔案)

cat filename 顯示整個檔案

cat > filename 從鍵盤建立一個檔案,它隻能建立并能編輯

cat file1 file2 file3 < file 合并檔案

cd

cd ~ 打開使用者目錄也就是/home/usrname,如果目前使用者名是yyy,無論在哪個目錄下輸入:cd ~,結果目前目錄會變成"yyy@yyy-virtual-PC:~$",其實就是/home/yyy

cd - 回上一次所在的目錄

cd ~ 或 cd 回指定使用者的宿主目錄

chgrp 修改檔案所屬的組

chmod "文法格式: chmod [-vR] mode 檔案名

參數說明:

mode 權限設定字串,格式為[ugoa] [+-=] [rwx]

u 表示檔案的擁有者

g 表示與此檔案擁有者屬于一個組群的人

o 表示其他人

a 表示包含以上三者即檔案擁有者(u)、群組(g)、其他(o)

+ 表示增權重限

- 表示取消權限

= 表示唯一設定權限

r 表示有讀取的權限

w 表示有寫入的權限

x 表示有執行的權限

-v 顯示權限改變的詳細資料

-R 表示對目前目錄下的所有檔案和子目錄進行相同的權限更改" 更改檔案的權限使其在安裝時有執行的權限,Linux/Ubuntu 系統中檔案調用的權限分為三級:檔案擁有者(u)、群組(g)、其他(o)。用chmod就可以更改檔案的權限。chmod是一個相當靈活的指令,對同一個檔案的權限的修改可以用多種風格的指令格式來實作。 http://blog.sina.com.cn/s/blog_4d414a0f0100ej7s.html

chmod a+rwx ownlinux 将目前目錄下ownlinux這個檔案的權限修為所有使用者擁有該檔案的讀取、寫入、執行的權限.普通使用者下該指令要添加sudo

chmod ugo+rwx ownlinux 同上.雖然指令不同,但結果相同

chmod +x 增加可執行權限

chown

chown root filename 把filename的屬主改成root使用者

chgrp

chgrp root filename 把filename的屬組主改成root組

curl http://www.linuxidc.com www.linuxidc.com 頁面内容顯示在螢幕上了

curl -o page.html http://www.linuxidc.com 儲存頁面到page.html(螢幕上出現一個下載下傳頁面進度訓示),也可以下載下傳檔案

注意: 如果linux上沒有配置DNS IP這個指令不會執行成功,在這種情況下需要為linux配置一個域名解析伺服器IP.打開/etc/resolv.conf檔案,輸入:

nameserver 208.67.222.222

nameserver 208.67.220.220

儲存即可(這兩個IP你的linux可能ping不通,可以在網上找能夠ping通的DNS IP).

dpkg dpkg是Debian系統的背景包管理器,類似RPM。也是Debian包管理系統的中流砥柱,負責安全解除安裝軟體包,配置,以及維護已安裝的軟體包。由于ubuntu和Debian乃一脈相承,是以很多指令是不分彼此的。 http://linux.chinaunix.net/techdoc/system/2007/12/05/973754.shtml

dpkg -l |grep -i "軟體包名" 檢視系統中與"軟體包名"相關聯的包.

dpkg -l 資料庫查詢,目前版本的 dpkg 使用文本檔案來作為資料庫.通稱在 /var/lib/dpkg 目錄下. 通稱在 status 檔案中存儲軟體狀态,和控制資訊. 在 info/ 目錄下備份控制檔案, 并在其下的 .list 檔案中記錄安裝檔案清單, 其下的 .mdasums 儲存檔案的 MD5 編碼.列出目前系統中所有的包.可以和參數less一起使用在分屏檢視. (類似于rpm -qa)

dpkg -l nano 查詢nano

dpkg -l nano* 模糊查詢nano

dpkg –listfiles nano 查詢系統中屬于nano的檔案

dpkg -s nano 檢視某個檔案的歸屬包

dpkg -list 列出系統中安裝的軟體包

dpkg -L 查詢系統中已安裝的軟體包所安裝的位置. (類似于rpm -ql)

dpkg --contents file.deb 列出本地封包件所含檔案

dpkg --install file.deb 安裝本地包

dpkg --info <package> 列出軟體包解包後的包名稱.

dpkg --listfiles pkgname 列出一個包所安裝的檔案

dpkg --status pkgname 列出軟體包資訊

dpkg --search file 查詢檔案歸屬

dpkg --s 查詢已安裝的包的詳細資訊.

dpkg -S 查詢系統中某個檔案屬于哪個軟體包. (類似于rpm -qf)

dpkg -I 查詢deb包的詳細資訊,在一個軟體包下載下傳到本地之後看看用不用安裝(看一下呗).

dpkg -i 手動安裝軟體包(這個指令并不能解決軟體包之前的依賴***問題),如果在安裝某一個軟體包的時候遇到了軟體依賴的問題,可以用apt-get -f install在解決信賴***這個問題.

dpkg -r 解除安裝軟體包.不是完全的解除安裝,它的配置檔案還存在.

dpkg -P 全部解除安裝(但是還是不能解決軟體包的依賴***的問題)

dpkg-reconfigure  參考

echo 回顯

echo -n 不換行

env <command> 檢視程式在不同環境下是如何工作的.

export 設定或顯示環境變量 "使用者登入到系統後,系統将啟動一個使用者shell。在這個shell中,可以使用shell指令或聲明變量,也可以建立并運作shell腳本程式.運作shell腳本程式時,系統将建立一個子shell。此時,系統中将有兩個shell,一個是登入時系統啟動的shell,另一個是系統為運作腳本程式建立的shell.當一個腳本程式運作完畢,它的腳本shell将終止,可以傳回到執行該腳本之前的shell。從這種意義上來說,使用者可以有許多shell,每個shell都是由某個shell(稱為父shell)派生的.

在子shell中定義的變量隻在該子shell内有效。如果在一個shell腳本程式中定義了一個變量,當該腳本程式運作時,這個定義的變量隻是該腳本程式内的一個局部變量,其他的shell不能引用它,要使某個變量的值可以在其他shell中被改變,可以使用export指令對已定義的變量進行輸出(有點類似c++中的extern)。

export指令将使系統在建立每一個新的shell時定義這個變量的一個拷貝,這個過程稱之為變量輸出。

一個變量建立時,它不會自動地為在它之後建立的shell程序所知,而指令export可以向後面的shell傳遞變量的值。當一個shell腳本調用并執行時,它不會自動得到原為腳本(調用者)裡定義的變量的通路權,除非這些變量已經被顯式地設定為可用。export指令可以用于傳遞一個或多個變量的值到任何後繼腳本。

  #echo $PKG_PATH 在任何時候建立的變量都隻是目前shell的局部變量,是以不能被shell運作的其他指令或shell程式所利用。 export是把你設定的環境變量傳給目前SHELL的子SHELL,使其在子SHELL中有效。"

補充說明 在shell中執行程式時,shell會提供一組環境變量。export可新增,修改或删除環境變量,供後續執行的程式使用。export的效力僅及于該此登入操作

export -f 代表[變量名稱]中為函數名稱

export -n 删除指定的變量。變量實際上并未删除,隻是不會輸出到後續指令的執行環境中。

export -p 列出所有的shell賦予程式的環境變量。

find 查找指令

find . -depth -name "file*" 從目前目錄中開始,包括子目錄中查找以file開頭的檔案或目錄,注意: -depth一定要放在 "."的後面,否則不工作

find . -depth -name "file*" -type f 隻查找普通檔案

history 顯示曆史指令

history -c 清除曆史指令

!n n表示數字,表示使用曆史指令n

init init是所有程序的祖先﹐它的程序号始終為1﹐是以發送TERM信号給init會終止所有的使用者程序﹑守護程序等。shutdown 就是使用這種機制。init定義了8個運作級别(runlevel),init 0為關機﹐init 1為重新開機。關于init可以長篇大論﹐這裡就不再叙述。另外還有telinit指令可以改變init的運作級别﹐比如﹐telinit -iS可使系統進入單使用者模式﹐并且得不到使用shutdown時的資訊和等待時間。

ifconfig指令參數常用指令

用ifconfig 來激活和終止網絡接口的連接配接

ifconfig eth0 down

ifconfig eth0 up

ifup eth0

ifdown eth0

置網卡eth1的IP位址、網絡掩碼、廣播位址,實體位址并且激活它

ifconfig eth1 192.168.1.252 hw ether 00:11:00:00:11:11 netmask 255.255.255.0 broadcast 192.168.1.255 up

[[email protected] ~]# ifconfig eth1 hw ether 00:11:00:00:11:22

[[email protected] ~]# ifconfig eth1 192.168.1.252 netmask 255.255.255.0 broadcast 192.168.1.255 up

其中 hw 後面所接的是網絡接口類型, ether表示以太網, 同時也支援 ax25 、ARCnet、netrom等,詳情請檢視 man ifconfig

指令行編寫配置檔案來實作,一般你的網卡是eth0.

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0 #描述網卡對應的裝置别名,例如ifcfg-eth0的檔案中它為eth0

BOOTPROTO=static #設定網卡獲得ip位址的方式,可能的選項為static,dhcp或bootp,分别對應靜态指定的 ip位址,通過dhcp協定獲得的ip位址,通過bootp協定獲得的ip位址

BROADCAST=192.168.0.255 #對應的子網廣播位址

HWADDR=00:07:E9:05:E8:B4 #對應的網卡實體位址

IPADDR=192.168.0.2 #如果設定網卡獲得 ip位址的方式為靜态指定,此字段就指定了網卡對應的ip位址

IPV6INIT=no

IPV6_AUTOCONF=no

NETMASK=255.255.255.0 #網卡對應的網絡掩碼

NETWORK=192.168.0.0 #網卡對應的網絡位址

ONBOOT=yes #系統啟動時是否設定此網絡接口,設定為yes時,系統啟動時激活此裝置

修改對應網卡的網關的配置檔案

vi /etc/sysconfig/network

NETWORKING=yes(表示系統是否使用網絡,一般設定為yes。如果設為no,則不能使用網絡,而且很多系統服務程式将無法啟動)

HOSTNAME=localhost(設定本機的主機名,這裡設定的主機名要和/etc/hosts中設定的主機名對應)

GATEWAY=192.168.1.1(設定本機連接配接的網關的IP位址。)

route 添加/删除路由,檢視路由表 linux 路由表維護

添加到主機的路由

# route add -host 192.168.1.2 dev eth0:0

# route add -host 10.20.30.148 gw 10.20.30.40

添加到網絡的路由

# route add -net 10.20.30.40 netmask 255.255.255.248 eth0

# route add -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41

# route add -net 192.168.1.0/24 eth1

添加預設路由

# route add default gw 192.168.1.1

删除路由

# route del -host 192.168.1.2 dev eth0:0

# route del -host 10.20.30.148 gw 10.20.30.40

# route del -net 10.20.30.40 netmask 255.255.255.248 eth0

# route del -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41

# route del -net 192.168.1.0/24 eth1

# route del default gw 192.168.1.1

last 指令:

功能說明:列出目前與過去登入系統的使用者相關資訊。

單獨執行last指令,它會讀取位于/var/log目錄下,名稱為wtmp的檔案,并把該給檔案的内容記錄的登入系統的使用者名單全部顯示出來。

-a  把從何處登入系統的主機名稱或IP位址,顯示在最後一行。

  -d  将IP位址轉換成主機名稱。

  -f <記錄檔案>  指定記錄檔案。

  -n <顯示列數>或-<顯示列數>  設定列出名單的顯示列數。

  -R  不顯示登入系統的主機名稱或IP位址。

  -x  顯示系統關機,重新開機,以及執行等級的改變等資訊。

示例:

last 預設顯示

root   pts/0    115.49.166.164  Mon Aug 12 17:58  still logged in

reboot  system boot 2.6.32-131.0.15. Mon Aug 12 14:38 - 18:15 (03:37)

root   pts/0    14.204.0.248   Tue Jul 23 16:08 - down  (00:39)

第一列是使用者名。

第二列是終端。

第三列是機器名或IP

第四列是登入時間資訊。

第五列是狀态,still longged in表示登入狀态,(03:02)表示持續時間(3分2秒)。

reboot行表示系統重新開機,正常指令重新開機顯示為down,而電源強制重新開機為crash。

其它示例:

last reboot 顯示使用者名為reboot的指令行

last | grep down 顯示包含 down 的指令行

netstat

-ntlp 檢視系統網絡端口使用情況

-atn 檢視網絡連接配接情況

kill ???

locales 語言設定選項

Locale 檢視目前的locale環境,也就是目前的語言環境。

Locale –a 檢視系統内安裝的locale

Locale –m 列出linux所支援的所有的locale語言環境。

less 檢視檔案内容,less 工具也是對檔案或其它輸出進行分頁顯示的工具.

less的文法格式: less [參數] 檔案

常用參數

-c 從頂部(從上到下)重新整理螢幕,并顯示檔案内容。而不是通過底部滾動完成重新整理;

-f 強制打開檔案,二進制檔案顯示時,不提示警告;

-i 搜尋時忽略大小寫;除非搜尋串中包含大寫字母;

-I 搜尋時忽略大小寫,除非搜尋串中包含小寫字母;

-m 顯示讀取檔案的百分比;

-M 顯法讀取檔案的百分比、行号及總行數;

-N 在每行前輸出行号;

-p pattern 搜尋pattern;比如在/etc/profile搜尋單詞MAIL,就用 less -p MAIL /etc/profile

-s 把連續多個空白行作為一個空白行顯示;

-Q 在終端下不響鈴;

動作

Enter鍵 向下移動一行;

y 向上移動一行;

空格鍵 向下滾動一屏;

b 向上滾動一屏;

d 向下滾動半屏;

h less的幫助;

u 向上洋動半屏;

w 可以指定顯示哪行開始顯示,是從指定數字的下一行顯示;比如指定的是6,那就從第7行顯示;

g 跳到第一行;

G 跳到最後一行;

p n% 跳到n%,比如 10%,也就是說比整個檔案内容的10%處開始顯示;

/pattern 搜尋pattern ,比如 /MAIL表示在檔案中搜尋MAIL單詞;

v 調用vi編輯器;

q 退出less

!command 調用SHELL,可以運作指令;比如!ls 顯示目前列目前目錄下的所有檔案.

ls 格式:ls [參數] [檔案/目錄] "參數說明:

-a 表示列出所有的檔案,包括以"".""開頭的隐藏檔案

-d 如果其後接的是一個目錄,則此隻輸出目錄的名稱

-l 表示以清單的形式列出檔案的條目,包括檔案的名稱、權限、擁有者、大小、最後修改時間等

-t 表示列出的條目按最後修改的時間進行排序,預設是使用檔案夾的名稱來排序

-C 以檔案的名稱按列縱向排序

-F 在檔案名後加一個符号來表示檔案類型"

ls 表示列出所有的檔案,包括以"."開頭的隐藏檔案

ls -a 用ls -a來檢視就用看到以"."開頭的隐藏檔案

ls -C 以檔案的名稱按列縱向排序

ls -d 如果其後接的是一個目錄,則此隻輸出目錄的名稱

ls -l 顯示檔案屬***

ls -lh 顯示為你家詳細資訊

ls -F 目前目錄下的子目錄後面多了一個"/"

ls -F --file-type locale* 列出以locale開頭的所有檔案或目錄

ls -t 表示列出的條目按最後修改的時間進行排序,預設是使用檔案夾的名稱來排序

ls -l | grep '^-'或^[^d] 僅列出檔案

ls -l | grep '^d'或^[^-] 僅列出目錄

ls -1 -F | grep - v[/$] linux下正确的隻列出目前目錄下檔案名的方法如下 http://apps.hi.baidu.com/share/detail/33050937

ls -al | more 通過管道實作檔案清單分屏顯示

ls -R 遞歸枚舉子目錄

gnome-open 以管理者權限打開檔案夾

gnome-open path 以管理者權限打開檔案夾,在該檔案夾中打開的檔案可以直接編輯儲存。

grep grep [OPTION]…PATTERN [FILE] 是一種強大的文本搜尋工具,它能使用正規表達式搜尋文本,并把比對的行列印出來

grep 'main' cal.c 搜尋本目錄檔案cal.c中的main(區分大小寫)字元串,并将相應的行輸出

grep -i 'main' ./* 搜尋本目錄所有檔案的main(不區分大小寫)字元串,并将相應的檔案及行輸出

grep -c 隻輸出比對行的計數。

grep -I 不區分大小寫(隻适用于單字元)。

grep -h 查詢多檔案時不顯示檔案名。

grep -l 查詢多檔案時隻輸出包含比對字元的檔案名。

grep -n 顯示比對行及行号。

grep -s 不顯示不存在或無比對文本的錯誤資訊。

grep -v 顯示不包含比對文本的所有行

grep -r 搜尋子目錄

grep -d skip 忽略子目錄

grep -C 5 foo file  顯示file檔案中比對foo字串那行以及上下5行

grep -B 5 foo file  顯示foo及前5行

grep -A 5 foo file  顯示foo及後5行

halt 最簡單的關機指令 其實halt就是調用shutdown -h。halt執行時﹐殺死應用程序﹐執行sync系統調用﹐檔案系統寫操作完成後就會停止核心。

[-n] 防止sync系統調用﹐它用在用fsck修補根分區之後﹐以阻止核心用老版本的超級塊〔superblock〕覆寫修補過的超級塊。

[-w] 并不是真正的重新開機或關機﹐隻是寫wtmp〔/var/log/wtmp〕紀錄。

[-d] 不寫wtmp紀錄〔已包含在選項[-n]中〕。

[-f] 沒有調用shutdown而強制關機或重新開機。

[-i] 關機〔或重新開機〕前﹐關掉所有的網絡接口。

[-p] 該選項為預設選項。就是關機時調用poweroff。

locales 檢視現在的locale配置環境

locale-gen 生成需要的locale檔案

參數 --purge 用來删除所有舊的配置,在出現問題時很有用

logout 登出 登出是登陸的相對操作,登陸系統後,若要離開系統,使用者隻要直接下達logout指令即可

man ??

mkdir 建立檔案夾

more

more file.txt 将檔案中内容輸出到終端

mount 加載指定的檔案系統.用法詳解

mount -t type device dir,如: mount -t auto /dev/cdrom /mnt/cdrom

-t 指定檔案系統類型

type 檔案系統類型,如: auto,自動檢測檔案類型;iso9660 CD-ROMCD光牒的标準檔案系統,等.

umount 解除安裝檔案系統

umount <file>,例如:umount /mnt/cdrom

passwd "Password: <--- 輸入你目前使用者的密碼

Enter new UNIX password: <--- 新的Root使用者密碼

Retype new UNIX password: <--- 重複新的Root使用者密碼"

ps ps [option] ps指令最常用的還是用于監控背景程序的工作情況,因為背景程序是不和螢幕鍵盤這些标準輸入/輸出裝置進行通信的,是以如果需要檢測其情況,便可以使用 ps指令了.

ps -a 可以例出系統目前運作的所有程序,包括由其他使用者啟動的程序

ps auxww 列出除一些很特殊程序以外的所有程序,并會以一個高可讀的形式顯示結果,每一個程序都會有較為詳細的解釋;

ps -e app 顯示所有程序

ps -e |grep app

ps -f 全格式. 也就是顯示更多的資訊

ps -h 不顯示标題.

ps -l 長格式.

ps -o ??

ps -r 隻顯示正在運作的程序.

ps -u 檢視程序的所有者及其它資訊

ps -w 檢視目前登入使用者運作的程式

ps -x 顯示沒有控制終端的程序

ps -afl 檢視目前有哪些程序

ps -u $USER -o pid,rss,cmd --sort -rss 檢視目前使用者程式實際記憶體占用,并排序

ps -eo fname,rss|awk '{arr[$1]+=$2} END {for (i in arr) {print i,arr}}'|sort -k2 -nr 統計程式的記憶體耗用

ps -eo "%C : %p : %z : %a"|sort -k5 -nr 按記憶體從大到小排列程序

ps -eo "%C : %p : %z : %a"|sort -nr 按cpu使用率從大到小排列程序

pstree 檢視目前程序樹

pwd 檢視目前所在目錄的絕對路經

rm rm指令的一般形式為: rm [選項] 檔案… 使用者可以用rm指令删除不需要的檔案。該指令的功能為删除一個目錄中的一個或多個檔案或目錄,它也可以将某個目錄及其下的所有檔案及子目錄均删除。對于連結檔案,隻是斷開了連結,原檔案保持不變。如果沒有使用- r選項,則rm不會删除目錄。

rm -f 忽略不存在的檔案,從不給出提示。

rm -r 訓示rm将參數中列出的全部目錄和子目錄均遞歸地删除。

rm -i 進行互動式删除

rpm 的簡單用法

rpm的一般格式: rpm [選項] [rpm軟體包]

1、初始化rpm 資料庫(可以省略)

rpm --rebuilddb % 注:這個要花好長時間

%注:有時rpm 系統出了問題,不能安裝和查詢,大多是這裡出了問題。

2、RPM軟體包管理的查詢功能:

rpm -q [select-options] [query-options]

1)查詢系統已安裝的軟體

rpm -q packagename

-q就是 --query,此選項表示詢問系統是不是安裝了gaim軟體包;

如果已安裝會有資訊輸出;如果沒有安裝,會輸出gaim 沒有安裝的資訊;

rpm -qa 檢視系統中所有已經安裝的包,要加 -a 參數

如果分頁檢視,再加一個管道 |和more指令,如 rpm -qa |more

rpm -qa |grep packagename 如果要查找某個軟體包,可以用 grep 抽取出來

2)查詢一個已經安裝的檔案屬于哪個軟體包;

文法: rpm -qf 檔案名

注:檔案名所在的絕對路徑要指出

例:rpm -qf /usr/lib/libacl.la

3)查詢已安裝軟體包都安裝到何處;

文法:rpm -ql 軟體包名

例:rpm -ql mplayer

4)查詢一個已安裝軟體包的資訊

文法: rpm -qi 軟體包名

例:rpm -qi mplayer

5)檢視一下已安裝軟體的配置檔案;

文法格式:rpm -qc 軟體名

例:rpm -qc mplayer

6)檢視一個已經安裝軟體的文檔安裝位置:

文法格式: rpm -qd 軟體名

例:rpm -qd mplayer

7)檢視一下已安裝軟體所依賴的軟體包及檔案;

文法格式: rpm -qR 軟體名

例:rpm -qR mplayer

注:可以把幾個參數組合起來用,如 rpm -qil packagename

對于未安裝的軟體包的檢視,檢視的前提是目前目錄下已存在一個.rpm檔案.

1)檢視一個軟體包的用途、版本等資訊;

文法: rpm -qpi file.rpm

例:rpm -qpi mplayer-1.0pre7try2-2.i386.rpm

2)檢視一件軟體包所包含的檔案;

文法: rpm -qpl file.rpm

例:rpm -qpl mplayer-1.0pre7try2-2.i386.rpm

3)檢視軟體包的文檔所在的位置;

文法: rpm -qpd file.rpm

例:rpm -qpd mplayer-1.0pre7try2-2.i386.rpm

4)檢視一個軟體包的配置檔案;

文法: rpm -qpc file.rpm

例:rpm -qpc mplayer-1.0pre7try2-2.i386.rpm

5)檢視一個軟體包的依賴關系

文法: rpm -qpR file.rpm

例:rpm -qpR mplayer-1.0pre7try2-2.i386.rpm

3、軟體包的安裝、更新、删除等;

安裝和更新一個rpm 包 文法:

rpm -ivh file.rpm 這個是用來安裝一個新的rpm 包

rpm -Uvh file.rpm 這是用來更新一個rpm 包,如果有依賴關系的,需解決依賴關系;如果找不到依賴關系的包,可以用下面的指令強制安裝:

rpm -ivh --nodeps --force file.rpm

rpm -Uvh --nodeps --force file.rpm

例:

rpm -ivh --test mplayer-1.0pre7try2-2.i386.rpm

--test表示測試,并不真正安裝。

rpm -ivh --relocate /=/usr/local/mplayer mplayer-1.0pre7try2-2.i386.rpm

為軟體包指定安裝目錄:要加 --relocate 參數

安裝在指定目錄中的程式如何調用呢?

通常可執行程式都放在安裝目錄下的bin或者sbin目錄中。

删除一個rpm 包首先查出需要删除的rpm包,然後用下面的指令來解除安裝:

rpm -e 軟體包名

例:rpm -e mplayer 解除安裝mplayer

如果有其它的rpm依賴于該rpm包,系統會出現警告。

如果一定要解除安裝,可以用選項 --nodeps 忽略依賴關系。但最好不要這麼做。

四 RPM管理包管理器支援網絡安裝和查詢

rpm [選項] rpm包的http或者ftp的位址

比如我們想通過 Fedora Core 4.0 的一個鏡像查詢、安裝軟體包。

查詢: rpm -qpi http://mirrors.kernel.org/.../RPMS/rsh-0.17-29.rpm

安裝: rpm -ivh http://mirrors.kernel.org/.../RPMS/rsh-0.17-29.rpm

rz 上載檔案

sz 下載下傳檔案

set 設定shell的執行方式(定制shell環境),同時也可以使用set設定環境變量

設定參數變量 設定$1,$2…的值

sudo

如果你想得到對所有檔案進行讀寫和修改權限,那麼就在“終端”裡輸入 sudo nautilus ,這條指令是指用root權限打開檔案浏覽器,對所有檔案擁有最高的讀寫權限。

如果是單次執行某個需要root權限的操作的話,輸入指令時就在指令前加sudo,比如你要重新開機電腦,指令是reboot,那麼你就得在“終端”裡輸入“sudo reboot”

shutdown 關機指令

shutdown --help

shutdown -h now 現在立即關機

shutdown -h +3 提示使用者将在三分鐘後關機

shutdown -r now 現在立即重新開機

shutdown -r +3 三分鐘後重新開機

shutdown -r 20:23 在20:23時将重新開機計算機

shutdown -r 20:23 & 可以将在20:23時重新開機的任務放到背景去,使用者可以繼續操作終端

sort sort [option...] file 文本行排序

sort file.txt

stty 設定終端指令行或顯示終端資訊

stty -a 顯示終端設定

tar -xzf all.tar.gz

tar -xjf all.tar.bz2

bunzip2  all.tar.bz2 生成 all.tar 再 tar -xf all.tar

或 tar  jxvf  all.tar.bz2

例一:将整個/etc目錄打包成為 /tmp/etc.tar

tar -cvf /tmp/etc.tar /etc <==僅打包,不壓縮!

tar -zcvf /tmp/etc.tar.gz /etc <==打包後,以 gzip 壓縮

tar -jcvf /tmp/etc.tar.bz2 /etc <==打包後,以 bzip2 壓縮

tcpdump -i eth1 proto[xx:yy]...

proto表示協定,可以是ether,tcp,udp等等,proto[xx:yy]從proto協定的xx位元組過濾yy個位元組(省略号表示資料滿足何種條件).例如:

ether[12:2]指出從ethernet協定的第12位元組開始過濾2個位元組(資料滿足何種條件),其實就是以太網協定的類型字段,以太網協定如下定義:

typedef struct _EHHR_

{

UCHAR cDest[6]; // Destination ethernet addrress.

UCHAR cSrc[6]; // Source ethernet addresss.

USHORT cType; // Ethernet pachet type.

}EH_HEADR, *PEH_HEADR;

其中,cType指出後面使用的是何種協定,例如:

0x0800 // 網際協定(IP).

0x0806// 位址解析協定(ARP : Address Resolution Protocol).

0x814C// 簡單網絡管理協定(SNMP:Simple Network Management Protocol)

0x880B// 點對點協定(PPP:Point-to-Point Protocol)

0x8863// 以太網上的 PPP(發現階段)(PPPoE:PPP Over Ethernet <Discovery Stage>).

0x8864// 以太網上的 PPP(PPP 會話階段)(PPPoE,PPP Over Ethernet<PPP Session Stage>).

0x88CC// 連結層發現協定(LLDP:Link Layer Discovery Protocol)

是以ether[12:2]其實就是cType.

同理,ip[0] & 0x0f>5 指出從ip協定第0個位元組後4位的值是否大于5,實際是過濾IP協定的長度(如果不帶選項就是标準長度20位元組,将IP協定以位元組為機關劃分為每行4位元組的矩陣,最少5列,也就是5*4=20位元組,如果帶選項則比該值大).

touch 用來更新檔案或目錄的時間,檔案不存在則建立該檔案

touch file 建立檔案file

linux沒有專門的檔案建立指令,vi <file>, cat >file, echo "1234" >file,還有gpedit, cp,mv等都可以建立檔案,隻是這都是間接建立的.

im-switch ???

uname  顯示系統資訊

uname -m 顯示機器CPU架構

uname -r 顯示正在使用的核心版本

unset 用來删除指定的變量或者函數

unset -f 删除函數

unset -v 删除變量

格式:whereis <command> 查找指定指令<command>的位置,包括執行檔案、源代碼和手冊頁檔案。

格式:whereis -b <command> 隻查找指定指令<command>的執行檔案位置。

格式:whereis -m <command> 隻查找指定指令<command>的手冊頁檔案所在位置。

格式:whereis -s <command> 隻查找指定指令<command>的源代碼所在位置。

<a href="http://www.hackbase.com/tech/2010-10-18/61687.html" target="_blank">linux硬體查詢</a>

同shell相關的其它指令

中斷指令 執行完指令後(若沒有轉到背景),可以使用CTRL+C來中止指令

通過終端啟動程式 通過終端啟動的程式是終端的子程序,如果關閉終端,該程序也會被關閉.運作程式時指令行後面加&amp;表示背景運作,同終端不再有父子關系.

終端輸入:gpedit test.txt 啟動gpedit,且gpedit同終端有父子關系

終端輸入:gpedit test.txt &amp; 啟動gpedit,且gpedit同終端沒有父子關系

svn svn用戶端指令行的使用 參考:Ubuntu中SVN用戶端使用+Myeclipse 8.5 配置SVN插件 http://blog.csdn.net/scut1135/article/details/6830758

svn checkout &lt;src&gt; &lt;dest&gt; 将檔案 checkout 到本地目錄,如: svn checkout http://10.1.1.111:8080:/yyy/learn/ /home/desktop/learn/,按提示輸入相應的使用者名和密碼

svn update 預設将目前目錄以及子目錄下的所有檔案都更新到最新版本。

svn update -r 200 test.php 将版本庫中的檔案test.php還原到版本200

svn update test.php 更新,于版本庫同步。(如果在送出的時候提示過期的話,是因為沖突,需要先update,修改檔案,然後清除svn resolved,最後再送出commit)

svn commit 将改動的檔案送出到版本庫

svn commit path 将指定目錄中改動的檔案送出到版本庫

環境變量 env &lt;command&gt;檢視程式在不同環境下是如何工作的.

$HOME 目前使用者的目錄HOME路徑

$PATH 以冒号分隔的用來搜尋指令的目錄清單

$PS1 指令提示符,通常是$,在bash中,可以是更複雜的值.如[\u@\h\W]$就是一個流行的預設值,它給出使用者名,機器名和目前目錄名,當然也包括一個$提示符.

$PS2 二級提示符,用來提示後續輸入,通常是&gt;字元

$IFS 輸入域分隔符,當shell讀取輸入時,它給出用來分隔單詞的一組字元,它們通常是空格,制表符和換行符.

$0 shell腳本名稱

$# 傳遞給腳本參數的個數

$$ 腳本程序号

未知指令

TIMEFORMAT="" time ./exefile time測算exefile運作時間;TIMEFORMAT重置預設的POSIX時間輸出格式.

本文轉自jetyi51CTO部落格,原文連結: http://blog.51cto.com/jetyi/925031,如需轉載請自行聯系原作者

繼續閱讀