天天看點

iOS中 常用的mac終端指令彙總 技術分享

通常情況下,隻有高端使用者才會經常用到終端應用。這并不意味着指令行非常難學,有的時候指令行可以輕松、快速的解決問題。相信所有Mac使用者都嘗試過指令行,今天為大家帶來9個非常實用的指令行操作。一些指令行需要安裝Xcode之後才可以實用,Xcode在Mac

App Store中免費供應。

iOS中 常用的mac終端指令彙總 技術分享

最最常用的是以下10條:

1.使用caffeinate阻止Mac運作螢幕保護和睡眠

caffeinate能阻止Mac進入睡眠狀态,而且螢幕保護也不會激活。我們最好使用-t為指令加入具體的時間。比如下面的指令可以使Mac一小時内不進入睡眠狀态。

caffeinate -t 3600

複制代碼

2.使用pkgutil解壓PKG檔案

如果你想檢視PKG安裝檔案中的某個特殊檔案,你可以使用pkgutil指令完成。下面的指令會将macx.pkg檔案解壓至桌面

pkgutil --expand macx.pkg ~/Desktop/

3.使用purge指令釋放記憶體

purge指令可以清除記憶體和硬碟的緩存,與重新開機Mac的效果差不多。purge指令可以讓不活躍的系統記憶體轉變為可以使用的記憶體。你隻需在終端中輸入下面的指令即可。

purge

4.使用open指令開啟多個相同應用

open指令可以在終端中開啟應用,使用-n可以開啟多個相同應用。比如你可以使用下面的指令開啟新Safari視窗

open -n /Applications/Safari.app/

5.不通過App Store更新OS X

想要更新系統卻不想打開臃腫的Mac App Store?下面的指令可以幫助你使用終端更新OS X。

sudo softwareupdate -i -a

6.将所有下載下傳過的檔案列出來

我們可以通過下面的指令将所有下載下傳過的内容列出來

sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV* 'select LSQuarantineDataURLString from LSQuarantineEvent' |more

7.使用chflags指令隐藏檔案或檔案夾

如果你想讓某個檔案或檔案夾影藏,那麼chflags指令可以實作。你隻需将檔案路徑填對即可,比如我們向隐藏桌面上的macx檔案夾。如果你想再次看到檔案夾,隻需将hidden改為nohidden即可。

chflags hidden ~/Desktop/macx

8.自動輸入檔案路徑

你知道從Finder中将任意檔案拖拽至終端視窗即可獲得檔案的詳細路徑麼。當你想輸入某個檔案的路徑,不妨将檔案拖拽試試。

9.建立有密碼保護的壓縮檔案

你可以通過下面的指令将桌面上的macx.txt檔案建立成有密碼保護壓縮檔案protected.zip。

zip -e protected.zip ~/Desktop/macx.txt

以下是比較詳細的快捷終端語句:

OSX 的檔案系統

OSX 采用的Unix檔案系統,所有檔案都挂在跟目錄 / 下面,是以不在要有Windows 下的盤符概念。

你在桌面上看到的硬碟都挂在 /Volumes 下。

比如接上個叫做 USBHD的移動硬碟,桌面上會顯示出一個硬碟圖示,它實際在哪裡呢?

在終端裡執行 ls /Volumes/USBHD, 看看顯示出的是不是這個移動硬碟的内容。

根目錄位置是 / 核心 Mach_kernel 就在這裡,

驅動所在位置 /Systme/Library/Extensions

使用者檔案夾位置 /User/使用者名

桌面的位置 /User/使用者名/Desktop

檔案通配符為星号 *

注意:在 Unix系統中是差別大小寫字元的,A.txt 不等于 a.txt。

根目錄标志 / 不是可有可無,cd /System 表示轉到跟目錄下的System中,而cd System 表示轉到目前目錄下的 System中

——————————————————————————————————————————————

如何進入指令行操作模式

再圖形界面下,用finder 打開 應用程式 》實用程式》終端

如果連圖形界面都進不去了(比如安錯了顯示驅動),開機時按 F8,用-s參數啟動,然後輸入指令 mount -uw /

獲得權限

為了防止誤操作破壞系統,再使用者狀态下時沒有權限作業系統重要檔案的,是以先要取得root權限

sudo -s

