复习:
sed 替换 后向引用
awk 取列
通过三剑客进行过滤
grep/egrep
sed
sed -n '10p' oldboy.txt
sed -n '/oldboy/p' oldboy.txt
awk
awk 'NR==10' oldboy.txt
awk '/oldboy/' oldboy.txt
1.1 使用awk取出网卡配置文件中的ip
[root@oldboyedu50-lnb ~]# awk '/IPADDR/' /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=10.0.0.200
[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 #取出网卡中的DNS
[root@zs ~]# awk -F= '/DNS/{print $2}' /etc/sysconfig/network-scripts/ifcfg-eth0
223.5.5.5
223.6.6.6
1.3 显示
1.3.1 年-月-日_周几
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
-s<字符串>:根据字符串来设置日期与时间。
字符串前后必须加上双引号;
[root@oldboyedu50-lnb ~]# date -s "20180521 12:12:12"
Mon May 21 12:12:12 CST 2018
1.3.2 #自动同步时间
[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.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 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.5 查找当前目录下所有文件,并把文件中的www.etiantian.org字符串替换成www.oldboyedu.com。
假设你在/oldboy
find /oldboy -type f
1.5.1 #方法1
find /oldboy -type f |xargs sed 's#www.etiantian.org#www.oldboyedu.com#g'
1.5.2 #方法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.6 问题:请问在一个命令上加什么参数可以实现下面命令的内容在同一行输出。
echo "oldboy";echo "oldboy"
1.6.1 echo –n不显示结尾的回车
[root@oldboyedu50-lnb ~]# echo 'oldboy'
oldboy
[root@oldboyedu50-lnb ~]# echo -n 'oldboy'
oldboy[root@oldboyedu50-lnb ~]#
[root@oldboyedu50-lnb ~]# echo -n "oldboy"; echo "oldboy"
oldboyoldboy
1.6.2 echo -e:激活转义字符。
使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
[root@oldboyedu50-lnb ~]# echo 'oldboy\nold\n\nlidao' 尝试使用\n来给结果换行 (单引号)
oldboy\nold\n\nlidao
[root@oldboyedu50-lnb ~]# echo "oldboy\nold\n\nlidao" 尝试使用\n来给结果回车分行 (双引号)
oldboy\nold\n\nlidao
[root@oldboyedu50-lnb ~]# echo -e "oldboy\nold\n\nlidao" 给echo添加参数-e 使\n生效
oldboy
old
lidao
1.7 当从root用户切到普通用户oldboy时,执行ifconfig会提示。command not found
输入命令时候提示 command not found
模拟环境
export PATH=
PATH环境变量问题
PATH 路径 环境变量 存放的是 命令路径
1.7.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 显示/etc/profile的最后一行
#export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:~/bin
[root@oldboyedu50-lnb ~]# source /etc/profile 生效
3. 检查
[root@oldboyedu50-lnb ~]# echo $PATH 查看当前环境变量
1.8 请描述下列路径的内容是做什么的?
/var/log/messages 系统日志
/var/log/secure 用户登陆信息日志
/etc/fstab 开机自动挂载
/etc/hosts 解析主机名(域名)
/etc/rc.local 开机自启动
/etc/profile 别名 环境变量
/var/spool/cron/root 定时任务的配置文件
1.9 #修改主机名
1.9.1 临时
1.9.2 永久
/etc/sysconfig/network
1.9.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 bytes from oldboyedu50-lnb (10.0.0.200): icmp_seq=2 ttl=64 time=0.021 ms
1.10 如何快速查到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
whereis 显示命令相关的内容
[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 读写
1.11 【用户管理】请给出查看当前哪些用户在线的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 ~]# #先乘除后加减有括号先算括号里面的
1.12 请给出正确的关机和重起服务器的命令。
重启
reboot
shutdown -r 10
shutdown -r 0/now 立即重启
shutdown -c 取消当前的重启或关机
init 6
关机
halt
shutdown -h 10
shutdown -h 0/now 立即关机
poweroff
init 0
1.13 请写出下面linux命令行快捷键的功能?
Ctrl + a 把光标移动到行首
Ctrl + e 把光标移动到行尾
Ctrl + c 取消 cancel
Ctrl + d 退出当前用户
Ctrl + l 清屏
Ctrl + u 把光标所在位置到行首的内容删除(剪切)
Ctrl + k 把光标所在位置到行尾的内容删除(剪切)
ctrl + y 粘贴
练习:
#命令行输入oldboyedu
#然后让光标移动到行首 加上注释符号和I am studying
#然后让光标移动到行尾,加上 linux.site:www.oldboyedu.com;
#剪切,这一行内容。
#粘贴3次。
ctrl+s 锁屏 (linux锁屏)
ctrl+q/c 解锁
Ctrl + r 找出最近一次使用过的 包含xxxx的命令 替你执行
history |grep awk
第2章 Linux权限rwx
文件或目录rwx含义
permission denied 权限拒绝
通过控制权限保护网站安全
特殊与隐藏权限
2.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
2.2 #如何快速判断 你对某个文件拥有什么权限
2.2.1 看看你是谁?
#whoami oldboy
2.3 你与这个文件什么关系 : 主人 家人 陌生人
2.3.1 #是否是家人
[oldboy@oldboyedu50-lnb ~]$ id oldboy
uid=500(oldboy) gid=500(oldboy) groups=500(oldboy)
#oldboy用户 文件是 陌生人关系
2.4 确认权限 陌生人权限 看最后三位
#oldboy对他的权限
r 4
w 2
x 1
- 0
[root@oldboyedu50-lnb ~]# echo {r,-}{w,-}{x,-}
rwx rw- r-x r-- -wx -w- --x ---
rw-r--r--
420400400
6 4 4
练习:
755 rwxr-xr-x
640 rw-r-----
744 rwxr--r--
600 rw-------
第3章 修改权限 change mode chmod
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.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 #给文件快速增加执行权限
[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 +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.4 #给文件快速取消执行权限
[root@oldboyedu50-lnb /oldboy]# chmod a-x test.txt
[root@oldboyedu50-lnb /oldboy]# ll test.txt
-rw-r--r-- 1 root root 23 Jul 2001:13 test.txt
第4章 chown change owner 修改文件的所有者
[root@oldboyedu50-lnb /oldboy]# chown oldboy.oldboy test.txt 修改属主和属组为oldboy
[root@oldboyedu50-lnb /oldboy]# ll test.txt
-rwxr-xr-x 1 oldboy oldboy 23 Jul 20 01:13 test.txt
[root@oldboyedu50-lnb /oldboy]# chown root test.txt 修改属主为root
[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
[root@oldboyedu50-lnb /oldboy]# ll test.txt
-rwxr-xr-x 1 root root 23 Jul 20 01:13 test.txt
总结:
1.三剑客过滤 指哪打哪
2.显示日期 打包压缩并添加上日期
3.find+sed 遇到故障排查流程
4.快捷键 关机重启
5.如何修改PATH
6.linux如何知道我对某个文件或目录有什么权限?
7.修改权限与所有者