1、文件权限
(1) 执行 echo pwd >> pwd.sh,然后使用 ls -al 查询一下,发生了什么事?
执行结果:您在 /var/spool/mail/lll 中有新邮件
在本文件夹下生成一个pwd.sh文件
(2)以两种方式查看系统中新建文件或目录的默认权限
1.ls -l可以查看所有文件的权限,可以先mkdir file新建一个目录,在使用ls -l去查看此文件的权限,得到的就是该系统新建目录的默认权限。
2.同1类似,可以先cat > file2 新建一个文本,回车之后不会显示[lll@myWMware 文档]$ 现在是要求你在文档中输入内容,可以使用Ctrl+d退出编辑,在使用ls -l去查看此文件的权限,得到的就是该系统新建文件的默认权限。(注意我的空格)
3.ls -l filename 可以查看指定文件名的权限
(1)例如;ls -l pwd.sh可以查看pwd.sh的权限
4.当我们在系统中新建一个文件或目录时,系统会自动赋予该文件或目录一个初始访问权限,我们称为默认权限,默认权限与文件系统的umask值有关。可以在终端下 直接输入 umask来查看当前系统的umask值。
(1)例如:我的就是0002.
(2)其中第一位是特殊字符,不做考虑,我的后三位是002,一般系统默认设置的权限为:新建文件的权限是-rw-rw-rw-,权限值是666;新建目录的权限是drwxrwxrwx,权限值是777。所以我的系统的新建文件权限是666-002=664(-rw-rw-r–),新建目录的权限是777-002=775(drwxrwxr-x)
(3)新建文件 test1 和目录 test2,查看它们的权限是否与(2)中的默认权限相符
①新建文件[lll@myWMware 文档]$ cat > test1
②不添加内容,Ctrl+d退出编辑
③查看新建文件的权限[lll@myWMware 文档]$ ls -l test1
④新建文件权限:-rw-rw-r–. 1 lll lll 0 3月 1 19:58 test1,符合我的预测
⑤新建目录[lll@myWMware 文档]$ mkdir test2
⑥查看新建目录的权限:ls -l test2
⑦结果:总用量 0(这个表明这个目录里面为空),我们可以右击这个目录,在权限里面查看。
(4)修改 pwd.sh 文件权限为 r-xr–r–。
①查看pwd.sh的权限,ls -l pwd.sh
②初始权限展示:-rw-rw-r–. 1 lll lll 4 3月 1 19:19 pwd.sh
③修改权限:[lll@myWMware 文档]$ chmod u-w,u+x,g-w pwd.sh
④结果展示:-r-xr–r–. 1 lll lll 4 3月 1 19:19 pwd.sh
(5)执行 pwd.sh。(提示:执行本路径下文件的命令是 ./文件名)。
①执行:[lll@myWMware 文档]$ ./pwd.sh
②结果:/home/lll/文档(根目录)
(6)添加用户 stu,修改密码为 12345678。
①权限不够请退出更换为root,重新进行操作。
②终端输入su,回车,输入密码,切换为root
③添加用户:[root@myWMware 文档]# useradd -m stu
④修改密码:[root@myWMware 文档]# passwd stu
⑤输入密码提示:无效的密码: 密码未通过字典检查 – 过于简单化/系统化,重新输入一个复杂密码即可。或者不用理会。
⑥passwd:所有的身份验证令牌已经成功更新。出现这个就说明修改成功。
(7)修改文件 test1 的属主为 stu,test1 所属的组为 stu。
①可以使用chown命令来修改文件的属主,例如:chown username:groupname filename。例如:[root@myWMware 文档]# chown stu:stu test1
(8)增加 test1 的属主具有可执行的权限。
①[root@myWMware 文档]# chmod u+x test1
②查看:[root@myWMware 文档]# ls -l test1
③结果:-rwxrw-r–. 1 stu stu 0 3月 1 19:58 test1
2、文件查找
(1) 查看文件/root/.bashrc 的类型
输入:file /root/.bashrc
结果:/root/.bashrc: ASCII text
(2) 查询 ifconfig 和 cd 命令的完整文件名
输入:which ifconfig
输出:/usr/sbin/ifconfig
输入:which cd
输出:/usr/bin/cd
(3) 只找出跟 passwd 有关的“说明文件”文件名
输入:whereis -m passwd
输出:passwd: /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz
(4) 找出系统中所有与 passwd 相关的文件名
输入:locate passwd
输出:所有与 passwd 相关的文件名,数量太多,不粘贴了
(5) 将过去系统上面 3 天前的 24 小时内有改动(mtime)的文件列出
输入:find / -mtime 3
(6) 使用 find 查找当前目录下比 man_db.config(manpath.config)新的文件,并存储到 man.config.new 文件。
输入:find root/270830914 -newer manpath.config >man.config.new
输出:find: ‘man_db.config’: 没有那个文件或目录
(7) 列出/etc 下比/etc/man_db.config 新的文件
输入:find /etc -newer /etc/man_db.config
输出:find: ‘/etc/man_db.config’: 没有那个文件或目录
解决方法:
输入:find /etc -newer /etc/passwd(列出/etc 下比/etc/passwd 新的文件)
输出:/etc
/etc/group
/etc/resolv.conf
/etc/gshadow
/etc/cups
/etc/cups/subscriptions.conf.O
/etc/cups/subscriptions.conf
/etc/shadow
/etc/tuned/profile_mode
/etc/tuned/active_profile
(8) 查找系统中所有属于 root 的文件及不属于任何人的文件
输入:find / -user root
输出:结果太长不粘贴
输入::find / -nouser
输出:结果太长不粘贴
(9)使用 find 查找/下面所有名称为 man_db.config 的文件。
输入:find / -name man_db.config
输出:没有结果,没有这个文件
输入:find / -name file1.txt
输出:/home/lll/文档/file1.txt
(10) 使用 locate 查找所有名称为 file1.txt 的文件。
输入:没有结果
(11) 9 步和 10 步的结果一样么?为什么?
不一样,locate 更加详细与之相关联的也都列出来
(12) 找出/etc 下文件类型为 f 的文件
输入:find /etc -type f
输出:结果太长不粘贴
(13)找出系统中大于 1M 的文件
输入:find / -size +1000k
输出:结果太长不粘贴
3、crontab 定时任务:每周一的凌晨 2:00 重启服务器
cat /etc/crontab(创建一个脚本)
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
0 2 * * * root cd / && run-parts –report /etc/cron.hourly