Linux/Mac/Shell常用命令
工欲善其事,必先利其器。無論是做哪一方面開發的程序員,都免不了和shell打交道,不管是基於Linux的服務器、開發機,還是Mac。
本文主要記錄一些Shell命令的基本用法,作為參考/查詢手冊,隨時更新、完善。更多技巧以及詳細解釋將后續以專題形式持續更新。
常用命令
ls查看當前目錄下的文件cd進入某目錄cd -跳轉回前一目錄cd ~進入當前用戶個人目錄pwd輸出當前所在路徑mkdir新建文件夾touch新建文件find查找文件ln建立鏈接du查看目錄大小du -sh *帶有單位顯示目錄信息df查看磁盤大小df -h帶有單位顯示磁盤信息cal顯示日歷date顯示當前日期、時間
文件傳輸類
mv移動文件/重命名cp [File Name] [Destination]拷貝文件cp -R [File Name] [Destination]遞歸拷貝(主要用於文件夾)scp遠程拷貝,除了需要在遠程地址的目錄前加入user@host:形式的地址信息外,命令用法與copy一致ftp啟動ftp服務。
壓縮與解壓縮
tar打包壓縮`-c` 歸檔文件 `-x` 解壓縮文件 `-v` 顯示壓縮/解壓縮過程 `-j` bzip2壓縮文件 `-z` gzip壓縮文件 `-f` 使用檔名tar -cvf只打包,不壓縮tar -zcvf打包,並用gzip壓縮tar -jcvf打包,並用bzip2壓縮
解壓縮時,只需將上述命令中c換成x即可。
系統命令類
whoami顯示當前操作用戶hostname顯示主機名uname顯示系統信息top動態顯示當前耗費資源最多進程信息ps顯示瞬間進程狀態ps auxkill殺死進程(top/ps查看進程id后,kill [id])netstat顯示網絡狀態信息which [command]查看命令所在路徑export [VAR]="xxx"為系統變量賦值alias [short]=[long]為命令設定別名
文本操作類
這是比較重要的一節,后面會專門寫文章介紹這些概念,這里只作為一個目錄。
cat查看文件內容head查看文件頭部內容tail查看文件尾部內容more/less分頁顯示文件內容grep在文本文件中查找某個字符串|管道> >>重定向
包管理(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 清理無用的包
權限管理
chmod更改權限chown更改文件的用戶及用戶組
