zoukankan      html  css  js  c++  java
  • (17)文件和目录管理类的常用命令2

    1.mkdir命令:创建目录(文件夹)

    mkdir 命令,是 make directories 的缩写,用于创建新目录,此命令所有用户都可以使用。

    mkdir 命令的基本格式为:

    [root@localhost ~]# mkdir [-mp] 目录名

    -m 选项用于手动配置所创建目录的权限,而不再使用默认权限。

    mkdir -m 711 test2

    在创建 test2 时,使用了 -m 选项,通过设定 711 权限值来给予新的目录 drwx--x--x 的权限

    -p 选项递归创建所有目录,以创建 /home/test/demo 为例,在默认情况下,你需要一层一层的创建各个目录,而使用 -p 选项,则系统会自动帮你创建 /home、/home/test 以及 /home/test/demo。

    注意,我们在建立目录的时候使用的是相对路径,所以这个目录被建立到当前目录下。

    2.rm命令:删除文件或目录

    rm 是强大的删除命令,它可以永久性地删除文件系统中指定的文件或目录。在使用 rm 命令删除文件或目录时,系统不会产生任何提示信息。此命令的基本格式为:

    [root@localhost ~]# rm[选项] 文件或目录

    选项:

    -f:强制删除(force),和 -i 选项相反,使用 -f,系统将不再询问,而是直接删除目标文件或目录。

    -i:和 -f 正好相反,在删除文件或目录之前,系统会给出提示信息,使用 -i 可以有效防止不小心删除有用的文件或目录。

    -r:递归删除,主要用于删除目录,可删除指定目录及包含的所有内容,包括所有的子目录和文件。

    注意,rm 命令是一个具有破坏性的命令,因为 rm 命令会永久性地删除文件或目录,这就意味着,如果没有对文件或目录进行备份,一旦使用 rm 命令将其删除,将无法恢复,因此,尤其在使用 rm 命令删除目录时,要慎之又慎。
    加入了强制功能之后,删除就会变得很简单,但是需要注意,数据强制删除之后无法恢复,除非依赖第三方的数据恢复工具,如 extundelete 等。但要注意,数据恢复很难恢复完整的数据,一般能恢复 70%~80% 就很难得了。所以,与其把宝压在数据恢复上,不如养成良好的操作习惯。

    虽然 "-rf" 选项是用来删除目录的,但是删除文件也不会报错。所以,为了使用方便,一般不论是删除文件还是删除目录,都会直接使用 "-rf" 选项。

    3.touch命令:创建文件及修改文件时间戳

    需要注意的是,touch 命令不光可以用来创建文件(当指定操作文件不存在时,该命令会在当前位置建立一个空文件),此命令更重要的功能是修改文件的时间参数(但当文件存在时,会修改此文件的时间参数)。

    Linux 系统中,每个文件主要拥有 3 个时间参数(通过 stat 命令进行查看),分别是文件的访问时间、数据修改时间以及状态修改时间:

    访问时间(Access Time,简称 atime):只要文件的内容被读取,访问时间就会更新。例如,使用 cat 命令可以查看文件的内容,此时文件的访问时间就会发生改变。

    数据修改时间(Modify Time,简称 mtime):当文件的内容数据发生改变,此文件的数据修改时间就会跟着相应改变。

    状态修改时间(Change Time,简称 ctime):当文件的状态发生变化,就会相应改变这个时间。比如说,如果文件的权限或者属性发生改变,此时间就会相应改变。

    4.touch 命令的基本格式如下:

    [root@localhost ~]# touch [选项] 文件名

    选项:

    -a:只修改文件的访问时间;

    -c:仅修改文件的时间参数(3 个时间参数都改变),如果文件不存在,则不建立新文件。

    -d:后面可以跟欲修订的日期,而不用当前的日期,即把文件的 atime 和 mtime 时间改为指定的时间。

    -m:只修改文件的数据修改时间。

    -t:命令后面可以跟欲修订的时间,而不用目前的时间,时间书写格式为 YYMMDDhhmm。

    可以看到,touch 命令可以只修改文件的访问时间,也可以只修改文件的数据修改时间,但是不能只修改文件的状态修改时间。因为,不论是修改访问时间,还是修改文件的数据时间,对文件来讲,状态都会发生改变,即状态修改时间会随之改变(更新为操作当前文件的真正时间)。

    [root@localhost ~]#ll --time=atime bols
    #查看文件的访问时间
    -rw-r--r-- 1 root root 0 Sep 25 21:23 bols
    #文件上次的访问时间为 9 月 25 号 21:23
    [root@localhost ~]#touch bols
    [root@localhost ~]#ll --time=atime bols
    -rw-r--r-- 1 root root 0 May 15 16:36 bols
    #而如果文件已经存在,则也不会报错,只是会修改文件的访问时间。

    修改 bols 文件的 atime 和 mtime。

    [root@localhost ~]# touch -d "2017-05-04 15:44" bols
    [root@localhost ~]# ll bols; ll --time=atime bols; ll --time=ctime bols
    -rw-r--r-- 1 root root 0 May 4 2017 bols
    -rw-r--r-- 1 root root 0 May 4 2017 bols
    -rw-r--r-- 1 root root 0 Sep 25 21:40 bols
    #ctime不会变为设定时间,但更新为当前服务器的时间

  • 相关阅读:
    linux 下共享内存
    linux shmget shmctl
    linux 进程优先级 之设置实时进程 (另一种方式是设置nice值)
    linux .so .a .o 文件
    linux 时间模块 三
    linux 时间模块 二
    linux 时间模块 一
    设计模式之原型模式(php实现)
    设计模式之建造者模式(php实现)
    设计模式之单例模式(php实现)
  • 原文地址:https://www.cnblogs.com/xinghen1216/p/11289005.html
Copyright © 2011-2022 走看看