1. 程式人生 > >Linux基本命令介紹

Linux基本命令介紹

1.man    顯示命令的詳細資訊      clear清屏命令

cd- -help mkdir- - help檢視命令的幫助資訊

2.date / cal / whowhoami檢視日期、日曆、登入的使用者、當前登入使用者    非圖形介面切換使用

3.ifconfig檢視網路連線

4.pwd命令   “print working directory”(列印當前工作目錄)

cd 

1.功能說明:進入(開啟)目錄,相當於WINDOWS系統中的開啟資料夾

2.常見用法:

a) #cd/usr/include改變任意一目錄為當前目錄。

b) #cdTest當前目錄下一目錄. (Test是一個已經存在的目錄)

c) #cd  轉至登陸時的工作目錄,即使用者目錄.

d) #cd..        回到上一層目錄。

e) #cd../..        (返回上兩級目錄,相當於cd..兩次)

3.特別用法:

a)cd~  進入當前使用者目錄

b)cd~/Test  進入當前使用者的Test目錄

c)cd-回到剛才的工作目錄,相當於WINDOWS中的ALT+Tab

4.關於使用者目錄

Linux系統中,使用者登入時會首先進入使用者目錄,就像WINDOWS系統登入後會首先進入桌面一樣(桌面實際上是系統盤下的一個目錄.)

例如:登入系統時都會預設進入/home/aoran目錄.

5.關於特殊目錄

.  表示當前目錄,例如: ./test.sh執行當前目錄下的test.sh指令碼

.. 表示上一級目錄,例如:cd..回到上一級目錄 ls ..顯示上級目錄下的檔案資訊

ls [-l] [-t] [-a] [-s] [-r] [-F] [file..]

1.功能說明:用於檢視目錄下的檔案資訊,顯示檔案或目錄

  Linux是一種檔案系統,系統中的任何元素包括檔案,目錄,連結,甚至硬體裝置都會做為檔案來處理.

 2.引數說明:

 -a列出所有的檔案。包括隱藏檔案。

 -l用長格式顯示匹配項(檔案或目錄),許可權,所有者,大小和最後修改日期。

 -t以最近修改時間/日期順序列出(最新的在首位)

 -s

cp  [ -f ] [ -h ] [ -i ] [ -p ] [ -- ] { -r | -R } {SourceFile TargetFile |SourceFile ... TargetDirectory |SourceDirectory ... TargetDirectory }


1.功能說明:拷貝檔案到另一個檔案 , 將檔案拷到一個目錄下.拷貝目錄到另一個目錄

2.引數說明:

-f  強制拷貝(AIX中,如果檔案寫操作沒有開啟,則首先清除目標檔案)
-h 複製符號連結
-i  帶命令提示的拷貝,提示將被告覆蓋的檔案
-p 屬性拷貝,除了拷貝檔案以外,還會拷貝檔案的屬性資訊
-r  級連拷貝,拷貝目錄下所有檔案和子目錄到目標目錄下
-R 複製特殊裝置檔案

3.常見用法:

a)在當前目錄將test 作拷貝。
# cp test  test.bak  
b)將當前目錄的test檔案拷貝到/home/aoran/Test目錄

 # cp test /home/aoran/Test 

c)拷貝Test下的所有檔案到Test1目錄下
 # cp /home/aoran/Test/* /home/aoran/Test1 

d)級連拷貝.拷貝Test下所有檔案和子目錄到Test1目錄下,如果Test1目錄不存在則建立,如果存在則覆蓋
 # cp -r /home/aoran/Test   /home/aoran/Test1 

e)將當前目錄下的hello  hello1 檔案拷貝到Test目錄下.
 # cp hello  hello1   /home/aoran/Test 

f)將使用者目錄下的programs目錄下所有以.c結尾的檔案拷貝到當前目錄
 # cp ~/programs/*.c  .

g)屬性拷貝,除了拷貝檔案以外,還會拷貝檔案的屬性資訊。這種拷貝方式可以把一個檔案的許可權,使用者資訊,時間屬性完全拷貝。
 # cp -p test test.bak