然後輸入密碼,輸入密碼時沒有任何回顯,連星号都沒有,隻管輸完回車就行了。

基本指令

列出檔案

ls 參數 目錄名

例: 想看看跟目錄下有什麼,

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

更改檔案權限

chmod 參數 權限 檔案

例:把驅動目錄下所有檔案設定到root讀寫,其他使用者隻讀

chmod -R 755 /System/Library/Extensions

參數R 表示遞歸,755表示各使用者的權限

更改檔案屬主

chown 參數 使用者:組 檔案

例:把驅動目錄下的所有檔案屬主改成根使用者

chown -R root:wheel /System/Library/Extensions

參數R 表示遞歸操作

修複整個系統中檔案的權限

diskutil repairpermissions /

嚴格的說這不是一個unix 指令,而是osx一個軟體,記得修改或添加的驅動就執行一次。

文本編輯

nano 檔案名

例:編輯natit Info.plist

nano /System/Library/Extensions/Natit.kext/Info.plist

編輯完成後 用 Ctrl +O 存盤,Ctrl+X 退出

另一個文本編輯軟體是 vi,操作有些古怪,熟了是非常好用的,而且在所有類Unix系統中都它,走遍天下都不怕了。

運作腳本指令

sh 腳本檔案名

例 修改驅動後所有需要的操作存成一個腳本,以後修改了驅動後隻要運作一次這個腳本就可以了,友善吧

1. 終端中運作nano /clean

2. 把下列代碼粘貼到 nano 中

kextcache -k /System/Library/Extensions/

3. Ctrl +O 存盤,Ctrl+X 退出

4. 以後隻要動了驅動,就在終端中運作一次 sh /clean

————————————————————————————————————

小技巧

用 Tab 鍵自動補齊指令

比如想到 /System 目錄中去,輸入 cd /Sy 然後按一下Tab 鍵,指令就會自動補齊成 cd /System

操作帶名字中帶有空格的檔案和目錄

空格在指令中寫成 空格, 比如要進入 My Documents,指令為 cd My Documents

檢視指令的詳細幫助

man 指令名

比如要看看 ls 指令的詳細用法,執行 man ls

典型操作流程

(假設已經制作好清理腳本,記得每次操作前 sudo -s 獲得系統權限)

假設下載下傳了一個顯示卡驅動 Natit.zip,在桌面解壓得到了一個Natit.kext,該怎麼做呢?

為了保險起見,先把所有驅動備份了再說

mkdir /User/使用者名/Desktop/backup 在桌面上建立備份檔案夾

