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 [选项]...[目录]...
命令 | 描述 |
---|---|
-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 [选项] [目录...]
命令 | 描述 |
---|---|
-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 [-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,结果只有文件所有者具有读/写文件的权限,其他用户不能 访问该文件。这显然是一种非常安全的状态。