Linux 常用操作命令大全

一、基礎知識

1.1 Linux系統的文件結構

/bin        二進制文件,系統常規命令
/boot       系統啓動分區,系統啓動時讀取的文件
/dev        設備文件
/etc        大多數配置文件
/home       普通用戶的家目錄
/lib        32位函數庫
/lib64      64位庫
/media      手動臨時掛載點
/mnt        手動臨時掛載點
/opt        第三方軟件安裝位置
/proc       進程信息及硬件信息
/root       臨時設備的默認掛載點
/sbin       系統管理命令
/srv        數據
/var        數據
/sys        內核相關信息
/tmp        臨時文件
/usr        用戶相關設定

1.2 Linux系統命令行的含義

示例:root@app00:~# 
root    //用戶名,root爲超級用戶
@       //分隔符
app00   //主機名稱
~       //當前所在目錄,默認用戶目錄爲~,會隨着目錄切換而變化,例如:(root@app00:/bin# ,當前位置在bin目錄下)
#       //表示當前用戶是超級用戶,普通用戶爲$,例如:("yao@app00:/root$" ,表示使用用戶"yao"訪問/root文件夾)

1.3 命令的組成

示例:命令 參數名 參數值

二、基礎操作

2.1 重啓系統

(1)立刻關機
  shutdown -h now 或者 poweroff
(2)兩分鐘後關機
  shutdown -h 2

2.2 關閉系統

(1)立刻重啓
  shutdown -r now 或者 reboot
(2)兩分鐘後重啓
  shutdown -r 2 

2.3 幫助命令(help)

  ifconfig  --help     //查看 ifconfig 命令的用法

2.4 命令說明書(man)

  man shutdown         //打開命令說明後,可按"q"鍵退出

2.5 切換用戶(su)

  su yao               //切換爲用戶"yao",輸入後回車需要輸入該用戶的密碼
  exit                 //退出當前用戶

三、目錄操作

3.1 切換目錄(cd)

  cd /                 //切換到根目錄
  cd /bin              //切換到根目錄下的bin目錄
  cd ../               //切換到上一級目錄 或者使用命令:cd ..
  cd ~                 //切換到home目錄
  cd -                 //切換到上次訪問的目錄
  cd xx(文件夾名)       //切換到本目錄下的名爲xx的文件目錄,如果目錄不存在報錯
  cd /xxx/xx/x         //可以輸入完整的路徑,直接切換到目標目錄,輸入過程中可以使用tab鍵快速補全

3.2 查看目錄(ls)

  ls                   //查看當前目錄下的所有目錄和文件
  ls -a                //查看當前目錄下的所有目錄和文件(包括隱藏的文件)
  ls -l                //列表查看當前目錄下的所有目錄和文件(列表查看,顯示更多信息),與命令"ll"效果一樣
  ls /bin              //查看指定目錄下的所有目錄和文件 

3.3 創建目錄(mkdir)

  mkdir tools          //在當前目錄下創建一個名爲tools的目錄
  mkdir /bin/tools     //在指定目錄下創建一個名爲tools的目錄

