LINUX常用系统命令

来源:互联网 发布:linux线程池 编辑:程序博客网 时间:2024/05/17 23:24
echo输出字体加粗
echo -e "\033[;1m DONE \033[0m"
普通用获得root权限,免密登陆
apmuser ALL=(ALL)  NOPASSWD:  ALL
安装桌面环境
yum -y groupinstall "X Window System" "GNOME"
按1 、按2、按q 、yes
创建指定大小文件
head -c 10M < /dev/urandom > test.log
dd if=/dev/zero of=/home/a.txt  bs=1024k count=10
去掉空行和注释行
grep -Ev "^$|^#" /etc/zabbix/zabbix_server.conf
vim 删除每一行以“空格字符/数字空格”开头的行
%s/^\s*[0-9]*[a-Z]*\s*//g
zabbix_sender 用法
zabbix_sender -s "主机名" -z zabbix服务器地址 -k "key" -o 任意值
linux清除缓存
cat > /proc/sys/vm/drop_caches
linux ping
ping -c ping次数 -i ping速度 -w ping设定超时时间 地址
linux 日期
date +%F_%H:%M:%S -------2016-10-26_15:41:37
linux查看系统版本
cat /etc/redhat-release
cat /etc/issue
yum
yum -y update 升级所有包同时也升级软件和系统内核
yum -y upgrade 只升级所有的包,不升级内核
linux 查看进程ps -eo
ps -aux | grep http |awk '{cpu += $3} END {print cpu}' 查看某进程的所有线程的cpu占比
ps -eo pid,lstart,etime,cmd | grep nginx 上述命令是查看nginx进程的pid、启动时间、运行时间、启动命令

将netstat -an 显示的tcp和udp协议下所有网络状态进行分类和个数汇总输出
netstat -an|grep 'tcp\|udp'|awk '{print $6}'|sort|uniq -c|sort -rnk 1
-------------------------------------------------------------------------------------------------------
top
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)

进程状态
D 无法中断的休眠状态(通常 IO 的进程);R 正在运行可中在队列中可过行的;S 处于休眠状态;T 停止或被追踪;W 进入内存交换(从内核2.6开始无效);X 死掉的进程(从来没见过);Z 僵尸进程;< 优先级高的进程N 优先级较低的进程L 有些页被锁进内存;s 进程的领导者(在它之下有子进程);l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads);+ 位于后台的进程组;WCHAN 正在等待的进程资源;START 启动进程的时间;TIME 进程消耗CPU的时间;COMMAND 命令的名称和参数;
-------------------------------------------------------------------------------------------------------
linux挂载windows共享
mount -t cifs -o username="用户名",password="密码" //ip地址/test /mnt

iostat -cdkx
-c 显示cpu状态 -d 显示磁盘使用状态 -k 单位是kb -x 显示扩展信息

查看系统时区
grep ZONE /etc/sysconfig/clock

history命令显示时间
在命令行中输入以下命令,然后history即可
export HISTTIMEFORMAT="%F %T "
或者将上述命令加入/etc/profile中
-------------------------------------------------------------------------------------------------------
查看nginx、apache、php、mysql编译参数
 2016-09-26 10:52:30     0     0     0
nginx
/usr/local/nginx/sbin/nginx -V
apache
cat /usr/local/apache/build/config.nice
php
/usr/local/php/bin/php -i | grep configure
mysql
cat /usr/local/mysql/bin/mysqlbug | grep CONFIGURE_LINE

