本文共 2554 字,大约阅读时间需要 8 分钟。
在结束了第二期的广交会实习之后,又迎来了几天休闲的日子,继续学习Linux。在上一篇随笔中,详细记录了与Linux文件和目录管理相关的一些重要命令,包括目录与路径相关的命令、管理文件与目录的命令、查看文件内容命令等。本文将继续详细记录与Linux文件和目录管理相关的其他一些重要命令。
一、修改文件时间与创建新文件
在上一篇随笔介绍ls命令时,就有提到每个文件在Linux下面都会记录三个主要的修改时间:modification time (mtime)、status time (ctime)和access time (atime)。其中:
默认情况下,ls命令显示的是文件的mtime,即文件内容上次更改的时间。然而,在某些情况下,文件的时间可能会出错,例如安装Linux系统时可能会出现文件时间为未来某个时间的情况。这时,我们需要使用touch命令来修改文件时间或创建新文件。
touch命令的使用方法如下:
touch [-acdmt] <文件>文件>
其中,参数的意义如下:
通过实例可以了解touch命令的使用方法:
touch test.txt
cp -a ~/.bashrc bashrc
touch -d "3 days ago" bashrc
touch -t 1304242323 bashrc
touch命令不仅可以修改文件时间,还可以创建新文件。默认情况下,如果文件不存在,touch命令会创建一个空文件。
二、文件与目录的默认权限与隐藏权限
umask命令用于设置文件和目录的默认权限。默认情况下,umask的值为022,这会对文件和目录的默认权限产生影响:
umask 022的具体效果:
通过修改umask值,可以改变文件和目录的默认权限。例如,设置umask为002,可以使文件默认权限为-rw-rw-r--。
在Linux系统中,隐藏属性可以通过chattr命令设置或修改,通过lsattr命令查看。常见的隐藏属性包括:
例如:
chattr +i attrtest
设置+ i属性后,即使用户为root也无法删除该文件。
三、文件特殊权限:SUID/SGID/Sticky Bit
SUID权限允许一般用户在执行程序时,暂时获得程序的拥有者权限。例如,/usr/bin/passwd文件的权限为-rwsr-xr-x,表示普通用户执行该程序时可获得root的权限。
SGID权限允许一般用户在执行程序时,获得程序的拥有者组ID。例如,某些系统程序可以使用SGID权限来提高安全性。
Sticky Bit权限仅适用于目录,表示只有目录的拥有者和root可以删除目录中的文件。例如,/tmp目录的权限为drwxrwxrwt,表示任何用户可以在/tmp下创建、修改文件,但只有拥有者和root可以删除文件。
要将文件设置为具有SUID/SGID/Sticky Bit权限,可以使用chmod命令:
chmod 4755 filename
其中,前面的数字表示:
四、文件类型(file)
file命令用于确定文件的类型。例如:
file ~/.bashrc
输出结果为:
.bashrc: ASCII text
file命令可以识别文件的格式,包括文本文件、二进制文件等。
五、搜索文件(find、whereis、locate)
在Linux系统中,find、whereis、locate命令用于搜索文件。其中,find命令从硬盘搜索,效率较低;whereis和locate命令从数据库搜索,效率较高。
which [-a] command
例如:
which passwd
输出结果为:
/usr/bin/passwd
whereis [-bmsu] filename
例如:
whereis -b passwd
输出结果为:
passwd: /usr/bin/passwd /etc/passwd
locate filename
例如:
locate passwd
输出结果为:
/etc/passwd
find命令功能强大,支持丰富的参数。例如:
find / -mtime 0
表示搜索当前目录下mtime为0的文件,即最近修改的文件。
通过find命令可以根据时间、权限、大小、文件名等条件搜索文件。
总结
通过本文的学习,我们掌握了修改文件时间、设置默认权限、管理隐藏属性、设置特殊权限以及搜索文件等关键技能。这些技能在实际操作Linux系统时非常有用,可以帮助我们更高效地管理文件和目录。
转载地址:http://fhzfk.baihongyu.com/