Linux下的基本命令詳解

             Linux系統不像windows系統那樣圖形界面做的那麼美觀漂亮,點擊圖標即可,Linux下都是使用命令行的形式來和系統進行交互(當然也有圖形界面,只是做的不是那麼完善),使用Linux命令相比而言還是比較方便的。我們知道windows使用的命令行的方式是DOS命令,Linux下是使用的命令則是shell命令,每一條命令都會被shell命令行解釋器解析執行的。

        以下將帶領大家學習下Linux下常用的一些基本命令,有了這些命令我們就可以打開Linux的大門去和它進行交流。當然我們查看命令的詳細的內容可以通過man+命令的方式獲取有關命令的幫助文檔,關於man命令的使用如下:

(序):

          man  man   ->  查閱man的幫助文檔

  man  1 命令  ->查閱命令的相關文檔  eg:man 1 ls

          man  2  系統調用函數接口    eg:man 2 open

          man 3   庫函數調用接口   eg:man 3 fopen

         這幾個是最常用的,其他的用到的時候可以查閱。

以下爲man 加上數字的含義:

   

 (1)ls

 作用:列出目錄的內容

【1】ls +相對路徑

ls  或  ls  .           ->     列出當前目錄下的內容

ls ..                ->    列出上一級目錄下的內容

 ls  ./dir  或 ls dir        ->    列出當前目錄下的dir目錄下的內容

【2】ls + 相對路徑

ls  /home/linux/dir  或 ls ~/dir   ->列出/home/linux/dir 目錄下的內容

【3】ls  -l  文件名/路徑 <---> ll  文件名/路徑      ->查看文件的詳細信息(eg:ls -l file)

          ls -li  文件名/路徑                                         ->查看文件的詳細信息(包括inode號)

【4】ls -R  --->以目錄樹的形式顯示目錄內容

  (2)cd 

作用:切換路徑

【1】cd +相對路徑

cd   或 cd ~           ->     切換到家目錄(eg:進入/home/linux下)

cd  /                      ->      切換到根目錄下

cd -                      ->      切換到上一次路徑

cd ..                     ->      切換到上一級路徑

【2】cd + 相對路徑

cd  /home/linux/dir  或 ls ~/dir   ->切換到/home/linux/dir 目錄下

 (3)touch

作用:創建一個文件,更新文件的時間戳

touch  file                       ->如果file這個文件不存在,創建file這個文件;如果file這個文件存在,更行file的時間戳

touch   file1 file2 file3     ->  創建file1、file2、file3(創建多個文件)

  (4)mkdir 

作用:創建一個目錄

mkdir   dir                        ->創建一個目錄

mkdir  dir1/dir2/dir3    -p    ->遞歸創建多級目錄

   (5)rm 

作用:刪除一個文件或者目錄

rm  file        ->  刪除文件

rm dir   -r    ->  遞歸刪除目錄

    (6)mv

作用:移動或者重命名

mv  src_file / src_dir      dst_file / dst_dir        ->  移動(源和目的都存在)或者重命名(目的不存在)

   (7)cp

作用:拷貝文件或者目錄

cp   src_dir      dst_dir          ->把原來的目錄拷貝一份       eg: cp   ../dir/file  dir/  將上一級目錄下的dir/file拷貝di下

cp   src_dir      dst_dir   -a    ->把原來的目錄拷貝一份(所有)

cp   src_dir      dst_dir   -r     ->把原來的目錄拷貝一份(遞歸),用於拷貝目錄

     (8)cat   tac  more

作用:在終端顯示文件內容(不打開文件)

cat  file        ->查看file內容

tac  file       ->反向輸入一個文件的內容

more  file  ->顯示一個文件一個屏的內容(用於文件內容比較多的情況,按 空格 查看下一屏,q退出)

    (9)通配符

匹配一個字符  ?        
匹配任意長度的字符串  *   eg:   *.txt    
匹配指定的字符1和3   [13]   eg:[13].txt  ---1.txt  2.txt
匹配一個指定範圍的單個字符  [1-3]   eg:[13].txt  ---1.txt  2.txt  3.txt 
匹配除了指定字符外的字符  [^1] 

      (10)重定向
     
      改變輸入和輸出的方向,這就叫做重定向。

     1-- 輸出重定向,新建模式。  
         ls > test.txt  文件不存在創建,存在清零

     2-- 輸出重定向,追加模式
         ls  >>  test.txt   文件不存在創建,存在追加到末尾

     3-- 輸入重定向
          <
          wc  <  test.txt

     4-- 出錯重定向
         2>  ,  2>>  (2表示標準出錯)
         &>  ,  &>>

      (11)echo 

 作用:顯示一行文本