3.3 刪除目錄與文件(rm)

  rm 文件名              //刪除當前目錄下的文件
  rm -f 文件名           //刪除當前目錄的的文件(不詢問)
  rm -r 文件夾名         //遞歸刪除當前目錄下此名的目錄
  rm -rf 文件夾名        //遞歸刪除當前目錄下此名的目錄(不詢問)
  rm -rf *              //將當前目錄下的所有目錄和文件全部刪除
  rm -rf /*             //將根目錄下的所有文件全部刪除【慎用!相當於格式化系統】

3.4 修改目錄(mv)

  mv 當前目錄名 新目錄名        //修改目錄名,同樣適用與文件操作
  mv /usr/tmp/tool /opt       //將/usr/tmp目錄下的tool目錄剪切到 /opt目錄下面
  mv -r /usr/tmp/tool /opt    //遞歸剪切目錄中所有文件和文件夾

3.5 拷貝目錄(cp)

  cp /usr/tmp/tool /opt       //將/usr/tmp目錄下的tool目錄複製到 /opt目錄下面
  cp -r /usr/tmp/tool /opt    //遞歸剪複製目錄中所有文件和文件夾

3.6 搜索目錄(find)

  find /bin -name 'a*'        //查找/bin目錄下的所有以a開頭的文件或者目錄

3.7 查看當前目錄(pwd)

  pwd                         //顯示當前位置路徑

四、文件操作

4.1 新增文件(touch)

   touch  a.txt         //在當前目錄下創建名爲a的txt文件(文件不存在),如果文件存在,將文件時間屬性修改爲當前系統時間

4.2 刪除文件(rm)

  rm 文件名              //刪除當前目錄下的文件
  rm -f 文件名           //刪除當前目錄的的文件(不詢問)

4.3 編輯文件(vi、vim)

  vi 文件名              //打開需要編輯的文件
  --進入後,操作界面有三種模式:命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)
  命令模式
  -剛進入文件就是命令模式,通過方向鍵控制光標位置,
  -使用命令"dd"刪除當前整行
  -使用命令"/字段"進行查找
  -按"i"在光標所在字符前開始插入
  -按"a"在光標所在字符後開始插入
  -按"o"在光標所在行的下面另起一新行插入
  -按":"進入底行模式
  插入模式
  -此時可以對文件內容進行編輯,左下角會顯示 "-- 插入 --""
  -按"ESC"進入底行模式
  底行模式
  -退出編輯:      :q
  -強制退出:      :q!
  -保存並退出:    :wq
  ## 操作步驟示例 ##
  1.保存文件:按"ESC" -> 輸入":" -> 輸入"wq",回車     //保存並退出編輯
  2.取消操作:按"ESC" -> 輸入":" -> 輸入"q!",回車     //撤銷本次修改並退出編輯
  ## 補充 ##
  vim +10 filename.txt                   //打開文件並跳到第10行
  vim -R /etc/passwd                     //以只讀模式打開文件

4.4 查看文件

  cat a.txt          //查看文件最後一屏內容
  less a.txt         //PgUp向上翻頁,PgDn向下翻頁,"q"退出查看
  more a.txt         //顯示百分比,回車查看下一行,空格查看下一頁,"q"退出查看
  tail -100 a.txt    //查看文件的後100行,"Ctrl+C"退出查看

五、文件權限

5.1 權限說明

  文件權限簡介:'r' 代表可讀(4),'w' 代表可寫(2),'x' 代表執行權限(1),括號內代表"8421法"
  ##文件權限信息示例:-rwxrw-r--
  -第一位:'-'就代表是文件,'d'代表是文件夾
  -第一組三位:擁有者的權限
  -第二組三位:擁有者所在的組,組員的權限
  -第三組三位:代表的是其他用戶的權限

5.2 文件權限

  普通授權    chmod +x a.txt    
  8421法     chmod 777 a.txt     //1+2+4=7,"7"說明授予所有權限

六、打包與解壓

6.1 說明

  .zip、.rar        //windows系統中壓縮文件的擴展名
  .tar              //Linux中打包文件的擴展名
  .gz               //Linux中壓縮文件的擴展名
  .tar.gz           //Linux中打包並壓縮文件的擴展名

6.2 打包文件

  tar -zcvf 打包壓縮後的文件名 要打包的文件
  參數說明:z:調用gzip壓縮命令進行壓縮; c:打包文件; v:顯示運行過程; f:指定文件名;
  示例:
  tar -zcvf a.tar file1 file2,...      //多個文件壓縮打包

6.3 解壓文件

  tar -zxvf a.tar                      //解包至當前目錄
  tar -zxvf a.tar -C /usr------        //指定解壓的位置
  unzip test.zip             //解壓*.zip文件 
  unzip -l test.zip          //查看*.zip文件的內容 

七、其他常用命令

7.1 find

  find . -name "*.c"     //將目前目錄及其子目錄下所有延伸檔名是 c 的文件列出來
  find . -type f         //將目前目錄其其下子目錄中所有一般文件列出
  find . -ctime -20      //將目前目錄及其子目錄下所有最近 20 天內更新過的文件列出
  find /var/log -type f -mtime +7 -ok rm {} \;     //查找/var/log目錄中更改時間在7日以前的普通文件,並在刪除之前詢問它們
  find . -type f -perm 644 -exec ls -l {} \;       //查找前目錄中文件屬主具有讀、寫權限,並且文件所屬組的用戶和其他用戶具有讀權限的文件
  find / -type f -size 0 -exec ls -l {} \;         //爲了查找系統中所有文件長度爲0的普通文件,並列出它們的完整路徑

7.2 whereis

  whereis ls             //將和ls文件相關的文件都查找出來

7.3 which

  說明:which指令會在環境變量$PATH設置的目錄裏查找符合條件的文件。
  which bash             //查看指令"bash"的絕對路徑

7.4 sudo

  說明:sudo命令以系統管理者的身份執行指令,也就是說,經由 sudo 所執行的指令就好像是 root 親自執行。需要輸入自己賬戶密碼。
  使用權限:在 /etc/sudoers 中有出現的使用者
  sudo -l                              //列出目前的權限
  $ sudo -u yao vi ~www/index.html    //以 yao 用戶身份編輯  home 目錄下www目錄中的 index.html 文件

7.5 grep

  grep -i "the" demo_file              //在文件中查找字符串(不區分大小寫)
  grep -A 3 -i "example" demo_text     //輸出成功匹配的行,以及該行之後的三行
  grep -r "ramesh" *                   //在一個文件夾中遞歸查詢包含指定字符串的文件

7.6 service

  說明:service命令用於運行System V init腳本,這些腳本一般位於/etc/init.d文件下,這個命令可以直接運行這個文件夾裏面的腳本,而不用加上路徑
  service ssh status      //查看服務狀態 
  service --status-all    //查看所有服務狀態 
  service ssh restart     //重啓服務 

7.7 free

  說明:這個命令用於顯示系統當前內存的使用情況,包括已用內存、可用內存和交換內存的情況 
  free -g            //以G爲單位輸出內存的使用量,-g爲GB,-m爲MB,-k爲KB,-b爲字節 
  free -t            //查看所有內存的彙總

7.8 top

  top               //顯示當前系統中佔用資源最多的一些進程, shift+m 按照內存大小查看

7.9 df

  說明:顯示文件系統的磁盤使用情況
  df -h            //一種易看的顯示

7.10 mount

  mount /dev/sdb1 /u01              //掛載一個文件系統,需要先創建一個目錄,然後將這個文件系統掛載到這個目錄上
  dev/sdb1 /u01 ext2 defaults 0 2   //添加到fstab中進行自動掛載,這樣任何時候系統重啓的時候,文件系統都會被加載 

7.11 uname

  說明:uname可以顯示一些重要的系統信息,例如內核名稱、主機名、內核版本號、處理器類型之類的信息 
  uname -a

7.12 yum

  說明:安裝插件命令
  yum install httpd      //使用yum安裝apache 
  yum update httpd       //更新apache 
  yum remove httpd       //卸載/刪除apache 

7.13 rpm

  說明:插件安裝命令
  rpm -ivh httpd-2.2.3-22.0.1.el5.i386.rpm      //使用rpm文件安裝apache 
  rpm -uvh httpd-2.2.3-22.0.1.el5.i386.rpm      //使用rpm更新apache 
  rpm -ev httpd                                 //卸載/刪除apache 

7.14 date

  date -s "01/31/2010 23:59:53"   ///設置系統時間

7.15 wget

  說明:使用wget從網上下載軟件、音樂、視頻 
  示例:wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz
  //下載文件並以指定的文件名保存文件
  wget -O nagios.tar.gz http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz

7.16 ftp

   ftp IP/hostname    //訪問ftp服務器
   mls *.html -       //顯示遠程主機上文件列表

7.17 scp

	scp /opt/data.txt  192.168.1.101:/opt/    //將本地opt目錄下的data文件發送到192.168.1.101服務器的opt目錄下

八、系統管理

8.1 防火牆操作

  service iptables status      //查看iptables服務的狀態
  service iptables start       //開啓iptables服務
  service iptables stop        //停止iptables服務
  service iptables restart     //重啓iptables服務
  chkconfig iptables off       //關閉iptables服務的開機自啓動
  chkconfig iptables on        //開啓iptables服務的開機自啓動
  ##centos7 防火牆操作
  systemctl status firewalld.service     //查看防火牆狀態
  systemctl stop firewalld.service       //關閉運行的防火牆
  systemctl disable firewalld.service    //永久禁止防火牆服務

8.2 修改主機名(CentOS 7)

  hostnamectl set-hostname 主機名

8.3 查看網絡

  ifconfig

8.4 修改IP

  修改網絡配置文件,文件地址:/etc/sysconfig/network-scripts/ifcfg-eth0
  ------------------------------------------------
  主要修改以下配置:  
  TYPE=Ethernet               //網絡類型
  BOOTPROTO=static            //靜態IP
  DEVICE=ens00                //網卡名
  IPADDR=192.168.1.100        //設置的IP
  NETMASK=255.255.255.0       //子網掩碼
  GATEWAY=192.168.1.1         //網關
  DNS1=192.168.1.1            //DNS
  DNS2=8.8.8.8                //備用DNS
  ONBOOT=yes                  //系統啓動時啓動此設置
  -------------------------------------------------
  修改保存以後使用命令重啓網卡:service network restart

8.5 配置映射

  修改文件: vi /etc/hosts
  在文件最後添加映射地址,示例如下:
   192.168.1.101  node1
   192.168.1.102  node2
   192.168.1.103  node3
  配置好以後保存退出,輸入命令:ping node1 ,可見實際 ping 的是 192.168.1.101。

8.6 查看進程

  ps -ef         //查看所有正在運行的進程

8.7 結束進程

  kill pid       //殺死該pid的進程
  kill -9 pid    //強制殺死該進程   

8.8 查看鏈接

  ping IP        //查看與此IP地址的連接情況
  netstat -an    //查看當前系統端口
  netstat -an | grep 8080     //查看指定端口

8.9 快速清屏

  ctrl+l        //清屏,往上翻可以查看歷史操作

8.10 遠程主機

  ssh IP       //遠程主機,需要輸入用戶名和密碼
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章