Mac 終端命令

OSX 的文件系統(tǒng)

OSX 采用的Unix文件系統(tǒng),所有文件都掛在跟目錄 / 下面,所以不在要有Windows 下的盤符概念。

你在桌面上看到的硬盤都掛在 /Volumes 下。

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

在終端里執(zhí)行 ls /Volumes/USBHD, 看看顯示出的是不是這個移動硬盤的內(nèi)容。

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

驅(qū)動所在位置 /Systme/Library/Extensions

用戶文件夾位置 /User/用戶名

桌面的位置 /User/用戶名/Desktop

文件通配符為星號 *

注意:在 Unix系統(tǒng)中是區(qū)別大小寫字符的,A.txt 不等于 a.txt。

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

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

如何進入命令行操作模式

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

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

獲得權限

為了防止誤操作破壞系統(tǒng),再用戶狀態(tài)下時沒有權限操作系統(tǒng)重要文件的,所以先要取得root權限

sudo -s

補充一個vi的命令:

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

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

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

:w 保存當前文件

:q 退出編輯,如果文件為保存需要用強制模式

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

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

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

h 左

j 下

k 上

l 右

#翻頁

Shift + f(front) 下一頁

Shift + b(back) 上一頁

再來一個超有用的!輸入purge,釋放所有非活躍內(nèi)存

然后輸入密碼,輸入密碼時沒有任何回顯,連星號都沒有,只管輸完回車就行了。

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

基本命令

列出文件

ls 參數(shù) 目錄名

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

ls /

想看看驅(qū)動目錄下有什么,

ls /System/Library/Extensions

參數(shù) -w 顯示中文,-l 詳細信息, -a 包括隱藏文件

轉換目錄

cd

例:想到驅(qū)動目錄下溜達一圈

cd /System/Library/Extensions

建立新目錄

mkdir 目錄名

例:在驅(qū)動目錄下建一個備份目錄 backup

mkdir /System/Library/Extensions/backup

在桌面上建一個備份目錄 backup

mkdir /User/用戶名/Desktop/backup

拷貝文件

cp 參數(shù) 源文件 目標文件

例:想把桌面的Natit.kext 拷貝到驅(qū)動目錄中

cp -R /User/用戶名/Desktop/Natit.kext /System/Library/Extensions

參數(shù)R表示對目錄進行遞歸操作,kext在圖形界面下看起來是個文件,實際上是個文件夾。

把驅(qū)動目錄下的所有文件備份到桌面backup