crontab计划任务python脚本不执行
从crontab日志看执行了脚本,但是python脚本没有执行结果,而且手动执行脚本没有问题
解决办法:
1 1 * * * source $HOME/.bash_profile;/usr/bin/python /xxx/xxx.py​
-------------------------------------------------------------------------------------------------------
打印指定行的上面N行或者下面N行
ifconfig |grep -A2 eth1|grep -v eth1 打印包含指定字符的下两行内容
ifconfig |grep -B2 eth1|grep -v eth1 打印包含指定字符的上两行内容
ifconfig |sed -n '/eth1/,+1p'|grep -v eth1 打印包含指定字符的下1行内容
-------------------------------------------------------------------------------------------------------
linux 添加路由 和 删除路由
route add -net 10.122.125.0 netmask 255.255.255.0 gw 10.113.1.254
route del -net 10.121.1.0 netmask 255.255.255.0
-------------------------------------------------------------------------------------------------------
sed
替换包含指定字符的行
长度最小8位,最少有2个大写字母,最少4个小写字母,最少1个数字,最少1个符号,最近5次的密码不能重复使用
sed -i 's/^.*pam_cracklib.so.*$/password requisite pam_cracklib.so retry=5 difok=3 minlen=10 ucredit=-1 lcredit=-3 dcredit=-3/g' /etc/pam.d/system-auth
sed -i 's/^password.*pam_unix.so.*$/password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok remember=5/g' /etc/pam.d/system-auth
在指定行下面追加行
sed -i '/servername=`grep "Hostname"/a\UA_PC=`grep 'ua-pc' /dev/shm/fastck.log |wc -l`\nUA_MOB=`grep 'ua-mob' /dev/shm/fastck.log |wc -l`' /app/scripts/script/fastck.sh
删除匹配的行
sed -i '/grep ua-pc/d' /app/scripts/script/fastck.sh ; sed -i '/grep ua-mob/d' /app/scripts/script/fastck.sh
替换指定行的下一行
sed -i "/aaa/{n;s/bbb/ccc/g}" test.txt 在包含aaa行的下一行,将bbb替换成ccc
-------------------------------------------------------------------------------------------------------
awk
awk打印系统内存总使用率
free -m |awk '{if(NR==2) {printf("%d%\n"), $3/$2*100}}'
awk 打印指定的连续列 2-9列
awk '{for(i=2;i<=9;i++) printf $i""FS;print ""}'
awk过滤包含有指定字符的列
awk '{for (f=1; f <= NF; f+=1) {if ($f ~ /buff/) {print $f}}}'
去掉重复的行
sort -k2n /proc/cpuinfo | awk '{if ($0!=line) print;line=$0}'
打印指定列包含指定字符行的上一行
line=`awk '{if ($5 == 0)print NR-1}' iptest.txt` ; sed -n $line'p' iptest.txt
将过滤的结果在一行显示,不分行。
grep -e ^root -e ^games -e ^mysql passwd |awk -v RS="" '{gsub("\n"," ## ");print}'
-------------------------------------------------------------------------------------------------------
指定网卡抓 经过这台设备的原地址和目的地址的包
tcpdump_dpdk -i cap0 -vns 0 src host 10.61.3.178 and dst host 114.112.93.21
tcpdump_dpdk -i cap0 -vns 0 host 10.10.8.0
设置普通用户具有root权限
usermod -o -u 0 zhwg
路由转发
echo "1" > /proc/sys/net/ipv4/ip_forward 重启失效
vi /etc/sysctl.conf配置文件,将net.ipv4.ip_forward = 0修改为1 永久有效
指定网卡去ping服务器地址
ping -I eth1 10.152.129.32
账户
查看用户登录失败次数
pam_tally2 --user zypp
清空某一用户错误登陆次数:
pam_tally2 --user zypp --reset
-------------------------------------------------------------------------------------------------------
查看cpu型号
cat /proc/cpuinfo | grep "model name"|uniq|awk -F ":" '{print $2}'
查看系统有几个物理cpu
cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l
查看每个物理cpu有几个cores核数
cat /proc/cpuinfo| grep "cpu cores"| uniq |awk -F ":" '{print $2}'
查看cpu有多少线程
cat /proc/cpuinfo | grep "processor" |sort -u|wc -l
查看cpu各核使用率
sar -P ALL 1 10
查看内存总量
cat /proc/meminfo |grep MemTotal |awk '{print $2}'
-------------------------------------------------------------------------------------------------------
windows
windows系统下载地址
ed2k://|file|cn_windows_7_professional_with_sp1_vl_build_x86_dvd_u_677939.iso|2502909952|935E5B4B754527BE3C238FA6ABDD9B86|/
window ping批量地址
for /l %p in (1,1,57) do @ping 10.169.178.%p -n 1
windows 添加服务器路由
route add 10.122.64.0 mask 255.255.255.0 10.128.252.254 -p
windows 查看连接过wifi的电脑的wifi密码 cmd
netsh wlan show profile name=“wifi名” key=clear