學(xué)好Mac常用命令,助力iOS開(kāi)發(fā)
厚重·技術(shù)
序言
在iOS開(kāi)發(fā)的過(guò)程中,更多地注重iOS開(kāi)發(fā)的效率,熟練使用Mac終端操作的常用命令,可以讓你更好的游刃于iOS繁重的開(kāi)發(fā)中。本文著重介紹常用的Mac終端基本指令和快捷鍵,更加適合一些IOS新手學(xué)習(xí)和了解。
Mac OS X的文件系統(tǒng)
- Mac OS X本身是Unix內(nèi)核的,采用Unix的多用戶(hù)系統(tǒng),采用Unix文件系統(tǒng),所有文件都放在根目錄/Users下面,不存在Windows下的盤(pán)符概念,用戶(hù)登錄系統(tǒng)后,自己的用戶(hù)目錄下一般有公共、圖片、文稿、下載、音樂(lè)、影片、站點(diǎn)、桌面、資源庫(kù),OS X為中文用戶(hù)做了國(guó)際化,打開(kāi)終端,輸入ls,你會(huì)看到真正的目錄名稱(chēng):Desktop、Documents、Downloads、Library、Movies、Music、Pictures、Public、Sites。繼續(xù)在終端中輸入cd /,切換到根目錄,鍵入ls,這樣基本就可以看到Unix目錄的全貌。
如下圖所示:
終端截圖
- 其中,一些常用文件位置集錦:
1.驅(qū)動(dòng)所在位置 /Systme/Library/Extensions ;
2.桌面的位置 /User/用戶(hù)名/Desktop ;
3.文件通配符為星號(hào) *
4.在 Unix系統(tǒng)中是區(qū)別大小寫(xiě)字符的,A.txt 不等于 a.txt。
根目錄標(biāo)志 / 不是可有可無(wú),cd /System 表示轉(zhuǎn)到跟目錄下的
System中,而cd System 表示轉(zhuǎn)到當(dāng)前目錄下的 System中 。
Mac終端常用的基本命令
- 列出文件:ls 參數(shù) 目錄名 例: 查看驅(qū)動(dòng)目錄:ls/System/Library/Extensions,(參數(shù) -w 顯示中文,-l 詳細(xì)信息, -a 包括隱藏文件);
- 轉(zhuǎn)換目錄:cd 例如:轉(zhuǎn)換到驅(qū)動(dòng)目錄 cd /System/Library/Extensions;
- 建立新目錄:mkdir 目錄名 例如:在驅(qū)動(dòng)目錄下建一個(gè)備份目backup,mkdir /System/Library/Extensions/backup;
- 在桌面上建一個(gè)備份目錄 backup, mkdir /User/用戶(hù)名/Desktop/backup;
- 拷貝文件:cp 參數(shù) 源文件 目標(biāo)文件 例:想把桌面的Natit.kext 拷貝到驅(qū)動(dòng)目錄中 cp -R /User/用戶(hù)名/Desktop/Natit.kext /System/Library/Extensions;參數(shù)R表示對(duì)目錄進(jìn)行遞歸操作,kext在圖形界面下看起來(lái)是個(gè)文件,實(shí)際上是個(gè)文件夾。
- 把驅(qū)動(dòng)目錄下的所有文件備份到桌面backup
- cp -R /System/Library/Extensions/* /User/用戶(hù)名/Desktop/backup;
- 刪除文件:rm 參數(shù) 文件 例:想刪除驅(qū)動(dòng)的緩存 rm -rf /System/Library/Extensions.kextcache 、rm -rf /System/Library/Extensions.mkext,參數(shù)-rf表示遞歸和強(qiáng)制,執(zhí)行了 rm -rf / 你的系統(tǒng)就癱瘓了;
- 移動(dòng)文件:mv 文件,例:想把AppleHDA.Kext 移到桌面 mv /System/Library/Extensions/AppleHDA.kext /User/用戶(hù)名/Desktop,
- 想把AppleHDA.Kext 移到備份目錄中mv /System/Library/Extensions/AppleHDA.kext /System/Library/Extensions/backup;
- 文本編輯:nano 文件名 例:編輯natit Info.plist nano /System/Library/Extensions/Natit.kext/Info.plist;
- 目錄操作:
命令名 | 功能描述 | 使用舉例 |
---|---|---|
mkdir | 創(chuàng)建一個(gè)目錄 | mkdir dirname |
rmdir | 刪除一個(gè)目錄 | rmdir dirname |
mvdir | 移動(dòng)或重命名一個(gè)目錄 | mvdir dir1 dir2 |
cd | 改變當(dāng)前目錄 | cd dirname |
pwd | 顯示當(dāng)前目錄的路徑名 | pwd |
ls | 顯示當(dāng)前目錄的內(nèi)容 | ls -la |
- 文件操作:
命令名 | 功能描述 | 使用舉例 |
---|---|---|
cat | 顯示或連接文件 | cat filename |
od | 顯示非文本文件的內(nèi)容 | od -c filename |
cp | 復(fù)制文件或目錄 | cp file1 file2 |
rm | 刪除文件或目錄 | rm filename |
mv | 改變文件名或所在目錄 | mv file1 file2 |
find | 使用匹配表達(dá)式查找文件 | find . -name “*.c” -print |
file | 顯示文件類(lèi)型 | file filename |
- 選擇操作:
命令名 | 功能描述 | 使用舉例 |
---|---|---|
head | 顯示文件的最初幾行 | head -20 filename |
tail | 顯示文件的最后幾行 | tail -15 filename |
cut | 顯示文件每行中的某些域 | cut -f1,7 -d: /etc/passwd |
colrm | 從標(biāo)準(zhǔn)輸入中刪除若干列 | colrm 8 20 file2 |
diff | 比較并顯示兩個(gè)文件的差異 | diff file1 file2 |
sort | 排序或歸并文件 | sort -d -f -u file1 |
uniq | 去掉文件中的重復(fù)行 | uniq file1 file2 |
comm | 顯示兩有序文件的公共和非公共行 | comm file1 file2 |
wc | 統(tǒng)計(jì)文件的字符數(shù)、詞數(shù)和行數(shù) | wc filename |
nl | 給文件加上行號(hào) | nl file1 >file2 |
- 進(jìn)程操作:
命令名 | 功能描述 | 使用舉例 |
---|---|---|
ps | 顯示進(jìn)程當(dāng)前狀態(tài) | ps u |
kill | 終止進(jìn)程 | kill -9 30142 |
- 時(shí)間操作:
命令名 | 功能描述 | 使用舉例 |
---|---|---|
date | 顯示系統(tǒng)的當(dāng)前日期和時(shí)間 | date |
cal | 顯示日歷 | cal 4 2016 |
time | 統(tǒng)計(jì)程序的執(zhí)行時(shí)間 | time a.out |
- 網(wǎng)絡(luò)與通信操作:
命令名 | 功能描述 | 使用舉例 |
---|---|---|
telnet | 遠(yuǎn)程登錄 | telnet hpc.sp.net.edu.cn |
rlogin | 遠(yuǎn)程登錄 | rlogin hostname -l username |
rsh | 在遠(yuǎn)程主機(jī)執(zhí)行指定命令 | rsh f01n03 date |
ftp | 在本地主機(jī)與遠(yuǎn)程主機(jī)之間傳輸文件 | ftp.sp.net.edu.cn |
rcp | 在本地主機(jī)與遠(yuǎn)程主機(jī)之間復(fù)制文件 | rcp file1 host1:file2 |
閱讀和發(fā)送電子郵件 | ||
write | 給另一用戶(hù)發(fā)送報(bào)文 | write username pts/1 |
mesg | 允許或拒絕接收?qǐng)?bào)文 | mesg n |
ping | 給一個(gè)網(wǎng)絡(luò)主機(jī)發(fā)送回應(yīng)請(qǐng)求 | ping hpc.sp.net.edu.cn |
- Korn Shell 命令 :
命令名 | 功能描述 | 使用舉例 |
---|---|---|
history | 列出最近執(zhí)行過(guò)的幾條命令及編號(hào) | history |
r | 重復(fù)執(zhí)行最近執(zhí)行過(guò)的 某條命令 | r -2 |
alias | 給某個(gè)命令定義別名 | alias del=rm -i |
unalias | 取消對(duì)某個(gè)別名的定義 | unalias del |
rcp | 在本地主機(jī)與遠(yuǎn)程主機(jī)之間復(fù)制文件 | rcp file1 host1:file2 |
閱讀和發(fā)送電子郵件 | ||
write | 給另一用戶(hù)發(fā)送報(bào)文 | write username pts/1 |
mesg | 允許或拒絕接收?qǐng)?bào)文 | mesg n |
- 其他命令 :
命令名 | 功能描述 | 使用舉例 |
---|---|---|
uname | 顯示操作系統(tǒng)的有關(guān)信息 | uname -a |
clear | 清除屏幕或窗口內(nèi)容 | clear |
alias | 給某個(gè)命令定義別名 | alias del=rm -i |
unalias | 取消對(duì)某個(gè)別名的定義 | unalias del |
who | 顯示當(dāng)前所有設(shè)置過(guò)的環(huán)境變量 | who |
whoami | 顯示當(dāng)前正進(jìn)行操作的用戶(hù)名 | whoami |
tty | 顯示終端或偽終端的名稱(chēng) | tty |
du | 查詢(xún)磁盤(pán)使用情況 | du -k subdir |
stty | 顯示或重置控制鍵定義 | stty -a |
df/tmp | 顯示文件系統(tǒng)的總空間和可用空間 | - |
w | 顯示當(dāng)前系統(tǒng)活動(dòng)的總信息 | - |
- 顯示資源庫(kù):
方法一:
顯示
在“終端”中輸入下面的命令:
chflags nohidden ~/Library/;
隱藏
在“終端”中輸入下面的命令:
chflags hidden ~/Library/;
方法二:
打開(kāi)Finder,菜單中選擇前往按住option鍵就會(huì)顯示資源庫(kù)項(xiàng)(每次打開(kāi)都需要重復(fù)操作一次)。
- Finder顯示隱藏文件
顯示隱藏文件
在“終端”中輸入下面的命令:
defaults write com.apple.finder AppleShowAllFiles -bool true
killall Finder;
恢復(fù)隱藏文件
在“終端”中輸入下面的命令:
defaults write com.apple.finder AppleShowAllFiles -bool false
killall Finder.
- Xcode卸載
在“終端”中輸入下面的命令:
sudo /Library/uninstall-devtools –mode=all
為實(shí)際安裝的目錄,默認(rèn)情況下Xcode安裝在/Developer目錄下,即可執(zhí)行
sudo /Developer/Library/uninstall-devtools –mode=all;
- 在Finder標(biāo)題欄顯示完整路徑
在“終端”中輸入下面的命令:
defaults write com.apple.finder _FXShowPosixPathInTitle -bool YES
killall Finder
去掉窗口截屏的陰影
對(duì)窗口進(jìn)行截屏的時(shí)候(Command-Shift-4, 空格),得到的圖片周?chē)鷷?huì)自動(dòng)被加上一圈陰影。如果你不喜歡這個(gè)陰影的效果,可以把它關(guān)掉。
在“終端”中輸入下面的命令:
defaults write com.apple.screencapture disable-shadow -bool true
killall SystemUIServer;
- 強(qiáng)制Safari在新標(biāo)簽中打開(kāi)網(wǎng)頁(yè)
Safari是默認(rèn)支持標(biāo)簽瀏覽的。但是,我們?cè)陧?yè)面上點(diǎn)擊鏈接或者在其他應(yīng)用程序中點(diǎn)擊鏈接的時(shí)候,Safari往往是打開(kāi)了一個(gè)新的窗口,導(dǎo)致頁(yè)面上的Safari窗口過(guò)多,不好管理。通過(guò)下面這個(gè)小竅門(mén),
我們可以讓Safari默認(rèn)是在一個(gè)新標(biāo)簽中打開(kāi)網(wǎng)頁(yè)。
在“終端”中輸入下面的命令:
defaults write com.apple.Safari TargetedClicksCreateTabs -bool true;
- 改變截屏圖片的保存位置
Mac OS提供了非常方便的截屏快捷鍵,可以讓我們非常快速的對(duì)整個(gè)屏幕、部分屏幕或者應(yīng)用程序窗口進(jìn)行截屏。不過(guò),這個(gè)截屏功能有一個(gè)不足之處,就是只能將截屏圖片保存到桌面。如果我們截取的圖片特別多,就會(huì)讓桌面顯得特別凌亂。那有沒(méi)有辦法來(lái)修改截屏圖片的默認(rèn)保存位置呢?有。方法非常簡(jiǎn)單,只要在“終端” 中輸入下面的命令就可以了。
defaults write com.apple.screencapture location 存放位置
killall SystemUIServer;
在輸入命令的時(shí)候,將“存放位置”替換成真正的文件夾就可以了。例如,你希望存放到自己用戶(hù)目錄的Screenshots文件夾下,就輸入
defaults write com.apple.screencapture location ~/Screenshots;
Mac中常用的快捷鍵
- Command+Tab 任意情況下切換應(yīng)用程序 – 向前循環(huán)
- Shift+Command+Tab 切換應(yīng)用程序 – 向后循環(huán)
- Command+Delete 把選中的資源移到廢紙簍
- Shift+Command+Delete 清倒相關(guān)程序的廢紙簍
- Command+` 同一應(yīng)用程序多窗口間切換
- Command+F 呼出大部分應(yīng)用程序的查詢(xún)功能
- Command+C/V/X 復(fù)制/粘貼/剪切
- Command+N 新建應(yīng)用程序窗口
- Command+Q 退出當(dāng)前應(yīng)用程序,說(shuō)明一下,所有應(yīng)用程序界面左上角都有紅黃綠三個(gè)小圖標(biāo),點(diǎn)擊綠色擴(kuò)展到最適合的窗口大小,黃色最小化,紅色關(guān)掉當(dāng)前窗口,但并沒(méi)有退出程序。
- 用Command+Q配合Command+Tab關(guān)閉應(yīng)用程序最為迅速
- Command+L 當(dāng)前程序是瀏覽器時(shí),可以直接定位到地址欄
- Command+”+/-” 放大或縮小字體
- Control+推出鍵 顯示關(guān)機(jī)對(duì)話(huà)框
- Control+Space 呼出Spotlight
- Command+Space 切換輸入法
寫(xiě)在最后
- 每一種終端開(kāi)發(fā)都不能只局限在開(kāi)發(fā)工具IDE上,往往操作系統(tǒng)的一些操作會(huì)帶來(lái)意想不到的驚喜,還望大家細(xì)細(xì)體會(huì)。若大家想了解一下Mac系統(tǒng)常用操作,推薦這篇文章給大家,若大家想學(xué)習(xí)Unix指令,大家點(diǎn)擊一下即可。