Liunx下常用命令收集

1、查看liunx版本

[~] cat /etc/redhat-release

-- 查看内核版本
[~] uname -a

2、常用修改IP方式(static模式)

[~] cd /etc/sysconfig/network-scripts
[~] vi ifcfg-eth0
[~] /etc/init.d/network restart

3、截取IP

ifconfig ens33|grep "inet"|awk '{print $2}'|grep '^[0-9]'

4、查看服务器资源消耗(内存&磁盘*负载)

(1)free - 查看服务器内存消耗

复制代码
-- 参数说明
{
  -b 以 Byte 为单位显示内存使用情况。 
  -k 以 KB 为单位显示内存使用情况。 
  -m 以 MB 为单位显示内存使用情况。
  -g  以 GB 为单位显示内存使用情况。 
  -o 不显示缓冲区调节列。 
  -s<间隔秒数> 持续观察内存使用状况。 
  -t 显示内存总和列。 
  -V 显示版本信息。
}

-- 显示参数说明
{
  total: 总计物理内存的大小。
  used: 已使用多大。
  free: 可用有多少。
  Shared: 多个进程共享的内存总额。
  Buffers/cached: 磁盘缓存的大小。
  第三行 (-/+ buffers/cached):
  used: 已使用多大。
  free: 可用有多少。
  SWAP:交换分区,也就是我们通常所说的虚拟内存
}
-- 常用命令
[~] free -mh
              total        used        free      shared  buff/cache   available
Mem:           1.8G        1.6G         78M         16M        137M         65M
Swap:            0B          0B          0B

[~] free -m
              total        used        free      shared  buff/cache   available
Mem:           1837        1622          76          16         139          64
Swap:             0           0           0

[~] free -g
              total        used        free      shared  buff/cache   available
Mem:              1           1           0           0           0           0
Swap:             0           0           0

[~]# free -t
              total        used        free      shared  buff/cache   available
Mem:        1881640     1662340       72144       17004      147156       62364
Swap:             0           0           0
Total:      1881640     1662340       72144


## 每10s输出一次
[~] free -s 10
              total        used        free      shared  buff/cache   available
Mem:        1881640     1661828       65884       17004      153928       60580
Swap:             0           0           0

              total        used        free      shared  buff/cache   available
Mem:        1881640     1664684       72740       17004      144216       61496
Swap:             0           0           0

              total        used        free      shared  buff/cache   available
Mem:        1881640     1664524       64092       17004      153024       57888
Swap: 

-- 备注信息
{
  第二行 (mem) 的 used/free 与第三行 (-/+ buffers/cache) used/free 的区别。这两个的区别在于使用的角度来看,第一行是从 OS 的角度来看,因为对于 OS,buffers/cached 都是属于被使用,所以他的可用内存是 2098428KB, 已用内存是 30841684KB, 其中包括,内核(OS)使用+Application(X, oracle,etc) 使用的+buffers+cached.

  第三行所指的是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,因为 buffer/cached 是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached 会很快地被回收。

  所以从应用程序的角度来说,可用内存=系统 free(memory+buffers+cached)。
}

-- 内存交换机制
{
  ## 可用内存少于额定值的时候,就会开会进行交换。如何看额定值:
  [~] cat /proc/meminfo 
}
复制代码

(2)top - 查看服务器负载CPU等

 View Code

(3)df - 查看服务器磁盘消耗

复制代码
-- 查看磁盘消耗
[~] df -TH
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs  953M     0  953M   0% /dev
tmpfs          tmpfs     964M     0  964M   0% /dev/shm
tmpfs          tmpfs     964M   18M  946M   2% /run
tmpfs          tmpfs     964M     0  964M   0% /sys/fs/cgroup
/dev/vda1      ext4       43G   17G   24G  43% /
tmpfs          tmpfs     193M     0  193M   0% /run/user/0
复制代码

5、sshpass - 免密传输文件

--  参数说明

首次使用 sshpass 命令前需要检查 /etc/ssh/ssh_config, 将 #StrictHostKeyChecking ask 修改为StrictHostKeyChecking no, 然后 systemctl restart sshd重启ssh服务

-- 使用样例

复制代码
-- 常用方式一: 免密登录远程主机

# 其中-p选项后面指定密码 
[~] sshpass -p '123456' ssh root@192.168.16.19  
# 从文件的读取密码进行远程登陆 
[~] sshpass -f ~/passwd.txt ssh root@192.168.16.20

-- 免密传输文件
[~] sshpass -p '123456' scp ~/Movie/bmw.ts root@192.168.16.21:/tmp

[~] sshpass -p '123456' scp -o StrictHostKeyChecking=no timage.tgz root@10.129.10.219:/home/
复制代码

6、find - 文件查找

 View Code

7、vim

 View Code

8、查看文件大小

(1)du

复制代码
-- 查看文件大小
[~] du -h --max-depth=1 php [~] du -h --max-depth=1 /usr/local/src/zabbix-4.0.3/frontends/php

