用mac學(xué)習(xí)C語言之前,先簡單的了解一下mac終端的一些命令集贬蛙,然后就開始使用mac開始我們的C語言基礎(chǔ)學(xué)習(xí)了狐史。
想了解更多可參考該文章
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中
mac終端編寫程序
步驟:創(chuàng)建c文件,用vim編寫c程序咕别,編譯程序技健,執(zhí)行編譯文件生成.out文件1、$:touch Hello.c//創(chuàng)建一個Hello.c文件(本目錄下)
2惰拱、$:vim Hello.c//用vim編輯Hello.c文件
輸入i后進入編輯狀態(tài)雌贱,esc退出編輯狀態(tài) ? ?//打開vim后先輸入i進入編輯狀態(tài)
*************以下為vim中輸入的程序****************
int main()
{
printf(“Hello Mac ! \n”);
}
**********************************************
按esc退出編輯狀態(tài)輸入 :wq保存退出
ESC鍵//按ESC鍵退出編輯狀態(tài)
:wq ? //先輸入“:”,再輸入“w”表示保存,最后輸入“q”表示退出
3欣孤、$:gcc Hello.c//編譯Hello.c文件馋没,會生成可執(zhí)行文件“a.out”
gcc 參數(shù)(參數(shù)為需編譯的c文件)
4、$:./a.out//執(zhí)行a.out
基本命令
如何進入命令行操作模式
再圖形界面下导街,用finder 打開 應(yīng)用程序 》實用程序》終端
如果連圖形界面都進不去了(比如安錯了顯示驅(qū)動)披泪,開機時按 F8纤子,用-s參數(shù)啟動搬瑰,然后輸入命令 mount -uw /
獲得權(quán)限
為了防止誤操作破壞系統(tǒng),再用戶狀態(tài)下時沒有權(quán)限操作系統(tǒng)重要文件的控硼,所以先要取得root權(quán)限
sudo -s
然后輸入密碼泽论,輸入密碼時沒有任何回顯,連星號都沒有卡乾,只管輸完回車就行了翼悴。
—基本命令
展示目錄下的文件內(nèi)容
ls 參數(shù) 目錄名
例: 想看看跟目錄下有什么,
ls /
想看看驅(qū)動目錄下有什么幔妨,
ls /System/Library/Extensions
參數(shù) -w 顯示中文鹦赎,-l 詳細信息, -a 包括隱藏文件
進入某一指定目錄下
cd ?目錄路徑
例:想到驅(qū)動目錄下溜達一圈
cd /System/Library/Extensions
建立新目錄(目錄即我們通常理解的文件夾)
mkdir 目錄名(參數(shù)直接輸入目錄名在當前的目錄下新建目錄误堡,輸入路徑的話按照路徑建立目錄)
例:在驅(qū)動目錄下建一個備份目錄 backup
mkdir /System/Library/Extensions/backup
或者cd ?/System/Library/Extensions
mkdir 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