Category Archives: LinuxBasic

利用Linux系统生成随机密码的8种方法

文章转载自:https://www.cnblogs.com/dadonggg/p/8477655.html Linux操作系统的一大优点是对于同样一件事情,你可以使用高达数百种方法来实现它。例如,你可以通过数十种方法来生成随机密码。本文将介绍生成随机密码的十种方法。 1. 使用SHA算法来加密日期,并输出结果的前10个字符: [root@kafka60 shell]# date +%s |sha256sum |base64 |head -c 10 ;echo YTc4Mjk0Yj 2. 使用内嵌的/dev/urandom,并过滤掉那些日常不怎么使用的字符。这里也只输出结果的前32个字符: 1 #tr参数 2 -c或——complerment:取代所有不属于第一字符集的字符; 3 -d或——delete:删除所有属于第一字符集的字符; 4 1.生成10个小写字母 5 [root@kafka60 shell]# < /dev/urandom tr -dc a-z|head -c ${1:-10};echo 6 iprnfrqlhr 7 2.生成10个大写字母 8 … Continue reading

Posted in LinuxBasic | Tagged | Leave a comment

设置开机自启服务、脚本的方法

1、添加开机自启服务 我这里以docker 服务为例,设置如下两条命令即可: 1# systemctl enable docker.service #设置docker服务为自启动服务 相当于我们的 chkconfig docker on 2# systemctl start docker.service #启动docker服务 2、添加开机自启脚本 在centos7中增加脚本有两种常用的方法,以脚本StartTomcat.sh为例: #!/bin/bash # description:开机自启脚本 /usr/local/tomcat/bin/startup.sh #启动tomcat 方法一: 1、赋予脚本可执行权限(/opt/script/StartTomcat.sh是你的脚本路径) # chmod +x /opt/script/StartTomcat.sh 2、打开/etc/rc.d/rc.local文件,在末尾增加如下内容 echo “/opt/script/StartTomcat.sh” >> /etc/rc.d/rc.local 3、在centos7中,/etc/rc.d/rc.local的权限被降低了,所以需要执行如下命令赋予其可执行权限 chmod +x /etc/rc.d/rc.local 方法二: … Continue reading

Posted in LinuxBasic | Tagged | Leave a comment

Linux服务器上监控网络带宽的18个常用命令

Linux服务器上监控网络带宽的18个常用命令 本文介绍了一些可以用来监控网络使用情况的Linux命令行工具。这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度。入站流量和出站流量分开来显示。 这些工具使用不同的机制来制作流量报告。nload等一些工具可以读取”proc/net/dev”文件,以获得流量统计信息;而一些工具使用pcap库来捕获所有数据包,然后计算总数据量,从而估计流量负载。 下面是按功能划分的命令名称。 监控总体带宽使用――nload、bmon、slurm、bwm-ng、cbm、speedometer和netload 监控总体带宽使用(批量式输出)――vnstat、ifstat、dstat和collectl 每个套接字连接的带宽使用――iftop、iptraf-ng、tcptrack、pktstat、netwatch和trafshow 每个进程的带宽使用――nethogs nagiosweb——nagios 1. nload nload是一个命令行工具,让用户可以分开来监控入站流量和出站流量。它还可以绘制图表以显示入站流量和出站流量,视图比例可以调整。用起来很简单,不支持许多选项。 所以,如果你只需要快速查看总带宽使用情况,无需每个进程的详细情况,那么nload用起来很方便。结果是bit/s $ nload 安装nload:Fedora和Ubuntu在默认软件库里面就有nload。CentOS用户则需要从Epel软件库获得nload。 2. iftop iftop可测量通过每一个套接字连接传输的数据;它采用的工作方式有别于nload。iftop使用pcap库来捕获进出网络适配器的数据包,然后汇总数据包大小和数量,搞清楚总的带宽使用情况。 虽然iftop报告每个连接所使用的带宽,但它无法报告参与某个套按字连接的进程名称/编号(ID)。不过由于基于pcap库,iftop能够过滤流量,并报告由过滤器指定的所选定主机连接的带宽使用情况。 $ sudo iftop -n n选项可以防止iftop将IP地址解析成主机名,解析本身就会带来额外的网络流量。 安装iftop:Ubuntu/Debian/Fedora用户可以从默认软件库获得它。CentOS用户可以从Epel获得它。 3. iptraf iptraf是一款交互式、色彩鲜艳的IP局域网监控工具。它可以显示每个连接以及主机之间传输的数据量。下面是屏幕截图。 $ sudo iptraf 4. nethogs nethogs是一款小巧的”net top”工具,可以显示每个进程所使用的带宽,并对列表排序,将耗用带宽最多的进程排在最上面。万一出现带宽使用突然激增的情况,用户迅速打开nethogs,就可以找到导致带宽使用激增的进程。nethogs可以报告程序的进程编号(PID)、用户和路径。 $ sudo nethogs 安装nethogs:Ubuntu、Debian和Fedora用户可以从默认软件库获得。CentOS用户则需要Epel。 … Continue reading

