開發(fā)必會的 Linux & Mac 命令 及 命令行快捷鍵

[TOC]
Linux 和 Mac 也是就OS X 的命令非常相似倍奢,在開發(fā)過程中會經(jīng)常用到,命令忘記用法就使用

# 命令[command]的幫助信息痪枫,顯示在當前命令行內(nèi)
[command]  --help
# 顯示命令[command]完整幫助文檔
man [command]

Linux 命令行工具操作快捷鍵

# Ctrl + C - 取消操作
# Ctrl + D - 退出內(nèi)嵌終端
# Ctrl + L - 清屏
# Ctrl + R - 歷史命令,可以查找近期的命令,重復(fù)近期的命令
# Ctrl + A - 光標移到行首
# Ctrl + E - 光標移到行尾
# Ctrl + W - 清除光標之前一個單詞
# Ctrl + K - 清除光標到行尾的字符
# Ctrl + T - 交換光標前兩個字符
# Ctrl + V - 輸入控制字符 如Ctrl+v ,會輸入^M
# Ctrl + F - 光標后移一個字符
# Ctrl + B - 光標前移一個字符
# Ctrl + H - 刪除光標前一個字符
# Esc+f - 光標后移一個單詞
# Esc+b - 光標前移個單詞
# Esc+N+[單詞] - 光標輸入N個單詞[單詞],N為不可省略
# Esc-c - 使下一個單詞首字母大寫, 同時光標前進一個單詞, 如光標停留在單詞的某個字母上則為這個光標位置
# Esc-u - 使下一個單詞所有字母變大寫, 同時光標前進一個單詞, 同上
# Esc-l 同Esc-U, 但使之全變?yōu)樾?

命令行復(fù)制粘貼快捷鍵

  • 在控制臺下(也就是本臺電腦的圖形化界面下的允瞧,那個命令行)

復(fù)制命令:Ctrl + Shift + C 組合鍵.

粘貼命令:Ctrl + Shift + V 組合鍵.

  • 在終端下 :(這個是遠程登陸的命令行,也就是你要操作的電腦在遠程)
    一般用的是這個但是這個insert鍵蛮拔,如果是筆記本的話必須借助功能件組合才能打出來述暂,我電腦是聯(lián)想的功能鍵是Fn

復(fù)制命令:Ctrl + Insert 組合鍵  或  用鼠標選中即是復(fù)制。

粘貼命令:Shift + Insert 組合鍵  或  單擊鼠標滾輪即為粘貼建炫。

使用超級管理員身份

# 使用超級管理員身份執(zhí)行命令 [command]
sudo [command]

命令行窗口

清空歷史信息

clear

系統(tǒng)類

查看內(nèi)存占用

free -m

以(-/+ buffers/cache)的free和used為主

查看磁盤占用

df -h

查看內(nèi)核/操作系統(tǒng)/CPU信息

uname -a
cat /proc/version

查看操作系統(tǒng)版本

head -n 1 /etc/issue

查看CPU信息

cat /proc/cpuinfo

文件類

查找文件

快速查找

# 根據(jù)名稱查找/目錄下的[file full name]文件
find / -name [file full name]
# 遞歸查找 [.] 也就是所有 后綴為 [suffix] 的文件
find . -name "*.[suffix]"
# 查找當前目錄中的所有 [jar]文件
ls -l | grep '[jar]'

遞歸查找

# 遞歸查找所有文件內(nèi)容中畦韭,前提這是一個可以被讀取并識別的,包含[search key]的 xml 文件
find . -name "*.xml" |xargs grep "[search key]"

內(nèi)容查找

# 查找所有的包含 [context] 后綴為 [suffix] 的文件
grep -H '[context]' *.[suffix]
# 顯示所有以 [head] 開頭的文件中包含 [test]的行
grep '[test]' [head]*
# 顯示在aa肛跌,bb艺配,cc文件中匹配[context]的行
grep '[context]' aa bb cc
# 顯示aa中所有包含每個字符串至少有[number]個連續(xù)小寫字符的字符串的行
grep '[a-z]\{[number]\}' aa

查看文件頭[number]行

# [filename] 文件名
head -n [number] [filename]

查看文件尾[number]行

# [filename] 文件名
tail -n [number] [filename]

查看日志類型文件

# 日志文件 [logfile.log]
tail -f [logfile.log]
# 這個命令會自動顯示新增內(nèi)容,屏幕只顯示10行內(nèi)容的(可設(shè)置)[linenumber]
tail -f -n [linenumber] [logfile.log]

文件操作

顯示當前目錄

pwd

顯示當前目錄文件占用空間

# -h標識為人類好看的結(jié)果 -d 標識遞歸層數(shù)
du -h -d 1
# -c 最終還會返回統(tǒng)計的所有文件的數(shù)量
du -h -c
# 找出當前目錄下面的文件多少個
find . -type f | wc -l

