Linux教程
Linux文件管理
本文介绍如何在Linux上创建文件、删除文件、复制文件、移动文件
- 使用touch命令在linux上创建文件
- 使用rm命令在linux上删除文件
- 使用cp命令在linux上复制拷贝文件
- mv命令在linux上移动或重命名文件
文件简介
Linux中文件可以分为普通文件、目录文件、链接文件、设备文件和管道文件
Linux中文件名的命名规则
- 文件名区分大小写
- 文件名的长度不能超过255个字符
- 可以用除了
/
以外的任何字符如A-Z、a-z\0-9等来命名。不能以/
来命名的原因是因为它是目录的分隔符,以它命名文件,系统将无法分辨它是文件名还是目录的一部分 - 以点号开头的文件为隐藏文件,所以普通文件尽量不要以
.
开头命名 - 对于Linux文件而言,后缀名这个概念无意义,加或不加都无所谓,仅仅是为了方便区分
touch:创建文件
touch语法
功能说明:改变文件或目录时间
语法touch 文件名称
选项与参数:
-
-c
或--no-create
:如果文件不存在,不建立任何文件,也不提示 -
-d<时间日期>
:使用指定的时间日期,而非现在的时间 -
-t<日期时间>
:使用指定的日期时间,而非现在的时间 -
-a
:改变文件的访问时间为系统当前时间,无需设置时间选项 -
-m
:改变文件的修改时间为系统当前时间,无需设置时间选项 -
-r
:把指定文件或目录的日期、时间都设成和参考文件或目录的日期、时间想通过
简单使用
创建新的空白文件
[root@localhost ~]# touch test #创建一个名为“test”的新的空白文件
[root@localhost ~]# touch test.txt #创建一个名为“test”的新的空白文本文件
更改文件的访问时间为系统当前时间
[root@localhost ~]# touch -a test #改变test文件的访问时间为系统当前时间
[root@localhost ~]# touch -a test.txt #改变test.txt文件的访问时间为系统当前时间
更改文件的修改时间为系统当前时间
[root@localhost ~]# touch -m test #改变test文件的修改时间为系统当前时间
[root@localhost ~]# touch -m test.txt #改变test.txt文件的修改时间为系统当前时间
将test.txt文件的访问时间修改为test文件的访问时间
[root@localhost ~]# touch -a -r test.txt test
将test.txt文件的修改时间设置为2020年1月1日1点11分
[root@localhost ~]# touch -d "20200101 11:11" test.txt
rm(移除文件)
英文:rm
是remove
的简写
rm语法
功能说明:删除文件或目录
语法:
rm [参数] [文件或目录]
选项与参数:
-f
或--force
:强制删除文件或目录,如果文件和目录已经存在则不再询问是否删除,直接进行强制删除
-i
或--interactive
:互动模式,删除存在的文件或目录之前先询问用户是否进行删除操作
-r
或-R
或--recursive
:递归删除,将指定目录下的所有文件及目录一并删除!最常用在目录的删除
简单使用
删除test.txt文件
[root@localhost ~]# rm test.txt #删除test.txt文件
删除空目录
[root@localhost ~]# rm dir #删除dir空目录
删除非空目录
[root@localhost ~]# rm -rf dir #删除dir非空目录
注意:使用rm命令时要特别小心注意,
rm -rf
组合要慎重使用,使用前要再三确认命令的正确性,因为一旦文件被删除,就不能被恢复,请再三确认后使用
cp(复制拷贝文件)
cp语法
功能说明:复制拷贝文件和目录
语法
cp [参数] [源文件或源目录] [目标文件或目录]
选项与参数:
-a
:在复制目录时保留链接、文件属性,并递归地复制目录
-d
:复制时保留链接
-f
或--force
:为强制(force)的意思,强行复制文件和目录,不论目标文件和目录是否存在
-i
或--interactive
:若目标文件或目录已经存在时,进行覆盖时会先询问是否进行覆盖
-l
或--link
:对源文件建立硬链接,而非复制文件本身
-p
或--preserve
:保留源文件或目录的属性,而非使用默认属性(备份常用);
-r
:递归处理,将制定目录下的文件与子目录一并复制;(常用)
简单使用
复制文件
将/root/test.txt
文件复制到根目录/
[root@localhost ~]# cp /root/test.txt /
复制文件并改名
将/root/test.txt
文件复制到根目录/
,并重命名为test
[root@localhost ~]# cp /root/test.txt /test
复制目录
复制/root/dir目录中的所有文件和子目录到根目录
[root@localhost ~]# cp -r /root/dir /
mv (移动文件或修改文件名称)
mv语法
功能说明:移动或重命名存在的文件或目录
语法:
mv [参数] [源文件或目录] [目标文件或目录]
选项与参数:
-
-b
或--backup
:若需覆盖文件,则覆盖前先进行备份- -
-f
或--force
:如果目标文件或目录已经存在,则直接覆盖现有的文件或目录 -
-i
或--interactive
:若目标文件或目录已经存在时,进行覆盖时会先询问是否进行覆盖 -
-u
或--update
:在移动或更改文件名时,若目标文件已存在,且其文件日期比源文件新,则不覆盖目标文件
简单使用
移动文件
将/root/test.txt
文件移动到根目录/
[root@localhost ~]# mv /root/test.txt /
移动文件并改名
将/root/test.txt
文件移动到根目录/
,并重命名为test
[root@localhost ~]# mv /root/test.txt /test
移动目录
移动/root/dir目录中的所有文件和子目录到根目录
[root@localhost ~]# mv /root/dir /
重命名文件或目录
将test文件重命名为test2,将dir目录重命名为dir2
[root@localhost ~]# mv /root/test /root/test2 #将test文件重命名为test2
[root@localhost ~]# mv /root/dir /root/dir2 #将dir目录重命名为dir2