01.Linux系统命令
less一页一页的查看文件内容
1.作用:
一页一页的查看文件内容
(适用于查看大文件)
2.语法结构:
2.1直接查看文件内容
#less -N file
2.2先处理后查看
#cat file | less
-N 显示行号
3.常用按键:
q 退出命令
f 往下翻页 空格
b 往上翻页
G 文件的末尾
g 文件的行数
100g 快速到100行
/ 查找内容
n 查找下一个
N 查找上一个
xargs 将前面命令的输出 甩到命令的最后面(不会显示)
1.
xargs (英文全拼: eXtended ARGuments)是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。
主要是由于很多命令不支持直接将管道符的输出当做输入进而作为他们的操作对象来使用。
eg:
mkdir
cat
rm
xargs 一般是和(管道符 |) 一起使用。
2.语法结构:
# command | xargs [选项] command
-n number 后面加次数 指定n列输出内容
3.
[root@oldboyedu ~]# echo 1.txt |xargs cat
Failed
Success
Failed
Mesasage
service
Failed
[root@oldboyedu ~]# echo 1.txt|xargs ls -l
-rw-r--r--. 1 root root 46 Jul 10 17:49 1.txt
[root@oldboyedu ~]# echo {1..10}
1 2 3 4 5 6 7 8 9 10
[root@oldboyedu ~]# echo {1..10}|xargs -n2
1 2
3 4
5 6
7 8
9 10
[root@oldboyedu ~]# cat 1.txt |xargs -n2
Failed Success
Failed Mesasage
service Failed
3.注:xargs后面不认识命令别名
执行rm,相当于执行rm -i,会有提示,
但是xargs不认识别名,只会执行rm,相当于给rm前面加了\rm
[root@oldboyedu ~]# echo 2.txt|xargs rm
不能使用ll,只能使用ls -l
[root@oldboyedu ~]# find /etc -name passwd | ls -l
3.more 了解 一页一页的查看
sort 排序
1.作用:
用于将文本文件内容加以排序(英文含义也是排序)
2.语法结构:
2.1 直接排序
# sort file
2.2 将其他命令的处理结果作为排序内容
# cat file | sort
参数选项:
-n number 按照数字正序排序
-rn re number 按照数字逆序排序
-nk2:对第二列进行数字正序排序
-rnk2:对第二列的数字进行逆序排序
3.eg
默认:
【第一列】
按照字符串的【第一个字母或数据】进行正序排序
[root@oldboyedu ~]# sort sort.txt
1
10
2
33
45
500
6
7
8
9
-n:按照【数字】的正序排序 (正常逻辑使用)
[root@oldboyedu ~]# sort -n sort.txt
1
2
6
7
8
9
10
33
45
500
-rn:按照【数字】逆序排序 (正常逻辑使用)
[root@oldboyedu ~]# sort -rn sort.txt
500
45
33
10
9
8
7
6
2
1
按照单词首字母排序
[root@oldboyedu ~]# cat 1.txt |sort
Failed
Failed
Failed
Mesasage
service
Success
【指定列进行排序】
案例1: -nk2:对第二列进行数字正序排序
[root@oldboyedu ~]# sort test.txt|sort -nk2
案例2: -rnk2:对第二列的数字进行逆序排序
[root@oldboyedu ~]# sort test.txt|sort -rnk2
陶骞 99
王圣 99
姜浩 99
王少侠 98
uniq 去重统计
1.
uniq 用于去除【有序文件】中的重复行并将结果输出到标准输出。
为了使 uniq 起作用,所有的重复行必须是相邻的,所以 uniq 经常和 sort 合用。
sort 按照单词首字母排序以后,会将重复行集中在一起
[root@oldboyedu ~]# cat 1.txt |sort
Failed
Failed
Failed
Mesasage
service
Success
2.语法结构
统计次数
# uniq -c
-c, --count 统计每行出现的次数
3.eg:
案例1:
# 1.排序:先使用sort命令将相同内容放在一块
[root@oldboyedu ~]# cat 1.txt|sort
# 2.去重:然后使用uniq命令去重进行统计
[root@oldboyedu ~]# cat 1.txt|sort |uniq
# 3.统计次数: -c
显示行出现的次数。
在行首位置输出该行重复的次数。
[root@oldboyedu ~]# cat 1.txt|sort |uniq -c
3 Failed
1 Mesasage
2 oldboy
2 service
1 Success
1 test
# 排序、去重、统计次数、再排序
案例2: 对案例1的结果按照数字的正序排序(默认是第一列)
[root@oldboyedu ~]# cat 1.txt|sort |uniq -c|sort -n
1 Mesasage
1 Success
1 test
2 oldboy
2 service
3 Failed
案例3: 对案例1的结果按照数字进行逆序排序
[root@oldboyedu ~]# cat 1.txt|sort |uniq -c|sort -rn
3 Failed
2 service
2 oldboy
1 test
1 Success
1 Mesasage
【重要案例】
案例4: 统计日志文件中IP地址出现次数top10
[root@oldboyedu ~]# cat ip.txt |sort |uniq -c|sort -rn|head
42 51.68.164.98
37 47.92.78.102
29 47.92.30.214
17 47.100.32.114
17 47.100.211.64
17 47.100.100.120
17 139.196.81.19
17 106.14.226.56
11 139.196.76.127
11 139.196.122.31
扩展作业: 统计/etc/passwd中单词的数量
统计/etc/passwd中每个字母的数量
6.diff 比对文件的不同
了解
[root@oldboyedu ~]# echo test > a.txt
[root@oldboyedu ~]# echo oldboy > b.txt
[root@oldboyedu ~]# diff a.txt b.txt
1c1
< test
---
> oldboy
7.alias别名 了解
1.查看系统定义的别名
[root@oldboyedu ~]# alias
alias cp='cp -i'
2.自定义别名
[root@oldboyedu ~]# alias vieth0='vim /etc/sysconfig/network-scripts/ifcfg-eth0'
临时定义退出重新连接 或者重启失效
取消别名:unalias vieth0
永久定义: 写入/etc/profile
yum 软件安装
1.语法格式:
安装软件
# yum -y install 包名称
卸载软件(推荐使用)
# yum -y remove 包名称
-y 安装过程中不和我们进行交互(不提示是否安装)
2.其他:
yum clean all 清理缓存
yum repolist 查看当前默认的yum仓库
yum list 查看仓库中所有的包
yum list|grep bash 查看指定xxx
3.yum安装的特点:
1.类似于直接在手机软件商店安装软件
2.可以自行解决依赖包的问题
3.安装可以只用包的名称 不需要带版本 或者是包的全名来安装
4.排错
4.1安装失败的原因:
1.命令行中包的名称输错
2.仓库中没有这个包
案例: 安装route 命令
[root@oldboyedu ~]# yum -y install route
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
No package route available.# 仓库中没有route包可用
Error: Nothing to do
3.命令不属于这个包,在其他的软件包中【***】
4.2 查找命令属于哪个包的方式
(重点)
1.使用百度
(其他了解):
1.使用provides
# yum provides 命令
2.使用search
# yum search 命令
eg:查找sz属于哪个包
[root@oldboyedu ~]# yum provides sz
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
lrzsz-0.12.20-36.el7.x86_64 : The lrz and lsz modem communications programs # 属于lrzsz包
Repo : base # base仓库
5.扩展
安装自动补全的命令: 安装完后重启系统
[root@oldboyedu ~]# yum -y install bash-completion.noarch bash-completion-extras.noarch
yum -y install net-tools
netstat -ntulp # 扩展认识 查看当前系统中开启了哪些端口
route -n # 查看设置的网关
rpm 软件安装
1.特点:
1.类似windows在官网先下载.exe的安装包,再安装(先下载rpm包 )
2.不支持自动解决依赖问题 类似吃水饺(自己做水饺)
3.软件包的名称必须.rpm结尾
2.语法结构:
2.1 安装
# rpm -ivh name.rpm
-i 安装 install
-v 显示安装过程 verbose
-h 显示安装进度
2.2 卸载
#(= yum -y remove)
rpm -e name
(注:1.已经安装的rpm包不会显示后缀.rpm ,而未安装的包则显示后缀.rpm
2.rpm安装、卸载软件都需要依赖,所以会导致安装、卸载失败的问题
卸载推荐使用# yum -y remove
)
3.其他
rpm -qa 查看系统中已经安装过的所有软件
查看指定软件是否安装
#rpm -qa name
rpm -ql 查看安装的软件包的文件列表
rpm -qc 只显示安装软件的主配置文件
-q query 查询
-a all 全部
-l list 列表
-c config 配置
4.
案例1: 查看wget是否安装成功
[root@oldboyedu ~]# rpm -qa wget
wget-1.14-18.el7_6.1.x86_64
# 记不住wegt,用weg*代替
[root@oldboyedu ~]# rpm -qa wge*
wget-1.14-18.el7_6.1.x86_64
# 记不住wegt,用管道符+grep过滤查找wge
[root@oldboyedu ~]# rpm -qa|grep wge
wget-1.14-18.el7_6.1.x86_64
知识点小结:
1.less 一页一页的查看文件 主要查看大文件
less file.txt
cat file.txt|less
f/空格 往下翻页
b 往上翻页
G 文件的最底部
g 文件的首行
q 退出less命令
/ 搜索内容
n 下一个
N 上一个
2.xargs
作用: 1)指定n列输出内容
xargs -n2 file # 指定2列输出
2)将前面的内容甩到命令的最后面
echo 1.txt|xargs ls -l
3.sort 排序
-r 逆序排序
-n 按照数字排序
-k 指定第几列
4.uniq 去重统计(统计前必须先排序1)
-c
5.diff 了解
6.alias 了解
7.yum 重要安装软件
安装命令: sz rz ifconfig wget
yum -y install xx
yum -y remove xx
yum -y reinstall 包名称 类似覆盖安装
8.rpm 重要
rpm -ivh 软件.rpm
rpm -qa 查看系统已经安装的所有软件
rpm -qa|grep wget 过滤包含wget的所有安装过的包
rpm -e 卸载
which 命令
查看软件是否安装:
1.which
2.rpm -qa
3.直接执行命令回车
【必须掌握】: sort uniq yum rpm