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 中
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
————————————————————————————————————
典型操做流程
(假設已經制做好清理腳本,記得每次操做前 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 刪除這個驅動
sh /clean 執行清理腳本,操做完成
重啓,回到原先狀態了,不死心啊,沒有特效怎麼行呢,又據說須要修改 Natit的 Info. plist 文件才行,好,再來
cp -R /User/用戶名/Desktop/Natit.kext /System/Library/Extensions 把它 拷貝到系統驅動目錄位置
nano /System/Library/Extensions/Natit.kext/Info.plist
編輯完成後 用 Ctrl +O 存盤,Ctrl+X 退出
sh /clean 執行清理腳本,操做完成
重啓,這回對了,顯卡特效都有了,該弄聲卡了,天知道會出什麼事,得把現有成果保護好。
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
編輯完成後 用 Ctrl +O 存盤,Ctrl+X 退出
sh /clean 執行清理腳本,操做完成
成功了,也把修改好的驅動備份一下把
複製內容到剪貼板代碼:
如下是unix的命令行,供參考
目錄操做
命令名 功能描述 使用舉例 編程
mkdir 建立一個目錄 mkdir dirname 緩存
rmdir 刪除一個目錄 rmdir dirname 安全
mvdir 移動或重命名一個目錄 mvdir dir1 dir2 網絡
cd 改變當前目錄 cd dirname 編輯器
pwd 顯示當前目錄的路徑名 pwd 工具
ls 顯示當前目錄的內容 ls -la 操作系統
dircmp 比較兩個目錄的內容 dircmp dir1 dir2 .net
文件操做 命令行
命令名 功能描述 使用舉例 unix
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 修改用戶密碼 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
nice 改變待執行命令的優先級 nice cc -c *.c
renice 改變已運行進程的優先級 renice +20 32768
時間操做
date 顯示系統的當前日期和時間 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
r 重複執行最近執行過的 某條命令 r -2
alias 給某個命令定義別名 alias del=rm -i
unalias 取消對某個別名的定義 unalias del
其它命令
uname 顯示操做系統的有關信息 uname -a
clear 清除屏幕或窗口內容 clear
env 顯示當前全部設置過的環境變量 env
who 列出當前登陸的全部用戶 who
whoami 顯示當前正進行操做的用戶名 whoami
tty 顯示終端或僞終端的名稱 tty
stty 顯示或重置控制鍵定義 stty -a
du 查詢磁盤使用狀況 du -k subdir
df 顯示文件系統的總空間和可用空間 df /tmp
w 顯示當前系統活動的總信息
我想說整理這篇文章真的很不容易,擦,討厭設置格式不兼容的人 ,知識是無你個人,害得我copy都copy不了,這篇文章爲了能分享給你們,我是一點一點敲的!