基本命令
1、列出文件
ls 參數 目錄名 例: 看看驅動目錄下有什麼:ls /System/Library/Extensions
參數 -w 顯示中文,-l 詳細信息, -a 包括隱藏文件
2、轉換目錄
cd 例:想到驅動目錄下溜達一圈 cd /System/Library/Extensions
3、建立新目錄
mkdir 目錄名 例:在驅動目錄下建一個備份目錄 backup mkdir /System/Library/Extensions/backup
在桌面上建一個備份目錄 backup mkdir /User/用戶名/Desktop/backup
4、拷貝文件
cp 參數 源文件 目標文件 例:想把桌面的Natit.kext 拷貝到驅動目錄中 cp -R /User/用戶名/Desktop/Natit.kext /System/Library/Extensions
參數R表示對目錄進行遞歸操作,kext在圖形界面下看起來是個文件,實際上是個文件夾。
把驅動目錄下的所有文件備份到桌面backup
cp -R /System/Library/Extensions/* /User/用戶名/Desktop/backup
5、刪除文件
rm 參數 文件 例:想刪除驅動的緩存 rm -rf /System/Library/Extensions.kextcache rm -rf /System/Library/Extensions.mkext
參數-rf 表示遞歸和強制,千萬要小心使用,如果執行了 rm -rf / 你的系統就全沒了
6、移動文件
mv 文件 例:想把AppleHDA.Kext 移到桌面 mv /System/Library/Extensions/AppleHDA.kext /User/用戶名/Desktop
想把AppleHDA.Kext 移到備份目錄中 mv /System/Library/Extensions/AppleHDA.kext /System/Library/Extensions/backup
7、文本編輯
nano 文件名 例:編輯natit Info.plist nano /System/Library/Extensions/Natit.kext/Info.plist
nano 和 vim 都是文本編譯
目錄操作
命令名 功能描述 使用舉例
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 8 1996
time 統計程序的執行時間 time a.out
網絡與通信操作
命令名 功能描述 使用舉例
telnet 遠程登錄 telnet hpc.sp.net.edu.cn
rlogin 遠程登錄 rlogin hostname -l username
rsh 在遠程主機執行指定命令 rsh f01n03 date
ftp 在本地主機與遠程主機之間傳輸文件 ftpftp.sp.net.edu.cn
rcp 在本地主機與遠程主機 之間複製文件 rcp file1 host1:file2
ping 給一個網絡主機發送 迴應請求 ping hpc.sp.net.edu.cn
mail 閱讀和發送電子郵件 mail
write 給另一用戶發送報文 write username pts/1
mesg 允許或拒絕接收報文 mesg n
Korn Shell 命令
命令名 功能描述 使用舉例
history 列出最近執行過的 幾條命令及編號 history
r 重複執行最近執行過的 某條命令 r -2
alias 給某個命令定義別名 alias del=rm -i
unalias 取消對某個別名的定義 unalias del
其它命令
命令名 功能描述 使用舉例
uname 顯示操作系統的有關信息 uname -a
clear 清除屏幕或窗口內容 clear
env 顯示當前所有設置過的環境變量 env
who 列出當前登錄的所有用戶 who
whoami 顯示當前正進行操作的用戶名 whoami
tty 顯示終端或僞終端的名稱 tty
stty 顯示或重置控制鍵定義 stty -a
du 查詢磁盤使用情況 du
-k subdir
df /tmp 顯示文件系統的總空間和可用空間
w 顯示當前系統活動的總信息
Mac OS X 終端命令開啓功能
1.Lion下顯示資源庫
方法一:
顯示
在“終端”中輸入下面的命令:
chflags nohidden ~/Library/
隱藏
在“終端”中輸入下面的命令:
chflags hidden ~/Library/
方法二:
打開Finder,菜單中選擇前往按住option鍵就會顯示資源庫項(每次打開都需要重複操作一次)。
2.Finder顯示隱藏文件
顯示隱藏文件
在“終端”中輸入下面的命令:
defaults write com.apple.finder AppleShowAllFiles -bool true
killall Finder
恢復隱藏文件
在“終端”中輸入下面的命令:
defaults write com.apple.finder AppleShowAllFiles -bool false
killall Finder
3.Xcode卸載
在“終端”中輸入下面的命令:
sudo /Library/uninstall-devtools –mode=all
爲實際安裝的目錄,默認情況下Xcode安裝在/Developer目錄下,即可執行
sudo /Developer/Library/uninstall-devtools –mode=all
4.在Finder標題欄顯示完整路徑
在“終端”中輸入下面的命令:
defaults write com.apple.finder _FXShowPosixPathInTitle -bool YES
killall Finder
5.去掉窗口截屏的陰影
對窗口進行截屏的時候(Command-Shift-4, 空格),得到的圖片周圍會自動被加上一圈陰影。
如果你不喜歡這個陰影的效果,可以把它關掉。
在“終端”中輸入下面的命令:
defaults write com.apple.screencapture disable-shadow -bool true
killall SystemUIServer
6.強制Safari在新標籤中打開網頁
Safari是默認支持標籤瀏覽的。但是,我們在頁面上點擊鏈接或者在其他應用程序中點擊鏈接的時候,
Safari往往是打開了一個新的窗口,導致頁面上的Safari窗口過多,不好管理。通過下面這個小竅門,
我們可以讓Safari默認是在一個新標籤中打開網頁。
在“終端”中輸入下面的命令:
defaults write com.apple.Safari TargetedClicksCreateTabs -bool true
7.改變截屏圖片的保存位置
Mac OS提供了非常方便的截屏快捷鍵,可以讓我們非常快速的對整個屏幕、部分屏幕或者應用程序窗口進行截屏。不過,這個截屏功能有一個不足之處,就是隻能將截 屏圖片保存到桌面。如果我們截取的圖片特別多,就會讓桌面顯得特別凌亂。那有沒有辦法來修改截屏圖片的默認保存位置呢?有。方法非常簡單,只要在“終端” 中輸入下面的命令就可以了。
defaults write com.apple.screencapture location 存放位置
killall SystemUIServer
在輸入命令的時候,將“存放位置”替換成真正的文件夾就可以了。例如,你希望存放到自己用戶目錄的Screenshots文件夾下,就輸入
defaults write com.apple.screencapture location ~/Screenshots
8. open
open
命令用於打開文件、目錄或執行程序。就等同於在命令行模式下,重複圖形界面“雙擊”的動作。例如這個命令與在Finder中雙擊Safari是一樣的:
$ open /Applications/Safari.app/
如果 open
一個文件,則會使用關聯的程序打開之。例如 open
screenshot.png
會在Preview中查看圖片。
可以使用 -a
選項要求自行選擇打開的程序,或使用 -e
強制在TextEdit中編輯此文件。
open
一個目錄會在Finder窗口中打開此目錄。一個很有用的技巧是 open
.
打開當前目錄。
Finder和終端的交互是雙向的——把文件從Finder中拖入終端,就等同於把文件的完整路徑粘貼到命令行中。
9. pbcopy 和 pbpaste
這兩個工具可以打通命令行和剪貼板。當然用鼠標操作複製粘貼也可以——但這兩個工具的真正威力,發揮在將其用作Unix工具的時候。意思就是說:可以將這兩個工具用作管道、IO重定向以及和其他命令的整合。例如:
$ ls ~ | pbcopy
可以將主目錄的文件列表複製到剪貼板。
也可以把任意文件的內容讀入剪貼板:
$ pbcopy < blogpost.txt
做點更瘋狂的嘗試:獲取最新Google紀念徽標(doodle)的URL並複製到剪貼板:
$ curl http://www.google.com/doodles#oodles/archive | grep -A5 'latest-doodle on' | grep 'img src' | sed s/.*'<img src="\/\/'/''/ | sed s/'" alt=".*'/''/ | pbcopy
使用管道語法配合 pbcopy
工具可以簡單的抓取命令的輸出,而不必向上滾動翻閱終端窗口。可以用於和他人分享命令行的標準和錯誤輸出。 pbcopy
和 pbpaste
也可以用於自動化或加速執行一些事情。例如把一些郵件的主題存爲任務列表,就可以先從Mail.app中複製主題,再運行:
$ pbpaste >> tasklist.txt
10. mdfind
許多Linux用戶都發現Linux下查找文件的方法在OS X上不好用。當然經典的Unix find
命令總是可以,但既然OS
X有殺手級搜索工具Spotlight,爲什麼不在命令行上也使用一下呢?
這就是 mdfind
命令了。Spotlight能做的查找, mdfind
也能做。包括搜索文件的內容和元數據(metadata)。
mdfind
還提供更多的搜索選項。例如 -onlyin
選項可以約束搜索範圍爲一個目錄:
$ mdfind -onlyin ~/Documents essay
mdfind
的索引數據庫在後臺自動更新,不過你也可以使用 mdutil
工具診斷數據庫的問題,診斷 mdfind
的問題也等同於診斷Spotlight。如果Spotlight的工作不正確, mdutil
-E
命令可以強制重建索引數據庫。也可以用 mdutil -i
徹底關閉文件索引。
11. screencapture
screencapture
命令可以截圖。和 Grab.app
與 cmd
+ shift + 3
或 cmd + shift + 4
熱鍵相似,但更加的靈活。
抓取包含鼠標光標的全屏幕,並以 image.png
插入到新郵件的附件中:
$ screencapture -C -M image.png
用鼠標選擇抓取窗口(及陰影)並複製到剪貼板:
$ screencapture -c -W
延時10秒後抓屏,並在Preview中打開之:
$ screencapture -T 10 -P image.png
用鼠標截取一個矩形區域,抓取後存爲pdf文件:
$ screencapture -s -t pdf image.pdf
更多用法請參閱 screencapture --help
。
12. launchctl
launchctl
管理OS X的啓動腳本,控制啓動計算機時需要開啓的服務。也可以設置定時執行特定任務的腳本,就像Linux
cron一樣。
例如,開機時自動啓動Apache服務器:
$ sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
運行 launchctl list
顯示當前的啓動腳本。 sudo
launchctl unload [path/to/script]
停止正在運行的啓動腳本,再加上 -w
選項即可去除開機啓動。用這個方法可以一次去除Adobe或Microsoft
Office所附帶的所有“自動更新”後臺程序。
Launchd腳本存儲在以下位置:
~/Library/LaunchAgents
/Library/LaunchAgents
/Library/LaunchDaemons
/System/Library/LaunchAgents
/System/Library/LaunchDaemons
啓動腳本的格式可以參考 這篇blog ,或蘋果開發者中心的 文章 。你也可以使用 Lingon 應用來完全取代命令行。
13. say
say
是一個文本轉語音(TTS)的有趣的工具,引擎和OS X使用的一樣也是VoiceOver。如果不加其他選項,則會簡單的語音朗讀你給定的字符串:
$ say "Never trust a computer you can't lift."
用 -f
選項朗讀特定文本文件, -o
選項將朗讀結果存爲音頻文件而不是播放:
$ say -f mynovel.txt -o myaudiobook.aiff
say
命令可以用於在腳本中播放警告或提示。例如你可以設置Automator或Hazel腳本處理文件,並在任務完成時用 say
命令語音提示。
最好玩(不過也負罪感十足)的用法是:通過SSH連接到朋友或同事的計算機,然後用 say
命令給他們一個大大大驚喜……
可以在系統設置(System Preferences)的字典和語音(Dictation & Speech)選項中調整系統的語音選項甚至是語音的語言。
14. diskutil
diskutil
是OS X磁盤工具應用的命令行版。既可以完成圖形界面應用的所有任務,也可以做一些全盤填0、全盤填隨機數等額外的任務。先使用 diskutil
list
查看所有磁盤的列表和所在路徑,然後對特定的磁盤執行命令。
警告:不正確使用 diskutil
可能意外的破壞磁盤數據。請小心。
15. brew
Homebrew程序提供的 brew
,嚴格來講不是一個OS X的原生命令,但任何一個OS X的專業用戶都不會錯過它。“OS
X缺少的包管理器”這個評價是恰如其分的。如果你曾經在Linux上使用過 apt-get
(或其他包管理器——譯者注),你就會發現Homebrew基本上是一樣的。
使用 brew
可以簡單的獲取數千種開源工具和函數庫。例如 brew
install imagemagick
就可以安裝ImageMagick(幾乎可以處理任何圖像問題,轉換任何格式的圖像工具), brew
install node
可以安裝Node.js(當前大熱的服務器端JavaScript編程工具)。
也可以通過Homebrew做有趣的事情: brew install archey
會安裝Archey(在啓動命令行時顯示蘋果LOGO和計算機硬件參數的小工具)。
Homebrew能安裝的工具數量龐大,並且一直保持更新。Homebrew最棒的一點是:所有的文件都被約束在 /usr/local/
一個位置之下。也就是說可以通過Homebrew安裝新版軟件的同時,保持系統內置的依賴庫或其他軟件不變。同時如果想徹底刪除Homebrew,也變得非常簡單。
(注:刪除Homebrew最好還是不要直接刪除 /usr/local/
。應當用這個 卸載腳本 。)
命令大全:http://ss64.com/osx/getopt.html