首页
学习
活动
专区
工具
TVP
发布

菲宇

专栏作者
743
文章
1616304
阅读量
55
订阅数
Linux正则过滤命令ifconfig/ip提取IP地址
Linux如何查看IP地址的命令,本人知道两种,分别是ifconfig和ip,至于具体用法,在这就不详细说了,我们的主要目标是用正则来过滤两者基本命令获取的内容以至于直接获得地址,但是我们还是必须了解两者获得的内容是不一样的。 首先,我们先来看看两者的基本命令输出的内容分别是什么。 命令ifconfig:
菲宇
2022-12-21
3.1K0
Linux系统初始化
修改最大连接数 6、配置开机启动项 保留5个必须:sshd|rsyslog|network|crond|sysstat sshd 远程连接Linux服务器时需要用到这个服务器程序,所以必须要开启,否则将无法连接Linux服务器。 rsyslog 是操作系统提供的一种机制,系统的守护程序通常会使用rsyslog将各种信息记录系统日志文件中,Centos6以前服务器的名字为syslog network 系统启动时,若想激活/关闭各个网络接口,则应(必须)考虑开启。 crond 该服务用于周期性地执行系统及用户配置的任务计划。有要周期性执行的任务,任要开启,此服务几乎是生产场景必须要用的一个软件。 sysstat sysstat是一个软件包,包含检测系统性能及效率的一组工具,这些工具对于系统性能数据很有帮助,比如CPU使用率,硬盘和网络吞吐数据等,这些数据的分析,有利于判断系统运行是否正常,所以它是提高系统运行效率、安全运行服务器的助手。 [root@localhost ~]# for i in `chkconfig --list|grep 3:on|grep -Ev "sysstat|sshd|rsyslog|crond|network"|awk '{print
菲宇
2022-12-21
1.2K0
Linux运维常用shell脚本之应用管理实例
     通过apache访问日志access.log 统计IP和每个地址访问的次数,按访问量列出前10名。      日志格式样例如下:      192.168.1.247  ---【02/jul/2010:23:44:59 + 8080 】 "GET /HTTP/1/1"   200 19      答案:          cat  access.log | awk '{print  $1}' |sort| uniq -c |sort -rn |head -10  (uniq 参数说明:– c 显示输出中,在每行行首加上本行在文件中连续出现的次数。      sort参数说明:sort默认的排序方式是升序,-r 参数就会改变成倒叙;你有没有遇到过10比2小的情况。我反正遇到过。出现这种情况是由于排序程序将这些数字按字符来排序了,排序程序会先比较1和2,显然1小,所以就将10放在2前面喽。这也是sort的一贯作风。)