以樹狀圖列出目錄的內(nèi)容

# 以樹狀圖顯示目錄 [folder] 內(nèi)容惋砂,如果沒有請安裝 tree 工具
tree [folder]
# OS X 請安裝 tree或者使用下面的命令
find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'
# 遞歸變量文件夾內(nèi)的結(jié)構(gòu)妒挎,忽略 [build] 的子文件夾,并輸出到文件 FileTree.md
tree -d -I [build] > FileTree.md
# 如果想忽略更多文件夾這樣寫
tree -d -I "build|gradle|output"

文件權(quán)限

# [file]的權(quán)限進行 options 操作
chmod [options] [file]
# 第一位指定屬主的權(quán)限西饵,第二位指定組權(quán)限,第三位指定其他用戶的權(quán)限
# 4鳞芙,執(zhí)行時設(shè)置用戶ID
# 2眷柔,執(zhí)行時設(shè)置用戶組ID
# 1,設(shè)置粘著位
# 如6(4+2)代表有讀寫權(quán)原朝,7(4+2+1)有讀驯嘱、寫和執(zhí)行的權(quán)限
# -rwxrwxrwx,r表示讀喳坠、w表示寫鞠评、x表示可執(zhí)行 options 為777
  • Option
option Full option Desc
-c --changes 只輸出被改變文件的信息
-f --silent --quiet 當chmod不能改變文件模式時,不通知文件的用戶
-R --recursive 可遞歸遍歷子目錄壕鹉,把修改應(yīng)到目錄下所有文件和子目錄
-v --verbose 無論修改是否成功剃幌,輸出每個文件的信息
--reference=filename 參照filename的權(quán)限來設(shè)置權(quán)限
  • Option Code
code Desc
+ 增加權(quán)限
- 刪除權(quán)限
= 重新分配權(quán)限
  • Who
who Desc
u 用戶
g
o 其它
a 所有用戶(默認)
  • permission
Permison Desc
r
w
x 執(zhí)行
s 設(shè)置用戶(或組)的ID號
t 設(shè)置粘著位(sticky bit),防止文件或目錄被非屬主刪除
u 用戶的當前權(quán)限
g 組的當前權(quán)限
o 其他用戶的當前權(quán)限
  • 實例
Dome Desc
chmod 751 file 給file的屬主分配讀晾浴、寫、執(zhí)行(7)的權(quán)限脊凰,給file的所在組分配讀抖棘、執(zhí)行(5)的權(quán)限,給其他用戶分配執(zhí)行(1)的權(quán)限
chmod u=rwx,g=rx,o=x file 上例的另一種形式
chmod u+x file 給file的屬主增加執(zhí)行權(quán)限
chmod 4755 設(shè)置用ID,給屬主分配讀切省、寫和執(zhí)行權(quán)限最岗,給組和其他用戶分配讀、執(zhí)行的權(quán)限
chmod =r file 為所有用戶分配讀權(quán)限
chmod 444 file 同上
chmod a-wx,a+r file 同上
chmod -R u+r directory 遞歸地給directory目錄下所有文件和子目錄的屬主分配讀的權(quán)限

顯示當前文件夾詳情

ls -al

復(fù)制文件

# 復(fù)制文件 [source] 到 [dest]
cp [source] [dest]
#  遞歸復(fù)制整個文件夾 [sourceFolder] 到 [targetFolder]
cp -r [sourceFolder] [targetFolder]
# 遠程拷貝 [sourecFile] 到 [romoteUserName@remoteIp:remoteAddr]
scp [sourecFile] [romoteUserName@remoteIp:remoteAddr] 遠程拷貝

移動文件

# 移動文件 [movefile] 到 [targetFolder]
mv [movefile] [targetFolder]

重命名

# rename [oldNameFile] 重命名為 [newNameFile]
rename [oldNameFile] [newNameFile]
# rename 正則表達式做批量命令
# 先man rename 在手冊頁的最后一行看正則的版本朝捆,然后使用對應(yīng)的正則表達式仑性,如Perl版本
rename 's/^oldName/newName/' oldName.xx 
# 或者 C 的正則版本
rename 'oldNmae' 'newName' oldName.xx
# 將 [oldNameFile] 重命名為 [newNameFile] 不建議使用,會導(dǎo)致誤操作
mv [oldNameFile] [newNameFile]

壓縮文件

# 保存為 [tarFileName.tar.gz] 右蹦, 從[fromFolder]壓縮到[targetFolder]
tar -czf [tarFileName.tar.gz] [fromFolder] [targetFolder]

# 列出壓縮文件 [tarFileName] 的內(nèi)容文件列表
tar -tzf [tarFileName.tar.gz]

# 壓縮 文件
zip [zipOutName] [File]
# 壓縮文件夾
zip -r [zipOutName] [Folder]

解壓文件

# 解壓 [tarFileName.tar.gz] 的文件
tar -xvzf [tarFileName.tar.gz]
# zip解壓
unzip [zipFile] -d [outFolder]

