四、操作文件与目录
- cp:复制文件或者目录
- mv:移动或者重命名文件或者目录
- mkdir:创建目录
- rm:移除文件或者目录
- ln:创建硬链接或者符号链接
通配符:
通配符 | 匹配项 |
* | 匹配任意多个字符(包括0个和1个) |
? | 匹配任意单个字符(不包括0个) |
[characters] | 匹配任意一个属于字符集中的字符 |
[!characters] | 匹配任意一个不属于字符集中的字符 |
[[:class:]] | 匹配任意一个属于指定字符类中的字符 |
常用字符类:
[:alnum:] - 匹配任意一个字母或者数字
[:alpha:] - 匹配任意一个字母
[:digit:] - 匹配任意一个数字
[:lower:] - 匹配任意一个小写字母
[:upper:] - 匹配任意一个大写字母
通配符使用实例:
* :所有文件
g* :以g开头的任意文件
b*.txt:b开头,中间任意多的字符,以.txt结尾的文件
Data??? :Data开头,后面任意根3个字符的任意文件
[abc]* :以abc任意一个开头的任意文件
[[:upper:]]*:以大写字母开头的任意文件
mkdir —— 用于创建目录
mkdir directory... 【注】... 表示该参数可以重复
例如:mkdir dir1 创建dir1目录
mkdir dir1 dir2 dir3 分别创建名为dir1、dir2、dir3的目录
cp —— 复制文件和目录
cp item1 item2 将单个文件或者目录item1复制到文件或者目录item2中
cp item... directory 将多个项目(文件或者目录)复制进同一个目录中
选项 | 含义 |
-a | 复制文件和目录以及其属性,包括所有权和权限。通常复制文件具有用户操作文件的默认属性 |
-i | 在覆盖文件之前,提醒用户确认操作。没有该选项cp会默认覆盖文件 |
-r | 递归的复制目录以及其内容。复制目录时需要使用这个选项 |
-u | 当文件从一个目录复制到另外一个目录时,只会复制目标目录中不存在的文件或者目标目录相应文件的更新文件 |
-v | 复制文件时,显示消息性提示 |
命令 | 结果 |
cp file1 flie2 | 将file1复制到file2。若file2存在,则会被file1的内容覆盖,若不存在则创建file2 |
cp -i file file2 | 同上,区别在于file2存在时,覆盖之前通知用户确认 |
cp file1 file2 dir1 | 将file1 file2复制到dir1里。dir1必须存在 |
cp dir1/* dir2 | 将dir1中的所有文件复制到dir2中,dir2必须存在 |
cp -r dir1 dir2 | 递归的将dir1以及其内容复制到dir2中,若dir2不存在,创建dir2 |
mv——移除和重命名文件
mv item1 item2 将文件(目录)item1移动(或者重命名)为item2
mv item.. directory 将一个或者多个条目从一个目录移动到另一个目录下
选项 | 含义 |
-i | 在覆盖文件之前,提醒用户确认操作。没有该选项mv会默认覆盖文件 |
-u | 当文件从一个目录移动到另外一个目录时,只会移动那些目标目录中不存在的文件或者目标目录相应文件的更新文件 |
-v | 移动文件时,显示消息性提示 |
命令 | 结果 |
mv file1 flie2 | 将file1移动到file2。若file2存在,则会被file1的内容覆盖,若不存在则创建file2,相当于重命名file1。 |
mv -i file file2 | 同上,仅当file2存在时,覆盖之前通知用户确认 |
mv file1 file2 dir1 | 将file1 file2移动到dir1里。dir1必须存在 |
mv dir1 dir2 | 将目录dir1(和其内容)移动到dir2下,若dir2不存在,创建dir2,同时删除dir1。 |
rm —— 删除文件和目录
rm item...
【注】小心rm命令!!!
类UNIX操作系统并不包括还原删除的命令,一旦使用rm命令,就是彻底删除了
rm命令与通配符一起使用要尤其的小心!例如我们希望删除目录中的html文件
rm *.html
但是如果在*与html之间输入一个空格
rm * .html
rm命令就会删除目录中的所有文件,并亲切提示目录中没有叫做.html的文件。
选项 | 含义 |
-i | 在删除文件之前,提醒用户确认操作。没有该选项会直接默认删除文件 |
-r | 递归的删除目录以及其内容。要删除目录时必须指定这个选项 |
-f | 忽略不存在文件并无需提示确认,改选项会覆盖-i选项 |
-v | 删除文件时,显示消息性提示 |
In —— 创建链接
ln file link 用来创建硬链接
ln -s item link 用来创建符号链接
硬链接:硬链接不能引用自身文件系统之外的文件,就是说硬链接不能引用与该链接不在同一磁盘分区的文件。硬链接不能引用目录。
硬链接和文件本身没有什么区别。
符号链接:类似于windows的快捷方式,当删除一个符号链接时,删除的只是链接而不是文件本身,若先删除文件,符号链接仍然存 在,单不指向任何文件,称之为坏链接。
创建硬链接: ln fun fun-hard
ln fun dir1/fun-hard
创建符号链接:ln -s ../fun dir1/fun-sym
五、命令的使用
- type:说明如何解释命令名
- which:显示会执行哪些可执行程序
- man:显示命令的手册页
- apropos:显示一系列合适的命令
- info:显示命令的info条目
- whatis:显示一条命令的简述
- alias:创建一条命令的别名
究竟什么是命令:
- 可执行文件程序
- shell内置命令
- shell函数
- alias命令
使用别名创建自己的命令
可以使用分号在同一行中来分隔多条命令
alias name='sting' 创建命令的别名