Mac終端命令

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不了,這篇文章爲了能分享給你們,我是一點一點敲的!

相關文章
相關標籤/搜索