主頁 > 作業系統 > Linux常用命令(詳細)

Linux常用命令(詳細)

2020-09-20 06:21:33 作業系統

Linux常用命令

一、控制臺相關命令

控制臺命令就是指通過字符界面輸入的可以作業系統的命令,我們現在要了解的是基于Linux作業系統的基本控制臺命令,不同于圖形模式的一種類似文本編輯器的運行命令的環境,在遠程登陸控制或是操作沒有圖形環境的Linux系統時,控制臺命令就有很大的用途了,建議大家一定要熟練掌握控制臺模式下的命令操作,這樣不管是否是在Linux系統的圖形環境中操作,我們都可以完成指定的任務,有一點請注意,Linux的命令(也包括檔案名等等)對大小寫是敏感的,如“Abc”和“abc”會被認為是不一樣的,如果輸入的命令大小寫不對的話,系統是不會做出你期望的回應的,

下面先給大家介紹幾個與控制臺命令相關的命令,如下所示:

login   登陸控制臺

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的行程列出,正是我們需要的,

  1. 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=https://www.cnblogs.com/relitty/p/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

#rpm -ql 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. 之后就可以看到添加成功了,如下圖所示,

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/86578.html

標籤:Linux

上一篇:Linux Namespace : Network

下一篇:更安全的rm命令,保護重要資料

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • CA和證書

    1、在 CentOS7 中使用 gpg 創建 RSA 非對稱密鑰對 gpg --gen-key #Centos上生成公鑰/密鑰對(存放在家目錄.gnupg/) 2、將 CentOS7 匯出的公鑰,拷貝到 CentOS8 中,在 CentOS8 中使用 CentOS7 的公鑰加密一個檔案 gpg -a ......

    uj5u.com 2020-09-10 00:09:53 more
  • Kubernetes K8S之資源控制器Job和CronJob詳解

    Kubernetes的資源控制器Job和CronJob詳解與示例 ......

    uj5u.com 2020-09-10 00:10:45 more
  • VMware下安裝CentOS

    VMware下安裝CentOS 一、軟硬體準備 1 Centos鏡像準備 1.1 CentOS鏡像下載地址 下載地址 1.2 CentOS鏡像下載程序 點擊下載地址進入如下圖的網站,選擇需要下載的版本,這里選擇的是Centos8,點擊如圖所示。 決定選擇Centos8后,選擇想要的鏡像源進行下載,此 ......

    uj5u.com 2020-09-10 00:12:10 more
  • 如何使用Grep命令查找多個字串

    如何使用Grep 命令查找多個字串 大家好,我是良許! 今天向大家介紹一個非常有用的技巧,那就是使用 grep 命令查找多個字串。 簡單介紹一下,grep 命令可以理解為是一個功能強大的命令列工具,可以用它在一個或多個輸入檔案中搜索與正則運算式相匹配的文本,然后再將每個匹配的文本用標準輸出的格式 ......

    uj5u.com 2020-09-10 00:12:28 more
  • git配置http代理

    git配置http代理 經常遇到克隆 github 慢的問題,這里記錄一下幾種配置 git 代理的方法,解決 clone github 過慢。 目錄 git配置代理 git單獨配置github代理 git配置全域代理 配置終端環境變數 git配置代理 主要使用 git config 命令 git單獨 ......

    uj5u.com 2020-09-10 00:12:33 more
  • Linux npm install 裝包時提示Error EACCES permission denied解

    npm install 裝包時提示Error EACCES permission denied解決辦法 ......

    uj5u.com 2020-09-10 00:12:53 more
  • Centos 7下安裝nginx,使用yum install nginx,提示沒有可用的軟體包

    Centos 7下安裝nginx,使用yum install nginx,提示沒有可用的軟體包。 18 (flaskApi) [root@67 flaskDemo]# yum -y install nginx 19 已加載插件:fastestmirror, langpacks 20 Loading ......

    uj5u.com 2020-09-10 00:13:13 more
  • Linux查看服務器暴力破解ssh IP

    在公網的服務器上經常遇到別人爆破你服務器的22埠,用來挖礦或者干其他嘿嘿嘿的事情~ 這種情況下正確的做法是: 修改默認ssh的22埠 使用設定密鑰登錄或者白名單ip登錄 建議服務器密碼為復雜密碼 創建普通用戶登錄服務器(root權限過大) 建立堡壘機,實作統一管理服務器 統計爆破IP [root ......

    uj5u.com 2020-09-10 00:13:17 more
  • CentOS 7系統常見快捷鍵操作方式

    Linux系統中一些常見的快捷方式,可有效提高操作效率,在某些時刻也能避免操作失誤帶來的問題。 ......

    uj5u.com 2020-09-10 00:13:31 more
  • CentOS 7作業系統目錄結構介紹

    作業系統存在著大量的資料檔案資訊,相應檔案資訊會存在于系統相應目錄中,為了更好的管理資料資訊,會將系統進行一些目錄規劃,不同目錄存放不同的資源。 ......

    uj5u.com 2020-09-10 00:13:35 more
最新发布
  • vim的常用命令

    Vim的6種基本模式 1. 普通模式在普通模式中,用的編輯器命令,比如移動游標,洗掉文本等等。這也是Vim啟動后的默認模式。這正好和許多新用戶期待的操作方式相反(大多數編輯器默認模式為插入模式)。 2. 插入模式在這個模式中,大多數按鍵都會向文本緩沖中插入文本。大多數新用戶希望文本編輯器編輯程序中一 ......

    uj5u.com 2023-04-20 08:43:21 more
  • vim的常用命令

    Vim的6種基本模式 1. 普通模式在普通模式中,用的編輯器命令,比如移動游標,洗掉文本等等。這也是Vim啟動后的默認模式。這正好和許多新用戶期待的操作方式相反(大多數編輯器默認模式為插入模式)。 2. 插入模式在這個模式中,大多數按鍵都會向文本緩沖中插入文本。大多數新用戶希望文本編輯器編輯程序中一 ......

    uj5u.com 2023-04-20 08:42:36 more
  • docker學習

    ###Docker概述 真實專案部署環境可能非常復雜,傳統發布專案一個只需要一個jar包,運行環境需要單獨部署。而通過Docker可將jar包和相關環境(如jdk,redis,Hadoop...)等打包到docker鏡像里,將鏡像發布到Docker倉庫,部署時下載發布的鏡像,直接運行發布的鏡像即可。 ......

    uj5u.com 2023-04-19 09:26:53 more
  • 設定Windows主機的瀏覽器為wls2的默認瀏覽器

    這里以Chrome為例。 1. 準備作業 wsl是可以使用Windows主機上安裝的exe程式,出于安全考慮,默認情況下改功能是無法使用。要使用的話,終端需要以管理員權限啟動。 我這里以Windows Terminal為例,介紹如何默認使用管理員權限打開終端,具體操作如下圖所示: 2. 操作 wsl ......

    uj5u.com 2023-04-19 09:25:49 more
  • docker學習

    ###Docker概述 真實專案部署環境可能非常復雜,傳統發布專案一個只需要一個jar包,運行環境需要單獨部署。而通過Docker可將jar包和相關環境(如jdk,redis,Hadoop...)等打包到docker鏡像里,將鏡像發布到Docker倉庫,部署時下載發布的鏡像,直接運行發布的鏡像即可。 ......

    uj5u.com 2023-04-19 09:19:04 more
  • Linux學習筆記

    IP地址和主機名 IP地址 ifconfig可以用來查詢本機的IP地址,如果不能使用,可以通過install net-tools安裝。 Centos系統下ens33表示主網卡;inet后表示IP地址;lo表示本地回環網卡; 127.0.0.1表示代指本機;0.0.0.0可以用于代指本機,同時在放行設 ......

    uj5u.com 2023-04-18 06:52:01 more
  • 解決linux系統的kdump服務無法啟動的問題

    問題:專案麒麟系統服務器的kdump服務無法啟動,沒有相關日志無法定位問題。 1、查看服務狀態是關閉的,重啟系統也無法啟動 systemctl status kdump 2、修改grub引數,修改“crashkernel”為“512M(有的機器數值太大太小都會導致報錯,建議從128M開始試,或者加個 ......

    uj5u.com 2023-04-12 09:59:50 more
  • 解決linux系統的kdump服務無法啟動的問題

    問題:專案麒麟系統服務器的kdump服務無法啟動,沒有相關日志無法定位問題。 1、查看服務狀態是關閉的,重啟系統也無法啟動 systemctl status kdump 2、修改grub引數,修改“crashkernel”為“512M(有的機器數值太大太小都會導致報錯,建議從128M開始試,或者加個 ......

    uj5u.com 2023-04-12 09:59:01 more
  • 你是不是暴露了?

    作者:袁首京 原創文章,轉載時請保留此宣告,并給出原文連接。 如果您是計算機相關從業人員,那么應該經歷不止一次網路安全專項檢查了,你肯定是收到過資訊系統技術檢測報告,要求你加強風險監測,確保你提供的系統服務堅實可靠了。 沒檢測到問題還好,檢測到問題的話,有些處理起來還是挺麻煩的,尤其是線上正在運行的 ......

    uj5u.com 2023-04-05 16:52:56 more
  • 細節拉滿,80 張圖帶你一步一步推演 slab 記憶體池的設計與實作

    1. 前文回顧 在之前的幾篇記憶體管理系列文章中,筆者帶大家從宏觀角度完整地梳理了一遍 Linux 記憶體分配的整個鏈路,本文的主題依然是記憶體分配,這一次我們會從微觀的角度來探秘一下 Linux 內核中用于零散小記憶體塊分配的記憶體池 —— slab 分配器。 在本小節中,筆者還是按照以往的風格先帶大家簡單 ......

    uj5u.com 2023-04-05 16:44:11 more