您现在的位置是:首页 > 编程 > 

19.linux 文件管理命令:tee/tmpwatch删除临时文件/touch更新文件目录时间/tree/umask

2025-07-29 15:16:43
19.linux 文件管理命令:tee/tmpwatch删除临时文件/touch更新文件目录时间/tree/umask linux 文件管理命令:tee读取标准输入到标准输出并可保存为文件/tmpwatch删除临时文件/touch更新文件目录时间/tree以树状图显示目录内容/umask指定在建立文件时预设的权限掩码tee:读取标准输入到标准输出并可保存为文件 /tmpwatch删除临时文件作用:

19.linux 文件管理命令:tee/tmpwatch删除临时文件/touch更新文件目录时间/tree/umask

linux 文件管理命令:tee读取标准输入到标准输出并可保存为文件/tmpwatch删除临时文件/touch更新文件目录时间/tree以树状图显示目录内容/umask指定在建立文件时预设的权限掩码

tee:读取标准输入到标准输出并可保存为文件 /tmpwatch删除临时文件
  • 作用:读取标准输入的数据,并将其内容输出成文件。
  • 用法:tee 选项
  • 主要选项如下:

命令

描述

-a,--append

内容追加到给定的文件而非覆盖。

-i,--ignore-interrupts

忽略中断信号。

--help

显示此帮助信息并退出。

--version

显示版本信息并退出。

如果文件指定为“-”,则将输入内容复制到标准输出。

说明 tee 命令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成 文件

案例练习

(1)要同时查看和保存一个命令的输出。

代码语言:shell复制
#sort  | tee program.lint

它在工作站上显示命令 sort 的标准输出,同时在文件 program.lint 中保存输出的 一个副本。如果 program.lint 文件早已存在,它将被删除并替换。

(2)要同时查看一个命令的输出并保存到一个现有文件。

代码语言:shell复制
# sort  | tee -a program.lint

它将在工作站上显示 sort 命令的标准输出,同时在 program.lint 文件尾部添加输 出的一个副本。如果 program.lint 文件不存在,它将被创建。

tmpwatch:删除临时文件
  • 作用:修改文件时间信息。
  • 用法:touch [选项]...[目录]...
  • 主要选项如下:

命令

描述

-a

改变文件的读取时间记录。

-c, --no-create

不建立任何文件。

-d, --date=STRIG

设定时间与日期,可以使用各种不同的用法。

-F SEC, --forward=SEC

使用参考文件的时间记录。

-m

改变文件的修改时间记录

-r, --reference=文件

使用指定文件的时间属性而非目前的时间。

-t STAMP

使用[CCYY]MMDDhhmm.ss用法的时间而非目前的时间。

案例练习

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

代码语言:shell复制
touch myfile

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

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

代码语言:shell复制
touch -c -t 0106180 myfile 

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

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

代码语言:shell复制
touch -d "6:0pm 01/06/2005" file

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

(4)应用进阶。

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

代码语言:shell复制
touch -d "6:0pm 02/06/2005" test 
find /home -newer test –print

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

touch:更新文件目录时间
  • 作用:修改文件时间信息。
  • 用法:touch [选项]...[目录]...
  • 主要选项如下:

命令

描述

-a

改变文件的读取时间记录。

-c, --no-create

不建立任何文件。

-d, --date=STRIG

设定时间与日期,可以使用各种不同的用法。

-F SEC, --forward=SEC

使用参考文件的时间记录。

-m

改变文件的修改时间记录

-r, --reference=文件

使用指定文件的时间属性而非目前的时间。

-t STAMP

使用[CCYY]MMDDhhmm.ss用法的时间而非目前的时间。

案例练习

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

代码语言:shell复制
touch myfile

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

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

代码语言:shell复制
touch -c -t 0106180 myfile

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

(4)应用进阶。

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

代码语言:shell复制
touch -d "6:0pm 02/06/2005" test 
find /home -newer test –print
tree:以树状图显示目录内容
  • 作用:有时候我们想了解一个文件夹或者驱动器根目录下的所有文件,并希望它以资源管 理器的树形视图方式显示文件结构。
  • 用法:tree [选项] [目录...]
  • 主要选项如下:

命令

描述

-a

显示所有文件和目录。

-A

使用 ASI 绘图字符显示树状图而非以 ASCII 字符组合。

-C

给文件和目录清单加上彩,便于区分各种类型。

-d

显示目录名称而非内容。

-D

列出文件目录的更改时间。

-f

在每个文件目录之前,显示完整的相对路径名称。

-F

在执行文件、目录、Socket、符号链接、管道名称前各自加上“*”、“/”、“=”、“@”、“|”号

-g

列出文件目录的所属组名称,没有对应的名称时,则显示组识别码。

-i

不以阶梯状列出文件目录名称。

-I<范本样式>

不显示符合范本样式的文件目录名称。

-l

如遇到性质为符号链接的目录,直接列出该链接所指向的原始目录。

-n

不给文件和目录清单加上彩。

-

直接列出文件和目录名称,包括控制字符。

-p

列出权限标识。

-P<范本样式>

只显示符合范本样式的文件目录名称。

-q

用“?”取代控制字符,列出文件和目录名称。

-s

列出文件目录大小。

-t

按文件和目录的更改时间排序。

-u

列出文件目录的拥有者名称,没有对应的名称时,则显示用户识别码。

-x

将范围局限在现行的文件系统中。若指定目录下的某些子目录存放于另一个文件系统上,则将该子目录排除在寻范围外。

案例练习

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

代码语言:shell复制
# tree /root/ossec-hids-1.5 |more 
/root/ossec-hids-1.5 
|-- BUGS 
|-- COFIG 
|-- COTRIB 
|-- ISTALL 
|-- LICESE 
|-- README 
|-- active-respe 
| |-- 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 命令。

代码语言:shell复制
#umask 
0022 

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

代码语言:shell复制
#umask 002

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

代码语言:shell复制
# umask 002 
# umask 
0002

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

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

代码语言:shell复制
# umask 117 
# umask -S 
u=rw,g=rw,o=

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

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1191543.html

相关标签:无
上传时间: 2025-07-22 22:45:02
留言与评论(共有 8 条评论)
本站网友 盱眙二手房
8分钟前 发表
代码语言:shell复制#sort | tee program.lint它在工作站上显示命令 sort 的标准输出
本站网友 快报19楼
16分钟前 发表
是 24 小时的用法
本站网友 屏幕尺寸计算
0秒前 发表
有时 Linux 文件系统空间被占满了
本站网友 国务院分工
7分钟前 发表
同组用户
本站网友 济南婚庆
12分钟前 发表
--reference=文件 使用指定文件的时间属性而非目前的时间
本站网友 网页挂qq
19分钟前 发表
如果 program.lint 文件早已存在
本站网友 放长线钓大鱼
2分钟前 发表
便于区分各种类型