菲宇
2022-12-02
7940
Shell文本处理三剑客之grep
除了grep外,还有egrep、fgrep。egrep是grep的扩展,相当于grep -E。fgrep相当于grep -f,用的少。
菲宇
2022-12-02
4140
SELinux的策略与规则管理相关命令
SELinux的策略与规则管理相关命令:seinfo命令、sesearch命令、getsebool命令、setsebool命令、semanage命令。
菲宇
2022-12-02
4690
CentOS常用查看系统、资源、服务、用户等命令
系统:  # uname -a   # 查看内核/操作系统/CPU信息  # cat /etc/issue  # cat /etc/redhat-release # 查看操作系统版本  # cat /proc/cpuinfo  # 查看CPU信息  # hostname   # 查看计算机名  # lspci -tv   # 列出所有PCI设备  # lsusb -tv   # 列出所有USB设备  # lsmod    # 列出加载的内核模块  # env    # 查看环境变量  资源:  # free -m   # 查看内存使用量和交换区使用量  # df -h    # 查看各分区使用情况  # du -sh <目录名>  # 查看指定目录的大小  # grep MemTotal /proc/meminfo # 查看内存总量  # grep MemFree /proc/meminfo # 查看空闲内存量  # uptime   # 查看系统运行时间、用户数、负载  # cat /proc/loadavg  # 查看系统负载  磁盘和分区:  # mount | column -t  # 查看挂接的分区状态  # fdisk -l   # 查看所有分区  # swapon -s   # 查看所有交换分区  # hdparm -i /dev/hda  # 查看磁盘参数(仅适用于IDE设备)  # dmesg | grep IDE  # 查看启动时IDE设备检测状况  网络:  # ifconfig   # 查看所有网络接口的属性  # iptables -L   # 查看防火墙设置  # route -n   # 查看路由表  # netstat -lntp   # 查看所有监听端口  # netstat -antp   # 查看所有已经建立的连接  # netstat -s   # 查看网络统计信息  进程:  # ps -ef   # 查看所有进程  # top    # 实时显示进程状态(另一篇文章里面有详细的介绍)  用户:  # w    # 查看活动用户  # id <用户名>   # 查看指定用户信息  # last    # 查看用户登录日志  # cut -d: -f1 /etc/passwd # 查看系统所有用户  # cut -d: -f1 /etc/group # 查看系统所有组  # crontab -l   # 查看当前用户的计划任务  服务:  # chkconfig –list  # 列出所有系统服务  # chkconfig –list | grep on # 列出所有启动的系统服务  程序:  # rpm -qa   # 查看所有安装的软件包
菲宇
2022-12-02
2.1K0
Linux三剑客之grep命令详解及相关实例
grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
菲宇
2022-12-02
1.6K0
Linux运维常用脚本命令
5)有两个命令能帮助我调试脚本:set -e 遇到执行非0时退出脚本,set-x 打印执行过程。  
菲宇
2022-12-02
2.5K0
Linux中查看进程、杀死进程、进入进程的命令
1.查看进程     ps命令查找与进程相关的PID号:     ps a 显示现行终端机下的所有程序,包括其他用户的程序。     ps -A 显示所有程序。     ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。     ps -e 此参数的效果和指定"A"参数相同。     ps e 列出程序时,显示每个程序所使用的环境变量。     ps f 用ASCII字符显示树状结构,表达程序间的相互关系。     ps -H 显示树状结构,表示程序间的相互关系。     ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。     ps s 采用程序信号的格式显示程序状况。     ps S 列出程序时,包括已中断的子程序资料。     ps -t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。     ps u 以用户为主的格式来显示程序状况。     ps x 显示所有程序,不以终端机来区分。     最常用的方法是ps aux,然后再通过管道使用grep命令过滤查找特定的进程,然后再对特定的进程进行操作。     ps aux | grep program_filter_word,ps -ef |grep tomcat  ps -ef|grep java|grep -v grep 显示出所有的java进程,去处掉当前的grep进程。  2.杀死进程    使用kill命令结束进程:kill xxx    常用:kill -9 324    Linux下还提供了一个killall命令,可以直接使用进程的名字而不是进程标识号,例如:# killall -9 NAME
菲宇
2022-12-02
11.2K0
Linux下查看网络信息和端口信息
1、在ifconfig内容中找出ip [root@localhost ~]# ifconfig ens33|grep "inet "\ > |awk '{print $2}' #awk默认分割符号为空格 ping都懂用,可是linux下,ping命令会一直ping,不会自动停止怎么办 [root@localhost ~]# ping www.baidu.com -c 4 #-c 次数 [root@localhost ~]# netstat -an|grep -v unix #显示网络连接信息,-a所有,-n实际地址 |grep -v 晓得吧,就是反向显示(不显示符合条件) 2、查看网络连接状态,并汇总信息 [root@localhost ~]# netstat -an|grep tcp [root@localhost ~]# netstat -an|grep tcp|awk '{++S[$NF]} END {for (a in S) print a,S[a]}' [root@localhost ~]# netstat -an|awk '/^tcp/{++S[$NF]} END {for (a in S) print a,S[a]}' #写法有很多种 3、查看系统路由表,两种方法 [root@localhost ~]# netstat -rn [root@localhost ~]# netstat -r 4、追踪网络数据包的路径,经过的路由 [root@localhost ~]# traceroute www.12306.com 5、根据域名查ip [root@localhost ~]# nslookup www.baidu.com #可以使用dig命令,查看NS(域名服务器)记录 [root@localhost ~]# dig www.taobao.com 6、查看端口状态 a、lsof -i:端口号 用于查看某一端口的占用情况,比如查看8000端口使用情况,lsof -i:8000 b、netstat -tunlp |grep 端口号,用于查看指定的端口号的进程情况,如查看8000端口的情况,netstat -tunlp |grep 8000
菲宇
2019-07-02
5.5K0
Linux之文件管理及文本处理
文件管理不外乎文件或目录的创建、删除、查询、移动,有mkdir/rm/mv 文件查询是重点,用find来进行查询;find的参数丰富,也非常强大; 有时候,需要给文件创建一个别名,我们需要用到ln,使用这个别名和使用原文件是相同的效果; 2.1. 创建和删除 创建:mkdir 删除:rm 删除非空目录:rm -rf file目录 删除日志 rm *log (等价: $find ./ -name “*log” -exec rm {} ;) 移动:mv 复制:cp (复制目录:cp -r ) 查看当前目录下文件个数: $find ./ | wc -l 复制目录: $cp -r source_dir dest_dir 2.2. 目录切换 找到文件/目录位置:cd 切换到上一个工作目录: cd - 切换到home目录: cd or cd ~ 显示当前路径: pwd 更改当前工作路径为path: $cd path 2.3. 列出目录项 显示当前目录下的文件 ls 按时间排序,以列表的方式显示目录项 ls -lrt 以上这个命令用到的频率如此之高,以至于我们需要为它建立一个快捷命令方式: 在.bashrc 中设置命令别名: alias lsl='ls -lrt' alias lm='ls -al|more' 这样,使用lsl,就可以显示目录中的文件按照修改时间排序;以列表方式显示; 给每项文件前面增加一个id编号(看上去更加整洁): >ls | cat -n 1 a 2 a.out 3 app 4 b 5 bin 6 config 注:.bashrc 在/home/你的用户名/ 文件夹下,以隐藏文件的方式存储;可使用 ls -a 查看; 2.4. 查找目录及文件 find/locate 搜寻文件或目录: $find ./ -name "core*" | xargs file 查找目标文件夹中是否有obj文件: $find ./ -name '*.o' 递归当前目录及子目录删除所有.o文件: $find ./ -name "*.o" -exec rm {} \; find是实时查找,如果需要更快的查询,可试试locate;locate会为文件系统建立索引数据库,如果有文件更新,需要定期执行更新命令来更新索引库: $locate string 寻找包含有string的路径: $updatedb 与find不同,locate并不是实时查找。你需要更新数据库,以获得最新的文件索引信息。 2.5. 查看文件内容 查看文件:cat vi head tail more 显示时同时显示行号: $cat -n 按页显示列表内容: $ls -al | more 只看前10行: $head - 10 ** 显示文件第一行: $head -1 filename 显示文件倒数第五行: $tail -5 filename 查看两个文件间的差别: $diff file1 file2 动态显示文本最新信息: $tail -f crawler.log 2.6. 查找文件内容 使用egrep查询文件内容: egrep '03.1\/CO\/AE' TSF_STAT_111130.log.012 egrep 'A_LMCA777:C' TSF_STAT_111130.log.035 > co.out2 2.7. 文件与目录权限修改 改变文件的拥有者 chown 改变文件读、写、执行等属性 chmod 递归子目录修改: chown -R tuxapp source/ 增加脚本可执行权限: chmod a+x myscript 2.8. 给文件增加别名 创建符号链接/硬链接: ln cc ccAgain :硬连接;删除一个,将仍能找到; ln -s cc ccTo :符号链接(软链接);删除源,另一个无法使用;(后面一个ccTo 为新建的文件) 2.9. 管道和重定向 批处理命令连接执行,使用 | 串联: 使用分号 ; 前面成功,则执行后面一条,否则,不执行:&& 前面失败,则后一条执行: || ls /proc && echo suss! || echo failed. 能够提示命名是否执行成功or失败; 与上述相同效果的是: if ls /proc; then echo suss; else echo fail; fi 重定向: ls proc/*.c > list 2> &l 将标准输出和标准错误重定向
菲宇
2019-06-13
1.7K0
Shell脚本实现监控rsync数据是否传输完
今天有台服务器a要把网站程序全部传输到另外一台服务器b上去,但离下班时间就只有1个小时了,为了准时下班,简单写了个shell脚本来监控是否有传输完,我先在服务器a上看了下网站程序总大小为12G,用du -sm查看也就是11517,服务器也不会有人再传东西上去了,所以我可以放心容量不会再变大了。
菲宇
2019-06-12
7220
30个高效的Linux命令技巧
# tar tf data.tar.gz #t是列出存档文件目录,f是指定存档文件
菲宇
2019-06-12
9820
shell脚本监控启动停止weblogic服务
有时,linux系统需要做HA或者类似的功能,需要配置weblogic脚本来启动,停止,查看状态,可以如下方式写
菲宇
2019-06-12
2.1K0
Nginx日志配置及日志分析脚本案例
其中access log 记录了哪些用户,哪些页面以及用户浏览器、ip和其他的访问信息
菲宇
2019-06-12
2.9K0
使用Salt管理和部署Docker
  Salt是一个开源配置管理和远程执行应用,Salt目地是简化中央系统管理和配置的管理。而Docker是一个开源应用自动部署项目,在软件容器中提供附加抽象层和操作系统虚拟化。 Docker和Salt都能让裸机服务器和云服务一样使用,Salt提供基础系统,而Docker能包容每个应用,提供微服务功能。 假设以下情况: 目标: 很多主机都需要部署Docker容器,而每个主机上有很多容器。 Not covered: 构建docker容器,通常和Jenkins 一起使用,然后推送到一个私人仓储或使用 Docker Hub. Salt有一个state modules 系统和execution module执行模块,状态是整个情况的表示,而执行模块是用来乏味系统内部执行的命令,但是不能从状态中执行。可见 salt docs. 1.设置变量 开始设置很多变量以后会用得着,使用pillars和 grains能让状态更易于重用,noofcontainers是用于设置启动多少个容器。 {% set name = 'node-demo' %} {% set registryname = 'jacksoncage' %} {% set tag = salt['pillar.get']('imagetag', "latest") %} {% set containerid = salt['grains.get']('id') %} {% set hostport = '808' %} {% set hostip = grains['ip_interfaces']['eth0'][0] %} {% set noofcontainers = range(10) ‰} 2.拉取docker image (docker pull) 使用一个 nodejs demo application 作为image, 我们需要从Docker Hub拉取。 {{ name }}-image: docker.pulled: - name: {{ registryname }}/{{ name }} - tag: {{ tag }} - force: True 3.停止旧的容器 如果有旧的容器在运行我们需要停止: {{ name }}-stop-if-old-{{ no }}: cmd.run: - name: docker stop {{ containerid }}-{{ name }}-{{ no }} - unless: docker inspect --format '{{ .Image }}' {{ containerid }}-{{ name }}-{{ nr }} | grep $(docker images --no-trunc | grep "{{ registryname }}/{{ name }}" | awk '{ print $3 }') - require: - docker: {{ name }}-image 4.去除旧容器 停止以后删除旧容器 {{ name }}-remove-if-old-{{ no }}: cmd.run: - name: docker rm {{ containerid }}-{{ name }}-{{ no }} - unless: docker inspect --format '{{ .Image }}' {{ containerid }}-{{ name }}-{{ nr }} | grep $(docker images --no-trunc | grep "{{ registryname }}/{{ name }}" | awk '{ print $3 }') - require: - cmd: {{ name }}-stop-if-old-{{ no }} 5.启动容器 通过docker run/docker.installed安装新容器,设置主机名 端口和环境变量: {{ name }}-container-{{ no }}: docker.installed: - name: {{ containerid }}-{{ name }}-{{ no }} - hostname: {{ containerid }}-{{ name }}-{{ no }} - image: {{ registryname }}/{{ name }}:{{ tag }} - ports:
菲宇
2019-06-11
1.4K0
Shell脚本监控系统情况并发送邮件
在没有监控软件的情况下,只要服务器能上互联网,就可通过发邮件的方式来提醒管理员系统负载与CPU占用的使用情况。 一、安装linux下面的一个邮件客户端msmtp软件(类似于一个foxmail的工具)
菲宇
2019-06-11
1.6K0
Shell脚本实现监控swap空间使用情况和查看占用swap的进程
Shell脚本实现监控swap空间使用情况和查看占用swap的进程,曾经有一段时间机器的swap不停上涨,监控后发现是一些java进程占用swap空间后,完全不释放,杀死这些java进程后,释放swap。
菲宇
2019-06-11
1.7K0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档