1.了解什么是绝对路径和相对路径
来自百度经验中的一段解释:
1> 什么是绝对路径:
大家都知道,在我们平时使用计算机时要找到需要的文件就必须知道文件的位置,而表示文件的位置的方式就是路径,例如只要看到这个路径:c:/website/img/photo.jpg我们就知道photo.jpg文件是在c盘的website目录下的img子目录中。这样完整的描述文件位置的路径就是绝对路径。我们不需要知道其他任何信息就可以根据绝对路径判断出文件的位置。(也可以认为以"/"开头的都为绝对路径)
2> 什么是相对路径:
所谓相对路径,顾名思义就是自己相对与目标位置。不论将这些文件放到哪里,只要他们的相对关系没有变,就不会出错。
另外我们使用“../”来表示上一级目录,“../../”表示上上级的目录,以此类推。(也可认为不是以"/"开头的都是相对路径)
3> 举例说明
(1) 示例一 比如说你的C盘ABC文件夹下有两个文件1和2(它们都在ABC文件下),如果要文件1说出文件2的位置(也就是路径),那么它有两种表示方法: * 绝对路径: C:\ABC\2 因为它指明2文件在C盘ABC文件下,从最大的目录C盘开始表示出来. * 相对路径: 2 因为1文件和2文件都在C:\ABC下,所以它们的路径前面"C:\ABC"都是一样,就不用表示出来了. (2)示例二 比方C盘ABC文件夹有个1文件,还有一个DEF文件夹,而DEF文件下有个2文件. 那1和2的文件路径分别为:(都是绝对路径) C:\ABC\1 C:\ABC\DEF\2 如果让1文件来表示2文件的路径 * 绝对路径: C:\ABC\DEF\2 * 相对路径: DEF\2 (因为1和2文件前面的C:\ABC这段路径相同就不用写出来了)。
2.常用mac终端操作命令符
1)显示当前目录的路径(让你实时查看当前所处的路径)
pwd
2)查看当前目录下的内容(让你实时查看当前路径下的内容)
ls 参数 目录名 参数: -w 显示中文,-l详细信息,-a包括隐藏文件,每一行开头是 “d” 则为文件夹,开头是 “-” 则为文件。 ls 显示在当前目录下的所有文件或文件夹 ls + 目录 显示在该目录下的所有文件或文件夹 ls + 空格 + -a 显示当前目录下隐藏文件 ls + 空格 + -l 显示当前目录下详细信息 ls + 空格 + -R 显示当前目录下子目录文件 ls + 空格 + -w 显示当前目录下中文文件 ls + 空格 + -la 显示所有文件 ls + 空格 + -G 带颜色显示 例: 看看驱动目录下有什么:ls /System/Library/Extensions
3) 切换路径(也可称为转化目录) 就是将从一个路径中,进入到另外一个路径
cd目录名cd . 表示当前目录cd .. 表示返回上一级目录
cd../..表示返回上两级 cd../.. /.. 表示返回上三级目录 cd + 空格 + 下一目录 表示将从当前路径进入到下一目录 cd + 空格 + 〜 表示从当前目录进入到用户根目录cd + 空格 + / 表示从当前目录进入根目录cd + 空格 + ./ 表示从当前目录进入到当前目录(一个点"." 表示当前) 例:想到驱动目录下溜达一圈:cd /System/Library/Extensions
4)建立新目录(也可理解为创建文件夹)
mkdir 目录名 mkdir + 空格 +文件夹名 表示创建一个文件夹 mkdir + 空格 + 绝对路径 表示创建一个文件夹和上面的功能相同,只不过上面是通过相对路径创建, 下面是通过绝对路径创建. 例:在驱动目录下建一个备份目录backup:mkdir /System/Library/Extensions/backup
5) 删除目录(也可理解为删除文件夹)
rmdir 目录名
rmdir + 空格 + 文件夹名 表示删除一个文件夹
rmdir + 空格 + 绝对路径 表示删除一个文件夹和上面的功能相同,只不过上面是通过相对路径删除,下面是通过绝对路径删除
例:在桌面删除一个叫new的文件 MacBook-Air:Desktop admin$ rmdir new
6)建立新文件
touch 文件名
例:在当前目录下建一个备份文件 backup:touch backup.txt
7)删除文件
rm 参数 文件 参数-rf 表示递归和强制,千万要小心使用,如果执行了 rm -rf / 你的系统就全没了
rm + 空格 + 文件名和格式 表示删除一个文件
rm + -r + 文件夹 表示强制删除文件夹中包含文件的文件夹(当文件夹中包含有文件, 通过"rmdir + 空格+ 文件夹名"的方式 是删不掉文件夹的,只有通过"rm + -f + 文件夹名",进行强制删除)
rm + -rf + 文件夹 表示强制删除文件夹中包含文件的文件夹(和"rm + -r + 文件夹名" 功能相同)
注意: rm 可以删除多个文件而不止一个文件 ,但是两个文件的路径必须用空格隔开.
例:想删除驱动的缓存:rm -rf /System/Library/Extensions.kextcache rm -rf /System/Library/Extensions.mkext
8)拷贝
cp 参数 源文件 目标文件
例:想把桌面的 Natit.kext 拷贝到驱动目录中 cp -R /User/用户名/Desktop/Natit.kext /System/Library/Extensions
参数 R 表示对目录进行递归操作,kext 在图形界面下看起来是个文件,实际上是个文件夹。
把驱动目录下的所有文件备份到桌面 backup:cp -R /System/Library/Extensions/ /User/用户名/Desktop/backup
9)移动文件和重命名文件
mv 源文件 目标文件 mv + 需要移动的文件或文件夹 + 空格 + 移动到的路径 (这里路径可以是相对路径,也可以是绝对路径); mv + a.c + 空格 +b.c 表示将a.c 重命名为b.c 例:想把 AppleHDA.Kext 移到桌面:mv/System/Library/Extensions/AppleHDA.kext/User/用户名/Desktop
10)文本编辑
nano 文件名 nano + 文件名 表示编辑文件内容 例: nano /System/Library/Extensions/Natit.kext/Info.plist 编辑完成后 用 Ctrl +O 存盘,Ctrl+X 退出 注意: * 在默认的"指令模式"下按 i 进入编辑模式 * 在非指令模式下按 ESC 返回指令模式 * 在"指令模式"下输入: :w 保存当前文件 :q 退出编辑,如果文件为保存需要用强制模式 :q! 强制退出不保存修改 :wq 组合指令, 保存并退出 * 在"指令模式"下移动: h 左 j 下 k 上 l 右
11)清屏
clear
12)打开某个文件,文件夹或应用
open
* 如果是open .则是打开当前命令里的目录,如果要打开指定的文件夹或者文件则格式为open 要打开的路径即可。(这里绝对路径或相对路径都可以)
* open命令可以在终端中开启应用,使用-n可以开启多个相同应用。比如你可以使用下面的命令开启新Safari窗口
open -n /Applications/Safari.app/
12)编译(比如.c文件 a.c
cc -c +a.c(需要编译的文件) 它的作用是编译将要编译的文件, 其中-c的意思就是Compile(编译的意思),它生成的结果是a.o的一个编译之后的目标文件.
cc a.o它的作用是生成可执行文件a.out
. /a.out 它的作用就是运行一个可执行a.out文件.打印出想要的结果.(注意"./a.out"前面没有 cc);
13) 更改文件权限
chmod
例:把驱动目录下所有文件设定到root读写,其他用户只读
chmod -R 755 /System/Library/Extensions 参数R 表示递归,755表示各用户的权限
14)脚本文件名
sh
例:把驱动目录下所有文件设定到root读写,其他用户只读
chmod -R 755 /System/Library/Extensions 参数R 表示递归,755表示各用户的权限
15)权限管理
sudo 为了防止误操作破坏系统,再用户状态下时没有权限操作系统重要文件的,所以先要取得root权限:“sudo -s”
然后输入密码,输入密码时没有任何回显,连星号都没有,只管输完回车就行了。
以下是一些常用命令~清理系统-----使用以下命令:
sudo periodic daily 然后回车,输入管理员密码即可。
suod periodic weekly 然后回车,运行的是每周清理。
suod periodic monthly 然后回车,运行的是每月清理
sudo periodic daily weekly monthly 然后回车,表示三个清楚一起做了
注意: sudo命令:任何命令前都可以加上sudo,sudo表示是管理员权限,可直接管理系统中较重要的文件,一般使用需要询问密码。输入管理员密码后,才能完成操作。
16)brew
brew
解释:
这个严格上说不是一个本地命令。但是没有一个OS X高级用户会离得开Homebrew。它的官网将它定义为“OS X上丢失的包管理工具”,它说的很正确。如 果你在Linux系统上使用过apt-get命令,你会在Homebrew中有找到组织的感觉。
brew 让你轻松的从开源社区获取成千上万的开放的实用工具和软件库。
例如,brew install imagemagick 命令会为你安装ImageMagick工具,它使一个功能强大的工具包,它可以从事任何从GIF动画到几十种不同类型的图片转 换任务。brew install node 命令会为你安装NodeJS,它是一个最新的热门的在服务器端开发和运行JavaScript程序的工具。
你同样也可以用Homebrew来获得乐趣:brew install archey 命令会为你安装 Archey,它是一个很酷的脚本,用来在一个多彩的Apple Logo显示你的Mac的配置。Homebrew的可选内容很广泛,同时它很容易创建新规则,一直都会有新的包被添加进来。
17)合并静态库
lipo lipo –create Release-iphoneos/libiphone.a Debig-iphonesimulator/libiphone.a –output libiphone.a
* 解释:
很简单,我将模拟器和设备的静态库文件合并成一个文件输出了,以后在发布可以库的时候不用发一个模拟器版的和一个真机版的了,这样子的一个库 可以在编译的时候自动识别需要连接的库。
* 那lipo到底是什么呢?
lipo源于mac系统要制作兼容powerpc平台和intel平台的程序。
lipo 是一个在 Mac OS X 中处理通用程序(Universal Binaries)的工具。现在发售或者提供下载的许多(几乎所有)程序都打上了“Universal”标志,意
味着它们同时具有 PowerPC 和 Intel 芯片能够处理的代码。不过既然你可能不在意其中的一个,你就能够使用 lipo 来给你的程序“瘦身”。比如你想
让“便笺”应用程序只包含 Intel(i386)的代码:
cd /Applications
lipo Stickies.app/Contents/MacOS/Stickies -thin i386 -output Stickies.app/Contents/MacOS/Stickies.i386
cd Stickies.app/Contents/MacOS/
rm Stickies
mv Stickies.i386 Stickies
18)目录操作:
命令名功能描述使用举例
mkdir创建一个目录mkdir dirname
rmdir删除一个目录rmdir dirname
mvdir移动或重命名一个目录mvdir dir1 dir2
cd改变当前目录cd dirname
pwd显示当前目录的路径名pwd
ls显示当前目录的内容ls -la
19)文件操作:
命令名功能描述使用举例
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
20)选择操作:
命令名功能描述使用举例
head显示文件的最初几行head -20 filename
tail显示文件的最后几行tail -15 filename
cut显示文件每行中的某些域cut -f1,7 -d: /etc/passwd
colrm从标准输入中删除若干列colrm 8 20 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
21)进程操作:
命令名功能描述使用举例
ps显示进程当前状态其选项说明如下:
-a 列出包括其他 users 的 process 状况。
-u 显示 user - oriented 的 process 状况 。
-x 显示包括没有 terminal 控制的 process 状况 。
-w 使用较宽的显示模式来显示 process 状况 。
kill终止进程kill -9 30142
22)编程操作
命令名功能描述使用举例
make维护可执行程序的最新版本make
touch更新文件的访问和修改时间touch -m 05202400 filename
dbx 命令行界面调试工具 dbx a.out
xde图形用户界面调试工具xde a.out
23)时间操作:
命令名功能描述使用举例
date显示系统的当前日期和时间date
cal显示日历cal 8 1996
time统计程序的执行时间time a.out
24)网络与通信操作:
命令名功能描述使用举例
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
25)安全操作:
命令名功能描述使用举例
passwd修改用户密码passwd
chmod改变文件或目录的权限chmod ug+x filename
umask定义创建文件的权限掩码umask 027
chown改变文件或目录的属主chown newowner filename
chgrp改变文件或目录的所属组chgrp staff filename
xlock给终端上锁xlock -remote
26)Korn Shell 命令:
命令名功能描述使用举例
history列出最近执行过的 几条命令及编号history
r重复执行最近执行过的 某条命令r -2
alias给某个命令定义别名alias del=rm -i
unalias取消对某个别名的定义unalias del
27)其它命令:
命令名功能描述使用举例
uname显示操作系统的有关信息uname -a
clear清除屏幕或窗口内容clear
env显示当前所有设置过的环境变量env
who列出当前登录的所有用户who
whoami显示当前正进行操作的用户名whoami
tty显示终端或伪终端的名称tty
stty显示或重置控制键定义stty -a
du查询磁盘使用情况du -k subdir
df显示文件系统的总空间和可用空间df
w显示当前系统活动的总信息w
man 查看帮助相关命令符的用法 man ls
purge 释放内存(purge命令可以清除内存和硬盘的缓存,与重启Mac的效果差不多。purge命令可以让不活跃的系统内存转变为可以使用的内存。
你只需在终端中输入下面的命令即可)
purge
caffeinate 阻止Mac运行屏幕保护和睡眠 caffeinate -t 3600
chflags 隐藏文件或文件夹 chflags hidden ~/Desktop/macx 隐藏
chflags nohidden ~/Desktop/macx 显示
zip 创建有密码保护的压缩文件 zip -e protected.zip ~/Desktop/macx.txt