echo  "hello"        ->  終端輸出字符串(帶引號原樣輸出,不帶引號有多個空格只會保留一個)

echo -n "hello"    ->  終端輸出字符串(不換行)

echo -e  "hello\nworld"   ->遇到\n換行 

echo "hello"  >> file   ->重定向字符串到文件中(追加方式)

         (12)  diff
作用:比較兩個文件的異同
 diff    file1  file2  -> 比較file1和file2的內容
        (13)df  
作用:  用於查看磁盤空間的使用情況。
      df  -aTh      a:所有   T:類型   h: K,M,G(人類可識別)識別)

       (14)du 
作用:查看文件的大小
      du  -ah   file 測所有的文件的大小

       (15)wc  

作用:測試文件的行數、字符數、字節數

      wc  -l  file.txt測試行數
     wc  -w  file.txt    測試單詞的個數
     wc  -m  file.txt    測試的是字符數
     wc  -c  file.txt    測試的是字節數
      (16)管道
作用:管道道可以把一系列命令連接起來,第一個命令的輸出可以第二個命令的輸入...
     |    表示 管道
     ls  /usr/bin  | wc -w
   (17)命令置換
作用:命令替換是將一個命令的輸出作爲另一個命令的參數
     ls  `pwd`(爲esc下的 ``)
   (18)進程相關命令
ps      查看進程信息  // process snapshot  進程快照
ps ajx    進程詳細信息
ps aux  進程更加詳細信息

top    動態顯示系統中的進程
shift + <  shift + >  進行翻頁操作       q     退出

kill     給進程發送一個信號
kill -l  列出當前系統支持的信號種類
kill  -9  pid   殺死pid這個進程

