吾日三省吾身,想出类拔萃,要把知识学牢,学全,学深,学广。


基础打牢, 以后起飞!今天是which,less,more,tr,sort,uniq,xargs,diff,alias,yum,rz,sz,rpm。

1.which

which #查询命令所在路径
which 命令
 
示例:查询cd、touch、ntpdate命令位置
[root@oldboyedu ~]#which cd
/usr/bin/cd
[root@oldboyedu ~]#
 
[root@VMware-xiaopihai ~]#which touch
/usr/bin/touch
[root@VMware-xiaopihai ~]#which ntpdate
/usr/sbin/ntpdate
[root@VMware-xiaopihai ~]#
 
 
配合修改PATH使用

2.less

less #查看文件,特别是大文件  也可以查看目录,但是不要编辑
cat vim会把整个文件,加载到内存中,文件大加载的慢
less是一次是加载一页。一页一页查看
less -N  显示行号
空格、f   一次往下翻一页 
b        往上翻页
100g     快速移动到100行
g        快速到首行
G        快速到尾巴
/        搜索内容 /number      和vim相同
n        查找下一个number      和vim相同
N        查找上一个number      和vim相同
v        进入编辑模式
q        退出less命令 如果编辑了,需要先:wq 或者:q! 回车,将文件保存或强制退出,再按q退出。

[root@VMware-xiaopihai ~]#less /etc/services 

3.more

和less用法差不多,不支持快捷键,到最后自动退出  

4.tr

tr 替换字符 单个字母对字母的替换  但是特殊符号没问题,可以多个特殊符号
不能替换成空字符

[root@VMware-xiaopihai ~]#echo hello | tr "l" "o"
heooo
[root@VMware-xiaopihai ~]#

5.sort

sort默认按照首字母或首数字排序,想让单词和单词挨着,把相同单词放在一起可以用
命令 参数 文件 
或者管道符接 命令 参数都行
sort -n     按照数字从小到大排序,不加是按照数字首字母
sort -n -k2 按照第2列进行排序 以空格进行分割,空格前面第一列,空格后面第二列
sort -nk2   同上 kn2不行 k2n行
sort -rn    逆序排序
sort -rnk2  在第二个根据数字从大到小排序

以空格或tab分割都行

6.uniq

uniq 把相邻的去重,配合sort使用
uniq -c 统计每个单词出现的次数 只能统计一列的

示例:对1.txt进行排序,去重统计,并将出现次数最多的放到前面
[root@VMware-xiaopihai ~]#cat 1.txt |sort|uniq -c |sort -rn
    4 ok
    3 nihao
    2 xiaopihai
[root@VMware-xiaopihai ~]#

7.xargs

 xargs 有多少结果放多少列 以空格来取列
 xargs -n 1 按照列输出,把结果放到1列 
 xargs  将前面命令输出的结果甩到最后面去,后面不支持别名

 [root@VMware-xiaopihai ~]#cat 3.txt 
 /etc/passwd
 [root@VMware-xiaopihai ~]#cat 3.txt |xargs ll
 xargs: ll: No such file or directory
 [root@VMware-xiaopihai ~]#cat 3.txt |xargs ls -l
 -rw-r--r--. 1 root root 1022 Oct 10  2008 /etc/passwd
 [root@VMware-xiaopihai ~]#cat 3.txt |xargs echo
 /etc/passwd
 [root@VMware-xiaopihai ~]#cat 3.txt |xargs echo >>4.txt
 [root@VMware-xiaopihai ~]#cat 4.txt 
 /etc/passwd
 [root@VMware-xiaopihai ~]#

 后面命令能接收前面命令输出是部分命令

8.diff 了解

 diff 比对文件
 [root@VMware-xiaopihai ~]#diff 1.txt 2.txt 
 
 vimdiff 比对文件

 ctrl+w切换窗口,需要按两次才切换
 一次只能退出一个文件,需要退出两次

 [root@VMware-xiaopihai ~]#vimdiff 1.txt 2.txt 

 gitdiff 比对开发代码

9.alias 了解

 系统为了安全性,给一些比较危险的命令,添加了一些参数
 cp -i
 mv -i
 rm -i
 ls -l ===ll
 alias 查看系统设置好的别名

 [root@VMware-xiaopihai ~]#alias 
 alias cp='cp -i'
 alias egrep='egrep --color=auto'
 alias fgrep='fgrep --color=auto'
 alias grep='grep --color=auto'
 alias l.='ls -d .* --color=auto'
 alias ll='ls -l --color=auto'
 alias ls='ls --color=auto'
 alias mv='mv -i'
 alias rm='rm -i'
 alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
 [root@VMware-xiaopihai ~]#

 设置别名
 [root@VMware-xiaopihai ~]#alias vieth0='vim /etc/sysconfig/network-scripts/ifcfg-eth0'
 一般不用,就是提高安全性
 alias 外号='可执行命令'
 前面外号可以是命令也可以不是命令

 临时生效的,重连Xsell失效,想要永久生效
 要把alias vieth0='vim /etc/sysconfig/network-scripts/ifcfg-eth0'
 写到/etc/profile配置文件里,一般写在最后一行

 unalias 命令 取消别名

