设为首页 收藏本站
查看: 643|回复: 0

linux下超强命令(shell语句)组合

[复制链接]

尚未签到

发表于 2018-8-17 07:14:10 | 显示全部楼层 |阅读模式
  记性很差劲,经常在系统,网络之间转,没有专搞系统。时间一长,所以难免有些命令或组合式语句忘记了,今天把它们集合到一起,以后跑博客上找就是了,陆续更新中...
  服务器双网卡,双IP,第二个网卡路由设置格式如下:
  vi /etc/sysconfig/network-scripts/route-eth0
  192.168.1.0/24 via 192.168.0.1
  -------------
  下载windows下的所有软件地址
  http://msdn.itellyou.cn/
  ----------
  windows7 添加硬件
  在运行中输入hdwwiz.exe
  -----------
  linux中卸载vm workstation
  #vmware-installer -u vmware-workstation
  --------
  开关外部ping自己
  echo "1" >/proc/sys/net/ipv4/icmp_echo_ignore_all
  将其值改为1后为禁止PING,0为解除禁止PING
  ping 202.96.134.134 |awk '{print $0"\t" strftime("%H:%M:%S",systime())}'
  --------
  linux下查出口IP地址
  curl -s 'http://checkip.dyndns.org' | sed 's/.*Current IP Address: \([0-9\.]*\).*/\1/g'
  或
  wget http://members.3322.org/dyndns/getip
  cat getip
  或
  curl ifconfig.me
  或
  curl http://members.3322.org/dyndns/getip
  或
  elinks www.123cha.com | awk -F '[][]' '/ip:/{print $4}'
  ------------
  mysql编译参数(5.5版查不出来):
  # cat "/usr/local/mysql/bin/mysqlbug"|grep configure
  php编译参数:
  # /usr/local/php/bin/php -i |grep configure
  apache编译参数:
  # cat /usr/local/apache2/build/config.nice
  nginx编译参数:
  #/usr/local/nginx/sbin/nginx -V
  --------
  打开linux系统nat转发
  echo "1" > /proc/sys/net/ipv4/ip_forward
  --------
  在数据库服务器是通过tcpdump抓sql语句
  tcpdump -i em3 -s 0 -l -w out.log port 3306 | strings
  strings out.log
  --------
  查看服务器并发数
  netstat -an | awk '/^tcp/ {++S[$NF]} END {for (a in S) print a,S[a]}'
  netstat -an | awk '/^tcp/ {print $6}'|sort |uniq -c|sort -nr
  ss -an | awk '{print $1}'|sort|uniq -c |sort
  第一个命令语句解释
  再来看看awk:
  /^tcp/
  滤出tcp开头的记录,屏蔽udp, socket等无关记录。
  state[]
  相当于定义了一个名叫state的数组
  NF
  表示记录的字段数,如上所示的记录,NF等于6
  $NF
  表示某个字段的值,如上所示的记录,$NF也就是$6,表示第6个字段的值,也就是TIME_WAIT
  state[$NF]
  表示数组元素的值,如上所示的记录,就是state[TIME_WAIT]状态的连接数
  ++state[$NF]
  表示把某个数加一,如上所示的记录,就是把state[TIME_WAIT]状态的连接数加一
  END
  表示在最后阶段要执行的命令
  for(key in state)
  遍历数组
  print key,”\t”,state[key]
  打印数组的键和值,中间用\t制表符分割,美化一下
  --------
  查看并发最多的独立IP,取其前10个
  ss -an|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -n 10
  --------
  windows下超出最大连接数,强制登录
  mstsc /console /v:192.168.0.1:3389
  ----------
  批量管理windwos服务器软件
  Remote Administrator
  Xmanager Enterprise
  mremote
  --------
  windows下改3389为6666
  打开注册表,进入以下路径:[HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp],看见PortNamber值了吗?其默认值是3389,修改成所希望的端口即可,例如6666。
  再打开[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro1Set\Control\Tenninal Server\WinStations\RDP\Tcp],将PortNumber的值(默认是3389)修改成端口6666。
  --------
  防火墙开放多端口
  iptables -A INPUT -p tcp -m multiport --dports 80,20,21,22,8080 -j ACCEPT
  ---------
  查看IO情况,需要安装sysstat软件,每3秒统计一次,共统计10次
  iostat -x 3 10
  ---------
  JVM虚拟机参数设置(linux 64bit 16G)
  JAVA_OPTS="$JAVA_OPTS -server -Xms3G -Xmx3G -Xss256k -XX:PermSize=128m -XX:MaxPermSize=128m -XX:+UseParallelOldGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/aaa/dump -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:/usr/aaa/dump/heap_trace.txt -XX:NewSize=1G -XX:MaxNewSize=1G"
  ---------
  nginx平滑重载
  kill -HUP `cat /usr/local/nginx/logs/nginx.pid`

  /usr/local/nginx/sbin/nginx -s>  停止操作
  ps -ef | grep nginx
  在进程列表里 面找master进程,它的编号就是主进程号了。
  步骤2:发送信号
  从容停止Nginx:
  kill -QUIT 主进程号
  快速停止Nginx:
  kill -TERM 主进程号
  强制停止Nginx:
  pkill -9 nginx
  ------------
  linux只安装文本的情况下安装x-windows
  5.X版本对比了图形模式安装与文本模式安装后/root目录下的anaconda-ks.cfg文件,发现文本模式少组件gnome-desktop,base-x,少软件包vnc-server,xorg-x11-server-Xnest,xorg-x11-server-Xvfb,组件用groupinstall安装,软件包用install安装。
  yum groupinstall gnome-desktop
  yum groupinstall base-x
  yum install vnc-server
  yum install xorg-x11-server-Xnest
  yum install xorg-x11-server-Xvfb
  6.X版本
  yum groupinstall  "Desktop" "Desktop Platform" "X Window System" "Chinese Support"
  yum install xorg-x11-drivers
  在text远程终端上,输入startx,还是会报错,估计是终端问题
  如果不放心,可以再多安装一些包,如以下
  yum groupinstall -y   "Desktop"   "Desktop Platform"   "Desktop Platform Development"  "Fonts"  "General Purpose Desktop"  "Graphical Administration Tools"  "Graphics Creation Tools"  "Input Methods"  "X Window System"  "Chinese Support [zh]" "Internet Browser"
  ----------
  linux下修改时间
  date -s 03/14/2012
  clock -w //很少人用过date后会用这个命令,如果你date后,马上重启服务器,服务器会取cmos上的时间,相当于你刚才的操作白干了,clock -w是把系统时间写入到cmos中去,当然不重启服务器,系统会隔11分钟左右,自动去执行clock -w命令。
  date 查看一下服务器当前时间,时区为EDT,这是rhel默认的时区。
  修改EDT为CST的过程,很简单。
  1.mv /etc/localtime /etc/localtime-2013(先备份)
  2.cp /usr/share/zoneinfo/Asia/Chongqing /etc/localtime
  3.date -s “2012-06-10 12:00”
  4.hwclock -w --systohc (将系统时间同步到硬件上)
  5.date 查看一下
  ------------
  查看服务器序列号
  dmidecode |grep “Serial Number” (查看机器其他硬件信息也可用这个命令)
  -------------
  查看网卡是否有网线物理连接
  /sbin/mii-tool
  --------------
  中国国家信息安全漏洞库:http://www.cnnvd.org.cn/
  输入漏洞编号(CNNVD-200909-302),即可查到相应的解决方案
  绿盟漏洞查询地址:http://www.nsfocus.net/index.php?act=sec_bug
  --------------
  lsof命令
  lsof abc.txt 显示开启文件abc.txt的进程
  lsof -i :22 知道22端口现在运行什么程序
  lsof -c abc 显示abc进程现在打开的文件
  lsof -p 12 看进程号为12的进程打开了哪些文件
  --------------
  web安全检测常用软件
  IBM WEB APPSCAN(以下简称 AppScan)
  Acunetix Web Vulnerability Scanner(以下简称 WVS)
  ----------------------
  linux下远程注销一个用户
  #who -a 查到pid
  #kill pid号
  -----------
  linux下ll查看文件,显示完整的时间
  ll --time-style=long-iso
  ------------
  重新挂载/目录(当/etc/fstab设置错误时)
  mount -o remount,rw,auto /
  ------------
  dd测试磁盘读写速度
  shell>dd if=/dev/zero of=/opt/test bs=1M,count=1000 oflag=direct
  shell>dd if=/opt/test of=/dev/null bs=1M,count=1000
  (if=/dev/zero不产生IO,所以可以用来测试磁盘写速度;of=dev/null.不产生IO,所以可以用来测试磁盘读速度,数据越大,测试越精确;bs表示块大小,count表示读写块数量)
  -------------
  查找zombie进程
  ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'
  -A 参数列出所有进程
  -o 自定义输出字段 我们设定显示字段为 stat(状态), ppid(进程父id), pid(进程id),cmd(命令)这四个参数
  因为状态为 z或者Z的进程为僵尸进程,所以我们使用grep抓取stat状态为zZ进程
  --------------
  linux 下查看文件个数及大小
  ls -l |grep "^-"|wc -l 或 find ./company -type f | wc -l
  查看某文件夹下文件的个数,包括子文件夹里的。
  ls -lR|grep "^-"|wc -l
  查看某文件夹下文件夹的个数,包括子文件夹里的。
  ls -lR|grep "^d"|wc -l
  说明:
  ls -l
  长列表输出该目录下文件信息(注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等)
  grep "^-"
  这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d
  wc -l
  统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于
  一行信息对应一个文件,所以也就是文件的个数。
  -----------------
  Linux查看文件夹大小
  du -sh 查看当前文件夹大小
  du -sh * | sort -n 统计当前文件夹(目录)大小,并按文件大小排序
  du -sk filename 查看指定文件大小
  -------------
  linux挂载镜像文件
  shell>mount -o loop /opt/centos6.2_x86_64.iso /mnt/cdrom
  linux挂载带中文名的U盘
  shell>mount -t vfat -o io /dev/sdc1 /mnt/flash
  -------------
  链接文件及打包命令
  shell>ln -s 源文件 目标文件   //不带s,表示为硬链接
  shell>tar zcvf 目标文件 源文件  //弄反这两个命令,否则会有数据丢失
  --------------
  vim显示颜色   //需要在secertCRT中将终端设置为ANSI
  vim ~/.vimrc  //在每用户下新建.vimrc,不要去修改/etc/vimrc文件
  set hlsearch  //高亮度反白
  set backspace=2 //可随时用退格键删除
  set autoindent //自动缩排
  set ruler    //可显示最后一行状态
  set showmode  //左下角那一行的最前面显示行号
  set nu     //可以在每一行最前面显示行号
  set bg=dark   //显示不同的底***调
  syntax on    //进行语法检验,颜色显示
  ---------------
  A服务器访问B服务器不要密码
  [chenlb@A~]$ ssh-keygen -t rsa
  [chenlb@A~]$scp .ssh/id_rsa.pub chenlb@19.16.1.1:/home/chenlb/id_rsa.pub

  [chenlb@B ~]$ cat>  [chenlb@B ~]$ chmod 600 .ssh/authorized_keys
  ----------------
  linux cache内存释放(释放前最好sync一下):
  echo 1 > /proc/sys/vm/drop_caches
  To free dentries and inodes:
  echo 2 > /proc/sys/vm/drop_caches
  To free pagecache, dentries and inodes:
  echo 3 > /proc/sys/vm/drop_caches
  ----------------
  LINUX下启动程序时,如提示Address already in use,必须要等这连FIN_WAIT链接在系统清除后才可以,但清除时间是不定的,所以要通过工具来解决
  在dsniff集成工具包中有一个tcpkill命令,可以解决这类问题:
  下载地址:http://pkgs.repoforge.org/dsniff/ 此目录中可以找到相应系统的版本
