文章目录

  • 一、基础正则表达式:元字符总结
  • 二、grep用法
  • 三、sed命令常见用法
    • 1、输出符合条件的文本
    • 2、删除符合条件的文本
    • 3、替换符合条件的文本
    • 4、迁移符合条件的文本
  • 四、awk工具
    • 1、按行输出文本
    • 2、按字段输出文本
    • 3、通过管道、双引号调用Shell命令
  • 五、sort工具
  • 六、uniq工具
  • 七、tr工具
  • 八、Linux命令
    • 锁定账户
    • find:
    • 如何让命令在后台执行?
    • 如何检查linux上开放的端口
    • 常用的linux命令有哪些
    • 查看硬盘使用情况的命令
    • 查看cpu的命令
    • 查看内存的命令
    • 如何查看当前Linux系统的状态,如CPU使用、内存使用、负载情况等?
    • 查看cpu
    • 查看内核版本
    • 查看内存信息
    • 查看核心防护状态
    • 说明硬链接与软链接的差别,分别有什么好处?
    • Linux现连接一个新的存储(如/dev/sdf,容量2T)一个应用程序需要在/data目录使用此存储的500G的存储空间(做成LVM),需要哪些步骤,请描述。

一、基础正则表达式:元字符总结

^ : 匹配输入字符串的开始位置,除非再方括号表达式中使用,表示不包含该字符集合

. : 匹配除“\r\n”之处的任何单个字符

\ : 反斜杠,又叫转义字符,去除其后紧跟的元字符或通配符的特殊意义

*: 匹配前面的子表达式零次或多次

[ ] : 字符集合,匹配所包含的任意一个字符

[^] : 赋值字符集合,匹配未包含的一个任意字符

[n1-n2] : 字符范围,匹配指定范围内的任意一个字符

{n} : n是一个非负整数,匹配确定的n次

{n,} : n是一个非负整数,至少匹配n次

{n,m} : m和n均为非负整数,其中n<=m,最少匹配n次最多匹配m次

二、grep用法

grep的使用规则:

-n 表示显示行号-I  表示不区分大小写-v  表示过滤[ ]  查找集合字符

查找包含the的字符(准备一个查找文件)

grep -n ‘the’ test.txt

不区分大小写查找包含the的字符

grep -in ‘the’ test.txt

不查找包含the的字符

grep -vn ‘the’ test.txt

利用中括号[ ]来查找集合字符

grep -n ‘sh[io]t’ test.txt

查找包含重复单个字符oo时

grep -n ‘oo’ test.txt

若查找oo前面不是w的字符串

grep -n ‘[^w]oo’ test.txt

若不希望oo前面存在小写字母

grep -n ‘[^a-z]oo’ test.txt

查询以小写字母开头的行

grep -n ‘^[a-z]’ test.txt

查询不以字母开头的行

grep -n ‘[^a-zA-Z]’ text.txt

查询以.结尾的行

grep -n ‘\.$’ test.txt

若想要查询oo、ooo、oooo等字符串,则需要使用星号(*)元字符等,o*表示拥有零个或任意多个o字符,如果时“oo*”,则第一个o必须存在,后面的o*表示零个或任意多个o字符

grep -n ‘ooo*’ test.txt

查询以w开头d结尾,中间至少一个

grep -n ‘woo*d’ test.tx

查询以w开头d结尾,中间字符可有可无

grep -n ‘w.*d’ test.txt

查询两个o的字符

grep -n ‘o\{2\}’ test.txt

查询以w开头d结尾,中间包含两个及两个以上o

grep -n ‘wo\{2,\}d’ test.txt

三、sed命令常见用法

sed [选项] ‘操作’ 参数

sed [选项] -f scripfile 参数

选项的基本命令如下:

-e script :指定sed编辑命令-f scriptfile :指定的文件中是sed编辑命令-h :显示帮助-n :表示仅显示处理后的结果-i :直接编辑文本文件