pstree  樹狀形式,顯示進程的信息
./a.out &  就是將一個進程放到後臺運行。
     (19)查找字符串 grep    find
      1-- 知道內容,找文件(按字符串查找文件路徑
格式:grep   [選項]   “描述” [路徑]
          grep  "關鍵詞"  ./*     -R  <==> grep "內容"  路徑  遞歸   (./ 爲當前路徑   * 所有文件)  
          eg:grep  "main"  ./*     -R
      2-- 知道文件名字,找路徑(按名稱查找文件路徑)
格式:find  [路徑]   [選項]   [描述]
          find   ./* -name  文件名   eg:find ./* -name copy.c 
         eg:find  .  -type   d/f   -name  filename
         find  .  -type   d/f   -mtime  -10  //最後更改時間  十天內
         find  .  -type   d/f   -atime  -10   //訪問時間
     (20)date   cal 
作用:顯示日期/日曆
      sudo  date -s  hh:mm:ss    修改時間
      sudo  date -s  mm/dd/year   修改年月日
      修改時區:
      cp  /usr/share/zoneinfo/Asia/Shanghai   /etc/localtime
      cal  顯示日曆
    (21)網絡配置

     1-- ifconfig  查看網絡信息
         sudo ifconfig eth0  down  關閉網卡
         sudo ifconfig eth0  up    開啓網卡
     2-- ping  測試網絡是否暢通
         ping  域名
         ping  ip地址
         對方開着防火牆, 那麼 ping 不通
     3-- nslookup  域名解析
         nslookup  網址
         nslookup  ip地址
   (22)uname  -r    查看內核版本號
                   uname -a    查看linux內核等的一些信息(詳細)
                   uname -n    查看計算機名稱
                   
   (23)軟件包的安裝

【1】本地安裝:
sudo dpkg -i   .*deb          安裝軟件包(當前路徑下的deb包)
sudo dpkg -r   軟件名          卸載軟件包(不刪除配置文件)
sudo dpkg -P   軟件名          卸載軟件包(刪除配置文件)
sudo dpkg -s  軟件名          查看軟件包安裝狀態
sudo dpkg -L   軟件名          查看軟件包的安裝列表

【2】在線安裝:
sudo vi   /etc/apt/source.list       打開此文件是鏡像源(服務器網站)
sudo vi   /var/cache/apt/archieves      打開存放的是在線下載的軟件包(*.deb)
sudo vi   /lib/apt/lists      打開引索文件
sudo apt-get  install  軟件名       安裝軟件包
sudo apt-get  updata        更新軟件源
sudo apt-get remove--purge   軟件名       刪除文件包括配置文件
sudo apt-get remove  purge   軟件名       刪除文件不包括配置文件
sudo apt-get clean        刪除緩衝中的軟件包
sudo apt-get cheak        檢測軟件包的依賴關係
sudo apt-cache policy 軟件包        查看軟件包安裝狀態
sudo apt-cache show  軟件包        查看軟件包信息
sudo apt-cache depend  軟件包        查看軟件的依賴關係
sudo apt-cache redepends 軟件包        查看軟件的被依賴關係
    (24)mkfifo  管道名稱   創建管道文件

    (25)ipcs  
ipcs  -m    查看當前系統上存在的共享內存
         ipcrm -m  shmid    刪除當前系統上指定的共享內存
ipcs -s          查看當前系統上存在信號量集合
        ipcrm -s semid          刪除當前系統上指定id的信號量集合

    (26)sudo shutdown   -r(重啓)/-h(關機)     now(立刻)/+30(30分鐘後)/12:00       關機和重啓
                    sudo  reboot   ---->重啓
   (27)文件的壓縮

      1-- gzip  壓縮 , 沒有歸檔功能, 文件夾不能被壓縮
          gzip  filename             // 生成 filename.gz
          gunzip  *.gz               // 解壓

      2-- bzip2 壓縮, 沒有歸檔功能
          bzip2  filename
          bunzip2  *.bz2

      3-- zip 壓縮, 壓縮文件和文件夾
          zip  filename.zip  filelist
          unzip  *.zip

      4-- tar  歸檔並且壓縮
          tar  -cjf   *.tar.bz2   filelist    //壓縮
          tar  -xvf   *.tar.bz2       // 解壓
          tar  -czf   *.tar.gz    filelist
          tar  -xvf   *.tar.gz       // 解壓    
     (28) od
               od -c file   以可讀文本的形式在終端打開
     (29) head    tail 
                        head    顯示文件開頭部分的內容, 默認顯示前10行
                         tail   顯示文件末尾部分的內容,默認顯示後10行
     (30)ln 
     1-- 硬鏈接(兩個文件的inode號相同,是同一個存儲區域,修改一個另一個也改變)
         並沒有創建新的文件,所以不佔新的空間,主要是用來對文件進行備份使用的
         ln  filename  linkfile  不允許對目錄硬鏈接
         ls  -lhi
         ls -li  (查看inode號)
     2-- 軟鏈接(產生了新文件,開闢新的存儲空間,應該用絕對路徑,否則不能把鏈接文件放在其他目錄)
         ln  -s  filename  linkname
         創建了新的文件,類似於windows 下面快捷方式  支持目錄操作
        eg:   ln -s `pwd`/file  link(絕對路徑
    (31)用戶管理
      1-- /etc/passwd   用戶相關信息  sudo+vi+/etc/passwd打開
         linux:x:1000:1000:linux::/home/linux:/bin/bash 
         用戶名:密碼:uid:gid:用戶信息:家目錄:shell

      2-- /etc/group   組的相關信息
         linux:x:1000:
         組名:密碼:組ID:成員列表,彼此用逗號隔開

      3-- /etc/shadow  密碼具體信息

【1】添加用戶
      sudo adduser  u1
          會在/home下建立以用戶名爲目錄名的家目錄
【2】刪除用戶
      sudo deluser --remove-home u1  
【3】將不同用戶添加到同一個組中:
      usermod -g  組名 用戶名       // usermod  -g  u1  u2
【4】刪除組:
      delgroup   groupname
   (32)file  
作用:查看文件信息
  file+文件名
 
   (33)su  
作用: 切換用戶
      su  用戶名    
   (34)sudo 
作用:獲得超級用戶權限
eg:sudo vi /ect/network/interface
    (35)history  
作用:查看歷史記錄信息
     history  查看歷史命令
     history  >> test.txt
     1-- 臨時性
         直接修改  HISTSIZE=1000
         echo  $HISTSIZE
     2-- 永久性
         vi  .bashrc  s
         HISTSIZE=1500
         source  .bashrc  重啓生效
     (36)pwd         
 作用: 獲得當前終端所在的路徑
    (37)whereis 
作用:查看命令位置
     whereis  命令名
     eg:whereis ls
     (38)chmod 
作用:修改權限
chmod   權限掩碼   文件  
eg :chmod 777 file.sh
      chmod u+x file.sh
     (39)time
作用:查看命令/程序運行時間
time  ls
     (40)clear
作用:清屏
     (41)bc
作用:進入數學運算中
     (42)sed
作用:替換一個字符串等
eg:  sed "s#src_str#dst_str/g" file.txt > file.txt.tmp
       mv  file.txt.tmp   file.txt.tmp

       說到這裏就把Linux的基本的常用命令說完了,當然Linux下的命令有很多,作爲Linux系統管理員來說,這些命令是遠遠不夠的,有許多我們沒有見過的命令,在此就不在贅述。可能還有許多命令加上其他的參數之後還有其他的功能,對此可以通過查閱man手冊來學習,對於其中不足指出望提出寶貴意見。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章