linux系统:运维常用命令详情
程序员文章站
2022-04-08 10:34:44
linux系统 系统 分区 压缩与解压 文件查找及传输 用户及权限 查看文件 vi编辑器 网络 nginx rpm yum 编译安装 mysql 常见for循环示例 es
linux系统...
linux系统 系统 分区 压缩与解压 文件查找及传输 用户及权限 查看文件 vi编辑器 网络 nginx rpm yum 编译安装 mysql 常见for循环示例 es
linux系统 系统su - cat /proc/cpuinfo 查看配置 lscpu 查看配置 cat /etc/redhat-release 查看系统版本信息(有时安装一些软件,可改) df –Th 查看磁盘使用情况(以T为单位) du -h --max-depth=1 查看当前目录下各文件所占大小 du -sh 当前目录总体大小 du -sh * 查看当前目录下各问价大小 mkfs.ext4 /dev/sdb1 格式化 done mount /dev/sdb1 /opt/data1 挂载 lsof | grep delete 查看删除但还占空间的文件 可用kill -9 pid 清一下 free –m 内存,m为单位,还可以是g,t uptime 运行时间及负载 查看load值 w 用来查看登录者的信息及他们的行为(比who更详尽) top 性能分析工具 ss -s 列出当前socket的详细信息 ss -tanl 列出所有tcp 若命令不能用: export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 清理系统缓存:to free pagecache, dentries and inodes echo 3 > /proc/sys/vm/drop_caches for i in {148..161}; do ssh 192.168.14.$i "echo 3 > /proc/sys/vm/drop_caches"; done for i in {7..12}; do ssh 192.168.14.$i "echo 3 > /proc/sys/vm/drop_caches"; done 在crontab中,需要搞一个脚本,例如: 0 0 * * * /etc/mission/clean_cache.sh 0时执行 * */3 * * * /etc/mission/clean_cache.sh 每隔3小时执行一次 cat /var/log/cron 可以查看定时任务跑的情况 netstat -tulnp | grep 端口号 查看端口的情况 lsof -i:端口号 查看端口的情况(yum install lsof -y) telnet ip 端口 区别: [root@bgs-8p83-udp-04 ~]# netstat -tulnp|grep 9001 tcp 0 0 :::9001 :::* LISTEN 79677/java [root@bgs-8p83-udp-04 ~]# lsof -i:9001 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 79677 udp 300u IPv6 3473785 0t0 TCP *:etlservicemgr (LISTEN) ps -aux | grep 数字(pid)或者程序名 列出符合条件的目前所有的正在内存当中的程序 ps -ef | grep 数字(pid)或者程序名 显示符合条件的所有进程信息,连同命令行 kill –i 用好像启动进程的用户已注销的方式结束进程 kill -9 强制干掉 ps -ef|grep elasticsearch|grep -v grep|awk '{print $2}'|xargs kill -9 指定干掉某个进程 软连接 ln -s /opt/python2.6 /usr/bin/python 创建 unlink /usr/bin/python 解链 要改变链接指向,只需which 各个版本,然后将链接指向解链重指即可 history|grep ctrl+r (输入关键字,在ctrl+r) cd .. 上一层 cd - 上一次 screen -r 进程名 查看相关进程的屏幕 ctrl+a 再按d退出 创建随机密码-l 后面为位数(安装 yum -y install expect) mkpasswd -l 9分区
parted(大于 2t) 分区 fdisk(小于 2t) 分区 创建或增减swap分区 [root@bgs-8p141-yangliang openldap]# free -m #查看分区情况 total used free shared buffers cached Mem: 32109 30925 1184 0 338 27735 -/+ buffers/cache: 2852 29257 Swap: 0 0 0 然后: 1.创建要作为swap分区的文件:增加1GB大小的交换分区,则命令写法如下,其中的count等于想要的块的数量(bs*count=文件大小)。 # dd if=/dev/zero of=/home/swap bs=1G count=17 2.格式化为交换分区文件: # mkswap /home/swap #建立swap的文件系统 3.启用交换分区文件: # swapon /home/swap #启用swap文件 4.使系统开机时自启用,在文件/etc/fstab中添加一行: /home/swap swap swap defaults 0 0 注意:若已执行过一次,需要扩大或者减少swap空间时要先关闭swap swapoff -a压缩与解压
(注:v显示过程信息,可去)
tar -zxvf 名字.tar.gz -C 目录 解压tar.gz文件 tar -zcvf 名字.tar.gz 文件 压缩为tar.gz tar -jxvf 名字.tar.bz2 解压tar.bz2文件(解压报错,yum install bzip2 -y) tar -jcvf 名字.tar.bz2 文件 压缩为tar.bz2文件 jar -xvf 名字.war 解压war包 jar -cvf 名字.war 压缩为war unzip -o 名字.zip 解压zip文件,-o 会同名覆盖不询问 zip -r 名字.zip 文件 压缩为zip文件文件查找及传输
cd ../目录 find / -name 文件名 grep -R "关键词" * grep "关键词" * which 文件名 whereis 文件名 scp -r 文件(或者目录/*) -P 端口号 用户@主机ip或映射:绝对路径或者类似$PWD的相对路径 (本机传向远端) scp -r -P 端口号 用户@主机ip或映射:文件的绝对路径或者类似$PWD的相对路径 本机存放位置 (远端传至本机) 本机传向远端: 示例:scp -P3222 -r dist a207@172.24.8.97:/opt/a207/web/test/ 远端传至本机:(特别适合本机是跳板机的情况,舒服) 示例:scp -P3222 -r a207@172.24.8.97:/opt/a207/web/test/dist . rz -be 上传 若无,则 yum install lrzsz -y sz -be 下载 wget 网址 (yum install wget -y) lftp ftps://ftphzuser:zj2Kl5sDmH0=@117.121.7.29 mget lftp地址用户及权限
chown 用户名:组名 文件名 -R groupadd 组名 && useradd -g 组名 -d 用户家目录 用户名 (循环中可一起,单个要分开) groupadd 组名 useradd -g 组名 -d 用户家目录 示例:groupadd ambari useradd -g ambari -d /opt/ambari ambari userdel -r sys 清理用户及其家目录查看文件
ll ll -a ls -rtl r相反顺序 t最后一次修改顺序,从前到后 ls -rtla 查看日志常用命令 tail -n 行数 日志 静态观察指定行数 tail -行数f 日志 动态查看前指定行数的日志 tail -f 日志 紧跟日志文末查看 less -R 日志 以less的方式查看,G在文末,gg到文首,pageup和down翻页,q退出 /搜索 n向前查找 N向后查找 tail -100 文件 head -100 文件 more less cat md5sum 文件名 查看文件的md5值vi编辑器
100000 dd 快速清空 G 跳到文末 gg 跳至开头 o 跳到下一行 $ 跳至行末 yy 行数 从这行起复制行数的内容 p 粘贴复制的内容 /查找的名称 快速查找 :set nu 查看行数 :q/q!/wq 保存及退出 :%s/\/new/g 全局替换 set paste 执行后再粘贴可以保证粘贴格式网络
ping -c 100 -i 0.01 ip或者网址 traceroute ip或者网址 tcpdump -i eth0 看网口 chattr chattr +i /etc/resolv.conf chattr命令防止系统中某个关键文件被修改 iostat -m -x 1 每一秒单位为M查看io性能 route -n 显示路由表 route add -net 172.16.4.0 gw 192.168.44.1 路由表中添加ip及网关 /etc/sysconfig/static-routes 查看静态路由表nginx
启动Nginx
常见的几种方式 /etc/init.d/nginx start yum安装 service nginx start yum和rpm安装 /usr/local/nginx/sbin/nginx -c /opt/nginx-1.10.2/conf/nginx.conf tar包编译安装 ps一下,可以知道相关配置文件的位置rpm
rpm -qa|grep mysql rpm -e --nodeps mysql-community-common-5.7.18-1.el7.x86_64yum
yum install -y unzip zip yum install -y lrzsz yum install bzip2 -y yum install vim -y yum list yum clean all yum makecache yum install yum remove yum list all | grep编译安装
./configure && make && make installmysql
建库 CREATE DATABASE {db-name} DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; 授权 GRANT ALL PRIVILEGES ON {db-name}.* TO '{db-user}'@'%' IDENTIFIED BY '{password}'; GRANT ALL PRIVILEGES ON {db-name}.* TO '{db-user}'@'localhost' IDENTIFIED BY '{password}'; 刷新 flush privileges; 改密 UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ; 备份 mysqldump -u root -p subject ab_permission_view_role > ab_permission_view_role.sql常见for循环示例
重启 for i in {113..122} ; do ssh 172.24.8.$i "init 6" ; done; ntp相关 for i in {12..24}; do scp CentOS-Base.repo 192.168.192.$i:$PWD ; done; for i in {11..24}; do ssh 192.168.192.$i "yum install ntp -y"; done for i in {12..24}; do ssh 192.168.192.$i "(echo '00 01 * * * ntpdate -u 172.24.2.10 >> /var/log/ntpdate.log 2>&1' ; crontab -l) | crontab" & done for i in {11..24}; do ssh 192.168.192.$i "ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime";done for i in {11..24}; do ssh 192.168.192.$i "service ntpd start"; done for i in {11..24}; do ssh 192.168.192.$i "chkconfig ntpd on"; done for i in {12..20};do ssh 192.168.192.$i "systemctl disable chronyd" ; done; 做跳板机 ssh-keygen -t rsa for i in {7..12};do ssh-copy-id root@192.168.14.$i;done scp for i in {12..20}; do scp /etc/hosts 192.168.192.$i:/etc/hosts ; done; for i in {12..20}; do scp /etc/hosts 192.168.192.$i:$PWD ; done; ambari for i in {12..20};do ssh 192.168.192.$i "ambari-agent start" ; done;es
重试分配 curl -XPOST '192.168.14.148:9200/_cluster/reroute?retry_failed'
禁用自动分配 curl -XPUT 192.168.14.148:9200/_cluster/settings -d'{ "transient": { "cluster.routing.allocation.enable": "none" } }' 启用自动分配 curl -XPUT 192.168.14.148:9200/_cluster/settings -d'{ "transient": { "cluster.routing.allocation.enable": "all" } }'
sed -i 's/120s/300s/g' /opt/elasticsearch/config/elasticsearch.yml 注意g为全局替换,要保证其唯一性,不行就多加点 循环干掉es进程 for i in {148..161}; do ssh 192.168.14.$i "ps -ef|grep elasticsearch|grep -v grep|awk '{print $2}'|xargs kill -9"; done 启动 /opt/elasticsearch/bin/elasticsearch -d