Mac 終端基本命令

基本命令
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


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