mv     

1.功能說明:移動或重新命名檔案和目錄

2.命令格式:mv [-i]源 目標檔案(或目錄)

3.應用舉例:
  a)將檔案test更名為mytest,相當於重新命名
      $mv test mytest 

  b)將檔案test移動到目錄Test下
      $mv test Test 

  c)將檔案mv /home/aoran/Test/test移動到目錄aoran下
      $mv /home/aoran/Test/test aoran         
   d)將目錄dir1更名為dir2
      $mv dir1 dir2   
     注意: mv命令在這裡有二意性.當目錄dir2不存在時,可以將目錄dir1更名為dir2 ;如果在當前路徑下已經存在一個目錄名為dir2 ,那麼使用mv dir1 dir2  時,將會把目錄dir1整個移動到dir2目錄下.

 rm

1.功能說明:刪除一個目錄中的一個或多個檔案或目錄,它也可以將某個目錄及其下的所有檔案及子目錄均刪除

2.引數說明:
   -i  帶命令提示的刪除,提示將被刪除的檔案

   -r  同時刪除該目錄下的所有目錄層

3.應用舉例:
  a)刪除Test1目錄以及目錄中的所有檔案
      $rm–r Test1

 b)帶提示刪除test檔案

     $rm –i test

cat  [file_name]

1.功能說明:將一個文字檔案的內容顯示在螢幕上,檔案內空不分屏,全部顯示.主要用於檢視較小的檔案.


cat passd > a.txt (將一個檔案的內容不顯示在螢幕上而輸出到另外一處的檔案中;)

  cat /etc/passwd | grep root  多配合awk/grep和管道使用等。

作用:顯示passwd檔案中內容中使用者名稱為root的行。)

通過重定向 合併檔案

 cat test1>test2      test1的內容覆蓋到test2上

 cat test1 test2 >test3

more命令:一次顯示一個文字檔案的內容一螢幕 
    more (一個或多個)檔名
   空格鍵   一次滾動手冊一頁
   回車鍵   一次滾動手冊一行
    b        移到上屏  f   移到下一屏
   q        退出返回外殼提示

more password.txt

tail命令:
 tail [-n] filename

用法一:檢視指定行數

    tail -20 hello.txt 

用法二:預設檢視檔案最後10行
    tail helo.txt;
 

tail從檔案尾部開始閱讀檔案,主要用於檢視log類實時生成的檔案。如果需要從頭閱讀,或者只檢視檔案的前面幾行,可以使用head命令。

head命令:

  head [-n] filename

顧名思義,檢視檔案的先頭部分,或者說是從頭閱讀檔案。

如:head -20 hello.txt檢視檔案的前20行。

tail命令:
 tail [-n] filename

用法一:檢視指定行數

    tail -20 hello.txt 

用法二:預設檢視檔案最後10行
    tail helo.txt;
 

tail從檔案尾部開始閱讀檔案,主要用於檢視log類實時生成的檔案。如果需要從頭閱讀,或者只檢視檔案的前面幾行,可以使用head命令。

head命令:

  head [-n] filename

顧名思義,檢視檔案的先頭部分,或者說是從頭閱讀檔案。

如:head -20 hello.txt檢視檔案的前20行。

tar

1.功能說明:可以為檔案和目錄建立檔案。利用tar,使用者可以為某一特定檔案建立檔案(備份檔案),也可以在檔案中改變檔案,或者向檔案中加入新的檔案。

2.語法:tar[主選項+輔選項] 檔案或者目錄


3.引數說明:
  c建立新的檔案檔案。如果使用者想備份一個目錄或是一些檔案,就要選擇這個選項。
  r把要存檔的檔案追加到檔案檔案的未尾。例如使用者已經作好備份檔案,又發現還有一個目錄或是一些檔案忘記備份了,這時可以使用該選項,將忘記的目錄或檔案追加到備份檔案中。
  t列出檔案檔案的內容,檢視已經備份了哪些檔案。
  u更新檔案。就是說,用新增的檔案取代原備份檔案,如果在備份檔案中找不到要更新的檔案,則把它追加到備份檔案的最後
  x從檔案檔案中釋放檔案。
  z用gzip來壓縮/解壓縮檔案,加上該選項後可以將檔案檔案進行壓縮,但還原時也一定要使用該選項進行解壓縮。

