创建文件
touch filename
$ touch test_one
$ ls -l test_one
-rw-rw-rw- 1 levid_gc levid_gc 0 Aug 19 19:31 test_one
复制文件
cp source destination
当 source 和 destination 参数都是文件名时,cp 命令将源文件复制成一个新文件,并且以 destination 命名。
$ cp test_one test_two
$ ls -l test_*
-rw-rw-rw- 1 levid_gc levid_gc 0 Aug 19 19:38 test_one
-rw-rw-rw- 1 levid_gc levid_gc 0 Aug 19 19:42 test_two
在使用 cp 命令的时候,建议习惯性地加上 -i 参数,这样在复制的时候,如果存在同名的文件时,会进行提问是否覆盖已存在的文件,y
- 是,n
- 否。
$ cp -i test_one test_two
cp: overwrite 'test_two'? n
将文件复制到现有目录:
-
使用绝对路径
$ cp -i test_one /home/levid_gc/Documents $ ls -l /home/levid_gc/Documents total 0 -rw-rw-rw- 1 levid_gc levid_gc 0 Aug 19 19:54 test_one
-
使用相对路径
$ cp -i test_one Documents cp: overwrite 'Documents/test_one'? n
注意:上面的例子中,目录名称后面都加上了正斜杠 /
,这表明 Documents
是目录而非文件,这有助于明确目的,而且在复制单个文件时非常重要。如果没有正斜杠,子目录 /home/levid_gc/Documents
又不存在,就会有麻烦。在这种情况下,试图将一个文件复制到 Documents
子目录反而会创建一个名为 Documents
的文件,连错误信息都不会显示!
重命名文件
mv
在 Linux 中,重命名文件称为移动。mv 命令可以将文件和目录移动到另一个位置或重新命名。
$ ls -li f?ll
4222124651433681 -rw-rw-rw- 1 levid_gc levid_gc 0 Aug 19 22:05 fall
5348024558276734 -rw-rw-rw- 1 levid_gc levid_gc 0 Aug 19 22:05 fell
2533274791170177 -rw-rw-rw- 1 levid_gc levid_gc 0 Aug 19 22:05 fill
21110623253397912 -rw-rw-rw- 1 levid_gc levid_gc 0 Aug 19 22:06 full
$ mv fall fzll
$ ls -li f?ll
5348024558276734 -rw-rw-rw- 1 levid_gc levid_gc 0 Aug 19 22:05 fell
2533274791170177 -rw-rw-rw- 1 levid_gc levid_gc 0 Aug 19 22:05 fill
21110623253397912 -rw-rw-rw- 1 levid_gc levid_gc 0 Aug 19 22:06 full
4222124651433681 -rw-rw-rw- 1 levid_gc levid_gc 0 Aug 19 22:05 fzll
移动文件会将文件名从 fall
更改为 fzll
,但 inode 编号和时间戳保持不变。这是因为 mv 只影响文件名。
删除文件
rm
在 Linux 中,删除称为移除。
$ rm -i fzll
rm: remove regular empty file 'fzll'? y
$ ls -l fzll
ls: cannot access 'fzll': No such file or directory
rm 命令的另外一个特性就是,如果要删除很多文件且不受提示符的打扰,可以使用 -f
参数强制删除,但是慎重使用。
网友评论