文章目录
- 1 创建文件(touch命令)
- 2 复制文件(cp命令)
- 2.1 递归复制(-R参数)
- 2.2 也可以在cp命令中使用通配符
- 3 移动文件/重命名文件(mv命令)
- 4 删除文件(rm命令)
- 4.1 建议使用 -i 参数
- 4.2 强制删除(-f 参数)
- 4.3 递归删除(-r参数)
1 创建文件(touch命令)
可用touch命令轻松创建空文件。
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ touch test_touch
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ ls
test_touch
ouch命令创建了你指定的新文件,并将你的用户名作为文件的属主
。注意,文件的大小是零
,因为touch命令只创建了一个空文件。
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ ll
total 0
-rw-rw-r-- 1 admin admin 0 Mar 8 13:11 test_touch
touch命令还可用来改变文件的修改时间。这个操作并不需要改变文件的内容:
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ ls -l
total 0
-rw-rw-r-- 1 admin admin 0 Mar 8 13:11 test_touch # 时间是13:11
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ touch test_touch
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ ls -l
total 0
-rw-rw-r-- 1 admin admin 0 Mar 8 13:15 test_touch # # 时间是13:15
touch命令如果使用-a 参数,则修改的只是访问时间
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ ls -l
total 0
-rw-rw-r-- 1 admin admin 0 Mar 8 13:17 test_touch # 时间是13:17
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ touch -a test_touch
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ ls -l
total 0
-rw-rw-r-- 1 admin admin 0 Mar 8 13:17 test_touch # 时间还是13:17
如何查看文件的访问时间呢:ls 需要加入另外一个参数:–time=atime。
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ ls -l --time=atime
total 0
-rw-rw-r-- 1 admin admin 0 Mar 8 13:18 test_touch # 这时展示的就是文件的访问时间
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ ls -l
total 0
-rw-rw-r-- 1 admin admin 0 Mar 8 13:17 test_touch # 默认展示的是文件的最近修改时间
2 复制文件(cp命令)
cp命令可以完成这个任务。
在最基本的用法里,cp命令需要两个参数——源对象和目标对象:
cp source destination
当source和destination参数都是文件名时,cp命令将源文件复制成一个新文件,并且以destination命名。新文件就像全新的文件一样,有新的修改时间。
如果目标文件已经存在,cp命令可能并不会提醒这一点。最好是加上-i选项,强制shell询问是否需要覆盖已有文件。
cp -i source destination
eg:
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ cp source.txt source_copy.txt
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ ls
source_copy.txt source.txt
2.1 递归复制(-R参数)
cp命令的-R参数威力强大。可以用它在一条命令中递归地复制整个目录的内容。
[admin@iZbp1hld5mqm15c6sdgqfkZ ~]$ ls
hello
[admin@iZbp1hld5mqm15c6sdgqfkZ ~]$ cp -R hello/ hello2/
[admin@iZbp1hld5mqm15c6sdgqfkZ ~]$ ls
hello hello2
[admin@iZbp1hld5mqm15c6sdgqfkZ ~]$ cd hello2
[admin@iZbp1hld5mqm15c6sdgqfkZ hello2]$ ls
source_copy.txt source.txt test_touch
[admin@iZbp1hld5mqm15c6sdgqfkZ hello2]$ cd ../hello
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ ls
source_copy.txt source.txt test_touch
起初当前这个目录是没有hello2这个目录的,通过cp -R,,整个hello目录中的内容都被复制到其中。注意,在新的hello2目录中,所有的文件都有对应的新日期。
2.2 也可以在cp命令中使用通配符
- 问号(?)代表一个字符;
- 星号(*)代表零个或多个字符
- []: 指定候选字符
- !: 表示去反,不包括
3 移动文件/重命名文件(mv命令)
在Linux中,重命名文件称为移动(moving)。mv命令可以将文件和目录移动到另一个位置或重新命名。
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ ls -li
total 0
1055810 -rw-rw-r-- 1 admin admin 0 Mar 16 13:41 a.txt
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ mv a.txt b.txt
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ ls -li
total 0
1055810 -rw-rw-r-- 1 admin admin 0 Mar 16 13:41 b.txt
上面的mv a.txt b.txt
这行命令,就把a.txt重命名为b.txt
也可以实现移动文件:将b.txt移动到上级目录:
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ mv b.txt ../
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ ls
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ cd ../
[admin@iZbp1hld5mqm15c6sdgqfkZ ~]$ ls
b.txt hello hello2
总结:
- mv命令可以移动文件,如果在同目录移动文件,就是重命名操作,命令格式:
mv 源文件 目标文件
- 但inode编号和时间戳保持不变。这是因为mv只影响文件名。
和cp命令类似,也可以在mv命令中使用-i参数。这样在命令试图覆盖已有的文件时,你就会得到提示。
4 删除文件(rm命令)
在Linux中,删除(deleting)叫作移除(removing)①。bash shell中删除文件的命令是rm。rm
命令的基本格式非常简单。
·基本格式:
rm targetFile
也可以使用通配符删除成组的文件
4.1 建议使用 -i 参数
-i命令参数提示你是不是要真的删除该文件。
bash shell中没有回收站或垃圾箱,文件
一旦删除,就无法再找回。因此,在使用rm命令时,要养成总是加入-i参数的好习惯。
rm -i targetFile
4.2 强制删除(-f 参数)
如果要删除很多文件且不受提示符的打扰,可以用-f参数强制删除。
rm -f targetFile
4.3 递归删除(-r参数)
参考这里