吾日三省吾身,想出类拔萃,要把知识学牢,学全,学深,学广。
今天继续给大家讲命令,基础打牢, 以后起飞!今天要讲的是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年运维经验,持续分享运维干货,感谢大家的阅读和关注!