Shell基础应用
问题
- 查看IP地址、检查最近执行过的10条命令
- 执行最近一次以 ifc 开头的命令
- 为用户mike重置密码,屏蔽所有输出
- 执行 mkdir /a /b/c ,将报错存到 err.txt
方案
查看历史命令的命令是history命令。此命令会把最近执行的1000条以内的命令显示出来。
想看最近执行的10条命令,可以利用“|”交给tail命令提取最后10条。还可以利用“|” 交给grep命令来筛选特定历史命令。
命令的输出信息会比较多,我们可以利用“&>” 重定向到/dev/null。来屏蔽所有输出。
收集错误信息为“2>”。
步骤
实现此案例需要按照如下步骤进行。
步骤一:查看IP地址、检查最近执行过的10条命令
命令操作如下所示:
[root@localhost /]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:17:BF:F7
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe17:bff7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:20291 errors:0 dropped:0 overruns:0 frame:0
TX packets:5188 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:16183740 (15.4 MiB) TX bytes:482909 (471.5 KiB)
……
[root@localhost /]# history | tail -10
539 cd /etc/yum.repos.d/
540 ls
541 cp rhel6.repo myrpm.repo
542 vim myrpm.repo
543 cd /
544 yum repolist
545 ifconfig
546 history | tail -10
547 ifconfig
548 history | tail -10
[root@localhost /]#
步骤二:执行最近一次以 ifc 开头的命令
命令操作如下所示:
[root@localhost /]# !ifc
ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:17:BF:F7
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe17:bff7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:20315 errors:0 dropped:0 overruns:0 frame:0
TX packets:5203 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:16185686 (15.4 MiB) TX bytes:485795 (474.4 KiB)
……
步骤三:为用户mike重置密码,屏蔽所有输出
命令操作如下所示:
[root@localhost /]# useradd mike
[root@localhost /]# echo 123456 | passwd --stdin mike
更改用户 mike 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
[root@localhost /]# echo 123456 | passwd --stdin mike &> /dev/null
[root@localhost /]#
步骤四:利用mkdir同时建立“/a”与 “/b/c” ,将报错存到 err.txt
命令操作如下所示:
[root@localhost /]# mkdir /a /b/c 2> err.txt
[root@localhost /]# ls -ld /a
drwxr-xr-x. 2 root root 4096 1月 13 22:00 /a
[root@localhost /]# ls -ld /b
ls: 无法访问/b: 没有那个文件或目录
[root@localhost /]# cat err.txt
mkdir: 无法创建目录"/b/c": 没有那个文件或目录
[root@localhost /]#