Shell常用命令

擦柱而出發表於2017-02-13

工欲善其事,必先利其器。無論是做哪一方面開發的程式設計師,都免不了和shell打交道,不管是基於Linux的伺服器、開發機,還是Mac。
本文主要記錄一些Shell命令的基本用法,作為參考/查詢手冊,隨時更新、完善。更多技巧以及詳細解釋將後續以專題形式持續更新。

常用命令

  1. ls 檢視當前目錄下的檔案

  2. cd 進入某目錄
    cd - 跳轉回前一目錄

    `cd  ~` 進入當前使用者個人目錄
  3. pwd 輸出當前所在路徑

  4. mkdir 新建資料夾
    touch 新建檔案

  5. find 查詢檔案

  6. ln 建立連結

  7. du 檢視目錄大小

     `du -sh *` 帶有單位顯示目錄資訊
  8. df 檢視磁碟大小

    ` df -h` 帶有單位顯示磁碟資訊
  9. cal 顯示日曆

  10. date 顯示當前日期、時間

檔案傳輸類

  1. mv 移動檔案/重新命名

  2. cp [File Name] [Destination] 拷貝檔案

     `cp -R  [File Name] [Destination]`遞迴拷貝(主要用於資料夾)
  3. scp 遠端拷貝,除了需要在遠端地址的目錄前加入user@host:形式的地址資訊外,命令用法與copy一致

  4. ftp 啟動ftp服務。

壓縮與解壓縮

  1. tar 打包壓縮

            `-c` 歸檔檔案
            `-x` 解壓縮檔案
            `-v` 顯示壓縮/解壓縮過程
            `-j` bzip2壓縮檔案
            `-z` gzip壓縮檔案
            `-f` 使用檔名
    `tar -cvf` 只打包,不壓縮
    `tar -zcvf` 打包,並用gzip壓縮
    `tar -jcvf` 打包,並用bzip2壓縮

    解壓縮時,只需將上述命令中c換成x即可。

系統命令類

  1. whoami 顯示當前操作使用者

  2. hostname 顯示主機名

  3. uname 顯示系統資訊

  4. top 動態顯示當前耗費資源最多程式資訊

  5. ps 顯示瞬間程式狀態 ps aux

  6. kill 殺死程式(top/ps檢視程式id後,kill [id]

  7. netstat顯示網路狀態資訊

  8. which [command] 檢視命令所在路徑
    export [VAR]="xxx"為系統變數賦值

alias [short]=[long] 為命令設定別名

文字操作類

這是比較重要的一節,後面會專門寫文章介紹這些概念,這裡只作為一個目錄。

  1. cat 檢視檔案內容

  2. head 檢視檔案頭部內容
    tail 檢視檔案尾部內容

  3. more/less分頁顯示檔案內容

  4. grep 在文字檔案中查詢某個字串

  5. | 管道

  6. > >> 重定向

包管理(ubuntu)

此處主要介紹ubuntu包管理概念,大多數Mac使用者使用Brew,原理類似,具體命令參考幫助文件即可。

sudo apt-get update 更新軟體源資訊
sudo apt-get upgrade 更新已安裝的包
sudo apt-get dist-upgrade 升級系統(慎重!!!)
sudo apt-get install 安裝軟體
sudo apt-get -f install   修復安裝
sudo apt-get remove 刪除軟體
sudo apt-get remove --purge 刪除軟體以及配置檔案
sudo apt-get autoremove 自動刪除(未刪除的依賴)
sudo apt-get clean && sudo apt-get autoclean 清理無用的包

許可權管理

  1. chmod 更改許可權

  2. chown 更改檔案的使用者及使用者組

相關文章