操作的基本命令如下:

a :增加,在当前行下面增加一行指定内容c :替换,将选定行替换为指定内容d :删除,删除选定的行i :插入,在选定行上面插入一行指定内容p :打印s :替换,替换指定字符y :字符转换

1、输出符合条件的文本

输出第三行

sed -n ‘3p’ test.txt

输出第3-5行

sed -n ‘3,5p’ test.txt

输出所有奇数行

sed -n ‘p:n’ test.txt

输出所有偶数行

sed -n ‘n:p’ test.txt

输出第1-5行之间的奇数行

sed -n ‘1,5{p:n}’ test.txt

输出第10行之后的偶数行

sed -n ’10,${n:p}’ test.txt

输出包含the的行

sed -n ‘/the/p’ test.txt

输出从第4行的第一个包含the的行

sed -n ‘4,/the/p’ test.txt

输出以PI开头的行

sed -n ‘/^PI/p’ test.txt

输出以数字结尾的行

sed -n ‘/[0-9]$/p’ test.txt

输出包含wood的行

sed -n ‘/\<wood>/p’ test.txt

2、删除符合条件的文本

删除第3行

sed ‘3d’ test.txt

删除第3-5行

sed ‘3,5d’ test.txt

删除以小写字母开头的行

sed ‘/^[a-z]/d’ test.txt

3、替换符合条件的文本

将每行中的第一个the替换为THE

sed ‘s/the/THE/’ test.txt

将每行中的第2个l替换为L

sed ‘s/l/L/2’ test.txt

在包含the的每行行首插入#号

sed ‘/the/s//#/’ test.txt

在每行行尾插入字符串EOF

sed ‘s/$/EOF/’ test.txt

将第3-5行中的所有the替换为THE

sed ‘3,5s/the/THE/g’ test.txt

将包含the的所有行中的o替换为O

sed ‘/the/s/o/O/g’ test.txt

将文件中所有的o删除

sed ‘s/o//g’ test.txt

4、迁移符合条件的文本

H :复制到剪切板g、G :将剪贴板中的数据覆盖/追加到指定行w :保存为文件r :读取指定文件a :追加指定内容

将包含the的行迁移至文件末尾

sed ‘/the/{H;d};$G’ test.txt

将第1-5行内容转移至第17行后

sed ‘1,5{H’d};17G’ test.txt

将包含the的行号另存为文件out.file

sed ‘/the/w out.file’ test.txt

将文件/etc/hostname的内容添加到包含the的每行以后

sed ‘/the/r /etc/hostname’ test.txt

在第3行后插入一个新行,内容为NEW

sed ‘/the/3aNEW’ test.txt

在包含the的每行后插入一个新行,内容为NEW

sed ‘/the/aNEW’ test.txt

在第3行后插入多行内容,中间的\n表示换行

sed ‘3aNEW1\nNEW3’ test.txt

四、awk工具

awk 选项 ‘模式或条件{编辑命令}’ 文件1 文件2…. //过滤并输出文件中符合条件的内容

awk -f 脚本文件 文件1 文件2… //从脚本中调用的编辑指令,过滤并输出内容

awk包含几个特殊的内建变量(可直接用)如下所示:

FS:指定每行文本的字段分隔符,默认为空格或制表位;NF:当前处理的行的字段个数;NR:当前处理的行的行号(序数);$0:当前处理的行的整行内容;$n:当前处理的行的第n个字段(第n列);FILENAME:被处理的文件名;RS:数据记录分隔,默认为\n,即每行为一条记录。

1、按行输出文本

输出所有内容,等同于cat test.txt

awk  ‘{print}’ test.txtawk  ‘{print $0}’  test.txt

输出第1~3行内容

awk  ‘NR==1,NR==3{print}’  test.txt

输出第1~3行内容

awk  ‘(NR>=1)&&(NR<=3){print}’   test.txt

输出第1行,第3行的内容

awk  ‘NR==1||NR==3{print}’  test.txt

