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在图形界面下看起来是个文件,实际上是个文件夹。  

mac_终端命令_第1张图片



切换目录 

例:在根目录下,想切换到用户目录下

cd /Users/beyond/




建立新目录 
mkdir 目录名 
例:在用户目录下新建一个备份目录 backup 

mkdir /Users/beyond/backup 

mac_终端命令_第2张图片



拷贝文件 
cp -R 参数 源文件 目标文件 

例:想把用户目录下的1.txt拷贝到上面新建的backup目录中 

mac_终端命令_第3张图片


对于文件夹拷贝时,加上参数R或r,表示对目录进行递归操作,
把驱动目录下的所有文件备份到用户目录下的backup文件夹 

cp -R /System/Library/Extensions/*     /Users/beyond/backup 



删除文件 
rm 参数 文件 
例:想删除用户目录下的backup文件夹
rm -rf /Users/beyond/backup

参数-rf 表示递归和强制,千万要小心使用,

如果执行了,下面这条命令,你的系统就全没了 

rm -rf / 

它表示强制删除 根目录以下的所有内容



mac_终端命令_第4张图片





移动文件 
mv 文件 

例:想把用户目录下的1.txt移动到文档目录

mv /Users/beyond/1.txt     /User/beyond/Documents

mac_终端命令_第5张图片




权限 

读取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表示更改后的权限 

mac_终端命令_第6张图片

最前面的-表示是文件,d表示是目录



更改文件的所有者 
chown 参数 新的用户:用户组 文件 
参数R 表示递归操作 
修复整个系统中文件的权限 
diskutil repairpermissions / 

严格的说这不是一个unix 命令,而是osx一个软件,记得修改或添加的驱动就执行一次。 



文本编辑 
nano 文件名 
例:编辑用户目录下的1.txt

nano /Users/beyond/1.txt

mac_终端命令_第7张图片


^ 代表 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系统中都有它

mac_终端命令_第8张图片

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」后,会在文件中的每一行前面列出行号。

mac_终端命令_第9张图片


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 

操作带名字中带有空格的文件和目录 

mac_终端命令_第10张图片

mac_终端命令_第11张图片




查看命令的详细帮助 
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

mac_终端命令_第12张图片

time 
统计程序的执行时间 

time a.out 



网络与通信操作 


telnet  远程登录 

telnet IP 端口 或者 telnet 域名 端口

mac_终端命令_第13张图片


ping  给一个网络主机发送 回应请求 


ping www.baidu.com

mac_终端命令_第14张图片



history  列出最近执行过的 几条命令及编号 

mac_终端命令_第15张图片



alias  给某个命令定义别名 
alias cls=clear   注意不要有空格 
unalias  取消对某个别名的定义 

unalias cls






uname  显示操作系统的有关信息 

uname -a 


clear  清除屏幕或窗口内容 



env  显示当前所有设置过的环境变量 

who  列出当前登录的所有用户 


whoami  显示当前正进行操作的用户名 

mac_终端命令_第16张图片



du  查询磁盘使用情况 

du -k 子目录

du -k以1024字节显示块数

mac_终端命令_第17张图片 

df  重要~~显示文件系统的总空间和可用空间 

mac_终端命令_第18张图片

df 子文件路径

df /tmp 

显示当前系统活动的总信息

mac_终端命令_第19张图片



以下是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  

你可能感兴趣的:(Mac)