對于.rar

要在linux下處理.rar文件诊杆,需要安裝RAR for Linux,可以從網(wǎng)上下載何陆,但要記住晨汹,RAR for Linux 不是免費的;
可從 http://www.rarsoft.com/download.htm 下載RARfor Linux 3.2. 0贷盲,然后安裝:

tar -xzpvf rarlinux-3.2.0.tar.gz
cd rar 
make 

這樣就安裝好了淘这,安裝后就有了rar和unrar這兩個程序,rar是壓縮程序巩剖,unrar 是解壓程序

刪除文件大小為零的文件

find ./ -size 0 | xargs rm -f &

目錄操作

創(chuàng)建目錄

# 創(chuàng)建 [newfolder] 目錄
mkdir [newfolder]

刪除目錄

# 刪除空目錄 [emptyFolder]
rmdir [emptyFolder]
# 安全刪除目錄 [folder] 中所有內(nèi)容
\rm -r [folder]
# 遞歸刪除目錄 [folder] 中所有內(nèi)容 這樣容易誤刪除
rm -rf [folder]

網(wǎng)絡(luò)類

查看端口占用情況

# 查看端口號 [port] 的使用情況
netstat -tln | grep [port]

查看端口屬于哪個程序

# 查看端口號 [port] 屬于哪個程序
lsof -i :[port]

網(wǎng)絡(luò)檢測

# 檢查網(wǎng)卡
ping 127.0.0.1
# 檢查網(wǎng)絡(luò) [host or ip address]
ping [host or ip address]
# 路由跟蹤 到 [host] 的路由
traceroute [host]

進程類

查看進程

#  查看所有有關(guān)[progress name]的進程
ps –ef | grep [progress name]
# 查看所有進程
ps aux
# 查看 [progress] 進程
ps aux |grep [progress] 

查看Java運行進程

# 查看java進程
jps
# 查看java進程號
jps -q
# java 應(yīng)用程序main class的完整package名或者應(yīng)用程序的jar文件完整路徑名
jps -l
# 查看java進程號 輸出傳遞給main 方法的參數(shù)
jps -m
# 查看java進程傳遞給JVM的參數(shù)
jps -v

終止進程

# 終止線程號為[pid]的線程
kill -9 [pid]

用戶類

顯示用戶

# 顯示當前用戶名
whoami

切換用戶

# 切換到 username
su -username

配置 信息類

查看系統(tǒng)版本

more /proc/version

打印信息

# 打印java home環(huán)境變量的值
echo $JAVA_HOME
# 讀取環(huán)境變量更你使用的bash有關(guān)铝穷,如果是 bash 是讀取 ~/.bash_profile 中

遠程管理

遠程登錄

# 使用ssh登錄 [userName] [ip]
ssh [userName]@[ip]
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市佳魔,隨后出現(xiàn)的幾起案子曙聂,更是在濱河造成了極大的恐慌,老刑警劉巖鞠鲜,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宁脊,死亡現(xiàn)場離奇詭異,居然都是意外死亡贤姆,警方通過查閱死者的電腦和手機榆苞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來霞捡,“玉大人坐漏,你說我怎么就攤上這事”绦牛” “怎么了赊琳?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長音婶。 經(jīng)常有香客問我慨畸,道長,這世上最難降的妖魔是什么衣式? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任寸士,我火速辦了婚禮檐什,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘弱卡。我一直安慰自己乃正,他們只是感情好,可當我...
    茶點故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布婶博。 她就那樣靜靜地躺著瓮具,像睡著了一般。 火紅的嫁衣襯著肌膚如雪凡人。 梳的紋絲不亂的頭發(fā)上名党,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天,我揣著相機與錄音挠轴,去河邊找鬼传睹。 笑死,一個胖子當著我的面吹牛岸晦,可吹牛的內(nèi)容都是我干的欧啤。 我是一名探鬼主播,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼启上,長吁一口氣:“原來是場噩夢啊……” “哼邢隧!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起冈在,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤倒慧,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后讥邻,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體迫靖,經(jīng)...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年兴使,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片照激。...
    茶點故事閱讀 39,731評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡发魄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出俩垃,到底是詐尸還是另有隱情励幼,我是刑警寧澤,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布口柳,位于F島的核電站苹粟,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏跃闹。R本人自食惡果不足惜嵌削,卻給世界環(huán)境...
    茶點故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一毛好、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧苛秕,春花似錦肌访、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至店煞,卻和暖如春蟹演,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背顷蟀。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工酒请, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人衩椒。 一個月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓蚌父,卻偏偏與公主長得像,于是被迫代替她去往敵國和親毛萌。 傳聞我的和親對象是個殘疾皇子苟弛,可洞房花燭夜當晚...
    茶點故事閱讀 44,629評論 2 354

推薦閱讀更多精彩內(nèi)容