cp -R /System/Library/Extensions/* /User/用戶名/Desktop/backup

刪除文件

rm 參數(shù) 文件

例:想刪除驅(qū)動的緩存

rm -rf /System/Library/Extensions.kextcache

rm -rf /System/Library/Extensions.mkext

參數(shù)-rf 表示遞歸和強制,千萬要小心使用,如果執(zhí)行了 rm -rf / 你的系統(tǒng)就全沒了

移動文件

mv 文件

例:想把AppleHDA.Kext 移到桌面

mv /System/Library/Extensions/AppleHDA.kext /User/用戶名/Desktop

想把AppleHDA.Kext 移到備份目錄中

mv /System/Library/Extensions/AppleHDA.kext /System/Library/Extensions/backup

更改文件權限

chmod 參數(shù) 權限 文件

例:把驅(qū)動目錄下所有文件設定到root讀寫,其他用戶只讀

chmod -R 755 /System/Library/Extensions

參數(shù)R 表示遞歸,755表示各用戶的權限

更改文件屬主

chown 參數(shù) 用戶:組 文件

例:把驅(qū)動目錄下的所有文件屬主改成根用戶

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

參數(shù)R 表示遞歸操作

修復整個系統(tǒng)中文件的權限

diskutil repairpermissions /

嚴格的說這不是一個unix 命令,而是osx一個軟件,記得修改或添加的驅(qū)動就執(zhí)行一次。

文本編輯

nano 文件名

例:編輯natit Info.plist

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

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

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

運行腳本命令

sh 腳本文件名

例 修改驅(qū)動后所有需要的操作存成一個腳本,以后修改了驅(qū)動后只要運行一次這個腳本就可以了,方便吧

1. 終端中運行nano /clean

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

rm -rf /System/Library/Extensions.kextcache

rm -rf /System/Library/Extensions.mkext

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

chmod -R 755 /System/Library/Extensions

diskutil repairpermissions /

kextcache -k /System/Library/Extensions/

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

4. 以后只要動了驅(qū)動,就在終端中運行一次 sh /clean

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

小技巧

用 Tab 鍵自動補齊命令

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

操作帶名字中帶有空格的文件和目錄

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

查看命令的詳細幫助

man 命令名

比如要看看 ls 命令的詳細用法,執(zhí)行 man ls

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

典型操作流程

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

假設下載了一個顯卡驅(qū)動 Natit.zip,在桌面解壓得到了一個Natit.kext,該怎么做呢?

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

mkdir /User/用戶名/Desktop/backup 在桌面上建立備份文件夾

cp -R /System/Library/Extensions/* /User/用戶名/Desktop/backup 備份驅(qū)動文件

現(xiàn)在可以安心安裝了

cp -R /User/用戶名/Desktop/Natit.kext /System/Library/Extensions 把它 拷貝到系統(tǒng)驅(qū)動目錄位置

sh /clean 執(zhí)行清理腳本,操作完成

重新開機失敗,進不去桌面了,發(fā)現(xiàn)不應該安這個驅(qū)動,怎么恢復呢?

開機按F8,用 -s 參數(shù)啟動

執(zhí)行 mount -uw /

rm -rf /User/用戶名/Desktop/Natit.kext 刪除這個驅(qū)動

sh /clean 執(zhí)行清理腳本,操作完成

重啟,回到原先狀態(tài)了,不死心啊,沒有特效怎么行呢,又聽說需要修改 Natit的 Info. plist 文件才行,好,再來

cp -R /User/用戶名/Desktop/Natit.kext /System/Library/Extensions 把它 拷貝到系統(tǒng)驅(qū)動目錄位置

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

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

sh /clean 執(zhí)行清理腳本,操作完成

重啟,這回對了,顯卡特效都有了,該弄聲卡了,天知道會出什么事,得把現(xiàn)有成果保護好。

mkdir /User/用戶名/Desktop/gooddrivers 專為有效驅(qū)動建個目錄

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

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

sh /clean 執(zhí)行清理腳本,操作完成

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

復制內(nèi)容到剪貼板代碼:

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

目錄操作

命令名

功能描述

使用舉例

mkdir

創(chuàng)建一個目錄

mkdir dirname

rmdir

刪除一個目錄

rmdir dirname

mvdir

移動或重命名一個目錄

mvdir dir1 dir2

cd

改變當前目錄

cd dirname

pwd

顯示當前目錄的路徑名

pwd

ls

顯示當前目錄的內(nèi)容

ls -la

dircmp

比較兩個目錄的內(nèi)容

dircmp dir1 dir2

文件操作

命令名

功能描述

使用舉例

cat

顯示或連接文件

cat filename

pg

分頁格式化顯示文件內(nèi)容

pg filename

more

分屏顯示文件內(nèi)容

more filename

od

顯示非文本文件的內(nèi)容

od -c filename

cp

復制文件或目錄

cp file1 file2

rm

刪除文件或目錄

rm filename

mv

改變文件名或所在目錄

mv file1 file2

ln

聯(lián)接文件

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

統(tǒng)計文件的字符數(shù)、詞數(shù)和行數(shù)

wc filename

nl

給文件加上行號

nl file1 >file2

安全操作

命令名

功能描述

使用舉例

passwd

修改用戶密碼

passwd

chmod

改變文件或目錄的權限

chmod ug+x filename

umask

定義創(chuàng)建文件的權限掩碼

umask 027

chown

改變文件或目錄的屬主

chown newowner filename

chgrp

改變文件或目錄的所屬組

chgrp staff filename

xlock

給終端上鎖

xlock -remote

編程操作

命令名

功能描述

使用舉例

make

維護可執(zhí)行程序的最新版本

make

touch

更新文件的訪問和修改時間

touch -m 05202400 filename

dbx

命令行界面調(diào)試工具

dbx a.out

xde

圖形用戶界面調(diào)試工具

xde a.out

進程操作

命令名

功能描述

使用舉例

ps

顯示進程當前狀態(tài)

ps u

kill

終止進程

kill -9 30142

nice

改變待執(zhí)行命令的優(yōu)先級

nice cc -c *.c

renice

改變已運行進程的優(yōu)先級

renice +20 32768

時間操作

命令名

功能描述

使用舉例

date

顯示系統(tǒng)的當前日期和時間

date

cal

顯示日歷

cal 8 1996

time

統(tǒng)計程序的執(zhí)行時間

time a.out

網(wǎng)絡與通信操作

命令名

功能描述

使用舉例

telnet

遠程登錄

telnet hpc.sp.net.edu.cn

rlogin

遠程登錄

rlogin hostname -l username

rsh

在遠程主機執(zhí)行指定命令

rsh f01n03 date

ftp

在本地主機與遠程主機之間傳輸文件

ftp ftp.sp.net.edu.cn

rcp

在本地主機與遠程主機 之間復制文件

rcp file1 host1:file2

ping

給一個網(wǎng)絡主機發(fā)送 回應請求

ping hpc.sp.net.edu.cn

mail

閱讀和發(fā)送電子郵件

mail

write

給另一用戶發(fā)送報文

write username pts/1

mesg

允許或拒絕接收報文

mesg n

Korn Shell 命令

命令名

功能描述

使用舉例

history

列出最近執(zhí)行過的 幾條命令及編號

history

r

重復執(zhí)行最近執(zhí)行過的 某條命令

r -2

alias

給某個命令定義別名

alias del=rm -i

unalias

取消對某個別名的定義

unalias del

其它命令

命令名

功能描述

使用舉例

uname

顯示操作系統(tǒng)的有關信息

uname -a

clear

清除屏幕或窗口內(nèi)容

clear

env

顯示當前所有設置過的環(huán)境變量

env

who

列出當前登錄的所有用戶

who

whoami

顯示當前正進行操作的用戶名

whoami

tty

顯示終端或偽終端的名稱

tty

stty

顯示或重置控制鍵定義

stty -a

du

查詢磁盤使用情況

du -k subdir

df

顯示文件系統(tǒng)的總空間和可用空間

df /tmp

w

顯示當前系統(tǒng)活動的總信息

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容

  • OSX 的文件系統(tǒng) OSX 采用的Unix文件系統(tǒng),所有文件都掛在跟目錄 / 下面,所以不在要有Windows 下...
    stefanie_lucky閱讀 2,952評論 0 2
  • OSX 的文件系統(tǒng) OSX 采用的Unix文件系統(tǒng),所有文件都掛在跟目錄 / 下面,所以不在要有Windows 下...
    Demonboy閱讀 425評論 0 0
  • 【轉自http://www.douban.com/note/75797151/】 OSX 的文件系統(tǒng) OSX 采用...
    流刃若火泣閱讀 1,100評論 0 2
  • 一、查詢framework的架構信息 輸入指令 lipo -info xxx.framework/xxxxFram...
    々莫等閑々閱讀 632評論 0 1
  • 前兩天看到朋友的微信書,覺得既有趣又漂亮,還很有紀念意義。自己便也開始整理微信,卻沒想到我這些年竟也發(fā)了不少朋友圈...
    光陰悠然閱讀 798評論 25 16