mac_終端命令
Mac OS 採用Unix的檔案系統
根目錄位置是 /
驅動所在位置 /System/Library/Extensions
使用者檔案夾位置 /Users/使用者名稱
案頭的位置 /Users/使用者名稱/Desktop
檔案萬用字元為星號 *
注意:在 Unix系統中是區別大小寫字元的,A.txt 不等於 a.txt。
如何進入命令列操作模式
在圖形介面下,用finder 開啟 應用程式 >公用程式>終端
或者開啟Spotlight 輸入terminal或【終端】
列出目錄下檔案及檔案夾
ls /System/Library/Extensions
參數 -w 顯示中文,-l 詳細資料, -a 包括隱藏檔案
.kext在圖形介面下看起來是個檔案,實際上是個檔案夾。
切換目錄
例:在根目錄下,想切換到使用者目錄下
cd /Users/beyond/
建立新目錄
mkdir 目錄名
例:在使用者目錄下建立一個備份目錄 backup
mkdir /Users/beyond/backup
拷貝檔案
cp -R 參數 源檔案 目標檔案
例:想把使用者目錄下的1.txt拷貝到上面建立的backup目錄中
對於檔案夾拷貝時,加上參數R或r,表示對目錄進行遞迴操作,
把驅動目錄下的所有檔案備份到使用者目錄下的backup檔案夾
cp -R /System/Library/Extensions/* /Users/beyond/backup
刪除檔案
rm 參數 檔案
例:想刪除使用者目錄下的backup檔案夾
rm -rf /Users/beyond/backup
參數-rf 表示遞迴和強制,千萬要小心使用,
如果執行了,下面這條命令,你的系統就全沒了
rm -rf /
它表示強制移除 根目錄以下的所有內容
移動檔案
mv 檔案
例:想把使用者目錄下的1.txt移動到文檔目錄
mv /Users/beyond/1.txt /User/beyond/Documents
許可權
讀取read 寫入write 執行許可權excute
例如:777許可權 rwx rwx rwx
三個數字,分成3部分,
第1個數字,表示所有者的許可權,
第2個數字,表示同組使用者權限,即使用者所在的組的其他成員
第3個數字,表示其他組的使用者的許可權
r代表讀取許可權,值等於4,
w代表寫入許可權,值等於2,
x代表執行許可權,值等於1。
因此,7表示可讀,可寫,可執行
0表示不可讀,不可寫,不可執行
比如上面的777,
第一位7等於4+2+1,所以就是rwx,所有者有讀取、寫入、執行的許可權,
第二位7也是4+2+1,rwx,同組使用者具有讀取、寫入、執行許可權,
第三位7,代表其他使用者有讀取、寫入、執行的許可權。
再比如744,
第一位7等於4+2+1,rwx,所有者具有讀取、寫入、執行許可權,
第二位4等於4+0+0,r – –,同組使用者只有讀取許可權,
第三位4,也是r– –,其他組的使用者也只有讀取許可權。
變更檔許可權
chmod 參數 許可權 檔案
例:把上面的使用者目錄下的644許可權(rw-r--r--)的1.txt ,
更改許可權為664(rw-rw-r--): 同組使用者可以讀也可以寫,而其他組使用者都唯讀
chmod -R 664 /Users/beyond/1.txt
參數R 表示遞迴,664表示更改後的許可權
最前面的-表示是檔案,d表示是目錄
變更檔的所有者
chown 參數 新的使用者:使用者組 檔案
參數R 表示遞迴操作
修複整個系統中檔案的許可權
diskutil repairpermissions /
嚴格的說這不是一個unix 命令,而是osx一個軟體,記得修改或添加的驅動就執行一次。
文本編輯
nano 檔案名稱
例:編輯使用者目錄下的1.txt
nano /Users/beyond/1.txt
^ 代表 Ctrl 鍵
^X 退出 nano
^O 儲存檔案
^C 顯示光線標位置,在第幾行,第幾列,第幾個字元處
^R 插入磁碟上其他的檔案的內容至游標位置
^W 尋找字串
^Y 跳至前一屏
^V 跳至後一屏
^K 剪下游標所在行的文本, 並儲存到剪貼簿,或剪下選中內容
^U 將剪貼簿內容粘貼至當前行
^P 跳至前一行
^N 跳至後一行
^A 跳至當前行首
^E 跳至當前行尾
^F 向前跳一字元
^B 向後跳一字元
^M 插入新行於遊標位置
^D 刪除游標之下的一個字元
^H 刪除游標左側的一個字元
編輯完成後 用 Ctrl +O 存檔,Ctrl+X 退出
另一個文本編輯軟體是 vi編輯器,所有類Unix系統中都有它
1、vi的基本概念
基本上vi分為三種狀態,分別是命令模式、插入模式、末行模式(last line mode)
2、 插入模式
只有在【插入模式】中,才可以進行文字輸入,可以按「ESC」鍵可回到命令模式。
3、 末行模式(last line mode)
在命令模式下,輸入:冒號,可以進入末行模式,
此時,可以通過命令,將檔案儲存或退出vi,
也可以設定編輯環境,如尋找字串、列出行號……等。
4、vi的基本操作
5、 進入vi
在終端輸入vi或vi 檔案名稱,就進入vi全螢幕編輯畫面
進入vi之後,首先處於「命令列模式」,按下i鍵,可進入到「插入模式」
6、 切換至插入模式
在「命令列模式」下按一下字母「i」就可以進入「插入模式」,這時才可開始輸入文字。
編輯好內容後,想要儲存的話,要先按一下「ESC」鍵,回到「命令列模式」先
7、 退出vi及儲存檔案
當處於【插入模式】時,要先按「ESC」鍵,回到「命令列模式」
然後,在「命令列模式」下,按一下「:」冒號鍵進入「Last line mode」
此時,才可以執行相應的儲存,退出等命令
: w 2.txt 將剛才編寫的文本,以2.txt名稱 寫入磁碟,即儲存到目前的目錄下
: wq (寫到磁碟並退出vi)
: q! (強制退出vi,並且不存檔)
8、命令列模式 下的命令,即功能鍵
按「i」切換進入插入模式,是從游標的前一個位置,開始輸入文字;
按「a」進入插入模式,是從目前游標的下一個位置,開始輸入文字;
按「o」進入插入模式後,是插入新的一行,並從新的一行的行首開始輸入文字。
9、 從插入模式回到(切換)為命令列模式
按「ESC」鍵
10、 在命令模式下,移動游標
vi可以直接用鍵盤上的游標來上下左右移動,
vi也可以用小寫英文字母「h」、「j」、「k」、「l」
分別控制游標左、下、上、右移一格。
按「ctrl」+「b」:螢幕往“後”移動一頁,即翻到上頁pageUp。
按「ctrl」+「f」:螢幕往“前”移動一頁,即翻到上頁pageDown。
按「ctrl」+「u」:螢幕往“上”移動半頁。
按「ctrl」+「d」:螢幕往“下”移動半頁。
按數字「0」:游標移到所在行的開頭。
按「g」:移動到文章的最前面。
按「G」:移動到文章的最後面。
按「$」:移動到游標所在行的“行尾”。
按「^」:移動到游標所在行的“行首”
按「w」:游標跳到下個單詞的開頭
按「e」:游標跳到下個單詞的結尾
按「b」:游標回到前個單詞的開頭
11、 刪除文字
「x」:每按一次,刪除游標所在位置的“後面”一個字元。
「X」:大寫的X,每按一次,刪除游標所在位置的“前面”一個字元。
「dd」:刪除游標所在行。
「#dd」:從游標所在行開始刪除#行,#代表任何數字
12、 複製和粘貼
「yw」:將游標所在之處到字尾的字元複製到緩衝區中。
「#yw」:複製#個字到緩衝區
「yy」:複製游標所在行到緩衝區。
「#yy」:例如,「6yy」表示拷貝從游標所在的該行“往下數”6行文字。
「p」:將緩衝區內的字元粘貼到游標所在位置。注意:所有與“y”有關的複製命令都
必須與“p”配合才能完成複製與粘貼功能。
13、 撤銷上一次操作
「u」:如果誤執行一個命令,可以馬上按下「u」,撤銷上一個操作。按多次“u”
可以執行多次回複。
14、 跳至指定的行
「ctrl」+「g」列出游標所在行的行號。
「#G」:例如,「4G」,表示移動游標至文章的第4行行首。
15、Last line mode下命令簡介
在使用「last line mode」之前,請記住先按「ESC」鍵確定您已經處於「command m
ode」下後,再按「:」冒號即可進入「last line mode」。
15.1 、 列出行號
「set nu」:輸入「set nu」後,會在檔案中的每一行前面列出行號。
15.2、 跳到檔案中的某一行
:「#」
「#」號表示一個數字,在冒號後輸入一個數字,再按斷行符號鍵就會跳到該行了,
如輸入數字15,再斷行符號,就會跳到文章的第15行。
15.3 、 尋找字元
:「/關鍵字」
先輸入冒號,再按「/」鍵,再輸入您想尋找的字元,
如果第一次找的關鍵字不是想要的,可以一直按「n」,
就會往後尋找到想要的關鍵字為止。
:「?關鍵字」
先輸入冒號,再按「?」鍵,再輸入您想尋找的字元,
如果第一次找的關鍵字不是想要的,可以一直按「n」
就會往前尋找到您要的關鍵字為止。
15.4 、 儲存檔案
:「w」檔案名稱
在冒號後輸入字母「w」和檔案名稱,就可以將檔案儲存起來。
:「q!」
在冒號後輸入字母「q!」表示,退出vi編輯器,且不儲存
15.5、 離開vi
:「q」
冒號後,按「q」就是退出,
如果無法離開vi,可以在「q」後跟一個「!」強制離開vi。
:「qw」
一般建議離開時,搭配「w」一起使用,這樣在退出的時候還可以儲存檔案(寫到磁碟)。
16、vi命令列表,在命令模式下的一些鍵的功能:
h
左移游標一個字元
l
右移游標一個字元
k
游標上移一行
j
游標下移一行
^
游標移動至行首
數字“0”,游標移至文章的開頭
G
游標移至文章的最後
$
游標移動至行尾
Ctrl+f
向前翻屏
Ctrl+b
向後翻屏
Ctrl+d
向前翻半屏
Ctrl+u
向後翻半屏
i
在游標位置前插入字元
a
在游標所在位置的後一個字元開始增加
o
插入新的一行,從行首開始輸入
ESC
從輸入狀態退至命令狀態
x
刪除游標後面的字元
#x
刪除游標後的#個字元
X
(大寫X),刪除游標前面的字元
#X
刪除游標前面的#個字元
dd
刪除游標所在的行
#dd
刪除從游標所在行數的#行
yw
複製游標所在位置的一個字
#yw
複製游標所在位置的#個字
yy
複製游標所在位置的一行
#yy
複製從游標所在行數的#行
p
粘貼
u
取消操作
17、下表列出 末行模式下的一些指令,每個指令前要先輸入冒號
:w filename
儲存正在編輯的檔案為filename
:wq filename
儲存正在編輯的檔案為filename,並退出vi
:q!
放棄所有修改,退出vi
:set nu
顯示行號
:/或?
尋找,在/後輸入要尋找的內容
n
與/或?一起使用,如果尋找的內容不是想要找的關鍵字,按n或向後(與/聯用)或向前(
與?聯用)繼續尋找,直到找到為止。
在終端中,執行指令碼命令
sh 指令檔名
例如:
將下載好的cocos2d壓縮包進行解壓後,
進入cocos2d主目錄,複製路徑到終端
執行./install.sh開始安裝(實質是拷貝至XCode目錄)
啟用 Tab 鍵自動補齊命令
比如想到 /System 目錄中去,輸入 cd /Sy 然後按一下Tab 鍵,命令就會自動補齊成 cd /System
操作帶名字中帶有空格的檔案和目錄
查看命令的詳細協助
man 命令名
比如要看看 ls 命令的詳細用法,執行 man ls
ps
顯示進程目前狀態
ps u
kill
終止進程
kill -9 30142
nice
改變待執行命令的優先順序
nice cc -c *.c
renice
改變已運行進程的優先順序
renice +20 32768
時間操作
date 顯示系統的當前日期和時間
cal 顯示日曆
cal 9 2014
time
統計程式的執行時間
time a.out
網路與通訊操作
telnet 遠程登入
telnet IP 連接埠 或者 telnet 網域名稱 連接埠
ping 給一個網路主機發送 回應請求
ping www.baidu.com
history 列出最近執行過的 幾條命令及編號
alias 給某個命令定義別名
alias cls=clear 注意不要有空格
unalias 取消對某個別名的定義
unalias cls
uname 顯示作業系統的有關資訊
uname -a
clear 清除螢幕或視窗內容
env 顯示當前所有設定過的環境變數
who 列出當前登入的所有使用者
whoami 顯示當前正進行操作的使用者名稱
du 查詢磁碟使用方式
du -k 子目錄
du -k以1024位元組顯示塊數
df 重要~~顯示檔案系統的總空間和可用空間
df 子檔案路徑
df /tmp
w 顯示當前系統活動的總資訊
以下是unix的命令列,供參考
mkdir 建立一個目錄
mkdir dirname
rmdir 刪除一個目錄
rmdir dirname
mvdir 移動或重新命名一個目錄
mvdir dir1 dir2
cd 改變目前的目錄
cd dirname
pwd 顯示目前的目錄的路徑名
pwd
ls 顯示目前的目錄的內容
ls -la
dircmp 比較兩個目錄的內容
dircmp dir1 dir2
cp 複製檔案或目錄
cp file1 file2
rm 刪除檔案或目錄
rm filename
mv 改變檔案名稱或所在目錄
mv file1 file2
diff 比較並顯示兩個檔案的差異
diff file1 file2
grep 在檔案中按模式尋找
grep "^[a-zA-Z]" filename
wc 統計檔案的字元數、詞數和行數
wc filename
nl 給檔案加上行號
nl file1 >file2 加上行號後,寫到檔案2內
head 顯示檔案的最初幾行
head -20 filename
tail 顯示檔案的最後幾行
tail -15 filename
cat 顯示或串連檔案
cat filename
more 分屏顯示檔案內容
more filename
pg 分頁格式化顯示檔案內容
pg filename
od 顯示非文字檔的內容
od -c filename
ln 聯結檔案
ln -s file1 file2
find 使用匹配運算式尋找檔案
find . -name "*.c" -print
file 顯示檔案類型
file filename
cut 顯示檔案每行中的某些域
cut -f1,7 -d: /etc/passwd
colrm 從標準輸入中刪除若干列
colrm 8 20 file2
paste 橫向串連檔案
paste file1 file2
sed 非互動方式流編輯器
sed "s/red/green/g" filename
awk
在檔案中尋找並處理模式
awk '{print $1 $1}' filename
sort 排序或歸併檔案
sort -d -f -u file1
uniq 去掉檔案中的重複行
uniq file1 file2
comm 顯示兩有序檔案的公用和非公用行
comm 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
tty 顯示終端或偽終端的名稱
stty 顯示或重設修飾鍵定義
stty -a
變更檔的所有者
chown 參數 新的使用者:使用者組 檔案
參數R 表示遞迴操作
修複整個系統中檔案的許可權
diskutil repairpermissions /
嚴格的說這不是一個unix 命令,而是osx一個軟體,記得修改或添加的驅動就執行一次。
獲得許可權
為了防止誤操作破壞系統,在使用者狀態下時沒有許可權作業系統重要檔案的,所以先要取得root許可權
sudo -s
然後輸入密碼,輸入密碼時沒有任何回顯,連星號都沒有,只管輸完斷行符號就行了。 獲得許可權
為了防止誤操作破壞系統,在使用者狀態下時沒有許可權作業系統重要檔案的,所以先要取得root許可權
sudo -s
然後輸入密碼,輸入密碼時沒有任何回顯,連星號都沒有,只管輸完斷行符號就行了。
mail 閱讀和寄送電子郵件
write 給另一使用者發送報文
write username pts/1
mesg 允許或拒絕接收報文
mesg n
rlogin 遠程登入
rlogin hostname -l username
rsh 在遠程主機執行指定命令
rsh f01n03 date
ftp 在本地主機與遠程主機之間傳輸檔案
ftp ftp.sp.net.edu.cn
rcp 在本地主機與遠程主機 之間複製檔案
rcp file1 host1:file2