Mac shell使用技巧總結(jié)

1.文件操作

  • 常用目錄
/Systme/Library/Extensions        // 驅(qū)動(dòng)所在目錄
/User/XXX/Desktop                 // 桌面目錄
  • 資源庫(kù)
chflags nohidden ~/Library/        // 顯示資源庫(kù)
chflags hidden ~/Library/          // 隱藏資源庫(kù)
  • 目錄
命令名 功能描述 使用舉例
mkdir 創(chuàng)建一個(gè)目錄 mkdir XXX
rmdir 刪除一個(gè)目錄 rmdir XXX
mvdir 移動(dòng)或重命名一個(gè)目錄 mvdir XXX XXX
cd 進(jìn)入目錄 cd XXX
cd .. 回到上一目錄 cd ..
cd ~ 回到用戶根目錄 cd ~
pwd 顯示當(dāng)前目錄的路徑名 pwd
ls 顯示當(dāng)前目錄的內(nèi)容 ls -al
open 打開當(dāng)前目錄 open .
  • 文件操作
命令名 功能描述 使用舉例
cat 顯示或連接文件 cat XXX
od 顯示非文本文件的內(nèi)容 od -c XXX
cp 復(fù)制文件或目錄 cp XXX XXX
rm 刪除文件或目錄 rm XXX
rm -rf 強(qiáng)制刪除文件或目錄(慎用) rm -rf XXX
mv 移動(dòng)文件到新路徑 mv XXX XXX
find 使用匹配表達(dá)式查找文件 find . -name "*.c" -print
file 顯示文件類型 file XXX
  • 選擇操作
命令名 功能描述 使用舉例
head 顯示文件的最初幾行 head -20 XXX
tail 顯示文件的最后幾行 tail -15 XXX
cut 顯示文件每行中的某些域 cut -f1,7 -d: /etc/passwd
colrm 從標(biāo)準(zhǔn)輸入中刪除若干列 colrm 8 20 XXX
diff 比較并顯示兩個(gè)文件的差異 diff XXX XXX
sort 排序或歸并文件 sort -d -f -u XXX
uniq 去掉文件中的重復(fù)行 uniq XXX XXX
comm 顯示兩有序文件的公共和非公共行 comm XXX XXX
wc 統(tǒng)計(jì)文件的字符數(shù)、詞數(shù)和行數(shù) wc XXX
nl 給文件加上行號(hào) nl XXX >XXX
  • 文件編輯
touch abc.txt   // 創(chuàng)建 abc.txt 文件
vim abc.txt     // vim編輯 abc.txt 
:wq             // vim保存并退出
:x              // vim直接退出
nano abc.txt    // nano編輯 abc.txt
  • 將文件轉(zhuǎn)成 HTML,支持格式包括 Text, .RTF, .DOC.
textutil -convert html file.extension

2.系統(tǒng)操作

  • 進(jìn)程操作
命令名 功能描述 使用舉例
ps 顯示進(jìn)程當(dāng)前狀態(tài) ps u
kill 終止進(jìn)程 kill -9 30142
  • 時(shí)間操作
命令名 功能描述 使用舉例
date 顯示系統(tǒng)的當(dāng)前日期和時(shí)間 date
cal 顯示日歷 cal 4 2016
time 統(tǒng)計(jì)程序的執(zhí)行時(shí)間 time a.out
  • 啟動(dòng)與退出
shutdown - r now      // 重啟 Mac OS X
shutdown now          // 關(guān)閉 Mac OS X
  • 電源管理
pmset -g                      // 獲取當(dāng)前電源管理設(shè)置的信息
sudo pmset displaysleep 15    // 設(shè)置顯示器無活動(dòng)15分鐘后關(guān)閉
sudo pmset sleep 30           // 讓計(jì)算機(jī)在無活動(dòng)30分鐘后休眠
  • 外觀
// 禁用儀表盤
defaults write com.apple.dashboard mcx-disabled -boolean YES
// 啟用儀表盤
defaults write com.apple.dashboard mcx-disabled -boolean NO
  • 隱藏文件顯影
// 終端輸入后重啟Finder即可
defaults write com.apple.finder AppleShowAllFiles -bool true // 顯示
defaults write com.apple.finder AppleShowAllFiles -bool false // 隱藏
  • .DS_Store文件處理
// 禁止.DS_Store文件生成
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE 
// 恢復(fù).DS_Store文件生成
defaults delete com.apple.desktopservices DSDontWriteNetworkStores
// 刪除所有.DS_Store文件 
sudo find / -name ".DS_Store" -depth -exec rm {} \;
  • iTunes
