安装与优化

设置全局提示符

  1. vi /etc/profile
  2. export PS1='[\u@\h `pwd`]\$'
  3. source /etc/profile


安装Java,设置为默认

  1. // 以安装oraclejdk替换openjdk为例
  2. yum remove java java-1.8.0-openjdk-headless.x86_64 javapackages-tools.noarch -y
  3. cd install_files/
  4. // tar解压
  5. tar xzvf jdk-8u141-linux-x64.tar.gz -C /usr/local/share/
  6. vi /etc/profile
  7. JAVA_HOME=/usr/local/share/jdk1.8.0_141
  8. JRE_HOME=/usr/local/share/jdk1.8.0_141/jre
  9. PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
  10. CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
  11. export JAVA_HOME JRE_HOME PATH CLASSPATH
  12. source /etc/profile

安装ElasticSearch

  1. ## es
  2. unzip elasticsearch-5.6.3.zip
  3. mv elasticsearch-5.6.3 /opt/data/
  4. cd /opt/data/elasticsearch-5.6.3/
  5. mkdir path
  6. cd path
  7. mkdir logs data

安装RocketMq

  1. grep 'rocketmq:' /etc/group 1>/dev/null 2>&1 || (/usr/sbin/groupadd -g 511 rocketmq)
  2. grep 'rocketmq:' /etc/passwd 1>/dev/null 2>&1 || (/usr/sbin/useradd -u 511 -g 511 -s /bin/bash -c "rocketmq run user" rocketmq)
  3. cd ~/install_files
  4. unzip rocketmq-all-4.6.0-bin-release.zip
  5. mv rocketmq-all-4.6.0-bin-release /usr/local/share
  6. cd /usr/local/share/
  7. mv rocketmq-all-4.6.0-bin-release rocketmq
  8. chmod 755 /usr/local/share/rocketmq
  9. chmod 755 /usr/local/share/rocketmq/bin/*
  10. chown -R rocketmq:rocketmq rocketmq
  11. cd rocketmq/bin
  12. ./os.sh
  13. vi /etc/profile
  14. export ROCKETMQ_HOME=/usr/local/rocketmq
  15. export PATH=$PATH::$ROCKETMQ_HOME/bin
  16. source /etc/profile
  17. sh mqbroker -n 172.31.242.133:9876 autoCreateTopicEnable=true -c /usr/local/share/rocketmq/conf/broker.conf

查看系统信息

  1. # CPU
  2. cat /proc/cpuinfo
  3. # CPU个数
  4. cat /proc/cpuinfo | grep "physical id" | uniq | wc -l
  5. # CPU核数
  6. cat /proc/cpuinfo | grep "cpu cores" | uniq
  7. # CPU型号
  8. cat /proc/cpuinfo | grep 'model name' |uniq
  9. # 内存
  10. cat /proc/meminfo
  11. # 内存大小
  12. cat /proc/meminfo | grep MemTotal
  13. # 硬盘
  14. fdisk -l | grep Disk
  15. uname -a # 查看内核/操作系统/CPU信息的linux系统信息
  16. head -n l /etc/issue # 查看操作系统版本
  17. cat /proc/cpuinfo # 查看CPU信息
  18. hostname # 查看计算机名的linux系统信息命令
  19. lspci -tv # 列出所有PCI设备
  20. lsusb -tv # 列出所有USB设备的linux系统信息命令
  21. lsmod # 列出加载的内核模块
  22. env # 查看环境变量资源
  23. free -m # 查看内存使用量和交换区使用量
  24. df -h # 查看各分区使用情况
  25. du -sh # 查看指定目录的大小
  26. grep MemTotal /proc/meminfo # 查看内存总量
  27. grep MemFree /proc/meminfo # 查看空闲内存量
  28. uptime # 查看系统运行时间、用户数、负载
  29. cat /proc/loadavg # 查看系统负载磁盘和分区
  30. mount | column -t # 查看挂接的分区状态
  31. fdisk -l # 查看所有分区
  32. swapon -s # 查看所有交换分区
  33. hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
  34. dmesg | grep IDE # 查看启动时IDE设备检测状况网络
  35. ifconfig # 查看所有网络接口的属性
  36. iptables -L # 查看防火墙设置
  37. route -n # 查看路由表
  38. netstat -lntp # 查看所有监听端口
  39. netstat -antp # 查看所有已经建立的连接
  40. netstat -s # 查看网络统计信息进程
  41. ps -ef # 查看所有进程
  42. top # 实时显示进程状态用户
  43. w # 查看活动用户
  44. id # 查看指定用户信息
  45. last # 查看用户登录日志
  46. cut -d: -f1 /etc/passwd # 查看系统所有用户
  47. cut -d: -f1 /etc/group # 查看系统所有组
  48. crontab -l # 查看当前用户的计划任务服务
  49. chkconfig list # 列出所有系统服务
  50. chkconfig list | grep on # 列出所有启动的系统服务程序
  51. rpm -qa # 查看所有安装的软件包
  52. cat /proc/cpuinfo # 查看CPU相关参数的linux系统命令
  53. cat /proc/partitions # 查看linux硬盘和分区信息的系统信息命令
  54. cat /proc/meminfo # 查看linux系统内存信息的linux系统命令
  55. cat /proc/version # 查看版本,类似uname -r
  56. cat /proc/ioports # 查看设备io端口
  57. cat /proc/interrupts # 查看中断
  58. cat /proc/pci # 查看pci设备的信息
  59. cat /proc/swaps # 查看所有swap分区的信息

磁盘相关

添加/格式化/挂载

  1. // 先看下有哪些磁盘
  2. fdisk -l
  3. // 挂在对应的
  4. fdisk /dev/vdb
  5. // fdisk后会出现编号
  6. fdisk -l
  7. // 格式化
  8. mkfs.xfs -f /dev/vdb1
  9. mkdir /opt/data
  10. mount /dev/vdb1 /opt/data
  11. // 开机挂载
  12. vi /etc/fstab
  13. /dev/vdb1 /opt/data xfs defaults 0 0

查看磁盘/目录占用

  1. df -m
  2. du -sh *

用户与权限

  1. // 如果没有组就添加
  2. grep 'rocketmq:' /etc/group 1>/dev/null 2>&1 || (/usr/sbin/groupadd -g 511 rocketmq)
  3. // 如果没有用户就添加
  4. grep 'rocketmq:' /etc/passwd 1>/dev/null 2>&1 || (/usr/sbin/useradd -u 511 -g 511 -s /bin/bash -c "rocketmq run user" rocketmq)
  5. chown -R rocketmq:rocketmq /opt/rocketmq
  6. chmod 777 /opt/rocketmq

网络

  1. // 统计所有连接本机的ip
  2. netstat -na| grep ESTABLISHED| awk '{print $5}'| awk -F: '{print $1}'

自签证书与信任

  1. // 生成客户keystore,添加客户需要信任的ip或域名
  2. keytool -genkey -keyalg RSA -alias nifi-admin -keystore keystore.jks -keypass secret -storepass secret -validity 365 -keysize 4096 -dname "CN=admin, OU=nifi" -ext san=ip:<host_ip>
  3. // 导出到der文件
  4. keytool -export -keystore keystore.jks -alias nifi-admin -file client.der -storepass secret
  5. // 加入到truststore, 信任客户的证书
  6. keytool -import -file client.der -alias nifi-admin -keystore truststore.jks -storepass secret noprompt

HTTP调用

  1. curl -X POST "http://xxx.xxx.xxx.xxx/register/DeptInfo/getDeptInfo" -H "accept: */*" -H "hospitalEname: ZhuhaiPeopleHpspital" -H "robotMac: zhuhaimac" -H "terminalId: KDXF" -H "Content-Type: application/json" -d "{ \"areaId\": \"\", \"deptId\": \"5\"}"

命令组合

遍历目录下文件并执行

三种方法

  • 使用find - exec

    1. find . -name '*.zip' -exec unzip {}
  • 使用xargs

    1. ls *.zip | xargs -n1 unzip
  • 使用for循环

    1. for i in *
    2. do
    3. unzip $i
    4. done

启停

RocketMQ

  1. // 22
  2. sh /usr/local/share/rocketmq/bin/runserver.sh org.apache.rocketmq.namesrv.NamesrvStartup > /dev/null 2>&1 &
  3. sh mqbroker -c ../conf/2m-2s-sync/broker-a.properties > /dev/null 2>&1 &
  4. sh mqbroker -c ../conf/2m-2s-sync/broker-b-s.properties > /dev/null 2>&1 &
  5. sh mqbroker -c ../conf/2m-2s-sync/broker-b.properties > /dev/null 2>&1 &
  6. sh mqbroker -c ../conf/2m-2s-sync/broker-a-s.properties > /dev/null 2>&1 &

Docker

  1. // mysql
  2. docker run -d --privileged=true --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -v /d/mysql:/etc/mysql -v /d/mysql:/data/var/lib/mysql mysql:5.7
  3. // pg
  4. docker run --name my_postgres -v dv_pgdata:/var/lib/postgresql/data -e POSTGRES_PASSWORD=root -p 5432:5432 -d postgres
  5. // prometheus
  6. docker run -d --name prom --hostname prom -p 9090:9090 -v /d/prom/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus