linux 文件管理命令:tmpwatch touch tree umask

tmpwatch:删除临时文件

  • 作用:修改文件时间信息。
  • 用法:touch [选项]...[目录]...
  • 主要选项如下:
命令 描述
-a 改变文件的读取时间记录。
-c, --no-create 不建立任何文件。
-d, --date=STRING 设定时间与日期,可以使用各种不同的用法。
-F SEC, --forward=SEC 使用参考文件的时间记录。
-m 改变文件的修改时间记录
-r, --reference=文件 使用指定文件的时间属性而非目前的时间。
-t STAMP 使用[[CC]YY]MMDDhhmm[.ss]用法的时间而非目前的时间。

案例练习

(1)将文件的时间记录改为现在的时间。

touch myfile

若文件不存在,系统会建立一个新的文件。

(2)将文件 myfile 的时间记录改为 1 月 6 日 18∶03。

touch -c -t 01061803 myfile 

时间的用法可以参考 date 命令,至少需要输入 MMDDhhmm,也就是月、日、时与分。

(3)将 myfile 的时间记录改成公元 2005 年 1 月 6 日 18∶03。

touch -d "6:03pm 01/06/2005" file

时间可以使用 am、pm,是 24 小时的用法。日期可以使用其他用法,如 6 JAN 2005。

(4)应用进阶。

有时 Linux 文件系统空间被占满了,要查询滥用磁盘的用户。首先要查出哪些文件是新创 建的、哪些是更新的,以便找出不正常的大文件。使用命令 touch 生成一个文件,时间戳会根 据情况设定为比较近的日期,再使用 find 命令找出更新的文件。

touch -d "6:03pm 02/06/2005" test 
find /home -newer test –print

系统会在屏幕上显示那些更新的文件的位置,也就知道了它的用户。

touch:更新文件目录时间

  • 作用:修改文件时间信息。
  • 用法:touch [选项]...[目录]...
  • 主要选项如下:
命令 描述
-a 改变文件的读取时间记录。
-c, --no-create 不建立任何文件。
-d, --date=STRING 设定时间与日期,可以使用各种不同的用法。
-F SEC, --forward=SEC 使用参考文件的时间记录。
-m 改变文件的修改时间记录
-r, --reference=文件 使用指定文件的时间属性而非目前的时间。
-t STAMP 使用[[CC]YY]MMDDhhmm[.ss]用法的时间而非目前的时间。

案例练习

(1)将文件的时间记录改为现在的时间。

touch myfile

若文件不存在,系统会建立一个新的文件。

(2)将文件 myfile 的时间记录改为 1 月 6 日 18∶03。

touch -c -t 01061803 myfile

时间可以使用 am、pm,是 24 小时的用法。日期可以使用其他用法,如 6 JAN 2005。

(4)应用进阶。

有时 Linux 文件系统空间被占满了,要查询滥用磁盘的用户。首先要查出哪些文件是新创 建的、哪些是更新的,以便找出不正常的大文件。使用命令 touch 生成一个文件,时间戳会根 据情况设定为比较近的日期,再使用 find 命令找出更新的文件。

touch -d "6:03pm 02/06/2005" test 
find /home -newer test –print

tree:以树状图显示目录内容

  • 作用:有时候我们想了解一个文件夹或者驱动器根目录下的所有文件,并希望它以资源管 理器的树形视图方式显示文件结构。
  • 用法:tree [选项] [目录...]
  • 主要选项如下:
