第1章 练习题                

第1题 取得/etc/hosts 文件的权限

如何取得/etc/hosts 文件的权限对应的数字内容,如-rw-r--r--  为 644,要求使用命令取得644 这样的数字。

方法一 awk 指定分隔符

[root@node2 ~]# stat /etc/hosts |awk -F "[0/]" 'NR==4{print $2}'

方法二 stat  -c%a

[root@node2 ~]# stat -c%a /etc/hosts

第2题 目录的硬链接数                  

linux 下通过 mkdir 命令创建一个新目录/clsn/ett,它的硬链接数是多少,为什么?

如果在/clsn/ett下面再创建一个目录 test。再问/clsn/ett 的硬链接数是多少?为什么。

新目录的硬链接数为2

[root@node2 ~]# mkdir /clsn/ett -p
[root@node2 ett]# ls -ldi /clsn/ett/
drwxr-xr-x. root root 12月 : /clsn/ett/

目录下的硬链接数为 2+下级目录数

[root@node2 ett]# mkdir dir01/
[root@node2 ett]# ls -ldi /clsn/ /clsn/. /clsn/ett/..
drwxr-xr-x. root root 12月 : /clsn/
drwxr-xr-x. root root 12月 : /clsn/.
drwxr-xr-x. root root 12月 : /clsn/ett/..

第3题 取出ip地址                      

执行命令取出 linux中 eth0 的 IP地址。

方法一 awk

[root@node2 ett]# ifconfig ens33|awk -F "[ :]+" 'NR==2{print $3}'
192.168.1.223

方法二 grep

[root@node2 ett]# ifconfig ens33|egrep  "([0-9]{1,3}\.?){4}" -o |head -|tail -
192.168.1.223

内容在同一行输出                        

在一个命令上加什么参数可以实现下面命令的内容在同一行输出。

-n  不输出每行行尾的回车

-e  让echo支持 \n \t  转移字符系列

\n  换行

\t   tab键

[root@node2 scprits]#  echo -n "" ; echo ""

[root@node2 scprits]# echo -n ""
[root@node2 scprits]# echo -e "123\n" [root@node2 scprits]# echo -ne "123\n"

date相关 时间同步                        

请给出如下格式的 date 命令 例:19-12-02。在给出实现按周输出 比如:周六输出为 6,请分别给出命令。

%F 与 %Y-%m-%d 相同

[root@node2 scprits]# date +%F
--
[root@node2 scprits]# date +%Y-%m-%d
--

时间

%H:%M:%S 与 %T相同

[root@node2 scprits]# date +%T
::
[root@node2 scprits]# date +%H:%M:%S
::

时间和周数

%w 表示周

[root@node2 scprits]# date +%F_%w
--02_1

手动设置系统日期

[root@node2 scprits]# date -s "20191202 15:55:00"
2019年 12月 02日 星期一 :: CST

自动同步系统时间

[root@node2 scprits]# ntpdate  ntp1.aliyun.com
Dec :: ntpdate[]: step time server 120.25.115.20 offset -112.993154 sec

环境变量问题                         

当从root用户切到普通用户时,执行ifconfig会提示。

-bash: command not found.

运行目录的过程

先去PATH找

找到   运行命令解释器 shell

找不到 提示 command not found

永久修改 PATH

PATH 内容放到/etc/profile 文件最后

soucre  /etc/profile 让它生效

打印三天前的日期格式                      

-d "-3day" 表示三天前

-d "3day"  表示三天后

[root@node2 scprits]# date +%F
--
[root@node2 scprits]# date -d "-3day" +%F
--
[root@node2 scprits]# date -d "3day" +%F
--

已知test.txt 文件内容为:

[root@node2 scprits]# cat test.txt
clsn xizi xiaochao

请问如何把文件中的空格过滤掉。

方法一 grep

[root@node2 scprits]# grep -v "^$" test.txt
clsn
xizi
xiaochao
-v 排除 ^$ (空行)

方法二 awk

[root@node2 scprits]# awk '!/^$/' test.txt
clsn
xizi
xiaochao
'!/^$/' 排除空行

方法三 sed

[root@node2 scprits]# sed '/^$/d' test.txt
clsn
xizi
xiaochao
'/^$/d' 排除空行

sed与awk

awk '找谁{干啥}'

sed '找谁干啥'

  请使用 grep或 egrep 正则匹配的方式过滤文件test.txt出前两行内容

+ 表示前一个字符出现一次或一次以上。

[root@node2 scprits]# cat test.txt
clsn clssssn test
[root@node2 scprits]# egrep "c+l+s+n" test.txt
clsn
clssssn

排除以t开头的


[root@node2 scprits]# grep -iv "^t" test.txt

clsn

clssssn

排除以t结尾的

[root@node2 scprits]# grep -v "t$" test.txt
clsn clssssn

请描述下列路径的内容是做什么的?

/var/log/messages         系统普通日志