Posted in LinuxBasic | Tagged | Leave a comment

iftop动态显示网络接口流量

安装iftop需要epel源,安装后,直接执行iftop,加上需要的选项 iftop使用的参数(iftop -h) 参数 含义 -i 指定需要检测的网卡 -n 将输出的主机信息都通过IP显示,不进行DNS解析 -B 将输出以byte为单位显示网卡流量,默认是bit -p 以混杂模式运行iftop,此时iftop可以用作网络嗅探器 -N 只显示连接端口号,不显示端口对应的服务名称 -P 显示主机以及端口信息 -F 显示特定网段的网卡进出流量 如iftop -F 192.168.85.0/24 -m 设置输出界面中最上面的流量刻度最大值,流量刻度分5个大段显示 如iftop -m limit -f 使用筛选码选择数据包来计数 如iftop -f filter code -b 不显示流量图形条 -c 指定可选的配置文件 如iftop -c config … Continue reading

Posted in LinuxBasic | Tagged | Leave a comment

lsof命令详解

lsof (list open files)是一个列出当前系统打开文件的工具。在linux系统环境下,任何事物都可以以文件形式存在,通过文件不仅可以访问常规的数据,还可以访问网络连接和硬件。 适应条件:lsof访问的是核心文件和各种文件,所以必须以root用户的身份运行才能充分发挥其功能。 lsof [选项] [绝对路径的文件名] 显示示例 每行显示一个打开的文件,默认如果后面不跟任何东西,将打开系统打开的所有文件 COMMAND :进程名称 PID:进程标识符 USER:进程所有者 FD:文件描述符,应用程序通过文件描述符识别到该文件。如cwd、txt等 TYPE:文件类型,如DIR,REG DEVICE:指定磁盘名称 SIZE:文件大小 NODE:索引节点(文件在磁盘上的标识) NAME:打开文件的确切名称 补充:FD列中的文件描述cwd值表示应用程序的当前工作目录,这是该程序启动的目录,除非它本身对这个目录进行更改。txt类型的是程序代码,如应用程序二进制文件本身或者共享库。其次数值表示应用程序的文件描述符,这是打开文件时一个返回的一个整数。 其中u表示该文件被打开处于读取\写入模式,而不是只读或只写模式; r 只读 ; w 只写 ;W表示该应用程序具有对整个文件的写锁(确保每次只能打开一次应用程序实例) 初始打开每个应用程序时,都具有三个文件描述符,从0到2,分别表示标准输入、输出和错误流。因此,大多数应用程序 所打开的FD都是从3开始 TYPE:REG、DIR、CHR、BLK、UNIX、FIFO、IPV4 下面举几个实际的例子: (1)显示使用文件的进程 (2)显示指定进程所打开的文件 (3)显示指定进程号所打开的文件 (4)通过指定的协议、端口、主机等,显示符合条件的进程信息 ls -i:port  #某个端口 ls … Continue reading

Posted in LinuxBasic | Tagged | Leave a comment

linux buff/cache过大,如何清理,附清理脚本