// 更改 iTunes 鏈接行為為本機(jī) iTunes 庫(kù),而不是 iTunes Store
defaults write com.apple.iTunes invertStoreLinks -bool YES  
// 更改 iTunes 鏈接行為為 iTunes Store,而不是本機(jī) iTunes 庫(kù)
defaults write com.apple.iTunes invertStoreLinks -bool NO
  • 改變截屏圖片的保存位置
defaults write com.apple.screencapture location XXX   // XXX為存放位置
  • 去掉窗口截屏的陰影
defaults write com.apple.screencapture disable-shadow -bool true
  • 強(qiáng)制Safari在新標(biāo)簽中打開網(wǎng)頁(yè)
defaults write com.apple.Safari TargetedClicksCreateTabs -bool true

3.網(wǎng)絡(luò)操作

  • 網(wǎng)絡(luò)與通信操作
命令名 功能描述 使用舉例
telnet 遠(yuǎn)程登錄 telnet hpc.sp.net.edu.cn
rlogin 遠(yuǎn)程登錄 rlogin hostname -l username
rsh 在遠(yuǎn)程主機(jī)執(zhí)行指定命令 rsh f01n03 date
ftp 在本地主機(jī)與遠(yuǎn)程主機(jī)之間傳輸文件 ftp.sp.net.edu.cn
rcp 在本地主機(jī)與遠(yuǎn)程主機(jī)之間復(fù)制文件 rcp file1 host1:file2
mail 閱讀和發(fā)送電子郵件 mail
write 給另一用戶發(fā)送報(bào)文 write username pts/1
mesg 允許或拒絕接收?qǐng)?bào)文 mesg n
ping 給一個(gè)網(wǎng)絡(luò)主機(jī)發(fā)送回應(yīng)請(qǐng)求 ping hpc.sp.net.edu.cn
  • 檢測(cè)某個(gè)主機(jī)是否運(yùn)行HTTP服務(wù)或網(wǎng)絡(luò)是否可用
curl -I www.baidu.com | head -n 1
  • 使用 dig 來診斷域名信息
dig www.oschina.net A
dig www.oschina.net MX
  • 查看網(wǎng)絡(luò)及相關(guān)信息
netstat -r        // 顯示系統(tǒng)路由表
netstat -an       // 顯示活動(dòng)網(wǎng)絡(luò)連接
netstat -s        // 顯示網(wǎng)絡(luò)統(tǒng)計(jì)

4.其他常用

history            // 查看終端輸入歷史
clear              // 清空bash輸入框
  • 結(jié)束進(jìn)程
killall Finder                        // 重啟Finder
killall Dock                          // 重啟Dock
defaults delete com.apple.dock        // 重置系統(tǒng)Dock
killall SystemUIServer                // 結(jié)束進(jìn)程
  • 其他命令
命令名 功能描述 使用舉例
uname 顯示操作系統(tǒng)的有關(guān)信息 uname -a
clear 清除屏幕或窗口內(nèi)容 clear
alias 給某個(gè)命令定義別名 alias del=rm -i
unalias 取消對(duì)某個(gè)別名的定義 unalias del
who 顯示當(dāng)前所有設(shè)置過的環(huán)境變量 who
whoami 顯示當(dāng)前正進(jìn)行操作的用戶名 whoami
tty 顯示終端或偽終端的名稱 tty
du 查詢磁盤使用情況 du -k subdir
stty 顯示或重置控制鍵定義 stty -a
df/tmp 顯示文件系統(tǒng)的總空間和可用空間 -
w 顯示當(dāng)前系統(tǒng)活動(dòng)的總信息 -

5.查詢操作

  • find命令

unix命令,試用于OS X和Linux,格式為 find 文件路徑 參數(shù)

// 在當(dāng)前路徑下搜索名字中包含`.md`的文件
find ~ -iname  "*.md"
// 在特定的路徑下搜索特定的文件
find SilverBulletZyp.github.io/_posts "*.md"
  • mdfind命令

Spotlight功能的終端界面,若Spotlight功能被禁用,則mdfind也無法工作,mdfind命令非常高效迅速

格式為 mdfind -name 文件名字

// 搜索本地所有的.md文件
mdfind -name ".md"
// 搜索本地名為fenxiang@2x文件位置
mdfind -name fenxiang@2x
// 搜索本地所有包含該字段的文件
mdfind "請(qǐng)輸入密碼"
// 添加-onlyin參數(shù)搜索指定目錄指定文件或文件字段
mdfind -onlyin ~/company/ "請(qǐng)輸入密碼"
mdfind -onlyin ~/company/ plist
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容