學好Mac常用命令,助力iOS開發

原文出處: Jack_lin(@Jack_Lin_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

    2

    3

    4

    5

    6

    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
mail閱讀和發送電子郵件mail
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
mail閱讀和發送電子郵件mail
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上,往往操作系統的一些操作會帶來意想不到的驚喜,還望大家細細體會。QQ技術交流羣290551701 http://cxy.liuzhihengseo.com/


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章