原文出處: Jack_lin(@Jack_Lin_IOS ) 瀏覽器
厚重·技術緩存
在iOS開發的過程當中,更多地注重iOS開發的效率,熟練使用Mac終端操做的經常使用命令,可讓你更好的遊刃於iOS繁重的開發中。本文着重介紹經常使用的Mac終端基本指令和快捷鍵,更加適合一些IOS新手學習和了解。網絡
Mac OS X自己是Unix內核的,採用Unix的多用戶系統,採用Unix文件系統,全部文件都放在根目錄/Users
下面,不存在Windows下的盤符概念,用戶登陸系統後,本身的用戶目錄下通常有公共、圖片、文稿、下載、音樂、影片、站點、桌面、資源庫,OS X爲中文用戶作了國際化,打開終端,輸入ls
,你會看到真正的目錄名稱:Desktop、Documents、Downloads、Library、Movies、Music、Pictures、Public、Sites
。繼續在終端中輸入cd /,切換到根目錄,鍵入ls
,這樣基本就能夠看到Unix目錄的全貌。
以下圖所示:app
終端截圖工具
其中,一些經常使用文件位置集錦:
學習
1開發工具 2字體 3spa 4操作系統 5 6 |
1.驅動所在位置 /Systme/Library/Extensions ; 2.桌面的位置 /User/用戶名/Desktop ; 3.文件通配符爲星號 * 4.在 Unix系統中是區別大小寫字符的,A.txt 不等於 a.txt。 根目錄標誌 / 不是無關緊要,cd /System 表示轉到跟目錄下的 System中,而cd System 表示轉到當前目錄下的 System中 。 |
列出文件: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在圖形界面下看起來是個文件,其實是個文件夾。
把驅動目錄下的全部文件備份到桌面backupcp -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
;
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/