Day 21 第三关练习题-权限
第1章 练习题
1.1 复习
1.1.1 sed 替换 后向引用
1.1.2 awk 取列
1.1.3 通过三剑客进行过滤
grep/egrep
sed
sed -n '10p' oldboy.txt 取出第10行
sed -n '/oldboy/p' oldboy.txt 取出含有oldboy的行
awk
awk 'NR==10' oldboy.txt 取出第10行
awk '/oldboy/' oldboy.txt 取出含有oldboy的行
[root@oldboyedu50-lnb ~]# awk '/IPADDR/' /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=10.0.0.200 先取出IPADDR一行
[root@oldboyedu50-lnb ~]# awk -F= '/IPADDR/{print $2}' /etc/sysconfig/network-scripts/ifcfg-eth0
10.0.0.200
#'条件{动作}'
#NR==2
#NR>=10
#/oldboy/
1.2 练习题
1.2.1 #取出网卡中的DNS
[root@CJY ~]#cat /etc/sysconfig/network-scripts/ifcfg-eth0|awk –F ‘/DNS/{print $2}’
223.6.6.6
223.5.5.5
1.2.2 显示 年-月-日_周几 date +%F_%w
[root@oldboyedu50-lnb ~]# date -d '-1year' 一年前
Sun Jul 23 16:44:04 CST 2017
[root@oldboyedu50-lnb ~]# date -d '-1day' 一天前
Sun Jul 22 16:44:12 CST 2018
[root@oldboyedu50-lnb ~]# date -s "20180521 12:12:12"
Mon May 21 12:12:12 CST 2018
1.2.3 #自动同步时间
[root@oldboyedu50-lnb ~]# date
Mon May 21 12:13:23 CST 2018
[root@oldboyedu50-lnb ~]# ntpdate ntp1.aliyun.com
6 Aug 09:01:17 ntpdate[1849]: step time server 120.25.115.20 offset 6641251.972418 sec
[root@oldboyedu50-lnb ~]# date
Mon Aug 6 09:01:22 CST 2018
[root@oldboyedu50-lnb ~]# date
Mon Aug 6 09:01:41 CST 2018
[root@oldboyedu50-lnb ~]# ntpdate ntp1.aliyun.com
6 Aug 09:01:43 ntpdate[1868]: adjust time server 120.25.115.20 offset -0.000203 sec
ntp1.aliyun.com #时间服务器 校对时间
1.2.4 打包压缩 /etc/目录 压缩到/tmp,每天创建的压缩包名字要不同
[root@oldboyedu50-lnb ~]# #tar zcf /tmp/etc.tar.gz /etc/
[root@oldboyedu50-lnb ~]# #tar zcf /tmp/etc-2018-06-06.tar.gz /etc/
[root@oldboyedu50-lnb ~]# date +%F
2018-08-06
[root@oldboyedu50-lnb ~]# tar zcf /tmp/etc-$(date +%F).tar.gz /etc/
tar: Removing leading `/' from member names
[root@oldboyedu50-lnb ~]# ll /tmp/etc-2018-08-06.tar.gz
-rw-r--r-- 1 root root 9734087 Aug 6 09:19 /tmp/etc-2018-08-06.tar.gz
[root@oldboyedu50-lnb ~]# tar tf /tmp/etc-2018-08-06.tar.gz
[root@oldboy ~]# tar zcf /tmp/"date +%F_%H".tar.gz /etc
tar: Removing leading `/' from member names
1.2.5 查找当前目录下所有文件,并把文件中的www.etiantian.org字符串替换成www.oldboyedu.com。
假设你在/oldboy
find /oldboy -type f
#方法1
find /oldboy -type f |xargs sed 's#www.etiantian.org#www.oldboyedu.com#g'
#方法2
sed 's#www.etiantian.org#www.oldboyedu.com#g' `find /oldboy -type f `
sed 's#www.etiantian.org#www.oldboyedu.com#g' $(find /oldboy -type f )
#方法3
find /oldboy -type f -exec sed 's#www.etiantian.org#www.oldboyedu.com#g' {} \;
1.2.6 问题:请问在一个命令上加什么参数可以实现下面命令的内容在同一行输出。echo "oldboy";echo "oldboy"
[root@oldboyedu50-lnb ~]# echo 'oldboy'
oldboy
[root@oldboyedu50-lnb ~]# echo -n 'oldboy'
oldboy[root@oldboyedu50-lnb ~]#
[root@oldboyedu50-lnb ~]#
[root@oldboyedu50-lnb ~]# echo 'oldboy\nold\n\nlidao'
oldboy\nold\n\nlidao
[root@oldboyedu50-lnb ~]# echo oldboy\nold\n\nlidao"
[root@oldboyedu50-lnb ~]# echo "oldboy\nold\n\nlidao"
oldboy\nold\n\nlidao
[root@oldboyedu50-lnb ~]#
[root@oldboyedu50-lnb ~]# echo -e "oldboy\nold\n\nlidao"
oldboy
old
lidao
[root@oldboyedu50-lnb ~]# echo -e "oldboy\nold\n\nlidao"
oldboy
old
lidao
#-n不显示每行结尾的回车
#-e 让echo命令支持 转义字符 \n \t
1.2.7 当从root用户切到普通用户oldboy时,执行ifconfig会提示。command not found
输入命令时候提示 command not found
模拟环境
export PATH= 有些命令能用有些不能用
打开另一个窗口执行以下命令
[root@CJY ~]#echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
第2章 2.1 PATH环境变量问题
PATH 路径 环境变量 存放的是 命令路径
2.1 如何修改PATH
1.临时
[root@oldboyedu50-lnb ~]# export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:~/bin
[root@oldboyedu50-lnb ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
2.永久
[root@oldboyedu50-lnb ~]# tail -1 /etc/profile
#export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:~/bin
[root@oldboyedu50-lnb ~]# source /etc/profile
3.检查
发出当前系统使用的 PATH
2.2请描述下列路径的内容是做什么的?
/var/log/messages 系统默认日志
/var/log/secure 记录用户登录信息
/etc/fstab 开机自动挂载
/etc/hosts 解析主机名(域名)
/etc/rc.local 开机自启动
/etc/profile 别名 环境变量
/var/spool/cron/root 定时任务的配置文件
2.3#修改主机名
2.1.1 临时
hostname
2.1.2 永久
/etc/sysconfig/network
2.1.3 解析
[root@oldboyedu50-lnb ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.200 oldboyedu50-lnb
[root@oldboyedu50-lnb ~]# ping `hostname`
PING oldboyedu50-lnb (10.0.0.200) 56(84) bytes of data.
64 bytes from oldboyedu50-lnb (10.0.0.200): icmp_seq=1 ttl=64 time=0.021 ms
64 ytes from oldboyedu50-lnb (10.0.0.200): icmp_seq=2 ttl=64 time=0.021 ms
2.4如何快速查到ifconfig的全路径,请给出命令。
which
[root@oldboyedu50-lnb ~]# find / -type f -name "ifconfig"
/sbin/ifconfig
[root@oldboyedu50-lnb ~]# which ifconfig
/sbin/ifconfig
[root@oldboyedu50-lnb ~]# which rm 有别名
alias rm='echo rm bny'
/bin/echo
[root@oldboyedu50-lnb ~]# \which rm 加上撬棍,取消别名
/bin/rm
2.4.1whereis 显示命令相关的内容
[root@oldboyedu50-lnb ~]# whereis grep awk
grep: /bin/grep /usr/share/man/man1p/grep.1p.gz /usr/share/man/man1/grep.1.gz
awk: /bin/awk /usr/bin/awk /usr/libexec/awk /usr/share/awk /usr/share/man/man1p/awk.1p.gz /usr/share/man/man1/awk.1.gz
locate 根据名字查找位置
根据清单进行查找
updatedb 更新locate所用的表格(清单)
占用磁盘IO 读写
2.5【用户管理】请给出查看当前哪些用户在线的linux命令。
w
[root@oldboyedu50-lnb ~]# w
10:41:59 up 2:07, 2 users, load average: 0.04, 0.02, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 10.0.0.1 23Jul18 0.00s 0.28s 0.00s w
root pts/1 10.0.0.1 09:56 29:20 0.00s 0.00s -bash
[root@oldboyedu50-lnb ~]# w |awk 'NR==1{print $(NF-6)}'
2
[root@oldboyedu50-lnb ~]# #先乘除后加减有括号先算括号里面的
2.6请给出正确的关机和重起服务器的命令。
重启 reboot
shutdown -r 10 10分钟后重启
shutdown -r 0/now 立即重启
shutdown -c 取消当前的重启或关机
init 6 运行级别6 à重启
关机 halt
shutdown -h 10 10分钟后关机
shutdown -h 0/now 立即关机
poweroff 关机
init 0 运行级别0 à关机
2.7请写出下面linux命令行快捷键的功能?
Ctrl + a 把光标移动到行首
Ctrl + e 把光标移动到行尾
Ctrl + c 取消 cancel
Ctrl + d 退出当前用户
Ctrl + l 清屏
Ctrl + u 把光标所在位置到行首的内容删除(剪切)
Ctrl + k 把光标所在位置到行尾的内容删除(剪切)
Ctrl + y 粘贴
Ctrl + r 找出最近一次使用过的 包含xxxx的命令 替你执行
history |grep awk
ctrl+s 锁屏
ctrl+q/c 解锁
2.8命令行输入oldboyedu然后让光标移动到行首 加上注释符号和I am studying然后让光标移动到行尾,加上 linux.site:www.oldboyedu.com;剪切,这一行内容。粘贴3次。
[root@oldboy50-lnb ~]##I am studying oldboyedu linux.site.www.oldboyedu.com;#I am studying oldboyedu linux.site.www.oldboyedu.com;#I am studying oldboyedu linux.site.www.oldboyedu.com;
第3章 Linux权限
3.1 linux如何知道我对某个文件或目录有什么权限?
[root@oldboyedu50-lnb ~]# su - oldboy
[oldboy@oldboyedu50-lnb ~]$ ll /etc/hosts
-rw-r--r-- 1 root root 186 Aug 6 10:24 /etc/hosts
3.2 #如何快速判断 你对某个文件拥有什么权限
3.2.1 看看是你谁?
#whoami oldboy
3.2.2 你与这个文件什么关系 : 主人 家人 陌生人
#是否是家人
[oldboy@oldboyedu50-lnb ~]$ id oldboy
uid=500(oldboy) gid=500(oldboy) groups=500(oldboy)
#oldboy用户 文件是 陌生人关系
3.2.3 #3.确认权限 陌生人权限 看最后三位
[root@CJY ~]#su – yyy 切换用户
[yyy@CJY ~]$ll /oldboy/oldboy.txt 查看文件
-rw-r--r-- 1 root root 55 May 22 16:29 /oldboy/oldboy.txt
[yyy@CJY ~]$id 属于yyy组,为陌生人
uid=507(yyy) gid=510(yyy) groups=510(yyy)
3.2.4 #oldboy对他的权限
r 4
w 2
x 1
- 0
rw-r--r--
420400400
6 4 4
755 rwxr-xr-x
640 rw-r-----
744 rwxr--r--
600 rw-------
3.3 修改权限 change mode chmod
3.3.1 直接通过数字形式修改权限
[root@oldboyedu50-lnb /oldboy]# chmod 666 test.txt
[root@oldboyedu50-lnb /oldboy]# ll test.txt
-rw-rw-rw- 1 root root 23 Jul 20 01:13 test.txt
[root@oldboyedu50-lnb /oldboy]# chmod 777 test.txt
[root@oldboyedu50-lnb /oldboy]# ll test.txt
-rwxrwxrwx 1 root root 23 Jul 20 01:13 test.txt
3.3.2 通过字母 形式修改
rw- rw- rw-
主人 家人 陌生人
所有者 所属用户组 其他人
user group other
u g o
[root@oldboyedu50-lnb /oldboy]# chmod u=r test.txt
[root@oldboyedu50-lnb /oldboy]# ll test.txt
-r--rwxrwx 1 root root 23 Jul 20 01:13 test.txt
#= >
#+ 增加
#- 减去
3.3.3 给文件快速增加执行权限
[root@oldboyedu50-lnb /oldboy]# chmod ugo+x test.txt
[root@oldboyedu50-lnb /oldboy]# ll test.txt
-rwxr-xr-x 1 root root 23 Jul 20 01:13 test.txt
[root@oldboyedu50-lnb /oldboy]# chmod a-x test.txt
[root@oldboyedu50-lnb /oldboy]# ll test.txt
-rw-r--r-- 1 root root 23 Jul 20 01:13 test.txt
[root@oldboyedu50-lnb /oldboy]# chmod +x test.txt
[root@oldboyedu50-lnb /oldboy]# ll test.txt
-rwxr-xr-x 1 root root 23 Jul 20 01:13 test.txt
chmod ugo+x ==chmod a+x ==chmod +x
3.3.4 #chown change owner 修改文件的所有者
[root@oldboyedu50-lnb /oldboy]# chown oldboy.oldboy test.txt
[root@oldboyedu50-lnb /oldboy]# ll test.txt
-rwxr-xr-x 1 oldboy oldboy 23 Jul 20 01:13 test.txt
[root@oldboyedu50-lnb /oldboy]#
[root@oldboyedu50-lnb /oldboy]#
[root@oldboyedu50-lnb /oldboy]# chown root test.txt
[root@oldboyedu50-lnb /oldboy]# ll test.txt
-rwxr-xr-x 1 root oldboy 23 Jul 20 01:13 test.txt
[root@oldboyedu50-lnb /oldboy]# chown .root test.txt
[root@oldboyedu50-lnb /oldboy]# ll test.txt
-rwxr-xr-x 1 root root 23 Jul 20 01:13 test.txt
3.4 若搜索引擎中出现广告等不需要的东西应该怎么改正?
3.5 总结:
3.5.1 三剑客过滤 指哪打哪
3.5.2 显示日期 打包压缩并添加上日期
3.5.3 find+sed 遇到故障排查流程
3.5.4 快捷键 关机重启
3.5.5 如何修改PATH
3.5.6 linux如何知道我对某个文件或目录有什么权限?
3.5.7 修改权限与所有者