wget  http://pkgs.repoforge.org/dsniff/dsniff-2.4-0.1.b1.el5.rf.x86_64.rpm  
rpm -ivh dsniff-2.4-0.1.b1.el5.rf.x86_64.rpm
  
tcpkill -9 port ftp&>/dev/null
  
tcpkill -9 host 192.168.10.30 &>/dev/null
  
tcpkill -9 port 53 and port 8000&>/dev/null
  
tcpkill -9 net 192.168.10 &>/dev/null
  
tcpkill -9 net 192.168.10 and port 22&>/dev/null
  --------------
  利用 Python 搭建一个简单的 Web 服务器,可通过 http://$HOSTNAME:8000 访问
  python -m SimpleHTTPServer
  ---------------
  nginx打开目录浏览功能
  utoindex on;
  autoindex_exact_size off;
  默认为on,显示出文件的确切大小,单位是bytes。
  改为off后,显示出文件的大概大小,单位是kB或者MB或者GB
  autoindex_localtime on;
  默认为off,显示的文件时间为GMT时间。
  改为on后,显示的文件时间为文件的服务器时间
  -----------------
  rpm查询所有已安装的软件(组件),依照安装日期的先后顺序列出
  # rpm -qa --last | less
  yum查询已安装的相关软件(组件)
  # yum list installed | grep xxx
  rpm查询某个文件或命令属于哪个软件(包/组件)
  # rpm -qf xxx   /* xxx为文件的路径名+文件名 */
  rpm查询某个软件(包)在本地所对应的全部文件
  # rpm -ql xxx | less   /* xxx为软件名,可由“rpm -qa|grep”查询获得 */
  yum查询已安装或可供安装的相关软件
  # yum list xxx   /* xxx为通配符串 */
  而如果我仅仅是想测试一下,安装某个软件包能否成功,或有无依赖关系,可以使用以下命令。执行以下命令后,该软件包不会被安装,只会返回测试安装成功或失败的信息,以及其依赖关系。
  # rpm -ivh --test xxx
  实际上,我们推荐每次使用“rpm -i”命令进行安装软件前都加上“–test”参数先行测试一下。然而,如果测试出错,或者安装出错时,我们希望忽略错误提醒,仍然无论如何都要安装该软件包的话,则可以加上“–force”这个参数,完整命令如下:
  # rpm -ivh --force xxx
  ----------------
  linux centos5 设置千兆网卡速度及模式
  方法一:
  ethtool -s eth1 autoneg off speed 1000 duplex full
  方法二:
  若要eth1启动时设置这些参数, 可以修改文件/etc/sysconfig/network-scripts/ifcfg-eth1 ,添加如下一行:
  ETHTOOL_OPTS="speed 1000 duplex full autoneg off"
  也可以将是面指令写入/etc/rc.local之中
  ------------------
  修改mysql数据库root密码
  mysql>update user set password=PASSWORD('my123456') where user='root' and host ='127.0.0.1';
  -----------------
  我们用strace进行查看fastcgi在干吗
  ----------------
  nginx,apache下,网页变灰
  新增mod_ext_filer模块,nginx需要重新编译
  -----------------
  1 YSlow
  http://developer.yahoo.com/yslow/
  2 PageSpeed
  http://code.google.com/speed/page-speed/
  3 Firebug
  http://getfirebug.com/
  ------------------
  php 5.3以下版本重启命令用
  /usr/local/php/sbin/php-fpm (start|stop|reload)等命令
  5.3以上版本用信号控制:
  master进程可以理解以下信号
  INT, TERM 立刻终止
  QUIT 平滑终止
  USR1 重新打开日志文件
  USR2 平滑重载所有worker进程并重新载入配置和二进制模块
  示例:
  php-fpm 关闭:
  kill -INT `cat /usr/local/php/var/run/php-fpm.pid`
  php-fpm 重启:
  kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`
  查看php-fpm进程数:
  ps aux | grep -c php-fpm
  --------------------
  1.Linux 查看内存的插槽数,已经使用多少插槽.每条内存多大,已使用内存多大

  dmidecode|grep -P -A5 "Memory\s+Device"|grep>  2.Linux 查看内存支持的最大内存容量
  dmidecode|grep -P 'Maximum\s+Capacity'
  3.Linux 查看内存的频率
  dmidecode|grep -A16 "MemoryDevice"
  ----------------------
  查看linux系统最消耗IO的进程脚本
  #!/bin/sh
  /etc/init.d/syslog stop
  echo 1 > /proc/sys/vm/block_dump
  sleep 60
  dmesg | awk '/(READ|WRITE|dirtied)/ {process[$1]++} END {for (x in process) \
  print process[x],x}' |sort -nr |awk '{print $2 " " $1}' | \
  head -n 10
  echo 0 > /proc/sys/vm/block_dump
  /etc/init.d/syslog start
  -----------------
  进程守护程序防止程序爆掉后不重启
  abc.exe game%0*注:以上需要写在一个批处理bat 文件里面然后还需要将批处理文件放在程序所在的目录里面(或写上绝对路径),并用批处理来开启程序-----------------------使用Log Parser Lizard分析Windows日志前题条件:开启对象访问设置(文件夹属性-安全-高级-审核-添加对象访问设置
  http://www.01happy.com/python-request-url-set-timeout/
  http://blog.csdn.net/andoring/article/details/6445834
  ----------------
  邮件服务器相关记录设置
  A   mail 202.96.54.65
  mx  @   mail.xxxx.com



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-552793-1-1.html 上篇帖子: Linux Shell之二 变量与数组 下篇帖子: shell实现多线程笔记
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表