一、控制台相關命令
控制台命令就是指通過字符界面輸入的可以操作系統的命令。我們現在要了解的是基於Linux操作系統的基本控制台命令。不同於圖形模式的一種類似文本編輯器的運行命令的環境。在遠程登陸控制或是操作沒有圖形環境的Linux系統時,控制台命令就有很大的用途了,建議大家一定要熟練掌握控制台模式下的命令操作,這樣不管是否是在Linux系統的圖形環境中操作,我們都可以完成指定的任務。有一點請注意,Linux的命令(也包括文件名等等)對大小寫是敏感的,如“Abc”和“abc”會被認為是不一樣的。如果輸入的命令大小寫不對的話,系統是不會做出你期望的響應的。
下面先給大家介紹幾個與控制台命令相關的命令,如下所示:
exit 退出控制台
reboot 重啟計算機
shutdown 關閉計算機
clear 清除屏幕信息
echo 顯示信息
man 參考命令
1、注冊和退出系統
當用戶以不同的身份登陸控制台時,首先要使用login命令,這是一個用戶向系統注冊的過程。若用戶通過身份驗證,login進程會把用戶的home目錄設置成當前目錄並把控制權交給一系列setup程序。setup程序可以是指定的應用程序,通常setup程序為一個Shell程序,如:/bin/sh, 即Bourne Shell(關於Shell程序的概念,請讀者參閱本書第五章內容)。用戶得到控制權后,Shell程序讀取並執行文件/etc/.profile以及.profile。這兩個文件分別建立了系統范圍內的和 該用戶自己的工作環境。
最后Shell顯示命令提示符,如“ You can't use 'macro parameter character #' in math mode”,若是以root用戶登陸,顯示命令提示符為“#”)
1)注冊
用戶登陸后,用戶命令同計算機交互的關系為:命令進程--->Shell程序--->UNIX內核--->計算機硬件。當用戶輸入一個命令,如$ls, Shell將定位其可執行文件/bin/ls並把其傳遞給內核執行。內核產生一個新的子進程調用並執行/bin/ls。 當程序執行完畢后,內核取消該子進程並把控制交給其父進程,即Shell程序。例如執行:
login:
作為系統管理員,第一次進入系統可能需要以超級用戶的身份進入,和NT系統中Administrators身份對應的linux帳號是root(這也是一般類Linux系統中常見的系統管理員身份)。在login:后面輸入“root”,然后回車,系統提示:
Password:
按照系統管理員安裝系統時設置的密碼輸入,然后直接回車后,管理員將成功登錄,系統提示:
[root@linux /root]#
符號“@”前面的自然是登陸時的帳號身份,之后的是主機名,可能根據主機的名稱不同而不同。/root是登陸用戶的主目錄,它既是賬戶配置文件所在的地方,也是每次登錄后所在的目錄,受到系統保護的私人領地——當然,前提是只有你自己擁有root權限:)。
2 )退出系統exit命令
當用戶需要退出Shell命令的控制台時,我們可以使用exit命令來實現.當用戶在命令提示符號后直接執行exit命令時, 內核把用戶的控制權交給init程序, 用戶將退出當前的Shell環境,例如執行:
[root@linux /root]# exit
有些用:
[root@linux /root]# logout
3)重啟和關閉系統
(1)reboot 命令
reboot 命令用於 Linux 系統的重新啟動,具體使用方法如下
語法:reboot [-選項] [參數]
參數:
-d: 重新開機時不把數據寫入記錄文件/var/tmp/wtmp。本參數具有“-n”參數的效果。
-f: 強制重新開機,不調用shutdown指令的功能。
-w: 僅做測試,並不真的將系統重新開機,只會把重開機的數據寫入/var/log目錄下的wtmp記錄文件。
舉例:
# reboot
(2)halt命令
【語法】halt [選項]
【詳解】halt用於關閉計算機。但它關機前會把信息寫入到“/var/log/wtmp”中。halt命令和shutdown命令大同小異。
【選項】
-w 在“/var/log/wtmp”中寫入信息,但不關機
-d 關閉計算機,且不在“/var/log/wtmp”寫入信息
-f 強制關機
-p 關閉計算機且關閉電源
例:用halt關閉計算機,且不在“/var/log/wtmp”寫入信息。
[root@linux /root]#halt -d
(3) shutdown 命令
shutdown 命令用於關閉 Linux 系統, 將系統帶到可以關閉電源的安全點。具體使用方法如下:
語法:shutdown [選項] 時間 [警告]
參數:
-t n: 在向進程發出警告信號和殺掉信號之間等待n秒。
-h 2:關閉后停機。
-k:不真正關閉系統,只向每人發送警告信息。
-r:關閉后重新啟動。
-n:在重新啟動和停機之前不作磁盤同步。
-f:快速重新啟動,重新啟動時不檢查所有文件系統。
-c:取消已經運行的關閉命令。在本選項中,不能給出時間變量,但可以在命令行輸入一個說明信息傳給每個用戶。
舉例:
#shutdown –h now
#shutdown –k now
#showdown –r now
2、修改口令
passwd
例:
liu@liu-virtual-machine:$ passwd
3、良好的保密
一般來說,在人離機時應退出系統,來保證不讓其他人看到自己的文件,我們可以鎖住終端會話,也可退出系統。
1.鎖住終端會話(vlock)
如果人離開一會可采用鎖住終端會話。
例:
liu@liu-virtual-machine:$ vlock
二、目錄操作命令
大家可能還知道在很早的Dos系統下,有一些對目錄操作的命令,例如cd、md (mkdir)、rd (rmdir)等等。而Linux 系統下的一些命令,和dos命令其實很相似,甚至拼寫和功能都一樣。下面就介紹一些在Linux 系統下對目錄操作要使用的命令:
cd 改變當前工作目錄
pwd 顯示工作的路徑
mkdir 建立目錄
rmdir 刪除目錄
1、cd 命令
cd 命令, 用於改變當前工作目錄,和Dos命令下的cd名命令用途一樣,用於工作目錄之間的切換,格式如下:
(1)語法: cd 目錄名
(2)對象: 上面語法的對象為目錄名,即改變到選定的目錄名。如果沒有指定目錄,就返回用戶主目錄。
(3)舉例:
#cd /var/log
#cd /usr/local/apache
#cd /root/sysadm/conf
(4)說明: 第一行命令所代表的功能是使用cd命令,切換到對象為 /var/log的目錄下,第二、三行命令功能是分別切換到對象為 /usr/local/apache和 /root/sysadm/conf 的目錄中去。
提示:
直接在命令行中輸入cd命令而不加任何參數,可以馬上回到用戶的主目錄(home),這與DOS中cd命令顯示當前路徑不同,請一定注意。在Linux中,很多與用戶自身相關的配置文件、屬於自己的文檔、程序、腳本和安裝包等東東都存放在用戶自己的home目錄中,這個目錄就相當於Microsoft Windows中的“我的文檔”。所以能用cd命令直接“回家”,真的是很方便。
2、pwd 命令
pwd 命令,用於顯示當前工作的目錄路徑,當用戶操作時,不知道目前處於什么目錄下,可以使用這個命令來查看當前的目錄路徑。格式如下:
(1)語法: pwd
(2)舉例:
#pwd
/home/oracle
(3)說明: 第一行為運行的命令,第二行的內容為運行 pwd 命令后顯示的信息,即指用戶當前所在的工作目錄或目錄的路徑為:/home/oracle
提示:
應該經常使用pwd命令。Linux的目錄結構非常復雜,一個小小的分支就可能會有十幾層目錄,就好像是個森林,所以Linux不會像Windows那樣把全路徑寫在提示符里,那樣太長了。在目錄用cd鑽來鑽去,很容易記不清自己到底身在何處。這時候執行命令可是有點危險的,例如在一個下目錄想刪除一個文件,不搞清楚當前目錄,可能會誤刪除同名的有用文件的,而且沒那么容易恢復。尤其是在做“rm –rf”這種對目錄直接刪除的操作,更需要用pwd確定一下。還有很多其他的情況需要使用pwd,可能每執行十幾個命令就會敲一回。我們都來感謝Jim Meyering先生吧,他是pwd的創作者。
3、 mkdir 命令
mkdir 命令的功能是用來在 Linux 系統中建立目錄,格式如下:
(1)語法: mkdir 目錄名
mkdir [-選項] [參數] 目錄名
(2)參數:
-m : 在建立目錄時把按模式指定設置目錄權限。
-p : 建立所有不存在父目錄的目錄。
(3) 對象: 對象為目錄名,目錄名即指要建立的目錄名稱。
(4) 舉例:
#mkdir oracle
#mkdir -m 755 log
#mkdir -p /tmp/var/logs
(5)說明: 第一行命令建立一個名為oralce的目錄;第二行命令建立一個log目錄,並授予755權限(關於權限的概念會在后面的內容介紹);第三行命令會在/tmp分區下建立var目錄,並在var目錄下在建立一個 logs目錄。
[應用實例:快速建立多級目錄]
請注意上面介紹的mkdir命令的–p 參數,在某些時候可能會大大減化我們的操作。例如用戶想在當前目錄中創建node/xyd/logs/www目錄的時候,如果現在連node目錄都沒有,我們本來是需要輸入4次mkdir來逐級向下創建的,不過現在用-p參數就方便多了:
#mkdir –p node/xyd/logs/www
不管三七二十一,就去建吧!現在一條命令就搞定了。p 是 parent,上一級目錄的意思。
4、rmdir 命令
rmdir 命令的功能是刪除系統中的目錄,具體格式如下:
(1)語法:rmdir 目錄
rmdir [-選項] [參數] 目錄
(2)參數:
-p: 在刪除指定的目錄后,若父目錄為空,則rmdir也刪除父目錄。
(3) 對象: 對象為目錄,目錄即指要刪除的目錄名稱或目錄列表。
(4)例如:
#rmdir /zhang/log
#rmdir –p /zhang/log
#rmdir /zhang/log /zhang/log2
(5) 說明: 第一行命令功能刪除/zhang目錄下的log目錄,要注意log目錄為空目錄(后面介紹的rm命令可以刪除非空目錄);第二行命令功能刪除/zhang目錄下的log目錄,並刪除/zhang目錄;第三行命令功能刪除/zhang目錄下的log目錄,並刪除/zhang目錄下的log2目錄。
提示:
rmdir可以刪除的是非空目錄,被刪的目錄下不能有文件或子目錄。如果只是有子目錄存在,還可以用-p來刪除;如果含有文件,那-p參數也無能為力了。只有使用“rm –rf”大法,連根拔起。后面會有介紹。
三、文件操作命令
上面主要講的是在Linux系統中對目錄的操作命令,下面主要介紹一些常用的文件操作命令。掌握這些基本命令的操作,就可以對Linux系統中的各種文件進行查看、編輯、修改、復制、移動、刪除、建立等操作,這些命令如下所示:
ls 顯示目錄和文件
rm 刪除文件
touch 建立文本文件
cp 拷貝文件
cat 顯示文本內容
mv 移動文件
more 按頁顯示文件內容
ln 鏈接文件
less 按頁顯示文件內容
find 查找文件
head 從前顯示文件內容
file 查看文件類型
tail 從后顯示文件內容
1、ls 命令
ls 命令用於顯示文件(包括目錄)的列表,及每個文件的詳細信息,包括文件的大小、屬組、屬主、讀寫執行權限、創建日期等信息。具體格式如下:
(1) 語法:ls [-選項] [參數] 文件
(2) 參數:
-a:顯示所有文件,包括當前目錄和父目錄。
-c:按列輸出,縱向排序。
-x:按列輸出,橫向排序。
-d:將每一條都當作一個目錄。
-l:給出長表。長表顯示文件的詳細內容,如:文件類型權限,連接或目錄計數,所有者,組,按字節文件大小,文件的最近修改時間和文件名。
-t:按最后修改的時間排序,用-l標志一起使用。
-u:按最后訪問的時間排序,用-l標志一起使用。
-c:按i節點信息最后修改的時間排序,用-l標志一起使用。
-r:反向排序。
-i:在第一列顯示文件的i節點數。
-F:將/放在目錄輸入后,*放在可執行程序后,@放在符號連接后,!放在FIFO后,=放在套接文件后,正規文件后什么也不放。文件列表:用ls要處理的文件列表,可以使用通配符。
注意:
文件類型有:
-:常規文件
d:目錄
b:塊設備特殊(磁盤)
c:字符特殊設備(終端)
p:有名管道
s:信號燈
m:共享存儲器
(3)對象:上面語法中的文件是ls命令執行的對象,這里指的文件可以是單個文件、文件列表(多個文件)或者是目錄。
(4)舉例:
#cd /home
#ls –al
drwxr-xr-x 4 root root 4096 Jan 30 21:47 .
drwxr-xr-x 20 root root 4096 May 16 06:45 ..
drwx------ 5 install install 4096 Mar 18 15:48 install
drwxr-xr-x 2 oracle oracle 4096 Dec 19 18:36 oracle
(5)說明:上面舉的例子中第一行命令代表切換到/home目錄下;第二行命令代表顯示/home目錄下所有文件和目錄的詳息;第三至六行是第二行命令運行后顯示的信息。下面以這段信息的最后一行說明每一段內容的含義:
最后一行顯示的信息:
drwxr-xr-x 2 oracle oracle 4096 Dec 19 18:36 oracle
這行信息分為8個區域,每個區域的含義如下:
drwxr-xr-x:第一個符號指示文件類型,減號為普通文件,d則表示為目錄類型。接下來的九個字符分成三組,分別表示屬主、組員和其它用戶的存取權;每組有三種存取權:r代表讀(Read)權限、w代表寫(Write)權限和x代表執行(Execute)權限。而沒有存取權的相應位置則會出現減號(-)代替。
2 :代表oracle目錄下還有兩個目錄,包括隱含目錄,注意不包括目錄下的文件個數。
oracle(左):代表oracle目錄的屬主為oracle用戶。
oracle(中):代表oracle目錄的屬組為oracle用戶組。
oracle(后):即在/home目錄下有一個oracle目錄。
4096 : 代表當前目錄或文件的大小,即4096 byte=4 k
Dec 19 : 代表目錄創建於12月19日
18:36 : 代表目錄創建於18時36分
【應用實例:“ls –a”查出黑客程序】
當系統被侵入並植入后門時,黑客一般為了隱藏,會把文件名前加上一個“.”,這些文件在系統中默認是不顯示的。但是 ls 的 –a 參數可以讓它們無處藏身。我們運行下命令:
#cd /home/xyd
#ls
hosts tmplogs vnc-3.3.7-x86_linux.tar
上面一行顯示的這三個文件都是比較正常的文件,再執行ls –a:
. .bash_history .bash_profile .emacs hosts vnc-3.3.7-x86_linux.tar .. .bash_logout .bashrc .gtkrc tmplogs .start.sh
注意最后一個文件.start.sh,通常系統中是不會有這種腳本存在的。我們再使用cat或者more,就可以從內容判斷此文件是否是黑客的腳本文件。
技巧:
我們進入一個陌生的房間后,總是會掃視一下房間內的家具擺設。在Linux中ls就是用戶的眼睛,我們使用cd進入了某個目錄后,一般都會下意識地“ls”一下,“定睛一看”。關於ls的技巧就太多了,現在我們為大家整理出常用的幾種。
注意管道符“|”的運用,會使ls的功能大大增強。實際上“|”在與其他很多命令的配合上都很有效,我們可以自由地發揮創造力。“|”體現了Linux(也是Unix)的魅力。將目錄下的文件按照大小排序。利用了sort命令,命令行如下:
#ls -l | sort -n -k5
有時我們在有很多文件的目錄下工作,如/dev,通常會有7、8千個設備文件存在,這時如果ls一下,屏幕會向上翻個不停,只剩下最后一屏文件顯示出來,而ls又沒有分屏顯示的參數,像DOS中的“dir /p”那樣的。這時我們又可以借助“|”了,把結果交給more或less顯示,命令行下:
#ls /dev | more
#ls /dev | less
兩個命令都會一屏一屏地顯示結果,而且less還可以往回翻頁。在/dev這樣的目錄,我們還會有這樣的問題,這個目錄中到底有多少個文件呢?可以用wc,統計命令來幫助我們。
#ls /dev | wc -w
7519
屏幕中的7519就是文件的數目。
ls還可以與grep配合,組合出其他很有用的命令,請參看grep部分。
2、touch 命令
touch 命令是用於改變文件的時間戳,也可以用於創建新文件。而建立文件后,其內容的添加一般使用vi編輯器(vi編輯器的詳細使用方法會在下一章給大家詳細介紹),touch 命令具體格式如下:
(1)語法:touch 文件
-a :修改文件的存取時間.
-c :不創建文件
-m :修改文件
-r ref_file:將參照文件 ref_file 相應的時間戳記的數值作為指定文件 file 時間戳記的新值.
-t time:使用指定的時間值 time 作為指定文件相應時間戳記的新值。此處的 time 規定為如下形式的十進制數∶
[[CC]YY]MMDDhhmm[.SS]
(2)對象:對象為文件,即指要改變或建立的文件名稱或文件列表。
(3) 舉例:
#touch text
#touch text1 text2 test3
(4)說明:第一行命令的功能是改變text的時間戳到當前的時間或當無此文件時創建之,第二行命令的功能是同時對text1、text2、text3 三個文件進行同樣的操作。
3、cat 命令
cat 命令一般用來顯示文本文件中的內容,具體格式如下所示:
(1)語法:cat [-選項] [參數] 文件
(2)參數: -b:計算所有非空輸出行,開始為1。
-e:相當於-vE。
-n:計算所有輸出行,開始為1。
-s:將相連的多個空行用單一空行代替。
-t:相當於-vT。
-u:忽略;為UNIX兼容產品而使用。
-V:顯示除LFD和TAB以外的所有控制符,使用^作標志並在高位置的字符前放M-。
-A:相當於-vET。
-:E在每行末尾顯示#符號。
-T:用^I顯示TAB符號。
(3)對象:上面的語法中的對象為文件,如果沒有指定文件或連字號(-),就從標准輸入讀取。
技巧:
cat還可以用來做一些常用的文件操作。cat的結果會顯示到標准輸出,也就是屏幕上來。如果我們用重定向符“>”、“>>”把結果輸出到文件中去,會有什么效果呢?我們來看看下面的一些命令行:
#cat hosts > hosts.old
用hosts的內容代替hosts.old文件的內容。如果hosts.old不存在,則一個新文件會被創建。
#cat hosts >> hosts.old
把hosts文件的內容加到hosts.old的末尾,使兩個文件合為一個。
#cat hosts1 hosts2 hosts3 > hosts.new
hosts.new是一個新文件,cat命令把hosts1、hosts2、hosts3的內容依次連接起來,並生成一個新的hosts.new文件。
4、more 和 less 命令
1.more 命令
是 Linux 系統中經常用到的命令,它的主要功能是可以按頁顯示文件及內容,如果一個文本文件的內容很多,可以用 more 命令來分頁查看文件中的內容,具體語法格式如下:
(1)語法:more [-選項] [參數] 文件名
(2)參數:
-n: n是整數,用於建立大小為n行長的窗口。窗口大小是在屏幕上顯示多少行。
-c: 用more給文本翻頁時通過從頭清除一行,然后再在最后寫下一行的辦法寫入。通常,more清除屏幕,再寫每一行。
-d: 顯示 “Press space to cpntinue, ‘q’ quit”代替more的缺省提示符。
-f: 計算邏輯行代替屏幕行。長行在屏幕上換行顯示,通常被more計算為新的一行;-f標志對長行的換行顯示不計數。
-s: 多個空行壓縮處理為一個。
-p: 不滾屏,代替它的是清屏並顯示文本。
-u: 禁止加下划線。
(3)對象:對象為文件名,即希望用more顯示文件內容的文件。
(4)舉例:
#more /etc/httpd/conf/httpd.conf
#more –20 /etc/httpd/conf/httpd.conf
#more –s /etc/httpd/conf/httpd.conf
2.less 命令
類似 more 命令,它的主要功能也是可以按頁顯示文件及內容,並允許在文件中向前和向后移動,其具體語法格式如下:
(1)語法:less [-選項] [參數] 文件名
(2)參數:
-?:本選項顯示less接收的命令小結。若給出本選項則忽略其他選項,less保留並在幫助屏后顯示。
-a:在當前屏幕顯示的最后一行之后開始查詢。
-c:從頂行向下全屏重寫。
-C:象-c,但在寫之前清屏。
-e:第二次到文件尾后自動退出less。若缺省,唯一退出less的方式是通過q命令。
-E:第一次到文件尾后自動退出less。
-i:區分大小寫查詢。
-n:去掉行號。
-q:產生相對安靜的操作。當試圖向文件尾之后或文件頭之前滾動時,終端鈴不響;在產生其他錯誤時,如鍵入非法字符,終端鈴響。
-Q:產生完全安靜的操作。
-s:將多個空行壓縮成一個空行。
-x n:每次按制表符走n格,n的缺省值是8。
(3)對象:對象為文件名,即希望用less顯示文件內容的文件。
(4)舉例:
#less /etc/httpd/conf/httpd.conf
#less –s /etc/httpd/conf/httpd.conf
技巧:
前面的內容已經提示了,我們不但可以用more和less顯示文本文件的內容,而且可以把那些輸出到標准輸出(屏幕)上的信息都通過管道符放到more和less中來顯示,這樣所有的命令就都有分屏顯示功能了!如下下面的命令:
#find / -name *sh | more
#ls -l /var/named | less
#ps aux | more
5、head 和 tail 命令
1.head 命令
主要功能是從前顯示文件內容,具體格式如下:
語法: head 文件名
head –n 文件名
(2)參數:
-n: 從文件開始數第n行之間的文件內容。
對象: 對象為文件,即希望查看文件內容的文件名。若對象為空,則使用標准輸入。
(4) 舉例:
#head /var/log/message
#head –50 /var/log/message
[ 應用實例:head]
我們在某些時候,會需要知道系統在啟動時的排在前幾個的進程還有哪些在活動,就可以使用head:
# ps aux | head
這時系統就會把排位前10的進程列出,正是我們需要的。
-
tail 命令
主要功能是從后顯示文件及內容,具體格式如下:
(1)語法: tail –f 文件名
tail –n 文件名
(2)參數:
-f: 若用此選項而輸入不是標准輸入,tail監控文件增長。這是無限循環輸出,必須用中斷鍵中止。
-n: 從文件末尾倒數第n行開始觀察文件。以行為單位的偏移量文件中開始觀察的位置。如果以-開頭,則從文件尾開始算;以+開關,從文件開始算。
對象: 對象為文件,即希望查看文件內容的文件名。若對象為空,則使用標准輸入。
(4) 舉例:
#tail –f /www/log/access.log
#tail –50 /var/log/messages
[ 應用實例:tail]
我們在調試某些服務的時候,需要在過程中不斷地查看系統日志給出的信息,來幫助修改。如調試named服務的時候,錯誤信息都會加到/var/log/messages的末尾去。實際上系統中大部分日志都儲存在這個文件里。這時我們可以用cat、more、less等工具來顯示,但messages文件有幾千行內容是很平常的事情,用這些工具可能需要翻屏一二百屏,才能到最后我們想看的內容,這樣的效率非常低下。而使用tail是恰到好處的。如下面的命令行:
# tail /var/log/messages
我們做一次named.conf文件的修改,啟動named進程,馬上就可以tail一下messages文件,看一看剛剛在named啟動時發生了什么事情。反復查看反復修改,直至最后找出問題。
6、rm 命令
rm 命令的功能是刪除文件,是 Linux 系統不可缺少的常用的基本命令,其具體格式如下所示:
(1)語法:rm [-選項] [參數] 文件
(2)參數:
-r: 刪除文件列表中指定的目錄,若不用此標志則不刪除目錄。
-i: 指定交互模式。在執行刪除前提示確認。任何以Y開始的響應都表示肯定;其他則表示否定。
-f: 指定強行刪除模式。通常,在刪除文件權限可滿足時rm提示。本標志強迫刪除,不用提示。
-V: 詳細模式。在刪除前回顯文件名。
--: 指明所有選項結束。用於刪除一個文件名與某一選項相同的文件。例如:假定偶然建立了名為-f的文件,又打算刪除它,命令rm –f不起任何作用,因為f被解釋成標志而不是文件名;而命令rm -- -f能成功地刪除文件。
(3)對象:上面語法中的文件是rm命令執行的對象,這里指的文件可以是單個文件、文件列表(多個文件)或者是目錄。
舉例:
#rm –rf /tmp/*
#rm /tmp/abc.log
提示:
在Linux中我們可以利用alias別名把rm轉為了rm –i,比如:
#alias rm = ‘rm –i‘
這樣我們在刪除文件和目錄時系統就會提示一下,確認之后再刪,提高了刪除操作的安全性。但注意如果加了“-f”選項的話,rm還是會問也不問,直接刪除的。
7、cp 命令
cp 命令類似Dos命令中的copy命令,用於文件及目錄之間的復制,其具體格式如下:
(1)語法 :cp [選項] 源文件 目標文件
cp [選項] 源文件組 目標目錄
(2)參數:
-a: 在備份中保持盡可能多的源文件結構和屬性。
-b: 作將要覆蓋或刪除文件的備份。
-d: 將符號連接作為符號連接拷貝,而不拷貝它們所指的文件。並在備份中保持源文件間固有的連接關系
-f: 刪除已存在的目標文件。
-i: 提示是否覆蓋已存在的目標文件。
-l: 形成固有連接以代替非目錄的拷貝。
-P: 通過加入目標目錄分支和指定的源文件名形成每個目標文件名。給cp的最后一個變量必須是已存在的目錄的名字。
-p: 保持原先文件的所有者,組,權限和時間標志。
-r: 遞歸拷貝目錄,把所有非目錄文件當普通文件拷貝。
-s: 建立符號連接,代替非目錄文件的拷貝。如果目標文件不在當前目錄,所有的源文件名必須是絕對路徑(從‘/’開始)。對不支持符號連接的系統,本選項將產生一個錯誤信息。
-u: 更新選項。目標是非目錄自己經存在並具有相同的或更新的修改時間,則不拷貝。
-v: 在拷貝前打印每個文件名。
-x: 從開始拷貝的文件開始,跳過在不同文件系統上的子目錄。
-R: 遞歸拷貝目錄。
-S: 用於產生備份文件的后綴。可以SIMPLE_BACKUP_SUFFIX環境變量建立,它能被此選項繞過。若以上都未給出,缺省值是~。
(3)對象:
源文件 : 要拷貝的文件。
目標文件:文件名。也可以是目錄名,這種情況下,源文件名作為目標文件名,而文件放在該目錄下。
源文件組:要拷貝文件的由空格分隔的列表。
目標目錄:目標目錄。
(4)舉例:
#cp /home/oracle /root
#cp –R /home/oracle /root
#cp –r /home/* /tmp
8、mv 命令
mv 命令的功能為移動文件(包括目錄),如果在同一目錄進行此操作,則是對相應對象進行改名。具體格式如下:
(1)語法: mv [-f] [-i] 文件1 文件2 ……
mv [-f] [-i] 目錄1 目錄2 ……
mv [-f] [-i] 文件列表 目錄
(2)參數:
-f: 通常目標文件存在且沒有寫權,mv會提示信息。本選項使mv執行移動而不作提示。
-i: 交互模式,在改寫文件前提示。
-R: 遞歸移動目錄。注意需要移動子目錄時一定要加上
(3)對象:
文件1:源文件名。
文件2:目標文件名(新文件名)。
目錄1:源目錄名。
目錄2:目標目錄名(新目錄名)。
目錄 :目標目錄。
文件列表:用空格分隔的文件名列表。用於文件保持它們的名字但移到一個新目錄。
(4)舉例:
#mv /tmp/abc.log /home/oracle
#mv -R /home/test /home
#mv /home/yani/. /tmp
9、ln 命令
ln 命令的功能主要是鏈接文件,其具體格式如下:
(1)語法: ln [-選項] [參數] 文件1 文件2
(2)參數:
-f : 鏈結時先將與 dist 同檔名的檔案刪除
-d : 允許系統管理者硬鏈結自己的目錄
-i : 在刪除與 dist 同檔名的檔案時先進行詢問
-n : 在進行軟連結時,將 dist 視為一般的檔案
-s : 進行軟鏈結(symbolic link)
-v : 在連結之前顯示其檔名
-b : 將在鏈結時會被覆寫或刪除的檔案進行備份
-S SUFFIX: 將備份的檔案都加上 SUFFIX 的字尾
-V METHOD: 指定備份的方式
--help : 顯示輔助說明
--version: 顯示版本
(3)對象:
文件1 : 指源文件或目錄
文件2 : 指生成的連接文件或目錄
(4)舉例:
#ln -s yy zz
說明: 上面一行命令的結果是ln命令將文件 yy 鏈接,並產生一個鏈接文件 zz。
10、find 命令
find 命令是Linux系統中非常重要的一個命令,它的主要功能是用來查找文件或目錄。其具體格式如下:
(1)語法:find [-選項] [參數] 文件 匹配標准
(2)參數:
-name文件: 告訴find要找什么文件;要找的文件包括在引號中,可以使用通配符(*和?)
-perm模式: 匹配所有模式為指定數字型模式值的文件。不僅僅是讀,寫和執行,所有模式都必須匹配。如果在模式前是負號(-),表示采用除這個模式的所有模式。
-type x: 匹配所有類型為x的文件。x是c(字符特殊),b(塊特殊),d(目錄),p(有名管道),l(符號連接),s(套接文件)或f(一般文件)。
-links n: 匹配所有連接數為n的文件。
-size n: 匹配所有大小為n 塊的文件(512字節塊,若k在n后,則為1K字節塊)。
-user用戶號:匹配所有用戶序列號是前面所指定的用戶序列號的文件,可以是數字型的值或用戶登錄名。
-atime n: 匹配所有在前n天內訪問過的文件。
-ctime n: 匹配所有在前n天內文件狀態被修改過的文件。
-mtime n: 匹配所有在前n天內文件數據被修改過的文件。
-exec命令:對每個匹配文件執行指定命令,標志{}用於指定命令執行時文件名出現的地方。命令必須終止於轉義分號( ;)。 這里,命令ls用-d變元執行,每個文件在發現{}的地方傳給ls。
-newer文件:匹配所有修改時間比file文件更新的文件。
(3)對象:
文件: 上面語法中的文件是find命令執行的對象,這里指的文件希望查詢的單個文件、文件列表(多個文件)或者是目錄。
匹配標准: 希望查詢的文件的匹配標准或說明。
(4)舉例:(root權限)
#find /home -name admin
#find / -ctime 3
(5)說明: 第一行命令實現在/home目錄下查找admin的文件或目錄;第二行命令實現在/ 目錄下查找前三天修改過的文件或目錄。
11、 file 命令
file 命令是查看文件類型的命令,具體格式如下:
(1)語法:file [-選項] [參數] 文件
(2)參數:
-c: 打印輸出幻數文件的分析形式。這通常用於與-m聯合使用。在安裝一個新的幻數文件之前調試它。
-z: 深入觀察一個壓縮文件,並試圖查出它的類型。
-L: 本選項允許符號連接。
-m文件: 指定用於說明文件類型的幻數的一個替換文件。
(3)對象: 上面語法中的文件是file命令執行的對象,這里指的文件是希望查詢文件類型的單個文件、文件列表(多個文件)或者是目錄,甚至目錄列表。
(4)舉例:
#file /var/log/message
#file /var/log /var/log1 /var/log2
#file –z /home/yani/apache1.3.2.tar.gz
四、屬性與權限命令
在 Linux 系統中,每個文件和目錄都有自己的屬性和存取權限,這樣一來,通過屬性的設置,就可以決定不同用戶或組之間的文件授權的訪問。而文件權限可以決定哪些用戶可以讀、寫或者執行一個文件。下面這節中的內容屬要是介紹在 Linux 系統中改變目錄文件屬性與權限的命令。
屬性與權限命令如下所示:
chown 改變屬主
chgrp 改變屬組
chmod 改變或設置文件或目錄的存取權限
umask 設置限制新文件權限的掩碼
1、chown 命令
(change owner) ——改變文件(或目錄)的擁有者或所屬組
格式:chown 用戶名 文件或目錄名
例如:
[root @wl /root]#chown wl chap1.txt
把文件chap1.txt的擁有者改為wl用戶。
[root @wl /root]#chown wl:root chap1.txt
把chap1.txt文件的擁有者改為wl用戶,同時文件的所屬組改為root組。
2、chgrp 命令
chgrp (change group) ——改變文件或目錄的所屬組
格式:chgrp 組 文件或目錄
chown可以同時改變文件擁有者和所屬者,chgrp只具有改變所屬組的功能。
例如:
[root @wl /root]#chgrp root chap1.txt
文件chap1.txt的所屬組設為root組。
3、chmod命令
該命名改變或設置文件或目錄的存取權限。
格式:chmod [選項] 文件和目錄列表
選項:根據表示權限的方式不同,該命令支持以下兩種設定權限的方法。
(1)使用字符模式設置權限
在這種模式下,用u、g、o和a來表示不同用戶。其中,u表示文件主,g表示同組用戶,o表示其他用戶,a表示所有用戶。
用r、w、x來表示權限,其中,r表示文件可讀,w表示可以寫,x表示可以執行。
對文件權限的設置通過+、−和=來完成。其中,+表示在原有權限上添加某個權限,−表示在原有權限上取消某權限;=賦予給定權限並取消以前所有權限。
(2)使用八進制設置權限
文件和目錄的權限還可用八進制數字模式來表示。3個八進制數字分別代表ugo的權限,讀、寫、執行權限所對應的數值分別是4、2和1。若要rwx屬性,則4+2+1=7;若要rw−屬性,則4+2+0=6;若要r−x屬性,則4+0+1=5。
【例3-34】將文件ex1的權限改為所有用戶都可執行權限。
[studentL@localhost studentL]#chmod a+x ex1
【例3-35】將文件ex1的權限重新設置為文件主可以讀和執行,組用戶可以執行,其他用戶無權訪問。
采用字符模式:
[root@localhost/root]#chmod u=r,ug=x ex1
采用八進制模式:
[root@localhost/root]#chmod 510 ex1
【例3-36】將文件ex1的文件主和同組用戶具有讀寫權限,但其他用戶只可讀。
采用字符模式:
[root@localhost /root]#chmod ug=r,ug=w,o=r ex1
采用八進制模式:
[root@localhost /root]#chmod 664 ex1
4、umask命令
該命令用來設置限制新文件權限的掩碼。當新文件被創建時,其初的權限由文件創建掩碼決定。用戶每次注冊進入系統時,umask命令都被執行,並自動設置掩碼改變默認值,新的權限將會把舊的覆蓋。
格式:umask [選項] [掩碼]
選項:-s:顯示當前的掩碼
掩碼與chmod命令中各選項用法相同
【例3-37】設置用戶的掩碼為文件主具有讀、寫、執行權限
同組用戶具有讀、寫權限,其他用戶具有讀權限。
采用字符模式:
[studentL@localhost studentL]#umask u=rwx,g=rw,o=r
采用八進制模式:
[root@localhost studentL]#umask 017
【例3-38】顯示當前掩碼。
[studentL@localhost studentL]
#umask -S
u=rwx,g=rw,o=r
五、文件壓縮gizp、gunzip及tar命令
1、gzip
在linux系統里經常會碰到.gz這樣的后綴名,這個.gz表示壓縮格式的文件。那這樣的.gz壓縮格式的文件是怎么做出來的?這就用到壓縮軟件gzip
格式: gzip [選項] 文件名
選項:
-c:解壓縮保留源文件;
-d:解開壓縮文件;
-r:遞歸處理,將指定目錄下的所有文件及子目錄一並處理;
-t:測試壓縮文件是否正確無誤
示例:
把/usr/liu目錄下的文件都壓縮成.gz
root@liu-virtual-machine:# cd /usr/liu
root@liu-virtual-machine:/usr/liu# gzip *
2、gunzip
gunzip命令用來解壓縮文件。gunzip是個使用廣泛的解壓縮程序,它用於解開被gzip壓縮過的文件,這些壓縮文件預設最后的擴展名為.gz。事實上gunzip就是gzip的硬連接,因此不論是壓縮或解壓縮,都可通過gzip指令單獨完成。
例:將上述例子進入解壓。
root@liu-virtual-machine:/usr/liu# gunzip *
3、tar打包命令
tar是linux下用來打包的命令,打包就是把多個文件包起來成為一個文件,這里必須注意打包只是將多個文件變成一個文件,並沒有對這多個文件進行壓縮。
tar的命令選項是非常多的,這也說明tar程序的功能非常強大。
格式: tar [選項] 生成打包文件名 需打包源文件
這里需要注意生成包名和需打包文件名的次序。
!!特別提醒:這里生成的打包文件名是用戶自己定義的,最好在取名的時候加上.tar的后綴名以便區分。
-z:是否同時具有gzip的屬性.
-x:解開一個壓縮檔案的參數指令!
-t:查看tarfile里面的檔案!
-c:建立一個壓縮文檔的參數!
-v:顯示壓縮過程
-f:生成壓縮文件的名字
-N:此后接的日期(yyyy/mm/dd)還要新的才會被打包進新建的檔案中!
--exclude file:在壓縮的過程中,不要將此后file打包!
#tar cvf directory.tar directory //只將目錄整合打包成一個文檔
#tar zcvf filename.tar.gz /test/* //將/test/下的所有文件全部打包並壓縮成一個文件
#tar xvf directory.tar //解開tar的封包。
#tar zxvf directory.tar.gz //解開gzip的壓縮包。
六、軟件安裝命令
Linux的應用軟件的安裝,有多種命令,根據不同的安裝包,可采用不同的命令方法。
一、rpm包安裝方式步驟 (紅帽發行的,只能安裝已經下載到本地機器上的rpm 包):
1、找到相應的軟件包,比如soft.version.rpm,下載到本機某個目錄;
2、打開一個終端,su -成root用戶;
3、cd soft.version.rpm所在的目錄;
4、輸入rpm -ivh soft.version.rpm
二、deb包安裝方式步驟:
1、找到相應的軟件包,比如soft.version.deb,下載到本機某個目錄;
2、打開一個終端,su -成root用戶;
3、cd soft.version.deb所在的目錄;
4、輸入dpkg -i soft.version.deb
三、tar.gz源代碼包安裝方式:
1、找到相應的軟件包,比如soft.tar.gz,下載到本機某個目錄;
2、打開一個終端,su -成root用戶;
3、cd soft.tar.gz所在的目錄;
4、tar -xzvf soft.tar.gz //一般會生成一個soft目錄
5、cd soft
6、./configure
7、make
8、make install
四、tar.bz2源代碼包安裝方式:
1、找到相應的軟件包,比如soft.tar.bz2,下載到本機某個目錄;
2、打開一個終端,su -成root用戶;
3、cd soft.tar.bz2所在的目錄;
4、tar -xjvf soft.tar.bz2 //一般會生成一個soft目錄
5、cd soft
6、./configure
7、make
8、make install
五、apt方式安裝:(安裝deb包)
1、打開一個終端,su -成root用戶;
2、apt-cache search soft 注:soft是你要找的軟件的名稱或相關信息
3、如果2中找到了軟件soft.version,則用apt-get install soft.version命令安裝軟件
注:只要你可以上網,只需要用apt-cache search查找軟件,用apt-get install安裝軟件 ,apt-get是debian,ubuntu發行版的包管理工具,與紅帽中的yum工具非常類似。
六、yum方式安裝:(安裝rpm包)
rpm 是linux的一種軟件包名稱,以.rpm結尾,安裝的時候語法為:rpm -ivh。
rpm包的安裝有個很大的缺點就是文件的關聯性太大,有時裝一個軟件要安裝很多其他的軟件包,很麻煩。
所以為此RedHat小紅帽開發了yum安裝方法,他可以徹底解決這個關聯性的問題,很方便,只要配置兩個文件即可安裝,安裝方法是:yum -y install 。
yum並不是一種包,而是安裝包的軟件。
簡單的說: rpm 只能安裝已經下載到本地機器上的rpm 包. yum能在線下載並安裝rpm包,能更新系統,且還能自動處理包與包之間的依賴問題,這個是rpm 工具所不具備的。
七、bin文件安裝:
如果你下載到的軟件名是soft.bin,一般情況下是個可執行文件,安裝方法如下:
1、打開一個終端,su -成root用戶;
2、chmod +x soft.bin
3、./soft.bin //運行這個命令就可以安裝軟件了
八、不需要安裝的軟件:
有了些軟件,比如lumaqq,是不需要安裝的,自帶jre解壓縮后可直接運行。假設下載的是lumaqq.tar.gz,使用方法如下:
1、打開一個終端,su -成root用戶;
2、tar -xzvf lumaqq.tar.gz //這一步會生成一個叫LumaQQ的目錄
3、cd LumaQQ
4、chmod +x lumaqq //設置lumaqq這個程序文件為可運行
5、此時就可以運行lumaqq了,用命令./lumaqq即可,但每次運行要輸入全路徑或
切換到剛才生成的LumaQQ目錄里
6、為了保證不設置路徑就可以用,你可以在/bin目錄下建立一個lumaqq的鏈接,
用命令ln -s lumaqq /bin/ 即可,以后任何時候打開一個終端輸入lumaqq就可以
啟動QQ聊天軟件了
7、 如果你要想lumaqq有個菜單項,使用菜單編輯工具,比如Alacarte Menu
Editor,找到上面生成的LumaQQ目錄里的lumaqq設置一個菜單項就可以了,當然你
也可以直接到 /usr/share/applications目錄,按照里面其它*.desktop文件的格
式生成一個自己的desktop文件即可。
下列是常用的方法
wget //wget是一個下載文件的工具,Linux用戶可下載一些軟件或從遠程服務器恢復備份到本地服務器,支持HTTP,HTTPS和FTP協議。
rpm //rpm命令是RPM軟件包的管理工具。可用來檢查、安裝,卸載rpm軟件包。
yum //紅帽發行版的包管理工具
1、wget
wget是一個下載文件的工具,它用在命令行下。對於Linux用戶是必不可少的工具,我們經常要下載一些軟件或從遠程服務器恢復備份到本地服務器。
wget支持HTTP,HTTPS和FTP協議,可以使用HTTP代理。所謂的自動下載是指,wget可以在用戶退出系統的之后在后台執行。這意味這你可以登錄系統,啟動一個wget下載任務,然后退出系統,wget將在后台執行直到任務完成
用法: wget [選項]... [URL]...
選項:
開始: -V, --version 顯示 Wget 的版本信息並退出。
-h, --help 打印此幫助。
-b, --background 啟動后轉入后台。
-e, --execute=COMMAND 運行一個‘.wgetrc’風格的命令。
登入並輸入文件:
-o, --output-file=FILE 將信息寫入 FILE。
-a, --append-output=FILE 將信息添加至 FILE。
-d, --debug 打印大量調試信息。
-q, --quiet 安靜模式(無信息輸出)。
-v, --verbose 詳盡的輸出(此為默認值)。
-nv, --no-verbose 關閉詳盡輸出,但不進入安靜模式。
-i, --input-file=FILE 下載本地或外部 FILE 中的 URLs。
-F, --force-html 把輸入文件當成 HTML 文件。
-B, --base=URL 解析與 URL 相關的
HTML 輸入文件(由 -i -F 選項指定)。
下載:
-t, --tries=NUMBER 設置重試次數為 NUMBER (0 代表無限制)。
--retry-connrefused 即使拒絕連接也是重試。
-O, --output-document=FILE 將文檔寫入 FILE。
-nc, --no-clobber 不要重復下載已存在的文件。
-c, --continue 繼續下載部分下載的文件。
--progress=TYPE 選擇進度條類型。
-N, --timestamping 只獲取比本地文件新的文件。
-S, --server-response 打印服務器響應。
--spider 不下載任何文件。
-T, --timeout=SECONDS 將所有超時設為 SECONDS 秒。
--dns-timeout=SECS 設置 DNS 查尋超時為 SECS 秒。
--connect-timeout=SECS 設置連接超時為 SECS 秒。
--read-timeout=SECS 設置讀取超時為 SECS 秒。
-w, --wait=SECONDS 等待間隔為 SECONDS 秒。
--waitretry=SECONDS 在取回文件的重試期間等待 1..SECONDS 秒。
--random-wait 取回時等待 0...2*WAIT 秒。
--no-proxy 關閉代理。
-Q, --quota=NUMBER 設置取回配額為 NUMBER 字節。
--bind-address=ADDRESS 綁定至本地主機上的 ADDRESS (主機名或是 IP)。
--limit-rate=RATE 限制下載速率為 RATE。
--no-dns-cache 關閉 DNS 查尋緩存。
--restrict-file-names=OS 限定文件名中的字符為 OS 允許的字符。
--ignore-case 匹配文件/目錄時忽略大小寫。
-4, --inet4-only 僅連接至 IPv4 地址。
-6, --inet6-only 僅連接至 IPv6 地址。
--prefer-family=FAMILY 首先連接至指定協議的地址
FAMILY 為 IPv6,IPv4 或是 none。
--user=USER 將 ftp 和 http 的用戶名均設置為 USER。
--password=PASS 將 ftp 和 http 的密碼均設置為 PASS。
--ask-password 提示輸入密碼。
--no-iri 關閉 IRI 支持。
--local-encoding=ENC IRI 使用 ENC 作為本地編碼。
--remote-encoding=ENC 使用 ENC 作為默認遠程編碼。
目錄:
-nd, --no-directories 不創建目錄。
-x, --force-directories 強制創建目錄。
-nH, --no-host-directories 不要創建主目錄。
--protocol-directories 在目錄中使用協議名稱。
-P, --directory-prefix=PREFIX 以 PREFIX/... 保存文件
--cut-dirs=NUMBER 忽略 NUMBER 個遠程目錄路徑。
HTTP 選項:
--http-user=USER 設置 http 用戶名為 USER。
--http-password=PASS 設置 http 密碼為 PASS。
--no-cache 不在服務器上緩存數據。
--default-page=NAME 改變默認頁
(默認頁通常是“index.html”)。
-E, --adjust-extension 以合適的擴展名保存 HTML/CSS 文檔。
--ignore-length 忽略頭部的‘Content-Length’區域。
--header=STRING 在頭部插入 STRING。
--max-redirect 每頁所允許的最大重定向。
--proxy-user=USER 使用 USER 作為代理用戶名。
--proxy-password=PASS 使用 PASS 作為代理密碼。
--referer=URL 在 HTTP 請求頭包含‘Referer: URL’。
--save-headers 將 HTTP 頭保存至文件。
-U, --user-agent=AGENT 標識為 AGENT 而不是 Wget/VERSION。
--no-http-keep-alive 禁用 HTTP keep-alive(永久連接)。
--no-cookies 不使用 cookies。
--load-cookies=FILE 會話開始前從 FILE 中載入 cookies。
--save-cookies=FILE 會話結束后保存 cookies 至 FILE。
--keep-session-cookies 載入並保存會話(非永久) cookies。
--post-data=STRING 使用 POST 方式;把 STRING 作為數據發送。
--post-file=FILE 使用 POST 方式;發送 FILE 內容。
--content-disposition 當選中本地文件名時
允許 Content-Disposition 頭部(尚在實驗)。
--auth-no-challenge send Basic HTTP authentication information
without first waiting for the server's
challenge.
HTTPS (SSL/TLS) 選項:
--secure-protocol=PR 選擇安全協議,可以是 auto、SSLv2、
SSLv3 或是 TLSv1 中的一個。
--no-check-certificate 不要驗證服務器的證書。
--certificate=FILE 客戶端證書文件。
--certificate-type=TYPE 客戶端證書類型, PEM 或 DER。
--private-key=FILE 私鑰文件。
--private-key-type=TYPE 私鑰文件類型, PEM 或 DER。
--ca-certificate=FILE 帶有一組 CA 認證的文件。
--ca-directory=DIR 保存 CA 認證的哈希列表的目錄。
--random-file=FILE 帶有生成 SSL PRNG 的隨機數據的文件。
--egd-file=FILE 用於命名帶有隨機數據的 EGD 套接字的文件。
FTP 選項:
--ftp-user=USER 設置 ftp 用戶名為 USER。
--ftp-password=PASS 設置 ftp 密碼為 PASS。
--no-remove-listing 不要刪除‘.listing’文件。
--no-glob 不在 FTP 文件名中使用通配符展開。
--no-passive-ftp 禁用“passive”傳輸模式。
--retr-symlinks 遞歸目錄時,獲取鏈接的文件(而非目錄)。
遞歸下載:
-r, --recursive 指定遞歸下載。
-l, --level=NUMBER 最大遞歸深度( inf 或 0 代表無限制,即全部下載)。
--delete-after 下載完成后刪除本地文件。
-k, --convert-links 讓下載得到的 HTML 或 CSS 中的鏈接指向本地文件。
-K, --backup-converted 在轉換文件 X 前先將它備份為 X.orig。
-m, --mirror -N -r -l inf --no-remove-listing 的縮寫形式。
-p, --page-requisites 下載所有用於顯示 HTML 頁面的圖片之類的元素。
--strict-comments 開啟 HTML 注釋的精確處理(SGML)。
遞歸接受/拒絕:
-A, --accept=LIST 逗號分隔的可接受的擴展名列表。
-R, --reject=LIST 逗號分隔的要拒絕的擴展名列表。
-D, --domains=LIST 逗號分隔的可接受的域列表。
--exclude-domains=LIST 逗號分隔的要拒絕的域列表。
--follow-ftp 跟蹤 HTML 文檔中的 FTP 鏈接。
--follow-tags=LIST 逗號分隔的跟蹤的 HTML 標識列表。
--ignore-tags=LIST 逗號分隔的忽略的 HTML 標識列表。
-H, --span-hosts 遞歸時轉向外部主機。
-L, --relative 只跟蹤有關系的鏈接。
-I, --include-directories=LIST 允許目錄的列表。
-X, --exclude-directories=LIST 排除目錄的列表。
-np, --no-parent 不追溯至父目錄。
wget命令展示:
使用wget -O下載並以不同的文件名保存(-O:下載文件到對應目錄,並且修改文件名稱)
wget -O wordpress.zip http://www.minjieren.com/download.aspx?id=1080
使用wget -b后台下載
wget -b http://www.minjieren.com/wordpress-3.1-zh_CN.zip
備注: 你可以使用以下命令來察看下載進度:tail -f wget-log
利用-spider: 模擬下載,不會下載,只是會檢查是否網站是否好着
[root@localhost ~]# wget --spider www.baidu.com #不下載任何文件
模擬下載打印服務器響應
[root@localhost ~]# wget -S www.baidu.com # 打印服務器響應
設定指定次數
[root@localhost ~]# wget -r --tries=2 www.baidu.com (指定嘗試2次,2次后不再嘗試)
[root@localhost ~]# wget -r --tries=2 -q www.baidu.com (指定嘗試,且不打印中間結果)
2、rpm
rpm命令是RPM軟件包的管理工具。rpm原本是Red Hat Linux發行版專門用來管理Linux各項套件的程序,由於它遵循GPL規則且功能強大方便,因而廣受歡迎。逐漸受到其他發行版的采用。RPM套件管理方式的出現,讓Linux易於安裝,升級,間接提升了Linux的適用度。
用法: rpm [選項...]
選項:
-a:查詢所有套件;
-b<完成階段><套件檔>+或-t <完成階段><套件檔>+:設置包裝套件的完成階段,指定套件檔的文件名稱;
-c:只列出組態配置文件,本參數需配合"-l"參數使用;
-d:只列出文本文件,本參數需配合"-l"參數使用;
-e<套件檔>或--erase<套件檔>:刪除指定的套件;
-f<文件>+:查詢擁有指定文件的套件;
-h或--hash:套件安裝時列出標記;
-i:顯示套件的相關信息;
-i<套件檔>或--install<套件檔>:安裝指定的套件檔;
-l:顯示套件的文件列表;
-p<套件檔>+:查詢指定的RPM套件檔;
-q:使用詢問模式,當遇到任何問題時,rpm指令會先詢問用戶;
-R:顯示套件的關聯性信息;
-s:顯示文件狀態,本參數需配合"-l"參數使用;
-U<套件檔>或--upgrade<套件檔>:升級指定的套件檔;
-v:顯示指令執行過程;
-vv:詳細顯示指令執行過程,便於排錯。
安裝rpm軟件包指令:
#rpm -qa |grep your-package #檢查是否安裝了your-package
#rpm -ivh your-package # 直接安裝
#rpm --force -ivh your-package.rpm # 忽略報錯,強制安裝
利用光盤安裝:
#rpm -qa |grep samba #檢查是否安裝了Samba服務器
#mount /dev/cdrom /mnt #將光驅加載到/mnt目錄
#rpm -ivh /mnt/Packages/your-package.rpm #從/mnt/Packages/中安裝你的rpm軟件
卸載rpm軟件包:
#rpm -ql tree # 查詢tree
#rpm -e tree # 卸載tree
3、redHat 7.2 安裝yum 切阿里源安裝軟件
redhat 的更新包只對注冊的用戶生效,所以我們自己手動更改成CentOS 的更新包,CentOS幾乎和redhat是一樣的,所以無需擔心軟件包是否可安裝,安裝之后是否有問題。
刪除redhat原有的yum ,因為redhat 原本的yum 沒有注冊為redhat用戶是用不了的。
1.查看redhat版本
2.查看yum的安裝
3.刪除linux自帶yum
4.下載yum安裝包rpm
注意:可先進入http://mirrors.163.com/centos/7/os/x86_64/Package查看有無下列安裝包
可復制:
# wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-3.4.3-163.el7.centos.noarch.rpm
# wget http://mirrors.163.com/centos/7/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm
# wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
# wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-52.el7.noarch.rpm
#wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-utils-1.1.31-52.el7.noarch.rpm
#wget http://mirrors.163.com/centos/7/os/x86_64/Packages/python-urlgrabber-3.10-9.el7.noarch.rpm
5. 安裝yum:
復制代碼:
#rpm -ivh yum-metadata-parser-1.1.4-10.el7.x86_64.rpm --force --nodeps
#rpm -ivh yum-3.4.3-163.el7.centos.noarch.rpm --force --nodeps
#rpm -ivh yum-plugin-fastestmirror-1.1.31-52.el7.noarch.rpm --force --nodeps
#rpm -ivh yum-utils-1.1.31-52.el7.noarch.rpm --force --nodeps
#rpm -ivh python-urlgrabber-3.10-9.el7.noarch.rpm --force --nodeps
#rpm -ivh python-iniparse-0.4-9.el7.noarch.rpm
6、下載阿里鏡像到/etc/yum.repos.d/目錄下
# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
7、修改剛下載的文件 將所有$releasever替換為7
# vim /etc/yum.repos.d/CentOS-Base.repo
# :%s/$releasever/7/g
修改配置文件CnetOS-Base.repo,通過vim編輯器打開CnetOS-Base.repo , 替換releasever命令:%s/$releaserver/7/g ,wq保存退出。
注:g標示全局替換,將$releaserver替換為7,這里替換的是centos版本,安裝cdh時候回到指定目錄下載相關文件,最好是在瀏覽器打開baseurl路徑,查看指定路徑下的數據包是否存在,不存在請使用其他版本。
8、運行以下命令即可
# yum clean all
# yum makecache
# yum update
9.現在可用yum安裝應用軟件了,以安裝設置五筆輸入法為例
Centos中可以查到有兩種五筆輸入法,一種是極點,一種是海峰。這里以極點五筆輸入法為例進行安裝設置。
1. 查找五筆
$yum list|grep “wubi”
2. sudo yum install 來安裝極點五筆輸入法。
$sudo yum install ibus-table-chinese-wubi-haifeng.noarch
3. 安裝完成需要重啟一下系統。
$reboot
4. ibus添加輸入法
執行ibus-setup,如下圖所示,點擊“輸入法“選項卡。
$ibus-setup
5. 點擊“添加”按鈕。
6. 點擊“漢語”。
7. 選中“極點五筆輸入法”點擊“添加”。
8. 設置完成后,點擊“關閉”按鈕。
9. 設置輸入源
點擊“應用程序”——“系統工具”——”設置“。
10. 點“Region & language"。
在顯示的界面點“輸入源”下面點擊“+”。
11. 點擊“漢語“。
12. 選擇"極點五筆”,點擊“添加”。
13. 之后就可以看到添加成功了,如下圖所示。