Centos 常用命令小记

1 篇文章 0 订阅
1 篇文章 0 订阅

下面是我自己在操作centos服务器时时常使用的命令综合,时常会不记得,所以记录以备忘:

git 服务器的SSH连接

giturl:ssh://git@111.222.333.444:44422/opt/sources/???

安全管理:

chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab
chattr +i /etc/crontab /etc/cron.hourly

useradd freeswitch -g daemon -s /sbin/nologin -M
useradd shoudian

vi /etc/ssh/sshd_config

#SSH链接默认端口 ,将连接端口改为44444 
#禁止root账号登陆 
#禁止空密码
port 40422
PermitRootLogin no
PermitEmptyPasswords no

service sshd restart #修改端口,切记先修改防火墙启用新端口
lsattr
chattr +i /usr/bin

su - root #普通用户转换root并切换用户配置信息(su root 仅仅是切换用户身份)

/usr/local/bin/apache-tomcat-6.0.48/webapps/sv 泽讯cc的web路径

head -5
tail -10
sed -n ‘5,2p’

chmod u+x,g+w f01  //为文件f01设置自己可以执行,组员可以写入的权限
chmod u=rwx,g=rw,o=r f01
chmod 764 f01
chmod a+x f01  //对文件f01的u,g,o都设置可执行属性

系统:

vi
/XXX或?XXX 查找 n/N 查找上下条信息
:set ic 设置查找时不区分大小写
:set noic 设置查找时区分大小写
:set number 设置行号
::nu 显示当前的行号
:32,65d 回车32-65行就被删除
3dd 删除光标以下3行
:6,9 co 12 把6到9行复制到12行后
:6,9 m 12 把6到9行移动到12行后
:'a,'b co 'c 把a标记到b标记的内容复制到c标记后,在文件内容中输入ma即打上a标记,mb为b标记…
ctrl+v 进入块模式,用光标或hjkl选择内容,y复制p黏贴I插入d删除oO切换区域块的端点 (I在centos6下无效?)

tar cvfz XXX.tar.gz XXX目录 xvfz XXX.tar.gz
uname -a # 查看内核/操作系统/CPU信息
cat /etc/issue
cat /etc/redhat-release # 查看操作系统版本
cat /proc/ cpuinfo # 查看CPU信息 hostname # 查看计算机名
lspci -tv # 列出所有PCI设备
lsusb -tv # 列出所有USB设备 git
lsmod # 列出加载的内核模块
env # 查看环境变量
killall centos7下 yum install psmisc

将时间设置为2014年6月18日14点16分30秒(MMDDhhmmYYYY.ss)
date 0618141614.30
查看系统硬件时钟
hwclock --show 或者
clock --show
设置硬件时间
hwclock --set --date=“06/18/14 14:55” (月/日/年时:分:秒)或者
clock --set --date=“06/18/14 14:55” (月/日/年时:分:秒)
硬件时钟与系统时钟同步:
hwclock --hctosys 或者
clock --hctosys
hc代表硬件时间,sys代表系统时间,即用硬件时钟同步系统时钟
系统时钟和硬件时钟同步:
hwclock --systohc 或者
clock --systohc 即用系统时钟同步硬件时钟

对时间进行网络同步:
1、安装ntpdate
yum install ntpdate -y
或对下载的rpm安装包 rpm -ivh ntpdate??.rpm
2、同步时间到上海
ntpdate -u ntp.api.bz
3、写一下计划任务自动同步时间
echo “*/20 * * * * /usr/sbin/ntpdate -u ntp.api.bz >/dev/null &” >> /var/spool/cron/root

systemctl 是管制服务的主要工具, 它整合了chkconfig 与 service功能于一体。
systemctl is-enabled iptables.service
systemctl is-enabled servicename.service #查询服务是否开机启动
systemctl enable *.service #开机运行服务
systemctl disable *.service #取消开机运行
systemctl start *.service #启动服务
systemctl stop *.service #停止服务
systemctl restart *.service #重启服务
systemctl reload *.service #重新加载服务配置文件
systemctl status *.service #查询服务运行状态
systemctl --failed #显示启动失败的服务
注:*代表某个服务的名字,如http的服务名为httpd

资源:

