吾日三省吾身,想出类拔萃,要把知识学牢,学全,学深,学广。
今天继续给大家讲命令,基础打牢, 以后起飞!今天要讲的是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-koten ~]#which touch
/usr/bin/touch
[root@VMware-koten ~]#which ntpdate
/usr/sbin/ntpdate
[root@VMware-koten ~]#
配合修改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-koten ~]#less /etc/services
3.more
和less用法差不多,不支持快捷键,到最后自动退出
4.tr
tr 替换字符 单个字母对字母的替换 但是特殊符号没问题,可以多个特殊符号
不能替换成空字符
[root@VMware-koten ~]#echo hello | tr "l" "o"
heooo
[root@VMware-koten ~]#
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-koten ~]#cat 1.txt |sort|uniq -c |sort -rn
4 ok
3 nihao
2 koten
[root@VMware-koten ~]#
7.xargs
xargs 有多少结果放多少列 以空格来取列
xargs -n 1 按照列输出,把结果放到1列
xargs 将前面命令输出的结果甩到最后面去,后面不支持别名
[root@VMware-koten ~]#cat 3.txt
/etc/passwd
[root@VMware-koten ~]#cat 3.txt |xargs ll
xargs: ll: No such file or directory
[root@VMware-koten ~]#cat 3.txt |xargs ls -l
-rw-r--r--. 1 root root 1022 Oct 10 2008 /etc/passwd
[root@VMware-koten ~]#cat 3.txt |xargs echo
/etc/passwd
[root@VMware-koten ~]#cat 3.txt |xargs echo >>4.txt
[root@VMware-koten ~]#cat 4.txt
/etc/passwd
[root@VMware-koten ~]#
后面命令能接收前面命令输出是部分命令
8.diff 了解
diff 比对文件
[root@VMware-koten ~]#diff 1.txt 2.txt
vimdiff 比对文件
ctrl+w切换窗口,需要按两次才切换
一次只能退出一个文件,需要退出两次
[root@VMware-koten ~]#vimdiff 1.txt 2.txt
gitdiff 比对开发代码
9.alias 了解
系统为了安全性,给一些比较危险的命令,添加了一些参数
cp -i
mv -i
rm -i
ls -l ===ll
alias 查看系统设置好的别名
[root@VMware-koten ~]#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-koten ~]#
设置别名
[root@VMware-koten ~]#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-koten ~]#yum -y install wget
示例2:安装rz命令 发现没有可用的包 安装lrzsz
1、需要知道安装的命令是否进行安装
2、使用名称或者带版本号的包进行安装
[root@VMware-koten ~]#yum -y install lrzsz
sz 从Linux下载到windows中
rz 从windows上传到Linux中
txt没问题,带格式的可能乱码
rz直接回车 就可以选,因为之前xshell设置过
传失败可能是因为当前目录已经有了
如果软件安装失败
1.可能命令错误
[root@VMware-koten ~]#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-koten ~]#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-koten ~]#
使用百度快速搜索linux安装rz命令
yum provides rz 查看这个命令在哪个包里,速度慢,不建议使用
yum search rz 查看这个命令在哪个包里,速度慢,不建议使用
上面俩命令还有可能找不到,没有直接百度方便
5.可能已经安装过了
[root@VMware-koten ~]#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-koten ~]#yum -y install net-tools.x86_64
route -n #查看网关
netstart -tnulp #查看端口是否启动
11.rz
[root@VMware-koten ~]#yum -y install lrzsz
rz 从windows上传到Linux中
txt没问题,带格式的可能乱码
rz直接回车 就可以选,因为之前xshell设置过
传失败可能是因为当前目录已经有了
12.sz
[root@VMware-koten ~]#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-koten ~]#rpm -qa wget #查看wget是否安装成功
wget-1.14-18.el7_6.1.x86_64 #安装成功提示软件全称加版本号 失败则不提示
[root@VMware-koten ~]#
其中less which sort uniq yum rpm相对重要,比较常用。
我是koten,10年运维经验,持续分享运维干货,感谢大家的阅读和关注!