10.yum 必会

yum #安装或卸载软件
yum -y install 软件包的名称 后面版本号可以省略 必须要联网才可以装
yum repolist 列出yum仓库
yum -y 当出现是否继续时,自动继续
yum -y remove  卸载,不管怎么安装的都能通过这个卸载,不能卸载依赖
yum -y reinstall 覆盖安装
yum list 列出仓库中的所有可安装软件
yum clean all 清理缓存,安装不上就用这个清理一下
 
示例1:安装wget命令
[root@VMware-xiaopihai ~]#yum -y install wget
 
示例2:安装rz命令 发现没有可用的包 安装lrzsz
1、需要知道安装的命令是否进行安装
2、使用名称或者带版本号的包进行安装
 
[root@VMware-xiaopihai ~]#yum -y install lrzsz
 
sz 从Linux下载到windows中
rz 从windows上传到Linux中
txt没问题,带格式的可能乱码
rz直接回车 就可以选,因为之前xshell设置过
传失败可能是因为当前目录已经有了
 
 
如果软件安装失败
1.可能命令错误
 
[root@VMware-xiaopihai ~]#yum -y install wegt
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
base                                | 3.6 kB     00:00     
epel                                | 4.7 kB     00:00     
http://mirrors.aliyuncs.com/centos/7/extras/x86_64/repodata/repomd.xml: [Errno 14] curl#7 - "Failed connect to mirrors.aliyuncs.com:80; Connection refused"
Trying other mirror.
http://mirrors.cloud.aliyuncs.com/centos/7/extras/x86_64/repodata/repomd.xml: [Errno 14] curl#6 - "Could not resolve host: mirrors.cloud.aliyuncs.com; Unknown error"
Trying other mirror.
extras                              | 2.9 kB     00:00     
updates                             | 2.9 kB     00:00     
No package wegt available.
Error: Nothing to do
 
2.yum源没有这个包
3.网络问题,DNS不正确
4.想要安装的命令在其他的包 
 
[root@VMware-xiaopihai ~]#yum -y install rz
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
No package rz available.
Error: Nothing to do
[root@VMware-xiaopihai ~]#
 
使用百度快速搜索linux安装rz命令
yum provides rz 查看这个命令在哪个包里,速度慢,不建议使用
yum search rz 查看这个命令在哪个包里,速度慢,不建议使用
上面俩命令还有可能找不到,没有直接百度方便
 
5.可能已经安装过了
 
[root@VMware-xiaopihai ~]#yum -y install wget
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
Package wget-1.14-18.el7_6.1.x86_64 already installed and latest version
Nothing to do
 
示例3:安装ifconfig命令
[root@VMware-xiaopihai ~]#yum -y install net-tools.x86_64
 
route -n #查看网关
netstart -tnulp #查看端口是否启动

11.rz

[root@VMware-xiaopihai ~]#yum -y install lrzsz

rz 从windows上传到Linux中
txt没问题,带格式的可能乱码
rz直接回车 就可以选,因为之前xshell设置过
传失败可能是因为当前目录已经有了

12.sz

[root@VMware-xiaopihai ~]#yum -y install lrzsz

sz 从Linux下载到windows中     

13.rpm

rpm安装 类似window先下载软件,然后再双击安装
1、先wget下载rmp包(或者windows下载导入进来) 软件.rpm结尾的,windows都是.exe结尾的
2、第三方软件yum源里没有,所以在官网下载安装.rmp包进行安装

rpm -ivh 名称.rpm 安装 后面需要有路径,绝对路径或相对路径 这个名字必须全称
rpm -i           install 安装
rpm -v           显示过程 
rpm -h           显示进度
rpm -qa          显示系统内所有安装过的软件
rpm -qa  软件全名 可以不加版本号,但是名字要全称,不知道名字可以用grep模糊过滤
rpm -ql          列出包安装了哪些软件,查看软件包的命令都安装到了哪里,有哪些命令,有man帮助
rpm -e           卸载软件,不支持卸载依赖
yum -y localinstall *.rpm    安装本地所有rpm包,遇到需要安装的依赖自动安装依赖

[root@VMware-xiaopihai ~]#rpm  -qa wget #查看wget是否安装成功
wget-1.14-18.el7_6.1.x86_64     #安装成功提示软件全称加版本号 失败则不提示
[root@VMware-xiaopihai ~]#

持续分享运维干货,感谢大家的阅读和关注!

请输入图片描述

发表评论

召唤看板娘