OSX 的文件系統
OSX 采用的Unix文件系統,所有文件都掛在跟目錄 / 下面,所以不在要有Windows 下的盤符概念。
你在桌面上看到的硬盤都掛在 /Volumes 下。
在終端里執行 ls /Volumes/, 看看顯示出的是不是這個移動硬盤的內容。
根目錄位置是 / 核心 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 中
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. 以后只要動了驅動,就在終端中運行一次 sh /clean
————————————————————————————————————
小技巧
用 Tab 鍵自動補齊命令
比如想到 /System 目錄中去,輸入 cd /Sy 然后按一下Tab 鍵,命令就會自動補齊成 cd /System
操作帶名字中帶有空格的文件和目錄
空格在命令中寫成 空格, 比如要進入 My Documents,命令為 cd My Documents
查看命令的詳細幫助
man 命令名
比如要看看 ls 命令的詳細用法,執行 man ls
————————————————————————————————————
以下是unix的命令行,供參考
mkdir 創建一個目錄
mkdir dirname
rm dir 刪除一個目錄
rm dirname
mv dir 移動或重命名一個目錄
mv dir1 dir2
cd 改變當前目錄
cd dirname
pwd 顯示當前目錄的路徑名
pwd
ls 顯示當前目錄的內容
ls -la
dircmp 比較兩個目錄的內容
dircmp dir1 dir2
文件操作
cat 顯示或連接文件
cat 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
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 修改用戶密碼
passwd
chmod 改變文件或目錄的權限
chmod ug+x filename
umask 定義創建文件的權限掩碼
umask 027
chown 改變文件或目錄的屬主
chown newowner filename
chgrp 改變文件或目錄的所屬組
chgrp staff filename
xlock 給終端上鎖
xlock -remote
編程操作
make 維護可執行程序的最新版本
make
touch 更新文件的訪問和修改時間
touch -m 05202400 filename
dbx 命令行界面調試工具
dbx a.out
xde 圖形用戶界面調試工具
xde a.out
進程操作
ps 顯示進程當前狀態
ps u
kill 終止進程
kill -9 30142
時間操作
顯示系統的當前日期和時間
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 在本地主機與遠程主機之間傳輸文件
ftp ftp.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 -2
r 重復執行最近執行過的 某條命令
r -2
alias 給某個命令定義別名
alias del=rm -i
unalias 取消對某個別名的定義
unalias del
其它命令
顯示操作系統的有關信息
uname -a
清除屏幕或窗口內容
clear
顯示當前所有設置過的環境變量
env
列出當前登錄的所有用戶
who
顯示當前正進行操作的用戶名
who am i
顯示終端或偽終端的名稱
tty
顯示或重置控制鍵定義
stty -a
查詢磁盤使用情況
du -k subdir
顯示文件系統的總空間和可用空間
df /tmp
w
顯示當前系統活動的總信息