输出所有奇数行的内容

awk  ‘(NR%2)==1{print}’  test.txt

输出所有偶数行的内容

awk  ‘(NR%2)==0{print}’  test.txt

输出以root开头的行

awk  ‘/^root/{print}’  /etc/passwd

输出以nologin结尾的行

awk  ‘/nologin$/{print}’  /etc/passwd

统计以/bin/bash结尾的行数,等同于grep –c “/bin/bash$” /etc/passwd

awk  ‘BEGIN {x=0};/\/bin\/bash$/{x++};END {print x}’  /etc/passwd

统计以空行分隔的文本段落数

awk  ‘BEGIN {RS=””} ;END{print NR}’  test.txt

2、按字段输出文本

输出每行中(以空格或制表符分隔)的第三个字段

awk  ‘{print $3}’  test.txt

输出每行中第1,3个字段

awk  ‘{print $1,$3}’  test.txt

输出密码为空的用户的shadow记录

awk -F ”:” ‘$2==””{print}’  /etc/shadow

输出密码为空的用户的shadow记录

awk  ‘BEGIN {FS=”:”} ; $2==””{print}’  /etc/shadow

输出以冒号分隔且第7个字段中包含/bash的行的第一个字段

awk -F ”:” ‘$7~”/bash”{print $1}’  /etc/shadow

输出包含8个字段且第一个字段中包含nfs的行的第1,2个字段

awk  ‘($1~”nfs”)&&(NF==8){print $1,$2}’  /etc/services

输出第七个字段既不为/bin/bash也不为/sbin/nologin的所有行

awk -F “:” ‘($7 != “/bin/bash”)&&($7 != “/sbin/nologin”){print}’  /etc/passwd

打印文本文件的总行数

awk 'END{print NR}' filename

打印文本第二行第一列

sed -n "2, 1p" filename | awk 'print $1'

输出文件的倒数第二列以","隔开

awk -F ',' 'END {print $2}' BIRoomTime20160229.txt

shell里面的赋值方法有两种,格式为

  1. arg=(命令)
  2. arg=$(命令)
    因此,如果想要把某一文件的总行数赋值给变量nlines,可以表达为:
  3. nlines=(awk 'END{print NR}' filename)
    或者
  4. nlines=$(awk ‘END{print NR}’ filename)

3、通过管道、双引号调用Shell命令

调用wc –l命令统计使用bash的用户的个数,等同于grep –c “bash$” /etc/passwd

awk  -F: ‘/bash$/{print | “wc -l”}’  /etc/passwd

调用w命令,并用来统计在线用户数

awk ‘BEGIN {while (“w” | getline) n++ ; {print n-2}}’

调用hostname,并输出当前主机名

awk ‘BEGIN {“hostname” | getline ; print $0}’

五、sort工具

sort是一种以行为单位对文件内容进行排序的工具,也可以根据不同的数据类型来排序

用法:sort命令的语法为“sort [选项] 参数”,其中常用的选项包括一下几种

-f:忽略大小写;-b:忽略每行前面的空格;-M:按照月份进行排序;-n:按照数字进行排序;-r:反向排序;-u:等同于uniq,表示相同的数据仅显示一份;-t:指定分隔符,默认使用[TAB]键分隔;-o<输出文件>:将排序后的结果转存至指定文件;-k:指定排序区域

六、uniq工具

uniq工具在Linux系统中通常与sort命令结合使用,用于报告或者忽略文件中的重复行

-c:进行计数;-d:仅显示重复行;-u:仅显示出现一次的行

七、tr工具

tr命令常用来对来自标准输入的字符进行替换、压缩和删除

tr具体的命令语法格式为:tr [选项] [参数]

-c:取代所有不属于第一字符集的字符;-d:删除所有属于第一字符集的字符;-s:把连续重复的字符以单独一个字符表示;-t:先删除第一字符集较第二字符集多出的字符,做替换

八、Linux命令

