精华内容
下载资源
问答
  • linux 日常运维命令

    2020-03-30 18:00:01
    linux 日常运维命令 1. 修改系统时间 [root@localhost ~]# date -s “2012-11-16 10:16:00” [root@localhost ~]# clock -w 2. 查看系统的内核 [root@localhost ~]# uname –a 3. 查看 linux 服务器物理 CPU 的个数 ...

    linux 日常运维命令

    1. 修改系统时间
    [root@localhost ~]# date -s “2012-11-16 10:16:00”
    [root@localhost ~]# clock -w
    2. 查看系统的内核
    [root@localhost ~]# uname –a
    3. 查看 linux 服务器物理 CPU 的个数
    [root@localhost ~]# cat /proc/cpuinfo | grep “physical id” | sort | uniq | wc –l
    4. 查看 linux 服务器逻辑 CPU 的个数
    [root@localhost ~]# cat /proc/cpuinfo | grep "processor " | wc –l
    5. 查看 linux 服务器的内存使用
    [root@localhost ~]# free –m
    已用内存:used-buffers-cached
    可用内存:free+buffers+cached
    6. 查看服务器硬盘使用情况
    [root@localhost ~]# fdisk –l
    7. 查看文件系统的磁盘空间占用情况
    [root@localhost ~]# df –h
    8. 查看服务器 IO 使用情况,,(使用下面命令要先安装软件包 yum –y install sysstat)
    [root@localhost ~]# iostat
    Iostat –d –x –k 1(持续查看 IO 使用)
    如果%util 接近 100%说明产生的 I/O 请求太多,I/O 系统已经满负荷,该磁盘可能存在瓶颈。
    如果 idble 小于 70%,I/O 的压力就比较大,说明读取进程中有较多的等待,还可以结合 vmstat 查看 b 参数(等
    待资源的进程数)和 wa 参数(I/O 等待所占用的 CPU 时间的百分比,高于 30%时 I/O 的压力就比较高了)。
    9. 查看目录的大小
    [root@localhost ~]# du -sh /root
    10. Dd 命令的使用,在进行维护系统时也经常用到
    *制作交换文件的时候
    Dd if=/dev/zero of=/swapfile bs=1024 count=65536
    *制作驱动盘的时候
    Dd if=rhel40 .img of=/dev/fd0 bs=10k
    制作 ISO 镜像的时候
    Dd if=/dev/cdrom of=/root/cd1 .iso
    11. 查看系统负载情况
    [root@localhost ~]# uptime 或者 top
    在使用 top 时,如果 r 经常大于 3 或 4,且 id 经常小于 50,则标示 CPU 的负荷很重
    如果每个 cpu 当前的活动进程数大于 5,则标示系统性能问题严重。
    12. 使用 vmstat 命令查看 linux 系统的整体性能(进程、内存、虚拟内存、磁盘 IO、CPU 等
    [root@localhost ~]# vmstat
    13. 查看系统是 23 位的还是 64 位的
    [root@localhost ~]# ls -lF / | grep /$
    *或者用命令# file /sbin/init
    查看输出结果是否有/lib64 的目录,有则说明系统是 64 位的,没有说明是 32 位的。
    14. 查看系统安装的模块
    [root@localhost ~]# lsmod
    15. 查看服务器 PCI 设置(如:网卡、声卡、显卡等详细信息)
    [root@localhost ~]# lspci
    16. 查看和设置用户密码策略
    [root@localhost ~]# vim /etc/login.defs
    *强制密码长度
    [root@localhost ~]# vim /etc/pam.d/system-auth
    password requisite pam_cracklib.so try_first_pass retry=3 minlen=12
    17. 设置登录超时自动退出终端
    [root@localhost ~]# vim /etc/profie
    export TMOUT=600
    18. 设置禁止 root 用户和空密码用户远程登录系统
    [root@localhost ~]# vim /etc/ssh/sshd_config
    PermitRootLogin no
    PermitEmptyPasswords no
    如果拒绝某个用户远程登录系统则:(不能 使用 deny 和 allow)
    DenyUsers zhangfeng zhangxiao
    -允许用户 zhang 远程登录系统,允许用户 wang 在某个主机登录,其它用户不允许。
    AllowUsers zhang wang@192.168.12.1
    限制登录失 败后的重试次数 MaxAuthTries 3
    设置完后 SSH:使用命令是设置的生效:# /etc/init.d/sshd reload
    19. 系统日志管理
    [root@localhost ~]# vim /etc/syslog.conf (定义日志类型,输出路径)
    [root@localhost ~]# vim /var/log/secure(查看系统登录安全日志:SSH/POP3/telnet、ftp 等)
    [root@localhost ~]# last (产看登录用户的信息)
    [root@localhost ~]# lastlog (查看所有用户登录的时间)
    20. 设置用户在系统的权限;如只让用户使用 ifconfig 命令。
    [root@localhost ~]# visudo (编辑 sudo 文件)
    Zhang localhost=/sbin/ifconfig
    定义别名格式如下:
    User_Alias MING=zhang,wang,xiao (别名必须大写,这是定义一个用户组)
    Host_Alias ZHU=smtp,pop
    Cmnd_Alias MING=/bin/rpm , /usr/bin/yum (定义一组命令集合)
    进行调用:
    Cmnd_Alias MING=/bin/rpm ,/usr/bin/yum Zhang localhost=MING
    启用 sudo 后,进行日志设置
    [root@localhost ~]# visudo
    Default logfile = “/var/log/sudo”
    [root@localhost ~]# vim /etc/syslog.conf
    Local12.debug /var/log/sudo
    [root@localhost ~]# /etc/init.d/syslog restart
    [root@localhost ~]# sudo –l (查看当前用户被授权的 sudo 命令)
    21. 锁定密码文件,运行增加和删除;
    [root@localhost ~]# chattr +i /etc/passwd
    [root@localhost ~]# chattr -I /etc/passwd(取消 i 权限)
    22. 禁止用户执行控制台命令(poweroff、halt、reboot、eject)
    在目录/etc/security/console.apps/下有以上命令,将其打包并移除到别的目录或者删除。
    23. 禁止用户执行 Ctrl+Alt+Del 热键重启命令
    [root@localhost ~]# vim /etc/inittab
    #ca::ctrlaltdel:/sbin/shutdown -t3 -r now
    [root@localhost ~]# init q (使用此命令使之生效)
    24. 在 grub 之前设置密码,使用户在进入 grub 前输入密码
    ① [root@localhost ~]# grub-md5-crypt (设置 MD5 加密密码)
    ② [root@localhost ~]# vim /boot/grub/grub.conf (在 title 前加入 password --MD5 )
    25. 限制用户登录的 tty 终端
    [root@localhost ~]# vim /etc/inittab (在 tty 终端前加#号,注释掉就可以)
    26. 禁止 root 用户登录的终端
    [root@localhost ~]# vim /etc/securetty (加#号注释)
    27. 禁止除 root 外的用户从 tty1 终端登录系统
    ① [root@localhost ~]# vim /etc/pam.d/login
    Account required pam_access.so (增加此认证) ② [root@localhost ~]# vim /etc/security/access.conf
    -:ALL EXCEPT root:tty1 (去掉#号) - : root : 192.168.12.0/24 172.16.0.0/8(禁止 root 用户从这两个网段远程登录)
    28. 防火墙规则表
    Filter 表:主要是对数据包进行过滤
    Nat 表:主要用于修改数据包的 IP 地址、端口号等。
    Mangle 表:此表应用并不广泛。
    Raw 表:主要用于决定数据包是否被状态跟踪机制处理,在匹配时 raw 表优先于其它表。
    Iptables -A(在末尾追加一条规则)
    -D(删除指定链中的某条规则,按序号或内容)
    -I(在指定的链中插入一条规则,没有指定位置,在开头插入)
    -L (显示防火墙规则)
    -F (清除指定连中所有规则,没有指定则清楚表中所有链的规则)
    -X(清除用户自定义的规则链)
    -P (设置默认的策略)
    Iptables (-t 表名) (-A 命令选项) (链名) (条件匹配 –p tcp) (-j 目标动作)

    ** Linux 系统 SNAT(只能用在 nat 表的 POSTROUTING 链)和 DNAT(只能用在 nat 表的 prerouting 和 output 链)**
    策略使用

    • iptables -t nat -A POSTROUTING –s 192.168.1.0/24 -o etho -j SNAT --to-source 200.100.100.1
      (有固定公网 IP 使用此策略)
    • iptables -t nat -A POSTROUTING –s 192.168.1.0/24 -o ppp0 -j MASQUERADE (使用动态公网 IP 时使
      用次策略)
    • Iptables -t nat -A PREROUTING -I eth0 -d 200.100.100.1 -p tcp --dport 80 -j DNAT
      –to-destination 192.68.12.1 (首先要开启路由转发功能,在使用 DNAT 策略)

    脚本基础:
    29. Sed 的基础用法
    Sed 的格式如下:
    Sed 【-nefr】【n1,n2】 action
    其中:
    -n :是安静模式,只有经过 sed 处理过的行才显示出来,其它的不显示。
    -e :默认选项,表示直接在命令行模式进行 sed 操作。
    -f :将 sed 的操作 写在一个文件里,如:-f filename
    -r :表示使 sed 支持扩展正则表达式。
    N1,n2 :选择要进行处理的行。如 10,20 表示在 10~20 行之间处理。
    a : 表示添加,后接字符串,添加到当前行 的下一行。
    c : 表示替换,后接字符串,用它替换 n1,n2 之间的行。
    d : 表示删除字符模式的行,语法为 sed ‘/regexp/d’ ,斜杠之间是正则表达式,模式在 d 前面,d 后面一般不接任
    何内容。
    i : 表示插入,后接字符串,添加到当前行的上一行。
    P : 表示打印,打印某个选择的数据,通常与 –n 一起使用。
    S : 表示搜索,还可以替换,例如:1,20s/hao/zhang/g 表示替换 1~20 行的 hao 为 zhang。
    实例如下:
    ① 显示 password 内容,将 2~5 行删除后显示
    [root@node-rac1 ~]# cat -n /etc/passwd | sed ‘2,5d’
    ② 在文件第二行后面加上 hello 语句。
    [root@node-rac1 ~]# cat -n /etc/passwd | sed ‘2a hello’
    ③ 在文件第二行后面加上两行字,
    [root@node-rac1 ~]# cat -n /etc/passwd | sed ‘2a hello?
    zhangfneg ?’
    ④ 将 2~5 行的内容替换成“我是好人”
    [root@node-rac1 ~]# cat -n /etc/passwd | sed ‘3,37c 我是好人’ ⑤ 只显示文件 5~7 行
    [root@node-rac1 ~]# cat -n /etc/passwd | sed -n ‘5,7p’
    利用此表达方式也可以很轻松的分析日志:
    [root@node-rac1 ~]# cat /var/log/secure | sed -n ‘/12:12:50/,/12:13:50/p’
    ⑥ 只显示 IP 地址和子网掩码
    ⑦ [root@node-rac1 ~]# ifconfig eth0 | grep “inet addr” | awk -F: ‘{print $2,$4}’|

    awk ‘{print $1,$3}’
    192.168.12.231 255.255.255.0
    [root@node-rac1 ~]#
    ⑧ 修改文件中第 3 行中的 while 为 root。
    [root@node-rac1 ~]# sed -i ‘3s/root/while/g’ zhang.sh

    1. Sort 在 linux 中的用法
      Sort –b : 忽略前导空格
      Sort -f : 忽略大小写
      Sort -M : 按月排序
      Sort -n : 按数字排序
      Sort -r : 倒序排列
      Sort -o : 输入之文件
      Sort -u 文件名 :表示忽略重复,取单一
      Sort a.txt | uniq -I 表示取消重复查看重复值有多少次。
      例如:要查看服务器被多少 IP 访问过
      [root@node-rac1 ~]# sort /var/log/httpd/access-log | awk ‘{print $1}’ | uniq –c
      31. Grep 在 linux 中的用法
      Grep -a : 表示以文本文件方式搜索。
      Grep -c : 表示计算找到符合行的次数
      Grep -i : 忽略大小写。
      Grep -n : 表示输出行号。
      Grep -v : 表示反向选择。
      正则表达式:
      *修饰符:前一个字符出现零次或多次。
      [ ] 通配符:任意单个字符在[ ]中
      . 通配符:任意单个字符。
      [ ^ ] 通配符:不在集合中的任意单个字符。
      ^ 定位点:行首,或以什么开头。
      $ 定位点: 行尾。
      [ n1-n2 ]:列出截取的范围:grep ‘[a-z]’a.txt
      [:ulnum:] 0-9,A-Z,a-z
      [:digit:] 0-9
      [:alpha:] A-Z,a-z
      [:upper:] A-Z
      [:lower:] a-z
      [:punct:] 标点符号。
      例如:搜索符合的单词的行。
      [root@node-rac1 ~]# grep –n ‘t[ae]st’ zhang.txt
      取出 oo 前面不是 g 的行
      [root@node-rac1 ~]# grep -n ‘[^g]oo’ zhang.txt
      查看文件开头不是以字母的行
      [root@node-rac1 ~]# grep -n ‘[a-zA-Z]’ zhang.sh
      查询以 . 结尾的文件行
      [root@node-rac1 ~]# grep -n ‘.$’ hao
      扩展正则表达式 egrep 的使用:(grep 只支持基础表达式,而 egrep 支持扩展,其实 egrep 是 grep -E 的别名)
    • :表示一个或多个重复字符。与.*作用类似
      ? :表示 0 个或一个字符。与.*作用类似
      | :表示或的关系。比如’gd|good|dog’表示有 gd 和 good 和 dog 的字符串。
      例如:查找文件,去除空白行和行首#的行
      [root@node-rac1 ~]# egrep -v ‘$|#’ hao
      例如:-exec ok 的用法
      查找文件并显示文件的属性
      [root@node-rac1 ~]# find /root/ -name zhang.sh -exec ls -ld {} ;
      32. Find 的常用参数
      -name :按照文件名查找
      -perm :按照文件的权限查找文件。如:-777
      -type : 按照类型查找:d 目录;c 字符设备文件;p 管道文件;f 普通文件;l 符号链接文件
      -user: 按照文件属主查找。
      -group:按照文件属组查找文件。
      -mtime –n +n :按照文件的更改时间查找文件。
      -nouser 和-nogroup:表示查找无效属组和属主的文件。
      Xargs 参数的用法和 exec 差不多。
      如:查看当前目录下文件权限是 777 的文件并同时将所有人执行的权限收回。
      *[root@node-rac1 ~]# find / -perm -777 -print | xargs chmod o-x
      33. 脚本常用变量
      Read 也可以设置变量如:
      #read zhangfeng
      Ni shi ge hao xue sheng!
      #echo $zhangfneg
      $# :表示命令行中位置参数的数量。
      $
      :表示所有位置参数的内容。
      $? :表示命令执行后返回的状态。返回值为 0 为正确。非 0 表示命令执行错误。
      $$ :表示当前的进程号
      $! :表示后台运行的最后一个进程的进程号。
      $0 :表示当前执行的进程的进程名。
      数值比较:
      -eq :等于
      -ne :不等于
      -gt :大于
      -lt :小于
      -le :小于或等于
      -ge :大于或等于
      逻辑测试:
      && :逻辑与
      || :逻辑或
      ! :逻辑否
      34. 脚本结构
      ① :单分支的 if 语句
      If
      Then
      fi
      ② :双分支的 if 语句
      If
      Then
      Else
      fi
      ③ :多分支的 if 语句
      If
      Then
      Elif
      Then
      Else
      fi
      ④ :for 循环语句
      For
      Do
      done
      ⑤ :while 语句循环
      While
      Do
      done
      ⑥ :case 语句
      Case 变量值 in
      模式 1)
      命令;;
      模式 2)
      命令;;
      *)
      默认命令 esac
    展开全文
  • Linux日常运维命令

    2019-09-12 10:34:33
    linux初始必装实用小工具 vim: 默认是vi,vim需要自己安装 htop: 增强版的top lsof: 命令 压缩解压 # 解压elasticsearch-6.3.1.tar.gz tar -xzvf elasticsearch-6.3.1.tar.gz # 压缩elasticse...

    linux初始必装实用小工具

    vim: 默认是vi,vim需要自己安装
    htop: 增强版的top
    lsof: 命令
    

    压缩解压

    # 解压elasticsearch-6.3.1.tar.gz
    tar -xzvf  elasticsearch-6.3.1.tar.gz
    # 压缩elasticsearch-6.3.1
    tar -czvf  elasticsearch-6.3.1.tar.gz elasticsearch-6.3.1
    
    

    shell脚本相关

    # 写shell脚本时,进入脚本所在路径,而不是执行命令的路径
    cd $(cd `dirname $0`; pwd)
    
    
    # sed
    # 将文件test.txt 中的所有name替换为zhangsan
    sed -i "s/name/zhangsan/g" test.txt
    
    sed的常用选项:
    -e:它告诉sed将下一个参数解释为一个sed指令,只有当命令行上给出多个sed指令时才需要使用-e选项
    -f:后跟保存了sed指令的文件
    -i:直接对内容进行修改,不加-i时默认只是预览,不会对文件做实际修改
    -n:取消默认输出,sed默认会输出所有文本内容,使用-n参数后只显示处理过的行
    
    sed中的编辑命令:
    a:追加  向匹配行后面插入内容
    c:更改  更改匹配行的内容
    i:插入  向匹配行前插入内容
    d:删除  删除匹配的内容
    s:替换  替换掉匹配的内容
    p:打印  打印出匹配的内容,通常与-n选项和用
    =:用来打印被匹配的行的行号
    n:读取下一行,遇到n时会自动跳入下一行
    r,w:读和写编辑命令,r用于将内容读入文件,w用于将匹配内容写入到文件
    
    

    服务相关

    https://blog.csdn.net/u010649766/article/details/79820090

    https://www.jb51.net/article/136559.htm

    https://www.cnblogs.com/cocowool/p/systemd_journal_log.html

    #查看服务日志
    journalctl -xe
    
    

    docker 相关

    # docker 相关
    
    # 进入某个容器
    docker exec -it edge-mysql /bin/bash
    
    # 查看docker 容器 
    docker ps
    
    # 容器和宿主机文件的复制
    docker cp edge-mysql:/root/a.txt /root/
    docker cp /root/a.txt edge-mysql:/root/
    
    # 删除容器
    docker rm [容器]
    
    # 查看镜像
    docker images 
    
    

    elasticsearch相关

    # 查看所有索引
    curl -XGET http://127.0.0.1:9200/_cat/indices
    # 查看所有的模板
    curl -XGET http://127.0.0.1:9200/_template
    # 更新操作
    curl -X POST "127.0.0.1:9200/i_edge-threat-event-record*/_update_by_query" -H 'Content-Type: application/json' -d '
    {
      "script": {
        "source": "ctx._source.category='11'",
        "lang": "painless"
      },
      "query": {
        "term": {
          "category": "其他"
        }
      }
    }'
    

    mongodb相关

    # mongodb 备份和还原thinkedge库
    mongorestore -h 127.0.0.1 -u root -p Luvsec@123! --port 27017 --authenticationDatabase admin -d thinkedge /root/dump/thinkedge/
    mongodump -h 127.0.0.1 -u root -p Luvsec@123! --port 27017 --authenticationDatabase admin -d thinkedge -o /root/
    

    转载于:https://my.oschina.net/MyoldTime/blog/3067969

    展开全文
  • linux日常运维命令

    2016-08-05 14:17:54
    修改系统时间[root@localhost ~]# date -s "2012-11-16 10:16:00"[root@localhost ~]# clock-w2.查看系统的内核[root@localhost ...查看linux服务器物理CPU的个数[root@localhost ~]# cat /proc/cpuinfo | grep "phy...
    1. 修改系统时间

    [root@localhost ~]# date -s "2012-11-16 10:16:00"

    [root@localhost ~]# clock -w

    2.查看系统的内核

    [root@localhost ~]#  uname–a

    3.查看linux服务器物理CPU的个数

    [root@localhost ~]# cat /proc/cpuinfo | grep "physicalid" | sort | uniq  | wc –l

    4.查看linux服务器逻辑CPU的个数

    [root@localhost ~]# cat /proc/cpuinfo | grep"processor " | wc –l

    5.查看linux服务器的内存使用

    [root@localhost ~]# free –m

    已用内存:used-buffers-cached

    可用内存:free+buffers+cached

    6.查看服务器硬盘使用情况

    [root@localhost ~]#  fdisk–l

    7.查看文件系统的磁盘空间占用情况

             [root@localhost~]#  df –h

    8.查看服务器IO使用情况,,(使用下面命令要先安装软件包yum –y install sysstat

    [root@localhost ~]#  iostat

                                           Iostat–d –x –k 1(持续查看IO使用)

    如果%util接近100%说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。

    如果idble小于70%I/O的压力就比较大,说明读取进程中有较多的等待,还可以结合vmstat查看b参数(等待资源的进程数)和wa参数(I/O等待所占用的CPU时间的百分比,高于30%I/O的压力就比较高了)。

    9.查看目录的大小

    [root@localhost ~]#  du  -sh /root

    10.Dd命令的使用,在进行维护系统时也经常用到

    *制作交换文件的时候

    Dd  if=/dev/zero of=/swapfile  bs=1024 count=65536

    *制作驱动盘的时候

    Dd  if=rhel40.img  of=/dev/fd0  bs=10k

    制作ISO镜像的时候

    Dd  if=/dev/cdrom of=/root/cd1 .iso

    12.查看系统负载情况

    [root@localhost ~]#  uptime  或者 top

    在使用top时,如果r经常大于34,且id经常小于50,则标示CPU的负荷很重

    如果每个cpu当前的活动进程数大于5,则标示系统性能问题严重。

    13.使用vmstat命令查看linux系统的整体性能(进程、内存、虚拟内存、磁盘IOCPU等)

    [root@localhost ~]#  vmstat

    14.查看系统是23位的还是64位的

    [root@localhost ~]# ls -lF / | grep /$ 

    *或者用命令#  file /sbin/init

    查看输出结果是否有/lib64的目录,有则说明系统是64位的,没有说明是32位的。

    15.查看系统安装的模块

    [root@localhost ~]# lsmod

    16.查看服务器PCI设置(如:网卡、声卡、显卡等详细信息)

    [root@localhost ~]# lspci  

    17.查看和设置用户密码策略

    [root@localhost ~]# vim /etc/login.defs

    *强制密码长度

    [root@localhost ~]# vim /etc/pam.d/system-auth

    password   requisite     pam_cracklib.sotry_first_pass retry=3 minlen=12

    18.设置登录超时自动退出终端

    [root@localhost ~]# vim /etc/profie

    exportTMOUT=600

    19.设置禁止root用户和空密码用户远程登录系统

    [root@localhost ~]# vim /etc/ssh/sshd_config

    PermitRootLogin   no

    PermitEmptyPasswords  no

    如果拒绝某个用户远程登录系统则:(不能使用denyallow)

    DenyUsers zhangfeng  zhangxiao

    -允许用户zhang远程登录系统,允许用户wang在某个主机登录,其它用户不允许。

    AllowUsers zhang  wang@192.168.12.1

     限制登录失 败后的重试次数   MaxAuthTries 3

    设置完后SSH:使用命令是设置的生效:# /etc/init.d/sshd reload

    20.系统日志管理

    [root@localhost ~]# vim /etc/syslog.conf   (定义日志类型,输出路径)

    [root@localhost ~]# vim /var/log/secure(查看系统登录安全日志:SSH/POP3/telnetftp等)

    [root@localhost ~]# last       (产看登录用户的信息)

    [root@localhost ~]# lastlog     (查看所有用户登录的时间)

    21.设置用户在系统的权限;如只让用户使用ifconfig命令。

    [root@localhost ~]# visudo  (编辑sudo文件)

    Zhang   localhost=/sbin/ifconfig

    定义别名格式如下:

    User_Alias  MING=zhang,wang,xiao    (别名必须大写,这是定义一个用户组)

    Host_Alias  ZHU=smtp,pop 

    Cmnd_Alias  MING=/bin/rpm , /usr/bin/yum (定义一组命令集合)

    进行调用:

    Cmnd_Alias  MING=/bin/rpm ,/usr/bin/yum

    Zhang  localhost=MING

    启用sudo后,进行日志设置

    [root@localhost ~]# visudo

    Default  logfile = “/var/log/sudo”

    [root@localhost ~]# vim /etc/syslog.conf

    Local12.debug      /var/log/sudo

    [root@localhost ~]# /etc/init.d/syslog  restart

    [root@localhost ~]# sudo –l (查看当前用户被授权的sudo命令)

    22.锁定密码文件,运行增加和删除;

    [root@localhost ~]# chattr  +i /etc/passwd

             [root@localhost~]# chattr  -I  /etc/passwd(取消i权限)

    23.禁止用户执行控制台命令(poweroffhaltrebooteject

    在目录/etc/security/console.apps/下有以上命令,将其打包并移除到别的目录或者删除。

    24.禁止用户执行Ctrl+Alt+Del热键重启命令

    [root@localhost ~]# vim /etc/inittab

    #ca::ctrlaltdel:/sbin/shutdown -t3 -r now

    [root@localhost ~]# init q (使用此命令使之生效)

    25.在grub之前设置密码,使用户在进入grub前输入密码

      [root@localhost ~]#grub-md5-crypt  (设置MD5加密密码)

      [root@localhost ~]# vim/boot/grub/grub.conf (title 前加入password   --MD5   )

    26 限制用户登录的tty终端

    [root@localhost ~]# vim /etc/inittab   (在tty终端前加#号,注释掉就可以)

    27.禁止root用户登录的终端

    [root@localhost ~]# vim /etc/securetty (加#号注释)

    28.禁止除root外的用户从tty1终端登录系统

      [root@localhost ~]# vim/etc/pam.d/login 

    Account required  pam_access.so  (增加此认证)

      [root@localhost ~]# vim /etc/security/access.conf

    -:ALL EXCEPT root:tty1 (去掉#)

    - : root :192.168.12.0/24  172.16.0.0/8(禁止root用户从这两个网段远程登录)

    29. 防火墙规则表

    Filter表:主要是对数据包进行过滤

    Nat表:主要用于修改数据包的IP地址、端口号等。

    Mangle表:此表应用并不广泛。

    Raw表:主要用于决定数据包是否被状态跟踪机制处理,在匹配时raw表优先于其它表。

    Iptables  -A(在末尾追加一条规则)

                        -D(删除指定链中的某条规则,按序号或内容)

                        -I(在指定的链中插入一条规则,没有指定位置,在开头插入)

                        -L (显示防火墙规则)

                        -F (清除指定连中所有规则,没有指定则清楚表中所有链的规则)

                        -X(清除用户自定义的规则链)

                        -P (设置默认的策略)

    30.Linux系统SNAT(只能用在nat表的POSTROUTING链)和DNAT(只能用在nat表的preroutingoutput 链)策略使用

    * iptables  -t nat  -A  POSTROUTING –s  192.168.1.0/24  -o etho  -j  SNAT --to-source  200.100.100.1   (有固定公网IP使用此策略)

    * iptables  -t  nat -A  POSTROUTING  –s 192.168.1.0/24  -o ppp0  -j MASQUERADE (使用动态公网IP时使用次策略)

       *  Iptables -t  nat  -A PREROUTING  -I  eth0 -d  200.100.100.1  -p  tcp  --dport 80  -j  DNAT  --to-destination  192.68.12.1 (首先要开启路由转发功能,在使用DNAT策略)

    31. 代理服务器squid

             配置文件:/etc/squid/squid.conf

             http_port  3128 (这是squid的默认端口号)

             cache_mem  64MB  (用于设置缓存的内存空间大小)

             maximum_object_size  4096 KB (允许保存的缓存的最大对象大小)

             reply_body_max_size  1024 allow all (允许用户下载的最大文件大小)

             access_log  (用于指定日志文件的保存位置)

             visible_hostname(用于设置代理服务器可用的完整主机名)

             [root@localhost~]# squid  -z  (初始化缓存目录)

             [root@localhost~]# squid  -k reconfigure  (重新加载配置文件)

     

    脚本基础:

     

    1. Sed的基础用法

    Sed的格式如下:

    Sed -nefr】【n1,n2 action

    其中:

    -n :是安静模式,只有经过sed处理过的行才显示出来,其它的不显示。

    -e :默认选项,表示直接在命令行模式进行sed操作。

    -f :将sed的操作写在一个文件里,如:-f  filename

    -r :表示使sed支持扩展正则表达式。

    N1,n2 :选择要进行处理的行。如10,20表示在10~20行之间处理。

    a : 表示添加,后接字符串,添加到当前行的下一行。

    c : 表示替换,后接字符串,用它替换n1,n2之间的行。

    d : 表示删除字符模式的行,语法为sed ‘/regexp/d’ ,斜杠之间是正则表达式,模式在d前面,d后面一般不接任何内容。

    i : 表示插入,后接字符串,添加到当前行的上一行。

    P : 表示打印,打印某个选择的数据,通常与–n 一起使用。

    S : 表示搜索,还可以替换,例如:1,20s/hao/zhang/g表示替换1~20行的haozhang

    实例如下:

      显示password内容,将2~5行删除后显示

    [root@node-rac1 ~]# cat -n /etc/passwd | sed '2,5d'

      在文件第二行后面加上hello语句。

    [root@node-rac1 ~]# cat -n /etc/passwd | sed '2a hello'

      在文件第二行后面加上两行字,

    [root@node-rac1 ~]# cat -n /etc/passwd | sed '2a hello? \

    zhangfneg ?'

      2~5行的内容替换成“我是好人”

    [root@node-rac1 ~]# cat -n /etc/passwd  | sed '3,37c我是好人'

      只显示文件5~7

    [root@node-rac1 ~]# cat -n /etc/passwd | sed -n '5,7p'

    利用此表达方式也可以很轻松的分析日志:

    [root@node-rac1 ~]# cat /var/log/secure | sed -n'/12:12:50/,/12:13:50/p'

      只显示IP地址和子网掩码

      [root@node-rac1 ~]# ifconfigeth0 | grep "inet addr" | awk -F: '{print $2,$4}'|

    > awk '{print $1,$3}'

    168.12.231 255.255.255.0

    [root@node-rac1 ~]#

      修改文件中第3行中的whileroot

          [root@node-rac1 ~]#  sed  -i '3s/root/while/g' zhang.sh

    2.Sortlinux中的用法

    Sort  –b : 忽略前导空格

    Sort  -f : 忽略大小写

    Sort  -M 按月排序

    Sort  -n 按数字排序

    Sort  -r 倒序排列

    Sort  -o 输入之文件

    Sort  -u 文件名 :表示忽略重复,取单一

    Sort  a.txt |uniq  -I 表示取消重复查看重复值有多少次。

    例如:要查看服务器被多少IP访问过

     [root@node-rac1 ~]#sort /var/log/httpd/access-log | awk '{print $1}' | uniq –c

    3.Grep linux中的用法

    Grep  -a : 表示以文本文件方式搜索。

    Grep  -c : 表示计算找到符合行的次数

    Grep  -i : 忽略大小写。

    Grep  -n : 表示输出行号。

    Grep  -v : 表示反向选择。

    正则表达式:

    *修饰符:前一个字符出现零次或多次。

    [ ] 通配符:任意单个字符在[]

    . 通配符:任意单个字符。

    [ ^  ] 通配符:不在集合中的任意单个字符。

    定位点:行首,或以什么开头。

    定位点: 行尾。

    [ n1-n2 ]:列出截取的范围:grep [a-z]a.txt

    [:ulnum:]0-9,A-Z,a-z

    [:digit:] 0-9

    [:alpha:]A-Z,a-z

    [:upper:] A-Z

    [:lower:] a-z

    [:punct:] 标点符号。

     

    例如:搜索符合的单词的行。

    [root@node-rac1 ~]# grep  –n  't[ae]st'  zhang.txt

    取出oo前面不是g的行

    [root@node-rac1 ~]# grep  -n  '[^g]oo' zhang.txt

    查看文件开头不是以字母的行

    [root@node-rac1 ~]# grep  -n  '^[^a-zA-Z]' zhang.sh

    查询以 . 结尾的文件行

    [root@node-rac1 ~]# grep  -n  '\.$'  hao

    扩展正则表达式egrep的使用:(grep只支持基础表达式,而egrep支持扩展,其实egrepgrep  -E的别名)

       + :表示一个或多个重复字符。与.*作用类似

       ? :表示0个或一个字符。与.*作用类似

       | :表示或的关系。比如’gd|good|dog’表示有gdgooddog的字符串。

             例如:查找文件,去除空白行和行首#的行

       [root@node-rac1~]# egrep -v '^$|^#' hao

    例如:-exec ok的用法

    查找文件并显示文件的属性

    [root@node-rac1 ~]# find  /root/  -name  zhang.sh -exec  ls  -ld  {}  \;

    4.Find的常用参数

    -name :按照文件名查找

    -perm :按照文件的权限查找文件。如:-777

    -type 按照类型查找:d目录;c字符设备文件;p管道文件;f普通文件;l符号链接文件

    -user 按照文件属主查找。

    -group:按照文件属组查找文件。

    -mtime –n +n :按照文件的更改时间查找文件。

    -nouser-nogroup:表示查找无效属组和属主的文件。

    Xargs参数的用法和exec差不多。

    :查看当前目录下文件权限是777的文件并同时将所有人执行的权限收回。

    [root@node-rac1~]# find  /  -perm  -777 -print  |  xargs chmod  o-x

    5.脚本常用变量

    Read也可以设置变量如:

    #read  zhangfeng

     Ni shi ge hao xuesheng!

    #echo $zhangfneg

    $# :表示命令行中位置参数的数量。

    $* :表示所有位置参数的内容。

    $? :表示命令执行后返回的状态。返回值为0为正确。非0 表示命令执行错误。

    $$ :表示当前的进程号

    $! :表示后台运行的最后一个进程的进程号。

    $0 :表示当前执行的进程的进程名。

    数值比较:

    -eq :等于

    -ne :不等于

    -gt :大于

    -lt  :小于

    -le  :小于或等于

    -ge :大于或等于

    逻辑测试:

    && :逻辑与

    || :逻辑或

    :逻辑否

    1. 脚本结构

      :单分支的if语句

    If

       Then

    fi

      :双分支的if语句

    If

       Then

    Else

       fi

      :多分支的if语句

    If

       Then

    Elif

       Then

    Else

    fi

      for循环语句

    For

       Do

    done

      while语句循环

    While

       Do

    done

      case语句

    Case  变量值  in

                模式1

    命令;;

    模式2

    命令;;

    *

    默认命令   esac


    转载于:https://blog.51cto.com/wenyilin523/1834725

    展开全文
  • 1、linux启动过程 开启电源 --> BIOS开机自检 --> 引导程序lilo或grub --> 内核的引导(kernel boot)--> 执行init(rc.sysinit、rc)--> mingetty(建立终端) --> shell 2、网卡绑定多IP ...

    1、linux启动过程

    开启电源 --> BIOS开机自检 --> 引导程序lilo或grub --> 内核的引导(kernel boot)--> 执行init(rc.sysinit、rc)--> mingetty(建立终端) --> shell
     
    2、网卡绑定多IP
    ifconfig eth0:1 192.168.1.99 netmask 255.255.255.0
     
    3、设置DNS、网关
    echo "nameserver 202.16.53.68" >> /etc/resolv.conf
    route add default gw 192.168.1.1
     
    4、弹出、收回光驱
    eject
    eject -t
     
    5、用date查询昨天的日期
    date --date=yesterday
     
    6、查询file1里面空行的所在行号
    grep ^$ file
     
    7、查询file1以abc结尾的行
    grep abc$ file1
     
    8、打印出file1文件第1到第三行
    sed -n '1,3p' file1
    head -3 file1
     
    9、清空文件
    true > 1.txt
    echo "" > 1.txt
    > 1.txt
    cat /dev/null > 1.txt
     
    10、删除所有空目录
    find /data -type d -empty -exec rm -rf {} \;
     
    11、linux下批量删除空文件(大小等于0的文件)的方法
    find /data -type f -size 0c -exec rm -rf {} \;
    find /data -type f -size 0c|xargs rm –f
     
    12、删除五天前的文件
    find /data -mtime +5 -type f -exec rm -rf {} \;
     
    13、删除两个文件重复的部份,打印其它
    cat 1.txt 3.txt |sort |uniq
     
    14、攻取远程服务器主机名
    echo `ssh $IP cat /etc/sysconfig/network|awk -F = '/HOSTNAME/ {print $2}'`
     
    15、实时监控网卡流量(安装iftop)
    /usr/local/iftop/sbin/iftop -i eth1 -n
     
    16、查看系统版本
    lsb_release -a
     
    17、强制踢出登陆用户
    pkill -KILL -t pts/1
     
    18、tar增理备份、还原
    tar -g king -zcvf kerry_full.tar.gz kerry
    tar -g king -zcvf kerry_diff_1.tar.gz kerry
    tar -g king -zcvf kerry_diff_2.tar.gz kerry
     
    tar -zxvf kerry_full.tar.gz
    tar -zxvf kerry_diff_1.tar.gz
    tar -zxvf kerry_diff_2.tar.gz
     
    19、将本地80端口的请求转发到8080端口,当前主机外网IP为202.96.85.46
    -A PREROUTING -d 202.96.85.46 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.9.10:8080
     
    20、在11月份内,每天的早上6点到12点中,每隔2小时执行一次/usr/bin/httpd.sh
    crontab -e
    0 6-12/2 * 11 * /usr/bin/httpd.sh
     
    21、查看占用端口8080的进程
    netstat -tnlp | grep 8080
    lsof -i:8080
     
    22、在Shell环境下,如何查看远程Linux系统运行了多少时间?
    ssh user@被监控主机ip "uptime"
     
    23、查看CPU使用情况的命令
    ""每5秒刷新一次,最右侧有CPU的占用率的数据
    vmstat 5
     
    ""top 然后按Shift+P,按照进程处理器占用率排序
    top
     
    24、查看内存使用情况的命令
    ""用free命令查看内存使用情况
    free -m
    ""top 然后按Shift+M, 按照进程内存占用率排序
    top
     
    25、查看磁盘i/o
    ""用iostat查看磁盘/dev/sdc3的磁盘i/o情况,每两秒刷新一次
    iostat -d -x /dev/sdc3 2
     
    26、修复文件系统
    fsck –yt ext3 /
    -t 指定文件系统
    -y 对发现的问题自动回答yes
     
    27、read 命令5秒后自动退出
    read -t 5
     
    28、grep -E -P 是什么意思
    -E, --extended-regexp 采用扩展正规表达式。
    -P,--perl-regexp 采用perl正规表达式
     
    29、vi编辑器(涉及到修改,添加,查找)
    插入(insert)模式
    i    光标前插入
    I    光标行首插入
    a    光标后插入
    A    光标行尾插入
    o    光标所在行下插入一行,行首插入
    O    光标所在行上插入一行,行首插入
    G    移至最后一行行首
    nG    移至第n行行首
    n+    下移n行,行首
    n-    上移n行,行首
    :/str/          从当前往右移动到有str的地方
    :?str?          从当前往左移动到有str的地方
    :s/str1/str2/      将找到的第一个str1替换为str2  
    :s/str2/str2/g      将当前行找到的所有str1替换为str2
    :n1,n2s/str1/str2/g    将从n1行至n2行找到的所有的str1替换为str2
    :1,.s/str1/str2/g      将从第1行至当前行的所有str1替换为str2
    :.,$s/str1/str2/g      将从当前行至最后一行的所有str1替换为str2
     
    30、linux服务器之间相互复制文件
    copy 本地文件1.sh到远程192.168.9.10服务器的/data/目录下
    scp /etc/1.sh king@192.168.9.10:/data/
     
    copy远程192.168.9.10服务器/data/2.sh文件到本地/data/目录
     
    31、使用sed命令把test.txt文件的第23行的TEST换成TSET.
    sed -i '23s/TEST/TSET/' test.txt
    sed -i '23 s/TEST/TSET/' test.txt
     
    32、使history命令能显示时间
    export HISTTIMEFORMAT="%F %T "
     
    33、如何查看目标主机192.168.0.1开放那些端口
    nmap -PS 192.168.0.1
     
    34、如何查看网络连接
    netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
     
    35、如何查看当前系统使用了那些库文件
    ldconfig -v
     
    36、如何查看网卡的驱动版本
    ethtool -i eth0
     
    37、使用tcpdump来监视主机192.168.0.1的tcp的80端口
    tcpdump tcp port 80 host 192.168.0.1
     
    38、 如何看其它用户的邮件列表
    mial -u king
     
    39、对大文件进行切割
    按每个文件1000行来分割
    split -l 1000 httperr8007.log httperr
     
    按照每个文件5m来分割
    split -b 5m httperr8007.log httperr
     
    40、合并文件
    取出两个文件的并集(重复的行只保留一份)
    cat file1 file2 | sort | uniq
    取出两个文件的交集(只留下同时存在于两个文件中的文件)
    cat file1 file2 | sort | uniq -d
    删除交集,留下其他的行
    cat file1 file2 | sort | uniq –u
     
    41、打印文本模式下运行的服务
    chkconfig --list|awk '$5~/on/{print $1,$5}'

    转载于:https://blog.51cto.com/mllakb/1186673

    展开全文
  • 一、查看日志和机器相关信息常用命令1、catcat 命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容,类似于下的type命令注意:当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容...
  • ---查看端口占用 netstat -ap | grep 8000 ---重启nginx sudo /usr/sbin/nginx -c /usr/local/nginx/conf/nginx.conf sudo nginx -s reload Sudo service nginx restart ps -ef | grep nginx ...
  • 1、w (使用w命令查看负载情况) 查看load average 行查看1分钟负载情况 5分钟负载情况 15分钟负载情况,如果数值超过CPU核数,则说明现在CPU使用过程中有排队现象,核数不够 2、uptime (查看当前系统负载情况) 同...
  • 命令 作用 top -d 表示delay time,过几秒刷新一次 top -n 表示刷新几次后退出 top -bn1 以批处理模式操作,刷新1次退出 sar 先放着 yum install -y ...
  • 原标题:linux 学习——linux下oracle的日常运维命令1、检查控制文件状态:SQL> select status,name from v$controlfile;STATUS NAME------- --------------------------------------------------/u01/app/oracle...
  • 16.查看linux系统或者mysql错误码表示的意思,如查看13错误码表示的意思: perror 13 —————————————————————————————————————————— 17.关于cpu个数 ...
  • rsync工具介绍rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次...
  • linux 基础运维命令

    2017-11-08 18:07:16
    Linux运维日常命令操作 1、linux启动过程开启电源 --> BIOS开机自检 --> 引导程序lilo或grub --> 内核的引导(kernel boot)--> 执行init(rc.sysinit、rc)--> mingetty(建立终端) --> shell2、...
  • 监控io性能iostat命令iostat命令查看系统输入输出设备和CPU的使用情况,在安装 sysstat 这个包的时候,就会安装iostat命令,和 sar 同一个包。iostat -x命令,其中有个非常重要的指标%util,表示io等待占的百分比;...
  • linux运维命令

    2019-06-21 08:46:43
    本次课程基于centos7讲解同时也适用于rhel7系统,主要讲解了Linux运维工程师在日常运维中常用的命令,例如 Linux用户管理、Linux磁盘管理以及文件系统、Linux文件压缩于备份等常用相关命令,通过本次课程的学习大家...
  • Linux日常运维管理技巧–上 Linux日常运维管理技巧–上 1 使用w查看系统负载 w命令所显示字段的含义 load average详解: w命令常用选项 w相关的命令:uptime 2 vmstat命令 用法: 常用选项: 字段说明: 3 ...
  • Linux日常运维

    2020-10-17 21:22:14
    和 top 命令唯一的区别就是,它一次性全部把所有信息输出出来而非动态显示。 free查看内存使用状况 可以加-m 或者-g选项分别以M或G为单位打印内存使用状况 ps 查看系统进程 netstat 查看网络状况 netstat -lnp ...
  • Linux日常运维管理技巧 监控系统状态 1.w/uptime查看系统状态,执行这个命令可得知目前登入系统的用户有那些人,以及他们正在执行的程序,以及当前负载的情况。 2.cat /proc/cpuinfo查看CPU核数,指的是逻辑CPU 3....
  • linux 日常运维 目录

    2019-04-18 18:26:00
    linux top 查看CPU命令 查看内存使用情况: free Linux 抓包工具:tcpdump linux 查看磁盘读写:iotop linux 查看磁盘读写:iostat inux 查看网卡流量:sar linux 查看网卡...
  • 1、查看系统负载命令w命令:主要查看cpu负载load average:一分钟内负载 五分钟内负载 十五分钟内负载负载跟cpu核心数有关,查看cpu核心数:# cat /proc/cpuinfo | grep 'processor' | wc -luptime也可以显示cpu负载...
  • 常用文件进行--压缩--命令整理Linux 压缩文件夹为后缀 .war 格式的文件(最好不要对根目录进行压缩,不然会多出一级目录)命令:jar -cvfM0 cas.war /opt/cas/META-INF /opt/cas/WEB-INF /opt/cas/index.jsp或者命令:...
  • linux日常运维管理

    2016-06-02 10:27:00
    1、查看系统负载命令 w命令:主要查看cpu负载 load average:一分钟内负载 五分钟内负载 十五分钟内负载 负载跟cpu核心数有关,查看cpu核心数: # cat /proc/cpuinfo | grep 'processor' | wc -l uptime也可以...
  • 进程和程序区别:程序只是一个静态的命令集合,不占系统的运行资源;而进程是一个随时都有可能发生变化的、动态的、使用系统运行资源的程序。一个程序可以启动多个进程。和进程相比较。作业是一系列按一定顺序执行的...
  • CentOS日常运维命令

    2019-09-01 10:59:47
    uname -a # 查看Linux内核版本信息 cat /proc/version # 查看内核版本 cat /etc/issue # 查看系统版本 lsb_release -a # 查看系统版本 需安装 centos-release locale -a # 列出所有语系 locale ...
  • Linux日常运维管理技巧--监控系统状态 一、查看磁盘状态 1.iostat –x磁盘使用 %util表示io等待, 2.iotop磁盘使用(动态显示) 二、free查看内存使用情况 1. free命令显示系统使用和空闲的内存情况,包括物理内存、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 572
精华内容 228
关键字:

linux日常运维命令

linux 订阅