cp -R /System/Library/Extensions/* /User/使用者名/Desktop/backup 備份驅動檔案

現在可以安心安裝了

cp -R /User/使用者名/Desktop/Natit.kext /System/Library/Extensions 把它 拷貝到系統驅動目錄位置

sh /clean 執行清理腳本,操作完成

重新開機失敗,進不去桌面了,發現不應該安這個驅動,怎麼恢複呢?

開機按F8,用 -s 參數啟動

執行 mount -uw /

rm -rf /User/使用者名/Desktop/Natit.kext 删除這個驅動

重新開機,回到原先狀态了,不死心啊,沒有特效怎麼行呢,又聽說需要修改 Natit的 Info. plist 檔案才行,好,再來

重新開機,這回對了,顯示卡特效都有了,該弄聲霸卡了,天知道會出什麼事,得把現有成果保護好。

mkdir /User/使用者名/Desktop/gooddrivers 專為有效驅動建個目錄

cp -R /System/Library/Extensions/Natit.kext /User/使用者名/Desktop/gooddrivers 備份

這個聲霸卡要求把 AppleHDA.kext 删除和編輯 AppleAzaliaAudio.kext中的Info.plist 檔案,誰知道以後會不會還用AppleHDA呢,不如暫時禁用吧。

mkdir /System/Library/Extensions/disabled 建立個禁用目錄

mv /System/Library/Extensions/AppleHDA.kext /System/Library/Extensions/disabled 移動過去

nano /System/Library/Extensions/Natit.kext/AppleAzaliaAudio.kext/Info.plist

成功了,也把修改好的驅動備份一下把

複制内容到剪貼闆代碼:

以下是unix的指令行,供參考

目錄操作

指令名

功能描述

使用舉例

mkdir

建立一個目錄

mkdir dirname

rmdir

删除一個目錄

rmdir dirname

mvdir

移動或重命名一個目錄

mvdir dir1 dir2

改變目前目錄

cd dirname

pwd

顯示目前目錄的路徑名

ls

顯示目前目錄的内容

ls -la

dircmp

比較兩個目錄的内容

dircmp dir1 dir2

檔案操作

cat

顯示或連接配接檔案

cat filename

pg

分頁格式化顯示檔案内容

pg filename

more

分屏顯示檔案内容

more filename

od

顯示非文本檔案的内容

od -c filename

cp

複制檔案或目錄

cp file1 file2

rm

删除檔案或目錄

rm filename

mv

改變檔案名或所在目錄

mv file1 file2

ln

聯接檔案

ln -s 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

paste

橫向連接配接檔案

paste file1 file2

diff

比較并顯示兩個檔案的差異

diff file1 file2

sed

非互動方式流編輯器

sed "s/red/green/g" filename

grep

在檔案中按模式查找

grep "^[a-zA-Z]" filename

awk

在檔案中查找并處理模式

awk '{print $1 $1}' filename

sort

排序或歸并檔案

sort -d -f -u file1

uniq

去掉檔案中的重複行

uniq file1 file2

comm

顯示兩有序檔案的公共和非公共行

comm file1 file2

wc

統計檔案的字元數、詞數和行數

wc filename

nl

給檔案加上行号

nl file1 >file2

安全操作

passwd

修改使用者密碼

chmod

改變檔案或目錄的權限

chmod ug+x filename

umask

定義建立檔案的權限掩碼

umask 027

chown

改變檔案或目錄的屬主

chown newowner filename

chgrp

改變檔案或目錄的所屬組

chgrp staff filename

xlock

給終端上鎖

xlock -remote

程式設計操作

make

維護可執行程式的最新版本

touch

更新檔案的通路和修改時間

touch -m 05202400 filename

dbx

指令行界面調試工具

dbx a.out

xde

圖形使用者界面調試工具

xde a.out

程序操作

ps

顯示程序目前狀态

ps u

kill

終止程序

kill -9 30142

nice

改變待執行指令的優先級

nice cc -c *.c

renice

改變已運作程序的優先級

renice +20 32768

時間操作

date

顯示系統的目前日期和時間

cal

顯示月曆

cal 8 1996

time

統計程式的執行時間

time a.out

網絡與通信操作

telnet

遠端登入

rlogin

rlogin hostname -l username

rsh

在遠端主機執行指定指令

rsh f01n03 date

ftp

在本地主機與遠端主機之間傳輸檔案

rcp

在本地主機與遠端主機 之間複制檔案

rcp file1 host1:file2

ping

給一個網絡主機發送 回應請求

mail

閱讀和發送電子郵件

write

給另一使用者發送封包

write username pts/1

mesg

允許或拒絕接收封包

mesg n

Korn Shell 指令

history

列出最近執行過的 幾條指令及編号

r

重複執行最近執行過的 某條指令

r -2

alias

給某個指令定義别名

alias del=rm -i

unalias

取消對某個别名的定義

unalias del

其它指令

uname

顯示作業系統的有關資訊

uname -a

clear

清除螢幕或視窗内容

env

顯示目前所有設定過的環境變量

who

列出目前登入的所有使用者

whoami

顯示目前正進行操作的使用者名

tty

顯示終端或僞終端的名稱

stty

顯示或重置控制鍵定義

stty -a

du

查詢磁盤使用情況

du -k subdir

df

顯示檔案系統的總空間和可用空間

df /tmp

w

顯示目前系統活動的總資訊

補充一個vi的指令: 

1. 在預設的"指令模式"下按 i 進入編輯模式 

2. 在非指令模式下按 ESC 傳回指令模式 

3. 在"指令模式"下輸入: 

:w 儲存目前檔案 

:q 退出編輯,如果檔案為儲存需要用強制模式 

:q! 強制退出不儲存修改 

:wq 組合指令, 儲存并退出 

4. 在"指令模式"下移動: 

h 左 

j 下 

k 上 

l 右 

#翻頁 

Shift + f(front) 下一頁 

Shift + b(back) 上一頁