vmstat 3
要显示 3 秒时间间隔的 5 个摘要:
r 运行队列(就是说多少个进程真的分配到CPU),当这个值超过了CPU数目,就会出现CPU瓶颈。也和top的负载有关系。top的负载类似每秒的运行队列。运行队列大,表示CPU很繁忙
b 表示阻塞的进程
swpd 虚拟内存已使用的大小,如果大于0,表示你的机器物理内存不足了
free 空闲的物理内存的大小
buff Linux/Unix系统是用来存储,目录里面有什么内容,权限等的缓存
cache cache直接用来记忆我们打开的文件,给文件做缓冲
si 每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄露了
so 每秒虚拟内存写入磁盘的大小,如果这个值大于0,同上。
bi 块设备每秒接收的块数量,这里的块设备是指系统上所有的磁盘和其他块设备,默认块大小是1024byte
bo 块设备每秒发送的块数量,例如我们读取文件,bo就要大于0。bi和bo一般都要接近0,不然就是IO过于频繁,需要调整。
in 每秒CPU的中断次数,包括时间中断
cs 每秒上下文切换次数,例如我们调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换,这个值要越小越好,太大了,要考虑调低线程或者进程的数目,例如在apache和nginx这种web服务器中,我们一般做性能测试时会进行几千并发甚至几万并发的测试,选择web服务器的进程可以由进程或者线程的峰值一直下调,压测,直到cs到一个比较小的值,这个进程和线程数就是比较合适的值了。系统调用也是,每次调用系统函数,我们的代码就会进入内核空间,导致上下文切换,这个是很耗资源,也要尽量避免频繁调用系统函数。上下文切换次数过多表示你的CPU大部分浪费在上下文切换,导致CPU干正经事的时间少了,CPU没有充分利用,是不可取的。
us 用户CPU时间
sy 系统CPU时间,如果太高,表示系统调用时间长,例如是IO操作频繁。
id 空闲 CPU时间,一般来说,id + us + sy = 100,一般我认为id是空闲CPU使用率,us是用户CPU使用率,sy是系统CPU使用率。
wt 等待IO CPU时间。

free -m # 查看内存使用量和交换区使用量
df -h # 查看各分区使用情况
du -sh <目录名> # 查看指定目录的大小
grep MemTotal /proc/meminfo # 查看内存总量
grep MemFree /proc/meminfo # 查看空闲内存量
uptime # 查看系统运行时间、用户数、负载
cat /proc/loadavg # 查看系统负载

磁盘和分区:
mount | column -t # 查看挂接的分区状态 unmout /dev/sdb1 mount /dev/vdb1 /mnt/home 挂载到/mnt/home
编辑永久挂载:
vi /etc/fstab
fdisk -l # 查看所有分区 fdisk /dev/sdb 进入分区
swapon -s # 查看所有交换分区
hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
dmesg | grep IDE # 查看启动时IDE设备检测状况

lvm 进入逻辑硬盘管理
fdisk -l 可以去找到要新添加的硬盘 如/dev/sdb等等 如果找不到就不要谈了,先添加设备并mount吧
lvm
lvm>pvcreate /dev/sdb
使用新的整个硬盘创建一个lvm物理卷,这里的 dev/sdb是例子
lvm>vgextend /dev/VolGroup00 /dev/sdb 把新的物理卷添加到卷组中
lvm>vgdisplay 可以看到已分配空间和剩余未分配空间 All PE / Size 和 Free PE / Size
lvm>lvextend -L +7.9G /dev/VolGroup00/LogVol00 扩展逻辑卷大小,举例:加7.9G,从/dev/sdb中划出,减少空间是 lvreduce
lvm>vgdisplay
lvm>pvdisplay
lvm>lvdisplay
可以看到已经添加了
lvm>quit
resize2fs -p /dev/VolGroup00/LogVol00 修改文件系统大小以实现扩充空间,这个很重要,不能忘记!
如果报错resize2fs: Bad magic number in super-block 。。改用:
xfs_growfs /dev/VolGroup00/LogVol00

