Linux学习之CentOS(十八)--与Linux文件和目录管理相关的一些重要命令②
发布日期:2025-04-08 18:05:18 浏览次数:9 分类:精选文章

本文共 2554 字,大约阅读时间需要 8 分钟。

在结束了第二期的广交会实习之后,又迎来了几天休闲的日子,继续学习Linux。在上一篇随笔中,详细记录了与Linux文件和目录管理相关的一些重要命令,包括目录与路径相关的命令、管理文件与目录的命令、查看文件内容命令等。本文将继续详细记录与Linux文件和目录管理相关的其他一些重要命令。

一、修改文件时间与创建新文件

在上一篇随笔介绍ls命令时,就有提到每个文件在Linux下面都会记录三个主要的修改时间:modification time (mtime)、status time (ctime)和access time (atime)。其中:

  • mtime(修改时间):当文件内容发生变更时,该时间会更新。
  • ctime(状态时间):当文件的权限或属性发生改变时,该时间会更新。
  • atime(访问时间):当文件内容被读取或修改时,该时间会更新。

默认情况下,ls命令显示的是文件的mtime,即文件内容上次更改的时间。然而,在某些情况下,文件的时间可能会出错,例如安装Linux系统时可能会出现文件时间为未来某个时间的情况。这时,我们需要使用touch命令来修改文件时间或创建新文件。

touch命令的使用方法如下:

touch [-acdmt] 
<文件>

其中,参数的意义如下:

  • -a:仅修订文件的access time(访问时间)。
  • -c:仅修改文件的ctime(状态时间),如果文件不存在则不会创建新文件。
  • -d:指定修订的日期格式,可用--date="日期时间"。
  • -m:仅修订文件的modification time(修改时间)。
  • -t:指定修订的时间格式,可用[YYMMDDhhmm]。

通过实例可以了解touch命令的使用方法:

  • 创建一个空文件:
  • touch test.txt
    1. 复制一个文件并保留原有属性:
    2. cp -a ~/.bashrc bashrc
      1. 修改文件日期为三天前的日期:
      2. touch -d "3 days ago" bashrc
        1. 创建带有特定日期的新文件:
        2. touch -t 1304242323 bashrc

          touch命令不仅可以修改文件时间,还可以创建新文件。默认情况下,如果文件不存在,touch命令会创建一个空文件。

          二、文件与目录的默认权限与隐藏权限

        3. umask(文件默认权限)
        4. umask命令用于设置文件和目录的默认权限。默认情况下,umask的值为022,这会对文件和目录的默认权限产生影响:

          • 对于文件,默认权限为-rw-rw-r--(即666)。
          • 对于目录,默认权限为drwxrwxrwx(即777)。

          umask 022的具体效果:

          • 文件:-rw-rw-r--(缺少x权限)。
          • 目录:drwxr-xr-x(缺少t权限)。

          通过修改umask值,可以改变文件和目录的默认权限。例如,设置umask为002,可以使文件默认权限为-rw-rw-r--。

          1. 隐藏属性(chattr和lsattr)
          2. 在Linux系统中,隐藏属性可以通过chattr命令设置或修改,通过lsattr命令查看。常见的隐藏属性包括:

            • +i:文件无法被删除或修改。
            • +a:文件只能增加数据,无法删除。
            • +c:文件自动压缩,读取时解压。
            • +d:文件不适用于dump备份。
            • +i:文件不可被删除。
            • +j:文件使用journalized journaling。

            例如:

            chattr +i attrtest

            设置+ i属性后,即使用户为root也无法删除该文件。

            三、文件特殊权限:SUID/SGID/Sticky Bit

          3. SUID(Set UID)
          4. SUID权限允许一般用户在执行程序时,暂时获得程序的拥有者权限。例如,/usr/bin/passwd文件的权限为-rwsr-xr-x,表示普通用户执行该程序时可获得root的权限。

            1. SGID(Set GID)
            2. SGID权限允许一般用户在执行程序时,获得程序的拥有者组ID。例如,某些系统程序可以使用SGID权限来提高安全性。

              1. Sticky Bit
              2. Sticky Bit权限仅适用于目录,表示只有目录的拥有者和root可以删除目录中的文件。例如,/tmp目录的权限为drwxrwxrwt,表示任何用户可以在/tmp下创建、修改文件,但只有拥有者和root可以删除文件。

                1. 设置特殊权限
                2. 要将文件设置为具有SUID/SGID/Sticky Bit权限,可以使用chmod命令:

                  chmod 4755 filename

                  其中,前面的数字表示:

                  • 4:SUID
                  • 7:SGID
                  • 5:Sticky Bit

                  四、文件类型(file)

                  file命令用于确定文件的类型。例如:

                  file ~/.bashrc

                  输出结果为:

                  .bashrc: ASCII text

                  file命令可以识别文件的格式,包括文本文件、二进制文件等。

                  五、搜索文件(find、whereis、locate)

                  在Linux系统中,find、whereis、locate命令用于搜索文件。其中,find命令从硬盘搜索,效率较低;whereis和locate命令从数据库搜索,效率较高。

                3. which(寻找可执行文件)
                4. which [-a] command

                  例如:

                  which passwd

                  输出结果为:

                  /usr/bin/passwd
                  1. whereis(寻找特定文件或目录)
                  2. whereis [-bmsu] filename

                    例如:

                    whereis -b passwd

                    输出结果为:

                    passwd: /usr/bin/passwd /etc/passwd
                    1. locate(寻找特定文件或目录)
                    2. locate filename

                      例如:

                      locate passwd

                      输出结果为:

                      /etc/passwd
                      1. find(强大搜索工具)
                      2. find命令功能强大,支持丰富的参数。例如:

                        find / -mtime 0

                        表示搜索当前目录下mtime为0的文件,即最近修改的文件。

                        通过find命令可以根据时间、权限、大小、文件名等条件搜索文件。

                        总结

                        通过本文的学习,我们掌握了修改文件时间、设置默认权限、管理隐藏属性、设置特殊权限以及搜索文件等关键技能。这些技能在实际操作Linux系统时非常有用,可以帮助我们更高效地管理文件和目录。

    上一篇:Linux学习之sed命令详解
    下一篇:Linux学习之CentOS(十一)--CentOS6.4下Samba服务器的安装与配置

    发表评论

    最新留言

    哈哈,博客排版真的漂亮呢~
    [***.90.31.176]2025年05月15日 07时17分41秒