锁定账户

第一种:

1、passwd -l tang 锁定tang用户

2、passwd -u tang 解锁tang用户

第二种:(权限优于第一种)

1、usermod -L tang 锁定tang用户

2、usermod -U tang 解锁tang用户

usermod命令锁定和解锁用户的的时候没有交互信息(就是不会有提示)

第三种:(锁定文件)

1、用chattr +i 命令锁定/etc/passwd 和 /etc/shadow文件

2、用chattr -i 命令解锁/etc/passwd 和 /etc/shadow文件

第四种:修改shell环境让账户无法登陆

1、vi /etc/passwd进入编译

2、把想锁定的账户后面改成/sbin/nologin

find:

1、用 find 查找三天之前以log结尾的文件并删除?

find /log -mtime +3 -type f -name “*.log”

添加用户是哪个命令?

useradd

改一个文件的属组和属主?

chown

如何让命令在后台执行?

命令& 这种会绑定终端,终端关闭进程就结束。

nohub 命令 & 这种关了终端可以运行

怎么判断某个变量是否为空?

​ ! $A

你们系统用的哪个发行版?

centos ,ubuntu

如何检查linux上开放的端口

netstat -anptu //后面的t是tcp、u是udp

netstat -an //查看服务器开启哪些端口?

常用的linux命令有哪些

ls netstart cd chown chmod grep uptime ifconfig route…

查看硬盘使用情况的命令

fdsik -l #查看分区情况

df -h #查看挂载和使用情况

查看cpu的命令

cat /proc/cpuinfo | grep ‘model name’ 或者lscpu

查看内存的命令

free -m

如何查看当前Linux系统的状态,如CPU使用、内存使用、负载情况等?

top

查看cpu

cat /proc/cpuinfo

查看内核版本

uname -r

查看内存信息

cat /proc/meminfo

查看核心防护状态

getenforce

说明硬链接与软链接的差别,分别有什么好处?

ln,创建软连接

–软连接–> 原始文档–> i节点–> 文档数据

–ln-s 原始文件或目录软连接文件

若原始文件或目录被删除,连接文件将失效

软连接可存放在不同分区/文件系统

•ln,创建硬连接

–硬连接–> i节点–> 文档数据

–ln原始文件硬连接文件

若原始文件被删除,连接文件仍可用

硬连接与原始文件必须在同一分区/文件系统

Linux现连接一个新的存储(如/dev/sdf,容量2T)一个应用程序需要在/data目录使用此存储的500G的存储空间(做成LVM),需要哪些步骤,请描述。

fdisk /dev/sdf 分区n,p,1,1 +500G w 分区步骤pvcreate /dev/sdf1 创建物理卷vgcreate vg01 /dev/sdf1 创建卷组lvcreate -n lv01 -l 100%free vg01  #使用所有空间创建逻辑卷mkfs.ext4  /dev/vg01/lv01 格式化这个卷mount  /dev/vg01/lv01  /data   挂载这个卷