-- 查看文件或文件夹大小
[~]# du -sh * 4.0K app 17M demo-1.jar

-- 查看目录下所有文件的大小并按照大小排序
[~] du -sh * | sort -rh

复制代码

(2)ll

复制代码
-- 查看当前文件夹下所有文件信息
[~] ll -rth
total 74M
drwxr-xr-x 2 tingyun tingyun 4.0K Nov 29  2021 app
-rw-r--r-- 1 root    root     21M Dec 28  2021 springboovue02-0.0.1-SNAPSHOT.jar

-- 在当前目录查看其他目录下的文件信息
[~] ll -h /usr/local/php/etc
复制代码

9、cp - 文件复制

(1)文件复制:-r 递归

[~] cd /usr/local/src/lua/frotends
[~] cp  -rf php  /usr/local/dome/html/  -- 切换到frotends目录,拷贝php文件

(2)文件备份:常用于修改配置文件前备份,可以提供后续还原

[~] cp /usr/local/mysql/my.conf    /usr/local/mysql/my.conf .bak

10、mv - 文件移动

(1)文件移动

-- 把当前目录的一个子目录里的文件移动到另一个子目录里
[~] mv 12.tar.gz  /tmp  ## 文件名  目标目录地址

-- 移动当前文件夹下的所有文件到上一级目录
[~] mv * ../

(2)文件名称重命名

-- 将my.conf配置文件修改为my.conf.bak
[~] mv my.conf my.conf.bak

11、tar 命令

 View Code

12、防火墙 - firewall

(1)参考命令

复制代码
1、查看版本: firewall-cmd --version

2、查看帮助: firewall-cmd --help

3、显示状态: firewall-cmd --state

4、查看所有打开的端口: firewall-cmd --zone=public --list-ports

5、更新防火墙规则: firewall-cmd --reload

6、查看区域信息: firewall-cmd --get-active-zones

7、查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0

8、拒绝所有包:firewall-cmd --panic-on

9、取消拒绝状态: firewall-cmd --panic-off

10、查看是否拒绝: firewall-cmd --query-panic
复制代码

(2)常用语法

 View Code

13、防火墙 - iptables

(1)参考命令

复制代码
-- 安装
[~] yum install iptables-services -y

-- 禁用
[~] service iptables stop   && systemctl disable iptables

-- 清空防火墙规则
[~] iptables -F
复制代码

(2)常用语法

复制代码
1.接受某个ip段的所有访问请求
[~] iptables -I INPUT -s 124.78.1.2  -ptcp --dport 50075 -j ACCEPT
[~] iptables -I INPUT -s 124.78.0.0/24 -p tcp --dport 50075 -j ACCEP

2.拒绝所有访问请求
[~] iptables -I INPUT -p tcp --dport 50070 -j DROP
[~] iptables -I INPUT -p tcp --dport 50075 -j DROP
复制代码

14、sed - 文本信息替换

(1)参数说明

复制代码
(1)”^”:表示行首
(2)”$”:如果在引号中表示行尾,但是在引号外却表示末行(最后一行)
(3)“g”:表示替换所有匹配到的关键字,否则只替换每行的第一个


# 注意这里的 " & " 符号,如果没有 “&”,就会直接将匹配到的字符串替换掉
{
    sed 's/^/添加的头部&/g'        #在所有行首添加
    sed 's/$/&添加的尾部/g'         #在所有行末添加
    sed '2s/原字符串/替换字符串/g'     #替换第2行
    sed '$s/原字符串/替换字符串/g'       #替换最后一行
    sed '2,5s/原字符串/替换字符串/g'    #替换2到5行
    sed '2,$s/原字符串/替换字符串/g'    #替换2到最后一行
}
复制代码

(2)常用语法

-- db.properties配置文件中的 1.0.0.6 替换为 1.0.0.7
[~] sed -i 's/1.0.0.6/1.0.0.7/g' /root/data/code-s3201/publish_codex/deploy/db.properties

## 可能遇到的问题:使用sed在修改本地上次的文件过程中,出现sed: -e expression #1, char 5: unterminated `s' command错误
## 解决方案:使用vim打开需要修改的文件,再推出,在执行修改

15、scp - 文件包上传

-- 将桌面文件复制到指定服务器
[~] scp ~/Desktop/a.log root@ip:/tmp

16、mmv - 批量修改文件名称

(1)参数说明:

复制代码
mmv后面第一个单引号里的参数叫做From,第二个单引号里面的参数叫做To,From中可以使用的通配符有*、?、[]、;,To中可以使用的通配符是#1,#2,#3…等,#号加数字形式,对应着From中的每一个通配符。

-- Centos7下安装mmv
[~]# wget  http://mirrors.aliyun.com/repo/epel-7.repo --directory-prefix=/etc/yum.repos.d -- 从阿里下载epel源文件
# 清除yum缓存,并重新生成缓存
[~]# yum clean all && yum makecache
# 安装mmv
[~]# yum install mmv -y
复制代码

(2)常用语法