3.常見用法
a)把/home目錄下包括它的子目錄全部做備份檔案,備份檔名為usr.tar。
$ tar cvf usr.tar /home
b)把/home目錄下包括它的子目錄全部做備份檔案,並進行壓縮,備份檔名為usr.tar.gz。
$ tar czvf usr.tar.gz /home
c)把usr.tar.gz這個備份檔案還原並解壓縮。
$ tar xzvf usr.tar.gz
d)檢視usr.tar備份檔案的內容,並以分屏方式顯示在顯示器上。
$ tar tvf usr.tar | more
  要將檔案備份到一個特定的裝置,只需把裝置名作為備份檔名。

ps命令:顯示當前使用者在系統中啟動的程序。


-u:列出由這個使用者啟動的所有程序。

 ps:跟當前終端有關的程序;
常用

          ps  -aux

          ps  -auxf  | grep   inetd

USER      PID %CPU %MEM   VSZ  RSS TTY     STAT START  TIME COMMAND

root      790 0.0 0.1  1872  576 tty4    Ss+ 18:12  0:00 /sbin/getty -8 38400 tty4

root      794 0.0 0.1  1872  580 tty5    Ss+ 18:12  0:00 /sbin/getty -8 38400 tty5

root      807 0.0 0.1  1872  576 tty2    Ss+ 18:12  0:00 /sbin/getty -8 38400 tty2

root      809 0.0 0.1  1872  580 tty3    Ss+ 18:12  0:00 /sbin/getty -8 38400 tty3

root      812 0.0 0.1  1872  576 tty6    Ss+ 18:12  0:00 /sbin/getty -8 38400 tty6

root     1311 0.0 0.1  1872  580 tty1    Ss+ 18:12  0:00 /sbin/getty -8 38400 tty1

root     2500 1.6 5.3 36524 27236 tty8    Ss+ 18:33  0:39 /usr/bin/X :0 -br -verbose -auth /var/run/gdm/auth-for-gdm-Jf

root     3861 0.0 0.3  5372 2028 pts/0   Ss  18:36  0:00 bash

root     4125 0.0 0.2  4708 1200 pts/0   R+  19:14  0:00 ps u

USER使用者

UID   使用者ID(User ID)
PID   程序ID(Process ID)
PPID   父程序的程序ID(Parent Process id)
SID   會話ID(Session id)
%CPU   程序的cpu佔用率
%MEM   程序的記憶體佔用率
VSZ   程序所使用的虛存的大小(Virtual Size)
RSS   程序使用的駐留集大小或者是實際記憶體的大小,Kbytes位元組。
TTY   與程序關聯的終端(tty)
STAT   程序的狀態:程序狀態使用字元表示的(STAT的狀態碼)

top命令:


top命令是Linux下常用的效能分析工具,能夠實時顯示系統中各個程序的資源佔用狀況,類似於Windows的工作管理員。

顯示內容分為兩塊: 統計資訊區  程序資訊區

具體可以檢視註釋

kill命令:結束你無法正常方式退出的不想要的命令處理

當需要中斷一個前臺程序的時候,通常是使用< Ctrl+c >組合鍵   man ls;

但是對於一個後臺程序就必須使用kill命令

一般用法先通過ps命令取得程序id
 kill 12932

有時候可能會遇到這樣的情況,某個程序已經掛死或閒置,使用kill命令卻殺不掉。這時候就必須傳送訊號9,強行關閉此程序

kill -9 id

