CentOS7常用命令

  1. 作者QQ:67065435 QQ群:821635552

  2. 本站内容全部为作者原创,转载请注明出处!

命令别名

  1. 为命令创建删除别名

    # 以 ll='ls -l' 为例
    
    # 1. 临时创建别名
    alias ll='ls -l'
    
    # 2. 临时删除别名
    unalias ll
    
    # 3. 永久创建别名
    alias ll='ls -l'
    vi ~/.bashrc
    alias ll='ls -l'
    ESC
    :wq
    source ~/.bashrc
    
    # 4. 永久删除别名
    unalias ll
    vi ~/.bashrc
    # 删除以下行
    alias ll='ls -l'
    ESC
    :wq
    source ~/.bashrc
    

用户管理

  1. 添加用户并创建密码
    # 添加用户
    useradd -mk /home/www -s /bin/bash www
    # 创建密码
    sudo passwd www
    密码: www
    重复密码: www
    # 删除用户
    sudo userdel www
    

远程连接

  1. ssh登录服务器
    # 修改私钥权限
    chmod -R 600 [私钥]
    ssh [账号]@[IP] -p [端口] -i [私钥]
    password:********
    

远程拷贝

  1. scp拷贝文件到远程服务器
    # 修改私钥权限
    chmod -R 600 [私钥]
    # 本地拷到远程
    scp -P [端口] -i [私钥] -r [本地路径] [账号]@[IP]:[远程路径]
    # 远程拷到本地
    scp -P [端口] -i [私钥] -r [账号]@[IP]:[远程路径] [本地路径]
    password:********
    

网络状态

  1. 进程占用端口

    netstat -lntap|grep [进程名/端口号]
    
  2. 显示指定状态的连接列表

    netstat -lntap | grep LISTEN
    netstat -lntap | grep TIME_WAIT
    netstat -lntap | grep CLOSE_WAIT
    netstat -lntap | grep ESTABLISHED
    
  3. LISTEN|TIME_WAIT|CLOSE_WAIT|ESTABLISHED

    netstat -lntap|grep -oE 'LISTEN|TIME_WAIT|CLOSE_WAIT|ESTABLISHED'|sort|uniq -c|sort -rnk 1
    

进程管理

  1. pstree

    # 进程树查看
    yum install psmisc -y
    # 查看所有进程
    pstree -a
    # 只查看主进程
    pstree
    
  2. systemctl

    systemctl status|grep service
    
  3. 以守护进程运行程序

    # 无输出类型命令
    `命令` &
    
    # 有输出类型命令
    nohup `命令` &
    

计划任务

  1. 查看计划任务

    crontab -l
    
  2. 添加计划任务

    (实际上就是在vi模式下编辑计划任务文件)
    crontab -e
    
  3. 计划任务特殊符号

    *:用来表示所有可能的值,如月份month处用*,表示每个月执行指定任务
    ,:用来指定一个列表范围,如月份month处用1,4,7,10,表示在这4个月里执行指定任务
    -:用来指定一个区间范围,如月份month处用1-10,表示在1-10月里执行指定任务
    /:用来指定一个间隔频率,如月份month处用1-12/2或*/2,表示每两个月执行指定任务
    
  4. 计划任务取值范围

    分(0-59)
    时(0-23)
    日(1-31)
    月(1-12)
    周(0-7)【0和7为周日】
    
  5. 计划任务详细图解

    计划任务

ICMP管理(管理ping)

  1. 开启ICMP响应(允许ping)

    vim /etc/sysctl.conf
    
    net.ipv4.icmp_echo_ignore_all=0
    
    ESC
    :wq
    
    sysctl -p
    
  2. 关闭ICMP响应(关闭ping)

    vim /etc/sysctl.conf
    
    net.ipv4.icmp_echo_ignore_all=1
    
    ESC
    :wq
    
    sysctl -p
    

