Mac-terminal常用命令
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中。
*** 小技巧
用 Tab 鍵自動補齊命令 比如想到 /System 目錄中去,輸入 cd /Sy 然後按一下Tab 鍵,命令就會自動補齊成 cd /System
常用操作
Command+拖拽=剪切 Option+拖拽=復制 Command+Option+拖拽=快捷方式
基本命令
目錄操作
獲得權限 為了防止誤操作破壞系統,再用戶狀態下時沒有權限操作系統重要文件的,所以先要取得root權限 sudo -s
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 退出
運行腳本命令 sh 腳本文件名
mvdir 移動或重命名一個目錄 mvdir dir1 dir2
pwd 顯示當前目錄的路徑名
ls 顯示當前目錄的內容 ls -la
man 命令名 比如要看看 ls 命令的詳細用法,執行 man ls
sed 非交互方式流編輯器 sed "s/red/green/g" filename
grep 在文件中按模式查找 grep "^[a-zA-Z]" filename
awk 在文件中查找並處理模式 awk ‘{print $1 $1}‘ filename
passwd 修改用戶密碼 passwd
umask 定義創建文件的權限掩碼 umask 027
chgrp 改變文件或目錄的所屬組 chgrp staff filename
xlock 給終端上鎖 xlock -remote
make 維護可執行程序的最新版本 make
touch 更新文件的訪問和修改時間 touch -m 05202400 filename
dbx 命令行界面調試工具 dbx a.out
xde 圖形用戶界面調試工具 xde a.out
文件操作
cat 顯示或連接文件 cat filename
od 顯示非文本文件的內容 od -c filename
cp 復制文件或目錄 cp file1 file2
rm 刪除文件或目錄 rm filename
mv 改變文件名或所在目錄 mv file1 file2
find 使用匹配表達式查找文件 find . -name "*.c" -print
file 顯示文件類型 file filename
pg 分頁格式化顯示文件內容 pg filename
more 分屏顯示文件內容 more filename
選擇操作
head 顯示文件的最初幾行 head -20 filename
dircmp 比較兩個目錄的內容 dircmp dir1 dir2
tail 顯示文件的最後幾行 tail -15 filename
cut 顯示文件每行中的某些域 cut -f1,7 -d: /etc/passwd
colrm 從標準輸入中刪除若幹列 colrm 8 20 file2
` paste 橫向連接文件 paste file1 file2
ln 聯接文件 ln -s file1 file2
diff
比較並顯示兩個文件的差異
diff file1 file2
sort
排序或歸並文件
sort -d -f -u file1
`
uniq
去掉文件中的重復行
uniq file1 file2
comm
顯示兩有序文件的公共和非公共行
comm file1 file2
wc
統計文件的字符數、詞數和行數
wc filename
nl
給文件加上行號
nl file1 >file2
進程操作
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
在本地主機與遠程主機之間傳輸文件
ftpftp.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
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 /tmp
顯示文件系統的總空間和可用空間
w
顯示當前系統活動的總信息
Mac-terminal常用命令