find命令:尋找基於指定標準的檔案,然後對匹配的檔案執行一個命令
 find    path        expression     [action]
      指定路徑    查詢條件  執行的動作
 ‘-name’按檔名來查詢
 ‘-mtime’按檔案最後一次修改時間來查詢
 ‘-user’:按檔案的擁有者查詢
 ‘-size’:按檔案的大小查詢
 ‘-perm’按照檔案的許可權查詢
 ‘-type’按型別查詢
 ‘-atime’按最後一次訪問時間查詢


例如,我們想要查詢一個檔名是hello的檔案,可以使用如下命令:
find /home/aoran -name hello
可以使用萬用字元
find / home/aoran-name‘he*'

使用混合查詢方式查詢檔案

如:find /home/aoran  -mtime -3 -size -1000-name‘he*' -user aoran

 (在目錄下查詢大小小於1000k,最後修改時間是3天內的,檔案擁有者是aoran的檔名前2位是he的檔案。)

grep命令:尋找一個包含有一個特定的文字字串的檔案,並把所有包含該部分的行列印到螢幕上
 grep [選項]字串 檔名
 經常使用的引數:

 -i   當搜尋時忽略字串的大小寫
 -v   尋找所有不匹配字串的行(反向查詢)

經常與管道連用如:

 ls -l | grep –i test

顯示目錄下有test字母的檔案

 grep aoran passwd  

在檔案passwd中查詢有aoran的行

grep –v aoran passwd

grep經常配合正則表示式使用

echo

Linux的echo命令,在shell程式設計中極為常用,類似printf
功能說明:顯示文字。
語   法:echo [-ne][字串]

參   數:-n不要在最後自動換行 ;字串能加引號,也能不加引號。用echo命令輸出加引號的字串時,將字串原樣輸出;用echo命令輸出不加引號的字串時,將字串中的各個單詞作為字串輸出,各字串之間用一個空格分割。

普通字串可以在echo後直接輸入字串,但這樣當要輸出某些字元如\時會有問題(這種寫法的時候/是被當作繼行符處理過濾掉的,要輸出一個\必須打\\)所以一般最好用'string'或"string"的格式,這樣即使是\也可以輸出,方便直觀。

[email protected]:~$ echo hello    world

hello world

[email protected]:~$ echo hello\    world

hello world

[email protected]:~$ echo hello\\    world

hello\ world

[email protected]:~$ echo 'hello\\ world'

hello\\ world

2)echo的轉義顯示:加上-e引數

輸出多行
 [email protected]:~$ echo -e 'hello\nworld'
hello
world

Vi是linux的功能很強大,但是對於用貫了windows編輯器的人,這個用起來很費勁。

VI文字編輯器:

 Vi的鍵盤使用圖:大家按提示操作,會開啟一個頁面,然後儲存就可以。
 vi的三種模式:

1.呼叫vi
    vi檔名           開啟或新建一個檔案
    vi                 開啟一個新的以後命名的檔案
    view檔名         以只讀方式開啟一個檔案

2.位置
   向上  k
   向下  j
   向左  h
   向右  l
   0回到行首
   /$回到行尾
   注:均指控制游標

3.輸入
    i   在游標當前位置插入
    a   在游標所在位置後插入
    l   在行頭插入
    A   在行尾插入
    o   在游標所在行下插入一空行
    O   在游標所在行上插入一空行
    <Esc> 退出插入狀態

4.刪除文字
    x   刪除一個字元
    dw   刪除當前詞
    3dw   刪除三個詞
    dd   刪除當前行
    5dd   刪除五行
    :5,10d

5.撤消和更改文字
    r   替換一個字元
    cw   替換一個單詞
    cc   替換一行
    C   替換從游標至行尾
    J   把當前行和下一行連起來
    u   廢除剛才的編輯操作(即undo)
    ~   改變大小寫

6.複製和貼上文字
    yy   拷貝行(或Y)
    yw   拷貝詞
    p   當前行下貼上
    P   當前行上貼上
7.儲存和退出檔案
    :w   存檔
    :w   新檔案存成新檔案
    :wq   存檔退出vi(或ZZ,或:x)
    :q!   強行退出不存

後續可以根據需要分享sed   awk、正則表示式 、檔案系統、shell入門等