命令 描述
-a 显示所有文件和目录。
-A 使用 ASNI 绘图字符显示树状图而非以 ASCII 字符组合。
-C 给文件和目录清单加上色彩,便于区分各种类型。
-d 显示目录名称而非内容。
-D 列出文件目录的更改时间。
-f 在每个文件目录之前,显示完整的相对路径名称。
-F 在执行文件、目录、Socket、符号链接、管道名称前各自加上“*”、“/”、“=”、“@”、“|”号
-g 列出文件目录的所属群组名称,没有对应的名称时,则显示群组识别码。
-i 不以阶梯状列出文件目录名称。
-I<范本样式> 不显示符合范本样式的文件目录名称。
-l 如遇到性质为符号链接的目录,直接列出该链接所指向的原始目录。
-n 不给文件和目录清单加上色彩。
-N 直接列出文件和目录名称,包括控制字符。
-p 列出权限标识。
-P<范本样式> 只显示符合范本样式的文件目录名称。
-q 用“?”取代控制字符,列出文件和目录名称。
-s 列出文件目录大小。
-t 按文件和目录的更改时间排序。
-u 列出文件目录的拥有者名称,没有对应的名称时,则显示用户识别码。
-x 将范围局限在现行的文件系统中。若指定目录下的某些子目录存放于另一个文件系统上,则将该子目录排除在寻找范围外。

案例练习

查看/root/ossec-hids-1.5 目录树结构,分页显示。

# tree /root/ossec-hids-1.5 |more 
/root/ossec-hids-1.5 
|-- BUGS 
|-- CONFIG 
|-- CONTRIB 
|-- INSTALL 
|-- LICENSE 
|-- README 
|-- active-response 
| |-- disable-account.sh 
| |-- firewall-drop.sh 
| |-- firewalls 
| | |-- ipfw.sh 
| | |-- ipfw_mac.sh 
| | `-- pf.sh 
| |-- host-deny.sh 
| `-- route-null.sh 

umask:指定在建立文件时预设的权限掩码

  • 作用:指定在建立文件时预设的权限掩码。
  • 用法:umask [-p] [-S] [mode]
  • 主要选项如下:
命令· 描述
-S 以文字的方式表示权限掩码。
-p 以数字的方式表示权限掩码。
mode 权限掩码。

说明 当最初登录到系统中时,umask 命令就确定了创建文件的默认模式。这一命令实 际上和 chmod 命令正好相反。系统管理员必须要为用户设置一个合理的 umask 值, 以确保用户创建的文件具有所希望的默认权限,防止其他非同组用户对用户的文件具 有写权限。在已经登录之后,可以按照个人的偏好使用 umask 命令来改变文件创建的默 认权限。相应的改变直到退出该 Shell 使用另外的 umask 命令之前一直有效。一般来说, umask 命令是在/etc/profile 文件中设置的,每个用户在登录时都会引用这个文件,所以如 果希望改变所有用户的 umask,可以在该文件中加入相应的条目。如果希望永久性地设 置自己的 umask 值,那么就把它放在自己的$HOME 目录下的.profile.bash_profile 文件中。

umask 命令允许设定文件创建时的默认模式,对应每一类用户(文件属主、同组用户、其 他用户)存在一个相应的 umask 值中的数字。对于文件来说,这一数字的最大值是 6。系统不 允许在创建一个文本文件时就赋予它执行权限,必须在创建后用 chmod 命令增加这一权限。目 录则允许设置执行权限,这样针对目录来说,umask 中各个数字最大可以是 7。

常用的 umask 值及对应的目录和文件权限

umask 值 目录权限 文件权限
022 775 644
027 750 640
002 755 664
006 771 660
007 770 660

案例练习

(1)如果想知道当前的 umask 值,可以使用没有任何参数的 umask 命令。

#umask 
0022 

(2)如果想要改变 umask 值,只要使用 umask 命令设置一个新值即可。

#umask 002

(3)确认系统是否已经接受了新的 umask 值。

# umask 002 
# umask 
0002

在使用 umask 命令之前,一定要弄清楚到底希望文件/目录具有什么样的默认权限,否则 可能会得到一些非常奇怪的结果。例如,如果将 umask 值设置为 600,那么所创建的文件/目录 的默认权限就是 066。

(4)使用 umask 命令设置安全权限。

# umask 117 
# umask -S 
u=rw,g=rw,o=

上述命令把 umask 值改为 117,结果只有文件所有者具有读/写文件的权限,其他用户不能 访问该文件。这显然是一种非常安全的状态。

猜你喜欢

转载自blog.csdn.net/u014096024/article/details/131684822