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 aux
kill
殺死進程(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
更改文件的用戶及用戶組