文件管理

  1. 目录下文件被批量改成了0777,怎么恢复

    # 文件批量改为0644
    find . -type f -exec chmod 644 {} +
    # 目录批量改为0755
    find . -type d -exec chmod 755 {} +
    # 可执行文件批量改为0755(此处仅供参考,可执行文件不一定以sh结尾)
    find . -type f -name *.sh -exec chmod 755 {} +
    
  2. 字符串替换

    # 替换单个文件中的字符串
    sed -i s/"查找字符串"/"替换字符串"/g [文件路径]
    sed -i s/"查找字符串"/"替换字符串"/g /www/test.txt
    
    # 替换正则路径文件中的字符串
    sed -i s/"查找字符串"/"替换字符串"/g [正则路径]
    sed -i s/"查找字符串"/"替换字符串"/g /www/[a-zA-Z0-9]{1-5}.txt
    
    # 先通过grep查找含有指定字符串的文件,再替换文件中的字符串
    sed -i s/"查找字符串"/"替换字符串"/g `grep -rl "查找字符串" ./`
    
  3. 动态查看指定文件

    tail -f /logs/prod.log
    
  4. 创建文件连接

    # 软连接
    ln -s [文件、目录路径] [软连接路径]
    # 硬连接
    ln  [文件、目录路径] [硬连接路径]
    
  5. 打包和解包

    # 解包
    tar -xf xxx.tar.gz
    # 打包
    tar -cf xxx.tar.gz ./xxx/
    # 校验
    tar -tf xxx.tar.gz
    
  6. 修改文件最后编辑时间

    # 修改xxx.sh最后编辑时间为2012-12-31 12:00:00
    touch -d "2012-12-31 12:00:00" xxx.sh
    # 修改所有文件最后编辑时间为2012-12-31 12:00:00
    find . -type f -exec touch -d "2012-12-31 12:00:00" {} +
    # 修改所有文件夹最后编辑时间为2012-12-31 12:00:00
    find . -type d -exec touch -d "2012-12-31 12:00:00" {} +
    
  7. 删除符合指定规则的文件或目录

    [文件或目录查找命令] -exec [查到的文件或目录被执行该操作] {} +
    # 例如
    # 将当前路径下的所有文件权限改为644
    find . -type f -exec chmod 644 {} +
    
    # 将当前路径下的所有目录权限改为755
    find . -type d -exec chmod 755 {} +
    
    # find -type [type参数]:
    f   //文件
    d   //目录
    l   //链接
    p   //管道
    b   //块设备
    c   //字符设备
    s   //套接字socket
    
  8. 查找当前目录大于、小于、等于1000kb的文件

    find . -size +1000k
    find . -size -1000k
    find . -size 1000k
    
  9. 查找路径下包含指定字符串的文件

    grep -rn "[字符串]" [路径]
    grep -rn "test_str" *
    
    -An 目标结果前n行 ep: grep -A1 -rn "test_str" *
    -Bn 目标结果后n行 ep: grep -B1 -rn "test_str" *
    -Cn 目标结果前后n行 ep: grep -C1 -rn "test_str" *
    -i 忽略大小写 ep: grep -i -rn "test_str" *
    
    # grep相似的命令还有: awk sed
    
  10. 找出一个文件属于哪个软件包

    # 以/etc/my.cnf为例
    rpm -qf /etc/my.cnf
    

内存状态查看

  1. 命令格式

    free [参数]
    
  2. 命令参数

    -b 区块为1 byte(单位B)
    -k 区块为1024 byte(单位KB)
    -m 区块为1024*1024 byte(单位MB)
    -g 区块为1024*1024*1024 byte(单位GB)
    
    -t 显示内存总和列
    -o 不显示缓冲区调节列
    -s [两次取内存数据之间隔的秒数]
    -V 显示版本信息
    

硬盘状态查看

  1. 命令格式

    df [参数] [文件]
    
  2. 命令参数

    # 必要参数
    -k          区块为1024 byte(单位KB)
    -m          区块为 1024*1024 byte(单位MB)
    -h          区块为 1024*1024*1024 byte(单位GB)
    -H          区块为 1000*1000*1000 byte(单位GB)
    
    -l          只显示本地文件系统
    -a          全部文件系统
    -i          显示inode信息
    
    --sync      先执行sync命令
    --no-sync   不执行sync命令
    
    -P          输出格式为POSIX
    -T          文件系统类型
    
    # 可选参数
    --block-size=[区块大小]    指定区块大小
    
    -t [文件系统类型]         只显示选定文件系统的磁盘信息
    -x [文件系统类型]         不显示选定文件系统的磁盘信息
    
    --help                 显示帮助信息
    --version               显示版本信息
    

CPU状态查看

  1. 命令格式

    top
    
  2. 详细介绍

CPU内核数

  1. CPU内核数查看
    echo $(nproc)
    

SELinux配置

  1. 配置文件/etc/sysconfig/selinux介绍

    这个文件用来控制本系统SELinux的状态
    
    SELINUX=???可以是以下三个值之一
        enforcing    SELinux安全策略被强制执行
        permissive   SELinux安全策略只进行警告
        disabled     SELinux安全策略被禁止执行
    
    SELINUXTYPE=???可以是以下三个值之一
        targeted     目标进程受到保护
        minimum      选定进程受到保护
        mls          进程多级安全保护
    
  2. SELinux安全策略修改为只进行警告

    getenforce
    
    vim /etc/sysconfig/selinux
    
    SELINUX=permissive
    
    ESC
    :wq
    
    setenforce 0
    getenforce
    
Copyright © 豆包嘿嘿~ 2012-∞ 冀ICP备17033181号 all right reserved,powered by Gitbook修订: 21-06-15 16:29

results matching ""

    No results matching ""