命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。
-a:或–time=atime或–time=access或–time=use 只更改存取时间;
-c:或–no-create 不建立任何文件;
-d:<时间日期> 使用指定的日期时间,而非现在的时间;
-f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题;
-m:或–time=mtime或–time=modify 只更该变动时间;
-r:<参考文件或目录> 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同;
-t:<日期时间> 使用指定的日期时间,而非现在的时间;
创建一个已有的文件名并不会破坏原文件内容,只会刷新其时间;
[root@CentOS7 td]# ll file
-rw-r--r--. 1 root root 6 Sep 23 21:23 file
[root@CentOS7 td]# touch file
[root@CentOS7 td]# ll file
-rw-r--r--. 1 root root 6 Sep 23 21:24 file
[root@CentOS7 td]# cat file
hello
1:touch text.txt
2: cat /dev/null > text.txt
3:> text.txt (并不适应所有场景)
用来创建目录;如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定的目录;
如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。
-Z:设置安全上下文,当使用SELinux时有效;
-m<目标属性>或--mode<目标属性>建立目录的同时设置目录的权限;
-p或--parents 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;
[root@CentOS7 FIRST]# mkdir -p one/two/three
[root@CentOS7 FIRST]# ll
total 0
drwxr-xr-x. 3 root root 17 Sep 24 13:15 one
[root@CentOS7 FIRST]# tree
.
└── one
└── two
└── three
3 directories, 0 files
[root@CentOS7 FIRST]# mkdir -m 700 four
[root@CentOS7 FIRST]# ll
total 0
drwx------. 2 root root 6 Sep 24 13:16 four
drwxr-xr-x. 3 root root 17 Sep 24 13:15 one
可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。
-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
-f:强制删除文件或目录;
-i:删除已有文件或目录之前先询问用户;
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
--preserve-root:不对根目录进行递归操作;
-v:显示指令的详细执行过程。
系统默认rm是带有别名的,若要使用原rm可写为\rm
[root@CentOS7 data]# mkdir abc
[root@CentOS7 data]# touch abc/fili{a..c}
[root@CentOS7 data]# ll abc
total 0
-rw-r--r--. 1 root root 0 Sep 24 12:52 filia
-rw-r--r--. 1 root root 0 Sep 24 12:52 filib
-rw-r--r--. 1 root root 0 Sep 24 12:52 filic
[root@CentOS7 data]# rm -r abc/
rm: descend into directory ‘abc/’? y
rm: remove regular empty file ‘abc/filia’? n
rm: remove regular empty file ‘abc/filib’? n
rm: remove regular empty file ‘abc/filic’? n
rm: remove directory ‘abc/’? n
[root@CentOS7 data]# rm -f abc/
rm: cannot remove ‘abc/’: Is a directory
[root@CentOS7 data]# rm -f abc/*
[root@CentOS7 data]# ll abc
total 0
[root@CentOS7 data]# rmdir abc
[root@CentOS7 data]#
cat /dev/null > /boot/bigfile
rm -f /boot/bigfile
rm是个危险命令!谨慎操作!
用来删除空目录。当目录不再被使用时,或者磁盘空间已到达使用限定值,就需要删除失去使用价值的目录。利用rmdir命令可以从一个目录中删除一个或多个空的子目录.
-p或--parents:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除;
--ignore-fail-on-non-empty:此选项使rmdir命令忽略由于删除非空目录时导致的错误信息;
-v或-verboes:显示命令的详细执行过程;
[root@CentOS1908 data]# mkdir -p ./fi/f2/f3/f4
[root@CentOS1908 data]# tree /data
/data
├── fi
│ └── f2
│ └── f3
│ └── f4
└── script
└── file.txt
5 directories, 1 file
[root@CentOS1908 data]# rmdir -p fi/f2/f3/f4/
[root@CentOS1908 data]# tree /data
/data
└── script
└── file.txt
1 directory, 1 file
[root@CentOS1908 data]# echo hello >> script/file.txt
[root@CentOS1908 data]# rm -rf script
[root@CentOS1908 data]# ll
total 0
命令用来探测给定文件的类型。file命令对文件的检查分为文件系统、魔法幻数检查和语言检查3个过程。
-b:列出辨识结果时,不显示文件名称;
-c:详细显示指令执行过程,便于排错或分析程序执行的情形;
-f<名称文件>:指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称;
-L:直接显示符号连接所指向的文件类别;
-m<魔法数字文件>:指定魔法数字文件;
-v:显示版本信息;
-z:尝试去解读压缩文件的内容。
[root@CentOS1908 ~]# file -L /etc/passwd
/etc/passwd: ASCII text
[root@CentOS1908 ~]# file -b /etc/passwd
ASCII text
命令用来为文件创件连接,连接类型分为硬连接和符号连接两种,默认的连接类型是硬连接。如果要创建符号连接必须使用"-s"选项。
-b或--backup:删除,覆盖目标文件之前的备份;
-d或-F或——directory:建立目录的硬连接;
-f或——force:强行建立文件或目录的连接,不论文件或目录是否存在;
-i或——interactive:覆盖既有文件之前先询问用户;
-n或--no-dereference:把符号连接的目的目录视为一般文件;
-s或——symbolic:对源文件建立符号连接,而非硬连接;
-S<字尾备份字符串>或--suffix=<字尾备份字符串>:用"-b"参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,预设的备份字符串是符号“~”,用户可通过“-S”参数来改变它;
-v或——verbose:显示指令执行过程;
-V<备份方式>或--version-control=<备份方式>:用“-b”参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,这个字符串不仅可用“-S”参数变更,当使用“-V”参数<备份方式>指定不同备份方式时,也会产生不同字尾的备份字符串;
[root@CentOS1908 data]# ll
total 0
-rw-r--r--. 1 root root 0 Sep 25 20:24 file1
-rw-r--r--. 1 root root 0 Sep 25 20:24 file2
-rw-r--r--. 1 root root 0 Sep 25 20:24 file3
[root@CentOS1908 data]# ln -s /data/file3 /data/file.txt
[root@CentOS1908 data]# ll
total 0
-rw-r--r--. 1 root root 0 Sep 25 20:24 file1
-rw-r--r--. 1 root root 0 Sep 25 20:24 file2
-rw-r--r--. 1 root root 0 Sep 25 20:24 file3
lrwxrwxrwx. 1 root root 11 Sep 25 20:27 file.txt -> /data/file3
[root@CentOS8 data]# ll
total 0
-rw-r--r--. 1 root root 0 Sep 26 09:01 fi
[root@CentOS8 data]# ln fi fi.txt
[root@CentOS8 data]# ll
total 0
-rw-r--r--. 2 root root 0 Sep 26 09:01 fi
-rw-r--r--. 2 root root 0 Sep 26 09:01 fi.txt
符号链接和硬链接的区别? 答:
符号(或软)链接:
1、一个符号链接指向另一个文件
2、一个符号链接的内容是它引用文件的名称
3、可以对目录进行
4、可以跨分区
5、指向的是另一个文件的路径;
6、其大小为指向的路径字符串的长度;
7、不增加或减少目标文件inode的引用计数;
硬链接 :
1、创建硬链接会增加额外的记录项以引用文件
2、对应于同一文件系统上一个物理文件
3、每个目录引用相同的inode号
4、创建时链接数递增
5、删除文件时:rm命令递减计数的链接文件要存在,至少有一个链接数;当链接数为零时,该文件被删除;
6、不能跨越驱动器或分区
命令是命令行的电子邮件发送和接收工具.
-b<地址>:指定密件副本的收信人地址;
-c<地址>:指定副本的收信人地址;
-f<邮件文件>:读取指定邮件文件中的邮件;
-i:不显示终端发出的信息;
-I:使用互动模式;
-n:程序使用时,不使用mail.rc文件中的设置;
-N:阅读邮件时,不显示邮件的标题;
-s<邮件主题>:指定邮件的主题;
-u<用户帐号>:读取指定用户的邮件;
-v:执行时,显示详细的信息。
直接使用shell当编辑器
mail -s "Hello from linuxde.net by shell" [email protected]
hello,this is the content of mail.
welcome to www.linuxde.net
Hello, I am 用户名,The system version is here,please help me to check it ,thanks! 操作系统版本信息
[root@magedu ~]# mail -s help root << EOF
>Hello, I am `whoami`.
>The system version is here,please help me to check it,thanks!
>`cat /etc/redhat-release`
>EOF
可以显示真实有效的用户ID(UID)和组ID(GID)。UID 是对一个用户的单一身份标识。组ID(GID)则对应多个UID.
-g或--group 显示用户所属群组的ID。
-G或--groups 显示用户所属附加群组的ID。
-n或--name 显示用户,所属群组或附加群组的名称。
-r或--real 显示实际ID。
-u或--user 显示用户ID
[root@CentOS7 data]# id -u td
1000
[root@CentOS7 data]# id -g root
0
[root@CentOS7 data]# id td
uid=1000(td) gid=1000(td) groups=1000(td)
用来显示或操纵Linux主机的路由、网络设备、策略路由和隧道,是Linux下较新的功能强大的网络配置工具。
-V:显示指令版本信息;
-s:输出更详细的信息;
-f:强制使用指定的协议族;
-4:指定使用的网络层协议是IPv4协议;
-6:指定使用的网络层协议是IPv6协议;
-0:输出信息每条记录输出一行,即使内容较多也不换行显示;
-r:显示主机时,不使用IP地址,而使用主机的域名。
[root@CentOS7 data]# ip route list
default via 192.168.30.2 dev ens33 proto dhcp metric 100
192.168.30.0/24 dev ens33 proto kernel scope link src 192.168.30.134 metric 100
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
络层协议是IPv6协议;
-0:输出信息每条记录输出一行,即使内容较多也不换行显示;
-r:显示主机时,不使用IP地址,而使用主机的域名。
[root@CentOS7 data]# ip route list
default via 192.168.30.2 dev ens33 proto dhcp metric 100
192.168.30.0/24 dev ens33 proto kernel scope link src 192.168.30.134 metric 100
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1