天天看点

Linux 中一些命令的用法

一、date
[[email protected] ~]# date              # 普通的显示时间
2014年 09月 01日 星期一 14:25:23 CST
[[email protected] ~]# date +%Y%m%d      # 两种显示格式
20140901
[[email protected] ~]# date +%F
2014-09-01
[[email protected] ~]# date +%H:%M:%S    # 这两效果一样
14:28:51
[[email protected] ~]# date +%T
14:28:56
[[email protected] ~]# date +%F
2014-09-01
[[email protected] ~]# date --date '5 days ago' +'%Y-%m-%d'   # 以给定格式显示前五天的日期
2014-08-27
[[email protected] ~]# date --date '-5 days ago' +'%Y-%m-%d'  # 以给定格式显示后五天的日期
2014-09-06
[[email protected] ~]# date --date '1 week ago' +'%Y-%m-%d'   # 以给定格式显示上一周的日期
2014-08-25
[[email protected] ~]# date --date '1 year ago' +'%Y-%m-%d'   # 以给定格式显示上一年的日期
2013-09-01

二、find
[[email protected] ~]# find /var/tmp/ -name aclog   # 在 /var/tmp 下查找名字符合 aclog 的文件或目录或其他
/var/tmp/aclog
/var/tmp/aclog/aclog
[[email protected] ~]# find /var/tmp/ -type d -name aclog   # 在 /var/tmp 下查找名字为 aclog 的目录
/var/tmp/aclog
[[email protected] ~]# find /var/tmp/ -type f -name aclog   # 在 /var/tmp 下查找名字为 aclog 的文件
/var/tmp/aclog/aclog
[[email protected] ~]# find /var/tmp/ -type f -size -100k   # 在 /var/tmp 下查找小于 100k 的文件
/var/tmp/aclog/aclog
[[email protected] ~]# find /var/tmp/ -type f -mtime +9     # 在 /var/tmp 下查找 9 天前被修改过的文件
/var/tmp/check.sh
/var/tmp/databak_sql.sh
[[email protected] ~]# find /var/tmp/ -type f -mtime -9     # 在 /var/tmp 下查找 9 天内被修改过的文件
/var/tmp/rename.sh
/var/tmp/systeminfo.sh
/var/tmp/a.sh
/var/tmp/aclog/aclog
[[email protected] ~]# find /var/tmp/ -type f ! -mtime -9   # 在 /var/tmp 下查找 9 天内没有被修改过的文件
[[email protected] ~]# find / \( -nouser -o -nogroup \) -a -atime -1  # 查根目录下一天内被访问过的没有属主、属组的文件
[[email protected] ~]# find /etc -not -perm /222 -ls  # 查找 /etc 目录下任何人对其都没有写入权限的文件或目录

-perm  001  # 表示精确匹配权限为 u=0,g=0,o=1
-perm -001  # 表示只要 o 中有 x 权限就匹配 ,u g 有或没有权限都不管
-perm /001  # 表示 u g o 中只要有 x 权限就匹配 ,不管谁有都行
-perm /7000 # 表示 u g o 中只要有 SUID SGID SBIT 就匹配 ,不管谁有 ,不管还有没有其他权限

三、chattr、lsattr
[[email protected] ~]# mkdir /var/tmp/abc                    ## 创建测试目录
[[email protected] ~]# echo "testing" > /var/tmp/abc/a.txt   ## 测试文件
[[email protected] ~]# ll /var/tmp/abc/ -d                   ## 查看目录权限
drwxr-xr-x. 2 root root 4096 9月  25 15:36 /var/tmp/abc/
[[email protected] ~]# ll /var/tmp/abc/a.txt                 ## 文件权限
-rw-r--r--. 1 root root 8 9月  25 15:36 /var/tmp/abc/a.txt
[[email protected] ~]# lsattr /var/tmp/abc/a.txt             ## 查看 i 节点是否锁定
-------------e- /var/tmp/abc/a.txt
[[email protected] ~]# chattr +i /var/tmp/abc/a.txt          ## 锁定 i 节点
[[email protected] ~]# lsattr /var/tmp/abc/a.txt             ## 再次查看
----i--------e- /var/tmp/abc/a.txt
[[email protected] ~]# echo "aaaaaaaaaaa" >> /var/tmp/abc/a.txt     ## 测试写入文件 失败
-bash: /var/tmp/abc/a.txt: 权限不够
[[email protected] ~]# rm -rf /var/tmp/abc/a.txt                    ## 测试删除文件 失败
rm: 无法删除"/var/tmp/abc/a.txt": 不允许的操作 
[[email protected] ~]# chattr -i /var/tmp/abc/a.txt                 ## 解除 i 节点锁定
[[email protected] ~]# echo "aaaaaaaaaaa" >> /var/tmp/abc/a.txt     ## 再次测试
[[email protected] ~]# rm -rf /var/tmp/abc/a.txt
[[email protected] ~]# lsattr -d /var/tmp/abc/                      ## 查看目录权限
-------------e- /var/tmp/abc/
[[email protected] ~]# echo "testing " > /var/tmp/abc/b.txt         ## 写入测试文件
[[email protected] ~]# chattr +a /var/tmp/abc                       ## 添加 a 特殊化权限(添加后,目录或文件只能添加,不能删除)
[[email protected] ~]# lsattr -d /var/tmp/abc/                      ## 再次查看
-----a-------e- /var/tmp/abc/
[[email protected] ~]# echo "testing " > /var/tmp/abc/c.txt         ## 测试新增文件
[[email protected] ~]# echo "testing " >> /var/tmp/abc/c.txt        ## 测试修改文件
[[email protected] ~]# rm -rf /var/tmp/abc/b.txt                    ## 测试删除文件
rm: 无法删除"/var/tmp/abc/b.txt": 不允许的操作
[[email protected] ~]# rm -rf /var/tmp/abc/c.txt
rm: 无法删除"/var/tmp/abc/c.txt": 不允许的操作
[[email protected] ~]# rm -rf /var/tmp/abc                          ## 测试删除目录
rm: 无法删除"/var/tmp/abc/b.txt": 不允许的操作
rm: 无法删除"/var/tmp/abc/c.txt": 不允许的操作
[[email protected] ~]# lsattr /var/tmp/abc/                         ## 文件本身并没有特殊权限
-------------e- /var/tmp/abc/b.txt
-------------e- /var/tmp/abc/c.txt
[[email protected] ~]# chattr -a /var/tmp/abc                       ## 去除权限
[[email protected] ~]# lsattr -d /var/tmp/abc/
-------------e- /var/tmp/abc/
[[email protected] ~]# rm -rf /var/tmp/abc                          ## 恢复正常