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 表示轉(zhuǎn)到跟目錄下的System中挣跋,而cd System 表示轉(zhuǎn)到當前目錄下的 System中
——————————————————————————————————————————————
如何進入命令行操作模式
再圖形界面下三圆,用finder 打開 應(yīng)用程序 》實用程序》終端
如果連圖形界面都進不去了(比如安錯了顯示驅(qū)動),開機時按 F8避咆,用-s參數(shù)啟動舟肉,然后輸入命令 mount -uw /
獲得權(quán)限
為了防止誤操作破壞系統(tǒng),再用戶狀態(tài)下時沒有權(quán)限操作系統(tǒng)重要文件的查库,所以先要取得root權(quán)限
sudo -s
然后輸入密碼路媚,輸入密碼時沒有任何回顯,連星號都沒有樊销,只管輸完回車就行了磷籍。
——————————————————————————————————————————————
基本命令
列出文件
ls 參數(shù) 目錄名
例: 想看看跟目錄下有什么,
ls /
想看看驅(qū)動目錄下有什么现柠,
ls /System/Library/Extensions
參數(shù) -w 顯示中文院领,-l 詳細信息, -a 包括隱藏文件
轉(zhuǎn)換目錄
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
更改文件權(quán)限
chmod 參數(shù) 權(quán)限 文件
例:把驅(qū)動目錄下所有文件設(shè)定到root讀寫,其他用戶只讀
chmod -R 755 /System/Library/Extensions
參數(shù)R 表示遞歸湾笛,755表示各用戶的權(quán)限
更改文件屬主
chown 參數(shù) 用戶:組 文件
例:把驅(qū)動目錄下的所有文件屬主改成根用戶
chown -R root:wheel /System/Library/Extensions
參數(shù)R 表示遞歸操作
修復(fù)整個系統(tǒng)中文件的權(quán)限
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
————————————————————————————————————
典型操作流程
(假設(shè)已經(jīng)制作好清理腳本膘掰,記得每次操作前 sudo -s 獲得系統(tǒng)權(quán)限)
假設(shè)下載了一個顯卡驅(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)不應(yīng)該安這個驅(qū)動,怎么恢復(fù)呢惠豺?
開機按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ū)動備份一下把
復(fù)制內(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
復(fù)制文件或目錄
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
去掉文件中的重復(fù)行
uniq file1 file2
comm
顯示兩有序文件的公共和非公共行
comm file1 file2
wc
統(tǒng)計文件的字符數(shù)、詞數(shù)和行數(shù)
wc filename
nl
給文件加上行號
nl file1 >file2
安全操作
命令名
功能描述
使用舉例
passwd
修改用戶密碼
passwd
chmod
改變文件或目錄的權(quán)限
chmod ug+x filename
umask
定義創(chuàng)建文件的權(quán)限掩碼
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)絡(luò)與通信操作
命令名
功能描述
使用舉例
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
在本地主機與遠程主機 之間復(fù)制文件
rcp file1 host1:file2
ping
給一個網(wǎng)絡(luò)主機發(fā)送 回應(yīng)請求
ping hpc.sp.net.edu.cn
閱讀和發(fā)送電子郵件
write
給另一用戶發(fā)送報文
write username pts/1
mesg
允許或拒絕接收報文
mesg n
Korn Shell 命令
命令名
功能描述
使用舉例
history
列出最近執(zhí)行過的 幾條命令及編號
history
r
重復(fù)執(zhí)行最近執(zhí)行過的 某條命令
r -2
alias
給某個命令定義別名
alias del=rm -i
unalias
取消對某個別名的定義
unalias del
其它命令
命令名
功能描述
使用舉例
uname
顯示操作系統(tǒng)的有關(guān)信息
uname -a
clear
清除屏幕或窗口內(nèi)容
clear
env
顯示當前所有設(shè)置過的環(huán)境變量
env
who
列出當前登錄的所有用戶
who
whoami
顯示當前正進行操作的用戶名
whoami
tty
顯示終端或偽終端的名稱
tty
stty
顯示或重置控制鍵定義
stty -a
du
查詢磁盤使用情況
du -k subdir
df
顯示文件系統(tǒng)的總空間和可用空間
df /tmp
w
顯示當前系統(tǒng)活動的總信息