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