/var/log/secure          用户登陆日志

/etc/fstab                开机自动挂载

/etc/profile              配置别名 环境变量

/etc/spool/cron/root      定时任务

sed与grep练习题的更多相关文章

  1. linux下的文本处理命令sed&awk&grep

    Sedsed 是个精简的.非交互式的编辑器.他能执行和编辑vi和emacs相同的编辑任务.sed编辑器不提供交互使用方式:只能在命令行输入编辑命令.指定文件名,然后在屏幕上察看输出.sed编辑器没有破 ...

  2. 1.Sed | Awk | Grep | Find

    1.Sed | Awk | Grep | Find 可以参考的文档链接 CentOS7 查看 当前机器 已经启动的端口的Shell命令: netstat -lntup | awk -F' ' {'pr ...

  3. 【转】如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等

    如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等   你是否曾经有过要计算一个非常大的数据(几百GB)的需求?或在里面搜索,或其它操作——一些无法并 ...

  4. awk、sed、grep更适合的方向

    awk.sed.grep更适合的方向: grep 更适合单纯的查找或匹配文本 sed 更适合编辑匹配到的文本 awk 更适合格式化文本,对文本进行较复杂格式处理 关于awk内建变量个人见解,简单易懂 ...

  5. 【转帖】vim/sed/awk/grep等文件批处理总结

    vim/sed/awk/grep等文件批处理总结 https://www.cnblogs.com/cangqiongbingchen/p/9760544.html Vim相关操作 1.基础 * 和 # ...

  6. sed awk grep三剑客常用

    sed的常用用法: awk的常用用法: grep的常用用法: 除了列出符合行之外,并且列出后10行. grep -A 10 Exception kzfinance-front.log 除了列出符合行之 ...

  7. sed,grep,awk命令常用法

    查看当天nginx访问日志中2016:03:25到2016:05点passport.mingxiao.com域名访问量最多的url,可以查看网站是否被刷. 法一: sed -n '/2016:03:2 ...

  8. <转>如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等

    原文链接:http://www.vaikan.com/use-multiple-cpu-cores-with-your-linux-commands/ 你是否曾经有过要计算一个非常大的数据(几百GB) ...

  9. 转摘--如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等

    http://www.vaikan.com/use-multiple-cpu-cores-with-your-linux-commands/ 你是否曾经有过要计算一个非常大的数据(几百GB)的需求?或 ...

随机推荐

  1. Redis缓存策略

    常用策略有“求留余数法”和“一致性HASH算法” redis存储的是key,value键值对 一.求留余数法 使用HASH表数据长度对HASHCODE求余数,余数作为索引,使用该余数,直接设置或访问缓 ...

  2. MySQL 王者晋级之路

    3.2 Query Cache: 3.3 存储引擎 一.TokuDB的特点: – 插入性能加快20到80倍– 压缩数据减少存储空间– 数据量可扩展到几个TB– 不会产生索引碎片– 支持Hot Colu ...

  3. 近似计算一个对象在js占用内存

    内存 在很久之前,我就想查看一个对象在JS里占用多少内存了,直到最近由于线上使用了需要计算从服务端传输数据的大小,让这个需求尤为强烈. 预备知识 我们现在使用的js是高级语言,它在内存细节之上建立一个 ...

  4. Python 中的时间处理包datetime和arrow

    Python 中的时间处理包datetime和arrow 在获取贝壳分的时候用到了时间处理函数,想要获取上个月时间包括年.月.日等 # 方法一: today = datetime.date.today ...

  5. 【shell脚本】自动监控tomcat服务===autoCheck.sh

    自动监控tomcat服务,当tommcat服务挂掉时自动重启 一.脚本内容 [root@localhost ]# cat /root/autoCheck.sh #!/bin/bash startTom ...

  6. docker安装和配置Grafana

    目录 安装 docker 启动 配置 配置域名和端口 配置ldap 配置邮箱 添加数据源 创建dashboard 配置alert 安装 docker 启动 先普通启动,然后把配置文件导出来,修改配置文 ...

  7. 关于 NuGet 本地仓库、.NET Core 引用等实战

  8. [转]应用工具 .NET Portability Analyzer 分析迁移 Dotnet core

    大多数开发人员更喜欢一次性编写好业务逻辑代码,以后再重用这些代码.与构建不同的应用以面向多个平台相比,这种方法更加容易.如果您创建与 .NET Core 兼容的.NET 标准库,那么现在比以往任何时候 ...

  9. 使用 Xbox Game 录制桌面视频(录制音频)

    使用 Xbox Game 录制桌面视频(附带音频) 前言:可能自己音频输出的问题,一直无法用工具录制桌面的音频,而最后发现利用 Xbox Game 录制游戏视频的功能很好地解决我们的问题. 1)打开游 ...

  10. C# 人民币大写金额转换

    /// <summary>       /// 转换人民币大小金额       /// </summary>       /// <param name="nu ...