Linux(基础命令和三剑客)相关推荐

  1. linux基础命令怎么记,linux基础命令--笔记(示例代码)

    linux基础命令--笔记 一.   1  . --help 命令简单帮助 2. man 查看命令复杂帮助  (非内置命令) 3  . help (bash的内置命令)如 :help cd  .hel ...

  2. Linux基础命令-tar打包压缩文件

    Linux基础命令-echo输出信息_Linux学习中的博客-CSDN博客 Linux三剑客-grep命令_Linux学习中的博客-CSDN博客 Linux文件管理命令(3)-mv改动文件_Linux ...

  3. linux怎么取消文件隐藏命令,Linux基础命令:显示隐藏的文件

    Linux基础命令:显示隐藏的文件 来源:互联网 作者:佚名 时间:2013-04-10 13:32 系统中一些文件,和Windows中的系统文件一样,这些文件一般是不显示出来的,那么我们可以使用-a ...

  4. Linux 基础命令上

    Linux 基础命令上 磁盘分区: /dev/hda5 dev 是硬件设备文件所在的目录 hd 表示IDE设备 sd 表示SCSI设备 a 硬盘的顺序号,以a.b.c...表示 5 分区的顺序号,以1 ...

  5. linux下kill指令默认信号,Linux基础命令之kill命令

    相信大家在使用Linux的过程中都会遇到过某个程序出错导致系统锁死的情况,按照常规的思维我们会通过重启来重新启动系统.然而事实上在Linux中并不需要进行重启就能够完成出错程序的关闭操作.在Linux ...

  6. linux修改密码最短生存时间,Linux基础命令---修改用户密码

    passwd 更改用户密码,超级用户可以修改所有用户密码,普通用户只能修改自己的密码.这个任务是通过调用LinuxPAM和LibuserAPI来完成的.本质上,它使用LinuxPAM将自己初始化为一个 ...

  7. Linux 基础命令讲解--加密解密

    Linux 基础命令讲解--加密解密 加密文件: 1.MD5 echo -n "string" | openssl md5   #加密字符串 openssl md5 -in tes ...

  8. 测试常用——linux 基础命令

    测试常用 的 linux 基础命令 1,查看服务器日志 vi 查看文件 (查找关键字:exception /exception  :  从上往下找,按n查找下一个关键字,按shift+n查找上一个关键 ...

  9. linux入门指令 详解,Linux基础命令之mktemp详解

    mktemp 创建临时文件或者目录,这样的创建方式是安全的.此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora. 1.语法 mktemp [ ...

  10. 软件测试 学习之路 linux基础命令 (二)

    一.linux基础命令进阶 1.重定向 例子: ls > 1.txt 把命令返回结果输出到文件中,会覆盖之前的数据 ls >>1.txt 把命令返回结果输出到文件中,不覆盖之前的数据 ...

最新文章

  1. day18 正则表达式
  2. 【数据结构-树】2.二叉树遍历与线索二叉树(图解+代码)
  3. Cambridge center for social innovation
  4. oracle触发器中保存临时数据,Oracle使用游标触发器存储实操
  5. app中 html5 search 事件,事件 - Cordova中文网
  6. linux grub 下载,GRUB 2.04发布下载,附新功能介绍
  7. 使用Python写一个简单的服务器
  8. Redis Cluster内存爆满
  9. 第十一届蓝桥杯大赛软件类决赛(2020javaB国赛)
  10. 学术英语理工(第二版)Unit6课文翻译
  11. 判断体型c语言程序,C语言程序设计经典体型.doc
  12. 拼多多店铺类型区别介绍
  13. Proteus教程——LED 应急灯电路
  14. SSL双向认证的证书详解
  15. 我的第一篇博客!!!万里长征第一步!!!
  16. 4412驱动-sixth_drv 同步互斥按键驱动
  17. js原生刻度尺滚动滑块插件
  18. 网络游戏中的游戏模式如MMOPRG,PRG,NPRG等是什么意思?
  19. warmup 策略整理
  20. vue——自定义指令

热门文章

  1. linux定时器回调处理过程,Linux内核系统定时器TIMER实现过程分析
  2. php随机数字不重复使等式成立_php随机数不重复生成的五种方式
  3. spark-2.4.5-bin-2.6.0-cdh5.15.1环境搭建:Local模式和StandAlone
  4. Apache Flink 零基础入门(一):基础概念解析
  5. 手把手带你用Python完成一个数据分析项目,能写进简历那种!(另送15个实战案例)...
  6. 推荐 10 本好书,并送上 110 本!
  7. c语言操作空间怎么打开_学好C语言,离大神更近一步,C环境的安装
  8. qt 信号多个链接槽_Qt原理窥探信号槽的实现细节
  9. larvel php restful_Laravel教你简单写出专业的RestfulAPI
  10. 广度优先搜索_计算机入门必备算法——广度优先遍历搜索