工欲善其事,必先利其器。不管是作哪一方面開發的程序員,都免不了和shell打交道,無論是基於Linux的服務器、開發機,仍是Mac。
本文主要記錄一些Shell命令的基本用法,做爲參考/查詢手冊,隨時更新、完善。更多技巧以及詳細解釋將後續以專題形式持續更新。程序員
ls
查看當前目錄下的文件shell
cd
進入某目錄cd -
跳轉回前一目錄ubuntu
`cd ~` 進入當前用戶我的目錄
pwd
輸出當前所在路徑服務器
mkdir
新建文件夾touch
新建文件網絡
find
查找文件less
ln
創建連接code
du
查看目錄大小遞歸
`du -sh *` 帶有單位顯示目錄信息
df
查看磁盤大小進程
` df -h` 帶有單位顯示磁盤信息
cal
顯示日曆ip
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包管理概念,大多數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
更改文件的用戶及用戶組