Mac OS 采用Unix的文件系统
根目录位置是 /在图形界面下,用finder 打开 应用程序 >实用程序>终端
或者打开Spotlight 输入terminal或【终端】
列出目录下文件及文件夹
ls /System/Library/Extensions参数 -w 显示中文,-l 详细信息, -a 包括隐藏文件
.kext在图形界面下看起来是个文件,实际上是个文件夹。
切换目录
例:在根目录下,想切换到用户目录下cd /Users/beyond/
mkdir /Users/beyond/backup
例:想把用户目录下的1.txt拷贝到上面新建的backup目录中
cp -R /System/Library/Extensions/* /Users/beyond/backup
参数-rf 表示递归和强制,千万要小心使用,
如果执行了,下面这条命令,你的系统就全没了
rm -rf /
它表示强制删除 根目录以下的所有内容
例:想把用户目录下的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– –,其他组的用户也只有读取权限。
例:把上面的用户目录下的644权限(rw-r--r--)的1.txt ,
更改权限为664(rw-rw-r--): 同组用户可以读也可以写,而其他组用户都只读
chmod -R 664 /Users/beyond/1.txt参数R 表示递归,664表示更改后的权限
最前面的-表示是文件,d表示是目录
严格的说这不是一个unix 命令,而是osx一个软件,记得修改或添加的驱动就执行一次。
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,再回车,就会跳到文章的第15行。
15.3 、 查找字符
:「/关键字」
先输入冒号,再按「/」键,再输入您想寻找的字符,
如果第一次找的关键字不是想要的,可以一直按「n」,
就会往后寻找到想要的关键字为止。
:「?关键字」
先输入冒号,再按「?」键,再输入您想寻找的字符,
如果第一次找的关键字不是想要的,可以一直按「n」
就会往前寻找到您要的关键字为止。
15.4 、 保存文件
:「w」文件名
在冒号后输入字母「w」和文件名,就可以将文件保存起来。
:「q!」
在冒号后输入字母「q!」表示,退出vi编辑器,且不保存
冒号后,按「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目录)
操作带名字中带有空格的文件和目录
renice +20 32768
date 显示系统的当前日期和时间
cal 显示日历
cal 9 2014
timetime a.out
网络与通信操作
telnet IP 端口 或者 telnet 域名 端口
ping 给一个网络主机发送 回应请求
ping www.baidu.com
history 列出最近执行过的 几条命令及编号
unalias cls
uname -a
clear 清除屏幕或窗口内容
who 列出当前登录的所有用户
du -k 子目录
du -k以1024字节显示块数
df 重要~~显示文件系统的总空间和可用空间
df 子文件路径
df /tmpw 显示当前系统活动的总信息
以下是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
严格的说这不是一个unix 命令,而是osx一个软件,记得修改或添加的驱动就执行一次。
获得权限
为了防止误操作破坏系统,在用户状态下时没有权限操作系统重要文件的,所以先要取得root权限
sudo -s
然后输入密码,输入密码时没有任何回显,连星号都没有,只管输完回车就行了。 获得权限
为了防止误操作破坏系统,在用户状态下时没有权限操作系统重要文件的,所以先要取得root权限
sudo -s
然后输入密码,输入密码时没有任何回显,连星号都没有,只管输完回车就行了。
mail 阅读和发送电子邮件
write 给另一用户发送报文
write username pts/1
mesg 允许或拒绝接收报文
mesg n
rlogin 远程登录
rlogin hostname -l username
rsh 在远程主机执行指定命令
ftp 在本地主机与远程主机之间传输文件
rcp 在本地主机与远程主机 之间复制文件