在Linux下经常会遇到buff/cache内存占用过多问题,尤其是使用云主机的时候最严重,由于很多是虚拟内存,因此如果buff/cache占用过大的,free空闲内存就很少,影响使用; 通常内存关系是: 普通机器:total=used+free 虚拟机器:total=used+free+buff/cache 现在给大家演示一下,我找了台虚拟机,当然,现在的buff/cache不是很大 在操作之前,要先sync一下,刷新下缓存,避免出现意外(描述:sync 命令运行 sync 子例程。如果必须停止系统,则运行sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-Node、已延迟的块 I/O 和读写映射文件) 然后使用命令清除cache缓存 通过3次清除,可以看到内存增加了 这个1、2、3分别是什么意思,自己看官方文档吧 Writing to this will cause the kernel to drop clean caches, dentries and inodes from memory, causing that memory to become free. To free pagecache: * 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 As this is a non-destructive operation, and dirty objects are notfreeable, the user should run “sync” first in order to make sure allcached objects are freed. This tunable was added in 2.6.16. 当然,再拓展一下,你也可以写个自动化的脚本,更有意思 1、编写shell定时任务脚本freemem.sh #! /bin/sh used=`free -m | awk ‘NR==2’ … Continue reading

Posted in LinuxBasic | Tagged | Leave a comment

linux下free命令详解

linux下free命令详解 转载自https://www.cnblogs.com/ultranms/p/9254160.html,感谢原作者 free 命令显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。 如果加上 -h 选项,输出的结果会友好很多: 有时我们需要持续的观察内存的状况,此时可以使用 -s 选项并指定间隔的秒数: $ free -h -s 1 上面的命令每隔 1 秒输出一次内存的使用情况,直到你按下 ctrl + c。 由于 free 命令本身比较简单,所以本文的重点会放在如何通过 free 命令了解系统当前的内存使用状况。 输出简介 下面先解释一下输出的内容: Mem 行(第二行)是内存的使用情况。 Swap 行(第三行)是交换空间的使用情况。 total 列显示系统总的可用物理内存和交换空间大小。 used 列显示已经被使用的物理内存和交换空间。 free 列显示还有多少物理内存和交换空间可用使用。 shared 列显示被共享使用的物理内存大小。 … Continue reading

Posted in LinuxBasic | Tagged | Leave a comment

Linux中内存buffer和cache的区别

简单说,buffer就是高速缓存,读写数据(块)的数据缓冲区;cache是读取数据(页)的缓冲区,在CPU上面 buffer 与cache 的区别 A buffer is something that has yet to be “written” to disk. A cache is something that has been “read” from the disk and stored for later use. 更详细的解释参考:Difference Between Buffer and Cache 对于共享内存(Shared memory),主要用于在UNIX 环境下不同进程之间共享数据,是进程间通信的一种方法,一般的应用程序不会申请使用共享内存,笔者也没有去验证共享内存对上面等式的影响。如果你有兴趣,请参考:What … Continue reading

Posted in LinuxBasic | Tagged | Leave a comment

centos如何更换时区

centos的设置时区的方式的本质是创建软连接 比如说,一台服务器的时区不正确,查看一下: [root@eueka project]# date Tue Jun 11 23:42:26 EDT 2019 [root@eueka project]# ll /etc/localtime lrwxrwxrwx. 1 root root 38 Feb 17 04:59 /etc/localtime -> ../usr/share/zoneinfo/America/New_York 可以发现,连接的是美国纽约时间,现在更换成亚洲上海 ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 确认一下 [root@eueka project]# ll /etc/localtime lrwxrwxrwx 1 root root … Continue reading

Posted in LinuxBasic | Tagged | Leave a comment

磁盘使用率查看iostat命令解析

磁盘使用率查看iostat命令解析 iostat命令被用于监视系统输入输出设备和CPU的使用情况。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。 iostat –h 用法: iostat [ 选项 ] [ <时间间隔> [ <次数> ] ] Options are: [ -c ] [ -d ] [ -N ] [ -n ] [ -h ] [ -k | -m ] [ -t ] … Continue reading

Posted in LinuxBasic | Tagged | Leave a comment