管理文件和目录的命令:
(1)pwd命令:(print working directory 打印工作目录)
zhouhongmingdeMacBook-Pro:metadata zhouhongming$ pwd
/Users/zhouhongming/New Unity Project/Library/metadata
(2)cd命令:(用来改变所在目录)
/ /test1 /test1/test2 /test1/test2/test3
绝对路径:每一次从/(代指根)开始,然后下移到所需的目录,绝对目录是相对于根目录的路径,参考点是/
相对路径:相对路径是相对当前目录的路径,参考点是当前目录,路径第一个字符不是/
cd ../.. 向上移两级目录
cd ../ 返回上一级目录 cd ./ 当前目录
(3)ls命令:(list 查看目录的内容)
因为某些文件是隐藏文件(又称“点文件”),所以ls命令本身不会显示目录中的所有文件,但ls命令有许多可用的选项
如果想查看一个文件或目录的大小、创建时间等等,在ls -a命令后面添加long(长)选项(-l)就可以了。
这个命令显示了文件创建的日期、大小、所有者、权限等等。使用ls命令来查看某个目录内容时,不必位于该目录中。
譬如,要在某个用户的主目录中查看/Users/Dong/Desktop/Project 目录中的内容:
Dong'sMacBook-Pro:~ Dong$ ls -al /Users/Dong/Desktop/Project total 24 drwxr-xr-x 7 Dong staff 238 9 1 17:51 . drwx------+ 12 Dong staff 408 9 2 08:08 .. -rw-r--r--@ 1 Dong staff 6148 9 1 19:15 .DS_Store drwxr-xr-x 3 Dong staff 102 9 1 11:16 .gradle drwxr-xr-x 9 Dong staff 306 9 1 19:15 build -rw-r--r-- 1 Dong staff 179 9 1 15:19 build.gradle drwxr-xr-x 4 Dong staff 136 9 1 11:12 src
(4)cat命令:(concatenate 合并文件,它还可以在屏幕上显示整个文件的内容,例如:cat filename.txt。)
使用重导向(重导向就是使shell改变它所认定的标准输出,或者改变标准输出的目标。他可以创建一个文件,例如在没有a.txt的情况下cat > a.txt,然后再写入内容)
1) 重导向标准输出
1.)把cat的输出重导向到一个文件中,在shell提示下输入以下命令
//提前创建一个a.txt文件,在里面写上内容:我叫a.txt cat > a.txt //将cat的输出重导向到a.txt my name is a.txt //输入要向a.txt中重导向的内容,按control+D结束 cat a.txt //查看a.txt中的内容,发现已被更改,原来的内容没有了
2.)再把输出重导向另一个文件 b.txt,在这个例子中,输入命令
cat > b.txt //创建b.txt并赋内容 my name is b.txt //赋内容为my name is b.txt,并按control+D保存退出 cat b.txt //查看b.txt my name is b.txt //b.txt中的内容为此 cat > c.txt //创建c.txt my name is c.txt //赋内容给c.txt cat a.txt b.txt > c.txt //把a.txt与b.txt的内容合并起来赋给c.txt cat c.txt //查看c.txt my name is a.txt my name is b.txt
3.)还可以使用输出重导向来在一个现存文件之后添加新信息,而不是完全的替换:
cat a.txt >> b.txt //将a.txt中的内容添加到b.txt之后 cat b.txt //查看b.txt my name is b.txt my name is a.txt //a.txt中的内容被补充进了b.txt
4.)要做比较,输入以下命令:
cat a.txt;cat b.txt my name is a.txt my name is b.txt
2)重导向标准输入(告诉shell使用某个文件作为命令的输入)
cat < a.txt
(5)grep命令(最大的功能室在一堆文件中查找一个特定的字串)
grep my a.txt //会查出带my的每一行
一般grep查找是区分大小写的,这意味着查找my与查找My不同,但在grep选项中有-i这一项,它允许在查找文件时不区分大小写
(6)touch命令(用来创建新文件)
touch <文件名> //如 touch a.exe 文件名>
在shell提示下输入命令ls -l newfile会返回一下输出:
(7)cp命令(用来拷贝文件)
cp <源> <目标> //如:cp test.txt /home/user 目标> 源>
现在,在user目录中已经拥有了test.txt,再使用一次cp -i 把文件复制到同一位置。系统返回类似如下信息:
cp -i test.txt /home/user cp: 是否覆盖 '/home/user/test.txt' ? //如果想覆盖,就输入Y,然后按Enter键,不想覆盖就输入N,然后按Enter键
(8)mv命令(用来移动文件)
mv a.txt hi //将主目录下的a.txt移动到hi文件夹 mv a.txt /Users/zhouhongming/Desktop/test/hi //将文件移动到绝对路径
(9)rm命令(用来删除文件)
rm test.txt //删除test.txt rm -i test.txt //加提示地删除test.txt rm:是否删除一般文件'test.txt'? rm te* //删除以te开头的所有文件 rm test.txt home.txt //rm也可以同时删除多个文件