复制代码
-- 将当前目前下文件名含有abc的名称文件修改为xyz
[~] mmv '*abc*' '#1xyz#2'

-- 修改文件主名称,不修改后缀
[~] mmv -n a \ * b \ # 1
{
    a1.txt >>> b1.txt
    a2.txt >>> b2.txt
    a3.txt >>> b3.txt
}

-- 将当前目录中的.html.cn、.html.en修改为 cn.html、en.html
[~] mmv '*.html.??' '#1.#2#3.html'

-- 将当前目录里面所有.png格式的文件转换成.jpg格式:
[~] mmv '*.jpeg' '#1.jpg'

-- 修改文件扩展名不改变主文件名称
[~] mmv 'test*.zip' 'test#1.rar'
{
   test01.zip >>>  test01.rar
}


-- 删除重复的扩展名,例如扩展名是.zip.zip.zip,只保留一个.zip
[~] mmv '*.*.*.*' '#1.#2'
{
    test01.zip.zip.zip >>>  test01.zip
}
复制代码

17、crontab - 定时任务

(1)参数信息

复制代码
-- crontab配置定时任务时候的时间表示时间格式一共5位,分别对应:
{
  * * * * *
  分 时 日 月 周
  分钟有效值:0 - 59;
  时的有效值:0 - 23;
  日的有效值: 1 - 31;
  月的有效值:1 - 12 或jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec;周的有效值:0 - 6 ,星期天可以用0或7表示,这个是个特例,也可以用周的英文缩写,sun,mon,tue,wed,thu,fri,sat;
}

-- 例如:
{
  3 * * * *:执行频率为 每小时执行一次;每小时的第3分钟执行;
  3 4 * * 5:执行频率为 每周执行一次;每周5的4点3分执行;
  5 6 7 * *:执行频率为 每月执行一次;每月的7号的6点5分执行;
  7 8 9 10 *:执行频率为 每年执行一次;每年的10月9号8点7分执行;
}

-- 离散取值
{
  ## 在时间点上使用逗号分隔的多个值;x,y,z
  
  9 8 * * 3,7:每周三和周日执行的8点9分执行;
}

-- 连续取值
{
  ## 在时间点上使用符号短破折号"-"连接开头和结束:x-y

  0 9-18 * * 1-5:周1到周5,每天的9点到18点,执行;
}

-- 步长取值:在指定时间点上,定义步长:/number :其中number表示步长;(建议使用能被时间线整除的数)
{
  */5 * * * *:每5分钟执行一次;(5/60)
  * */1 * * *:每1小时执行一次;
  * * */5 * *:每5天执行一次;
  */7 * * * *:这个并不完全是每7分钟执行一次,这种不整除的现象,不建议使用。(7/60)
}
复制代码

(2)常用脚本

复制代码
-- 1、每12小时备份一次/etc目录至/backups目录中,保存文件 名称格式为"etc-yyyy-mm-dd-hh.tar.xz"要添加的任务计划为:
{
  * */12 * * * /usr/bin/mkdir -p /backups >/dev/null && /usr/bin/tar -JPcvf /backups/etc-`date '+%Y-%m-%d-%H'`.tar.xz /etc >/dev/null
}

-- 2、每周2、4、7备份/var/log/secure文件至/logs目录中,文件名格式为"secure-yyyymmdd";要添加的任务计划为:
{
  * * * * 2,4,7 /usr/bin/mkdir -p /logs >/dev/null && tar -JcvfP /logs/secure-`date +%Y%m%d`.tar.xz /var/log/secure >/dev/null
}

-- 3、每两小时取出当前系统/proc/meminfo文件中以S或M开头的行信息追加至/tmp/meminfo.txt文件中;
{
  * */2 * * * /usr/bin/grep -E '^(S|M)' /proc/meminfo >> /tmp/meminfo.txt
}

-- 4、制定每周三凌晨三、五点10分执行某个脚本,输出当前时间,时间格式为 2017-12-28 10:00:00;
{
## 脚本内容为:
[~]# cat /var/tmp/print_dtime.sh
#! /bin/bash
PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
LANG="en_US.UTF-8"
export PATH LANG
source /etc/profile
shopt -u expand_aliases #关闭 bash alias 扩展
echo `date +'%Y-%m-%d %H:%M:%S'`

## 定时任务计划为:
10 3,5 * * 3 bash /var/tmp/print_dtime.sh
}

-- 5、每天6.30执行sh脚本
{
  #! /bin/bash
  /app/tingyun/service_manager.sh  stop base-druid
  sleep  30
  /app/tingyun/service_manager.sh  start base-druid

  ## 定时任务为:
  [~] crontab -e
  30 6 * * * /bin/sh /app/tingyun/bin/restart-druid.sh
}
复制代码

18、d

 

 20、rename - 修改文件名称

 
 
liunx 命令网站 https://man.niaoge.com/
posted @ 2024-12-06 08:03  心冰之海  阅读(3)  评论(0编辑  收藏  举报