scp -P 40422 -r root@101.132.37.116:/opt/spool/asterisk/monitor/2017-08-3 /opt/monitors/*
通过ssh进行文件的上传或下载
转后台,先ctrl+Z,后输入 bg

nohup 命令 &

需要设置某个已经运行的命令不被打断在后台运行:
1.正常执行命令
2.输入ctrl + z 暂停任务
3.bg将其放入后台 (用jobs 命令查看后台命令,看到其任务号,用 bg %1 是将1号任务放入后台运行)
4.disown -h 将这个作业忽略HUP信号 (用 disown -h %1 是对1号任务)
5.测试会话中断,任务继续运行不受影响

网络:

setenforce 0 #临时关闭SELinux 编辑/etc/selinux/config,找到SELINUX 行修改成为:SELINUX=disabled: #永久关闭,重启生效
iptables -L # 查看防火墙设置 vi /etc/sysconfig/iptables /etc/init.d/iptables stop service iptables stop
chkconfig iptables off
chkconfig --del iptables
#SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#HTTP
iptables -A INPUT -p tcp --dport 88 -j ACCEPT
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
#HTTPS
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
#POP3
iptables -A INPUT -p tcp --dport 110 -j ACCEPT
#SMTP
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
#FTP
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
#DNS
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
#DELETE 删除22端口
iptables -D INPUT -p tcp --dport 22 -j ACCEPT
#ADD 添加指定ip访问的22端口
iptables -A INPUT -s 192.168.0.100 -p tcp --dport 22 -j ACCEPT
将123.44.55.66这个IP封杀,就输入:iptables -I INPUT -s 123.44.55.66 -j DROP
要解封则将-I换成-D即可,前提是iptables已经有这条记录。如果要想清空封掉的IP地址,可以输入:iptables -flush
要添加IP段到封停列表中,使用下面的命令:iptables -I INPUT -s 121.0.0.0/8 -j DROP
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
允许ping
#保存配置,
/etc/rc.d/init.d/iptables save
service iptables restart
注意:-A INPUT -j REJECT --reject-with icmp-host-prohibited 的位置,它下面的防火墙input规则都无效了

#centos7 firewalld的基本使用
#启动: systemctl start firewalld
#查看状态: systemctl status firewalld
#停止: systemctl disable firewalld
#禁用: systemctl stop firewalld
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
更新防火墙规则: firewall-cmd --reload
查看区域信息: firewall-cmd --get-active-zones
查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic
添加 firewall-cmd --zone=public --add-port=80/tcp --permanent (–permanent永久生效,没有此参数重启后失效)
firewall-cmd --reload
查看 firewall-cmd --zone=public --query-port=80/tcp
删除 firewall-cmd --zone=public --remove-port=80/tcp --permanent
查看firewall是否运行,下面两个命令都可以
systemctl status firewalld.service
firewall-cmd --state
查看当前开了哪些端口 其实一个服务对应一个端口,每个服务对应/usr/lib/firewalld/services下面一个xml文件。
firewall-cmd --list-services
查看还有哪些服务可以打开 firewall-cmd --get-services
查看所有打开的端口: firewall-cmd --zone=public --list-ports

tcpdump -i eth1 udp -s 0 -B 20480 -w ./out.cap

ethtool eth0 # 核查网卡端口
vi /etc/udev/rules.d/60-net.rules (70???)
vi /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=static
IPADDR=192.168.8.80
NETMASK=255.255.255.0
GATEWAY=192.168.8.20
DNS1=202.102.224.68
DNS2=202.102.227.68
ifcfg-eht1 /etc/init.d/network reload
ifconfig eth0 up

wget http://cachefly.cachefly.NET/100mb.test #百兆带宽测试 wget -c url 断点续传
ifconfig # 查看所有网络接口的属性
route -n # 查看路由表
netstat -lntup # 查看所有监听端口
netstat -antp # 查看所有已经建立的连接
netstat -s # 查看网络统计信息

iftop界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。中间的<= =>这两个左右箭头,表示的是流量的方向。
TX:发送流量 RX:接收流量 TOTAL:总流量 Cumm:运行iftop到目前时间的总流量 peak:流量峰值 rates:表示过去2s 10s 40s的平均流量
常用的参数
-i 设定监测的网卡,如:# iftop -i eth1
-B 以bytes为单位显示流量(默认是bits),如:# iftop -B
-n 使host信息默认直接都显示IP,如:# iftop -n
-N 使端口信息默认直接都显示端口号,如: # iftop -N
-F 显示特定网段的进出流量,如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0
-h (display this message),帮助,显示参数信息
-p 使用这个参数后,中间的列表显示的本地主机信息,出现了本机以外的IP信息;
-b 使流量图形条 默认就显示;
-P 使host信息及端口信息 默认就都显示;
-m 设置界面最上边的刻度的最大值,刻度分五个大段显示,例:# iftop -m 100M
进入iftop画面后的一些操作命令(注意大小写)
按h切换是否显示帮助;
按n切换显示本机的IP或主机名;
按s切换是否显示本机的host信息;
按d切换是否显示远端目标主机的host信息;
按t切换显示格式为2行/1行/只显示发送流量/只显示接收流量;
按N切换显示端口号或端口服务名称;
按S切换是否显示本机的端口信息;
按D切换是否显示远端目标主机的端口信息;
按p切换是否显示端口信息;
按P切换暂停/继续显示;
按b切换是否显示平均流量图形条;
按B切换计算2秒或10秒或40秒内的平均流量;
按T切换是否显示每个连接的总流量;
按l打开屏幕过滤功能,输入要过滤的字符,比如ip,按回车后,屏幕就只显示这个IP相关的流量信息;
按L切换显示画面上边的刻度;刻度不同,流量图形条会有变化;
按j或按k可以向上或向下滚动屏幕显示的连接记录;
按1或2或3可以根据右侧显示的三列流量数据进行排序;
按<根据左边的本机名或IP排序;
按>根据远端目标主机的主机名或IP排序;
按o切换是否固定只显示当前的连接;
按f可以编辑过滤代码
按!可以使用shell命令
按q退出监控。

进程:

ps -ef # 查看所有进程
top # 实时显示进程状态
用户:
w # 查看活动用户 who
id <用户名> # 查看指定用户信息
last # 查看用户登录日志
cut -d: -f1 /etc/passwd # 查看系统所有用户
cut -d: -f1 /etc/group # 查看系统所有组
crontab -l # 查看当前用户的计划任务
查看可以登录的用户
cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1
服务:
chkconfig --list # 列出所有系统服务
chkconfig --list | grep on # 列出所有启动的系统服务

程序:
rpm -qa # 查看所有安装的软件包 yum list installed
安装 yum-complete-transaction
yum install yum-utils
运行 yum-complete-transaction
yum-complete-transaction --cleanup-only
清除可能存在的重复包
package-cleanup --dupes
清除可能存在的损坏包
package-cleanup --problems

centos6 安装php7包时报错 Error: xz compression not available (是webtatic包导致报错的!)
1、清空安装的epel
yum clean all
2、安装xz
yum -y install xz
3、添加源
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
rpm -Uvh http://mirrors.ustc.edu.cn/epel/epel-release-latest-6.noarch.rpm
4、安装PHP7
yum install -y php7

huaweiS5700
交换机 huaweiS5700,三层交换,密码 JXnews 2017#
端口镜像:sys -> 观察端口23: observe-port 1 interface GigabitEthernet 0/0/23 -> 进需镜像的端口6:interface GigabitEthernet 0/0/6 -> 设置其镜像: port-mirroring to observe-port 1 both -> quit -> display current
限速:qos lr outbound cir 3096 cbs 619200
3096代表3M,619200=3096*200,如要限制1M,参数改成 qos lr outbound cir 1024 cbs 204800就行了
取消限速:undo qos lr

众方中继管理命令 telnet
en

^config
deb cc detail all 打开所有跟踪
deb cc detail called 0137xxxx 指定被叫跟踪
no deb cc all 取消跟踪
ex 退出
^ada
turnon 27
^ada
turnoff 255 关闭

sh ss7 call 查看ss7呼叫状态
show ss7 ts 查看ss7中继电路使用情况 blck为不可用
show out 0755 查看0755的接通情况 show out all 是全部地区

reset gmpu ip 通过telnet重启设备,config

en
^isql 用户名sa 密码sa
sel intparam (paramid=102) 查询静音检测功能,默认是0,取消静音检测(设置了静音检测可能影响通话效果,如出现了声音一会大一会小的现象 感觉像是卡顿)
upd intparam (paramid=102) (paramval=0) 设置取消静音检测
db save 保存数据库设置

pstn设备 华为有收敛值设置,如果超出,运营商在ngn的h28协议会返回信号音(嘟。。)

vos修改查费端口为 8081,修改home下tomcat的server.xml, service vos3000webct restart

转码mp3的脚本

for a in `ls -d 2018-*`;
do
 if [ -d $a ]
 then
   cd $a;
   for b in `find . -name "*.wav"`
   do
     /home/ffmpeg/ffmpeg -i $b $b.mp3 -y
     if [ -e $b.mp3 ]
     then
      rm $b;
     fi
   done;
   cd ..;
  fi
done;

每三天执行,每天运行 本sh名为 b.sh::
crontab -e :

0 0 */1 * * cd /opt/spool/asterisk/monitor && ./b.sh >> log.txt

vi /opt/spool/asterisk/monitor/b.sh

#!/bin/bash
last_run_time=0
date1=`date +%s`
three_days_secs=$((3*24*3600))
if [[ $((date1 - last_run_time)) -gt $three_days_secs ]]; then
#run your script here
cd /opt/spool/asterisk/monitor/
for a in `ls -d -*`;
do
 if [ -d $a ]
 then
   cd $a;
   for b in `find . -name "*.wav"`
   do
     /usr/local/bin/ffmpeg -i $b $b.mp3 -y
     if [ -e $b.mp3 ]
     then
      rm $b;
     fi
   done;
   cd ..;
  fi
done;
  sed -i '2 s/[0-9][0-9]*/'$date1'/' b.sh
fi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值