Linux 的常用命令(2)、Linux的三剑客、Linux的Shell编程

Linux(2)

Linux 的常用命令

管道与重定向

管道:将前面命令的结果作为参数传递给后面的命令

grep :文本搜索工具

grep的-A, -B, -C选项分别可以显示匹配行的后,前,后前多少行内容

ps -ef | grep 程序名

**重定向:**改变数据输出的位置,方向

0 in 1 out 2 err

ls / 1> sxt 标准输出

ls / > sxt 标准输出

ls abcd 2>sxt 错误输出

> 替换 >> 追加

ls / 1>> sxt

ls / 1> sxt

结合使用

ls /etc /abc > sxt 2>&1

ls /etc /abc >> sxt 2>&1

信息黑洞

ls /etc /abc >> /dev/null 2>&1

进程信息

ps -ef

UID PID PPID C STIME TTY TIME CMD

UID 所属用户

PID 当前进程编号

PPID 当前进程编号的父进程编号

ps -ef | grep redis

ps -aux 所有信息

ps -aux --sort -pcpu

top 当前服务器内存使用率

后台进程

只需要在命令的后面添加一个 & 符号

ping www.baidu.com >> baidu &

jobs -l 查看当前的后台进程

nohup 可以防止后台进程被挂起(挂起的意思就是暂停)

kill -9 杀死进程

RPM

可以查询软件

rpm -qa | grep jdk

rpm -q jdk

rpm -ivh …rpm 通过RPM命令安装软件

rpm -e … 卸载

source /etc/profile 重新加载配置文件

压缩包解压安装

tar -zxf …tar.gz 解压文件

yum命令

search 查询命令或者软件

info 查看包的信息

list / list jdk 查询安装的rpm包,或者只查询某一周

更换yum源

首先安装wget

yum install wget -y

将系统原始配置文件失效

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

使用Wget获取阿里yum源配置文件

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

清空以前yum源的缓存

yum clean all

获取阿里云的缓存

yum makecache

Linux的三剑客

普通剑客

cut

用指定的规则来切分文本

cut -d’:’ -f1,2,3 passwd | grep school

sort

sort sxt

对文本中的行进行排序

sort -t’ ’ -k2 sxt

对每一行的数据进行切分,按照第二列进行排序

sort -t’ ’ -k2 -r sxt

逆序

sort -t’ ’ -k2 -n sxt

按照数值大小进行排序,如果有字母,字母在前

wc

统计单词的数量

wc sxt

4 15 79 sxt

-l line

-w word

-c char

剑客1号:grep

可以对文本进行搜索

同时搜索多个文件

grep school passwd sxt

显示匹配的行号

grep -n school passwd

显示不匹配的忽略大小写

grep -nvi school passwd --color=auto

使用正则表达式匹配

grep -E “[1-9]+” passwd --color=auto

剑客2号:sed

sed 是Stream Editor(字符流编辑器)的缩写,简称流编辑器

Sed软件从文件或管道中读取一行,处理一行,输出一行;再读取一行,再处理一行,再输出一行…

一次一行的设计使得sed软件性能很高

vi命令打开文件是一次性将文件加载到内存

了解即可

https://www.cnblogs.com/chensiqiqi/p/6382080.html

行的选择模式

10 第十行

m,n --> 第m行到第n行 [m,n]

m,+n–>第一行到第四行 [m,m+n]

m~n–>从m行开始,依次累加n

m,$ -->从m开始到最后一行

/school/ -->匹配到school的行

/u1/,/u4/–>从匹配u1到匹配u4

sed ‘2a sxtisgood’ passwd

sed ‘2i sxtisgood’ passwd

打印到控制台

sed -i ‘2a sxtisgood’ passwd

直接修改到文件

sed ‘3,10d’ passwd

整行替换

sed ‘3,20c hahaha’ passwd

sed ‘3~1c hehehe’ passwd

字符替换

sed ‘1,5s/root/sxt/g’ passwd

sed ‘1,5s#/#-#g’ passwd

剑客3号:awk

它不是一个剑客,它是一门语言

了解即可

https://www.cnblogs.com/chensiqiqi/p/6481647.html

模式与动作

awk -F “:” ‘NR>=2&&NR<=6’ /etc/passwd

awk -F “:” ‘{print NR,$1}’ /etc/passwd

awk -F “:” ‘NR>=2&&NR<=6 {print NR,$1}’ /etc/passwd

awk -F “:” ‘NR1{print NR,$1}NR2{print NR,$NF}’ /etc/passwd

Linux的Shell编程

什么是Shell编程

如今很多公司在面试的时候,都会加上一条:熟悉shell编程/脚本优先。那么,什么是Shell编程呢?说白了就是这么一句话:shell编程就是对一堆Linux命令的逻辑化处理

初识Shell编程

Hello World

在这里插入图片描述
第一行比较特殊,#!后面跟的是解释器的路径(shell本身就是一种解释型语言),解释器的路径是/bin/bash。一般都会以#!开始来指定使用的shell类型,除了bash shell以外,还有很多版本的shell, 例如zsh、dash等等…不过bash shell还是我们使用最多的。
第二行以**#符号开始,表示本行是注释**。
第三行中的echo是linux中的输出命令,该行的意思很明显的就是输出hello world!
在这里插入图片描述

Shell变量

shell编程中有两种变量,一种是我们自己定义的变量(自定义变量),第二种是Linux已定义的环境变量(如 PATH,HOME等等…这类变量我们可以直接使用)

在这里插入图片描述

自定义变量和系统环境变量的用法: $符号+变量名即可

需要记住的是:定义变量不用[$]符号,使用变量加符号即可

在自定义变量时,如果变量出现空格或者引号,那么也必须加引号, 否则就可以省略。还有一点需要注意,定义变量的时候,"="左右不能有空格。

我们可以把程序写入txt文档,并更后缀名为.sh 届时一个命令即可执行该shell脚本。

执行Shell的方式

./shsxt.sh 执行的必须是一个可执行文件(chmod u+x shsxt.sh)

sh shsxt.sh 执行的文件可以是一个普通文件

source shsxt.sh 直接在当前进程执行脚本

当我们执行bash的时候开启一个子进程,当脚本中出现ping的时候又开启了一个子进程

shell语法

https://www.runoob.com/linux/linux-shell-basic-operators.html
./shsxt.sh 执行的必须是一个可执行文件(chmod u+x shsxt.sh)

sh shsxt.sh 执行的文件可以是一个普通文件

source shsxt.sh 直接在当前进程执行脚本

当我们执行bash的时候开启一个子进程,当脚本中出现ping的时候又开启了一个子进程

shell语法

https://www.runoob.com/linux/linux-shell-basic-operators.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值