Linux CentOS 常用命令(后续会持续更新)

1. yum (Centos 7 包管理工具)常见用法

$ yum list                 //显示已经安装的和可以安装的包
$ yum list nano           //显示 nano 这个包的信息
$ yum deplist nano       //查看 nano 包的依赖
$ yum search nano        //查找含有 nano 字符的包

$ yum install nano            //按照 nano 包
$ yum install nano -y        //跳过确认步骤进行安装

$ rpm -qa |grep samba       //显示所有安装的包,然后过滤只含有 samba 字符的包
$ rpm -ql samba-client     //查看 samba-client 这个包生成了哪些文件

$ yum remove nano         //自动移除 nano 包
$ yum clan all            //清除所有缓存
$ yum makecache           //生成缓存

2. dnf (centos8包管理工具)常见用法

$ dnf repolist             //查看可用的 dnf 软件库
$ dnf repolist all         //查看可用和不可用的所有软件库
$ dnf list                 //列出软件库的可用软件包以及已经安装的软件
$ dnf list installed
$ dnf list available

$ dnf search nano
$ dnf provides /bin/bash            //查看那个软件提供了 /bin/bash 这个文件
$ dnf info nano              //查看软件包信息

$ dnf install nano
$ dnf reinstall nano
$ dnf update nano
$ dnf downgrade nano          //回滚到特定版本

$ dnf check-update               //检查所有已安装软件的更新
$ dnf update
$ dnf upgrade

$ dnf autoremove              //删除孤立的软件包
$ dnf clean all
$ dnf help clean

$ dnf history

$ dnf grouplist             //查看软件包组
$ dnf groupinstall 'Educational Software'
$ dnf groupupdate 'Educational Software'
$ dnf groupremove 'Educational Software'
$ dnf -enablerepo=epel install phpmyadmin         //从特定的软件库安装指定软件

$ dnf distro-sync                 //更新软件到最新的稳定发行版本

3. sed 常见用法

$ sed -i “/datadir=/ a text_test”    filename              //搜索含有datadir=的行下面插入 text_test
$ sed -i “/datadir=/ i text_test”    filename            //搜索含有datadir=的行上面插入 text_test
$ sed -i “/datadir=/ i text_test \ntest2”     filename    //搜索含有datadir=的行上面插入两行 text_test和test2

$ sed -i “s/datadir=/text_test/g”   filename      //(g)全局(s)替换datadir=为text_test

$ sed -i “/datadir=/ c text_test”    filename     //含有datadir=的整行替换为 text_test
$ sed -i s/^ldap_host.*$/text_test/   filename    //ldap_host 开头的整行替换为 text_test

$ sed -i ” 66 a hello”    filename                //66行后插入hello
$ sed -i "/^SELINUX/s/enforcing/disabled/" /etc/selinux/config           // 替换指定行的指定字符

$ sed -i.bak s/test/TEST/g test.txt            //替换之前先把 test.txt 复制为 test.txt.bak,然后再搜索替换

$ sed -n '/07\/May\/2021:21:21:*/,/07\/May\/2021:21:22:*/p' access.log-20210508             //查询某个时间段的日志

$ sed -n '/07\/May\/2021:21:21:*/,/07\/May\/2021:21:22:*/p' access.log-20210508 > access.log       //导出某个时间段的日志

$ sed -i '3~2d' test.txt          // 从第3行开始,每隔一行删除,即删除 3,5,7... 行
$ sed -i '4,8d' test.txt          // 删除4-8 行
$ sed -i '$d' test.txt            // 删除最后一行
$ sed -i '/^$/d' test.txt         // 删除所有空白行
$ sed -i '/test/,$d' test.txt     // 删除从匹配行到最后一行
$ sed -i '/test/,+2d' test.txt    // 删除匹配行和之后的两行

注意:

  • -i参数,会直接修改原文件,操作需谨慎。可以先把 -i参数去掉执行,看一下效果。
  • sed -n 查询日志时,需要注意,日志的日期必须都存在

4. find 常见用法

$ find /dir -name *.tar.gz$ | xargs rm -rf       //查找 dir 目录下的 tar.gz 文件,并删除
$ find ./ -name '*.tar.gz' -type f -print -exec rm -rf {} \;   

$ find -type d | grep .svn$ | xargs rm -rf        //查找当前目录下的 .svn 结尾的目录,并删除

$ for i in `find /var/lib/docker -type f -name *.log -size +1G`; do ls -al $i;done   //查找目录下 .log结尾,类型是文件,大小超过1G的文件,然后清空里面的内容

5. grep 常见用法

$ grep -C 5 test file          //显示file文件里匹配test字符串那行以及上下5行
$ grep -B 5 test file          //显示test行以及前5行
$ grep -A 5 test file          //显示test行以及后5行
$ docker inspect web2 | grep -i  aliases         //过滤输出信息,忽略字符大小写

6. 时间和时区设置

$ timedatectl status                     //显示使用的时区,以及系统时间各方面的信息
      Local time: Fri 2021-01-29 18:00:59 CST
  Universal time: Fri 2021-01-29 10:00:59 UTC
        RTC time: Fri 2021-01-29 10:00:59
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

$ timedatectl list-timezones |grep Asia            //显示亚洲可用的时区
...
Asia/Shanghai
...
$ timedatectl set-timezone Asia/Shanghai         //设置为上海时区
$ cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime   //也可通过此方式直接修改时区(第二种方法)

7. Curl 和 wget 常见用法

$ wget url -P <Path> -O fileName
$ curl -L url -o <filePath>

8. cat 常见用法

$ cat <<EOF | kubectl apply -f -
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: mygateway
...
EOF

$ kubectl apply -f - <<EOF
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: httpbin-gateway
...
EOF

99. 示例

(1)自动获取当前的公网IP,并修改远端服务器上配置的公网IP。
$ IP=`curl v4.ident.me` && ssh 192.168.20.151 "grep -q $IP /root/test.txt && echo cunzai || sed -i s/^ldap_host.*$/ldap_host=$IP/ /root/test.txt"
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱尚维

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值