操作系统
文章平均质量分 64
beeworkshop
长风破浪会有时,直挂云帆济沧海
展开
-
Ubuntu Server20的常用设置
文章目录♦ Ubuntu server的安装♦ 取消ssh的登陆欢迎界面♦ 修改hostname♦ 配置静态IP♦ 修改更新源♦ 修改时区并同步时间♦ 修改时间戳的显示格式♦ 修改时间为24小时制♦ 修改系统日志♦ 添加新用户并授权sudo♦ 限制用户对su命令的使用♦ 删除用户取消附加组♦ 配置ssh公钥登陆♦ 配置sshd♦ 安装Docker♦ 安装JDK♦ 关闭不需要的服务♦ 可以删除的账号和组♦ 调整history♦ 加入日志审计功能♦ 持续更新中...♦ Ubuntu server的安装镜原创 2021-02-17 20:10:55 · 2260 阅读 · 1 评论 -
Ubuntu20自动开机加载/关机保存iptables配置
Ubuntu20已不再支持/etc/network/interfaces配置文件。依托于interfaces配置文件的pre-up/post-up hook脚本也不再支持。替代品Netplan目前也不支持前述的hook脚本。要想实现hook脚本的功能目前可使用networkd-dispatcher来达成。注意在networkd-dispatcher中hook的功能是异步的。详细信息可参考man networkd-dispatcher。文章目录一、ifupdown hook功能实现1. 使用networ.原创 2021-02-16 13:53:10 · 4974 阅读 · 1 评论 -
Ubuntu之Netplan配置案例集锦
Below are a collection of example netplan configurations for common scenarios. If you see a scenario missing or have one to contribute, please file a bug against this documentation with the example using the links at the bottom of this page. Thank you!文.转载 2021-02-16 12:12:53 · 1693 阅读 · 2 评论 -
Linux中查看磁盘分区和目录挂载
df -hTyum -y install python-pippip install --upgrade pippip install pydfsudo apt install pydfpydfpydf -apydf -hfdisk -l原创 2020-12-06 17:52:57 · 927 阅读 · 0 评论 -
Linux下的sudo及其配置文件/etc/sudoers详细配置
文章目录1.sudo介绍2.配置文件/etc/sudoers2.1. 最简单的配置,让普通用户support具有root的所有权限2.2. 让普通用户support只能在某几台服务器上,执行root能执行的某些命令1) 配置Host_Alias:就是主机的列表2) 配置Cmnd_Alias:就是允许执行的命令的列表3) 配置User_Alias:就是具有sudo权限的用户的列表4) 配置Runas_Alias:就是用户以什么身份执行(例如root,或者oracle)的列表1.sudo介绍sudo是li转载 2020-11-16 09:27:24 · 2753 阅读 · 0 评论 -
Linux开启内核转发
1. 即时开启内核转发echo "1" > /proc/sys/net/ipv4/ip_forward2. 开启内核转发并持久化vim /etc/sysctl.conf=========================================================================net.ipv4.ip_forward = 1sysctl -p原创 2020-11-15 12:13:28 · 3835 阅读 · 0 评论 -
Linux TCP/IP分析工具Packet Drill
文章目录一、Packet Drill 基本原理二、Packet Drill 脚本解析/执行引擎三、Packet Drill 语法简介1. 相对时间顺序2. 系统调用3. 报文的发送与接受4. 报文的格式描述四、实战示例五、参考信息一、Packet Drill 基本原理TUN 网络设备TUN 是Linux 下的虚拟网络设备, 可以直通到网络层。使得应用程序可以直接收发IP报文。二、Packet Drill 脚本解析/执行引擎首先 Packet Drill 脚本必须要被解析和分解为 通过传统soc转载 2020-11-09 09:32:49 · 768 阅读 · 1 评论 -
关闭linux终端还让程序继续执行的方法
文章目录一、前言二、思考三、nohup四、setsid五、exit六、trap七、screen一、前言我们在使用linux时,会经常要把一个程序放到后台运行,这时候就需要在程序的最后使用【&】符号,但是当直接关闭这个终端时,程序就会退出,下面我介绍5种方法,在关闭终端后程序还继续运行。二、思考首先要考虑一个问题,直接关闭终端为什么后台程序就退出了?那是因为直接关闭,终端会向当前环境启动的后台任务发送SIGHUP信号,让运行的程序挂起,那么忽略SIGHUP信号就行啦。三、nohup最常用转载 2020-09-15 22:31:23 · 18541 阅读 · 3 评论 -
Linux查看进程运行了多长时间
# 查看进程运行了多长时间ps -p 1777 -o lstart,etimes # 以秒记ps -p 1777 -o lstart,etime # 以十分形式记原创 2020-09-07 21:59:45 · 2655 阅读 · 2 评论 -
使用sed花式删除文件中的行
# 删除第一行sed '1d' sed-demo.txt# 删除最后一行sed '$d' sed-demo.txt# 删除从 5 到 7 行 的内容sed '5,7d' sed-demo.txt# 删除第 1 、第 5 、第 9 和最后一行sed '1d;5d;9d;$d' sed-demo.txt# 删除第 3到 6 行以外的其他行sed '3,6!d' sed-demo.txt# 删除空白行sed '/^$/d' sed-demo.txt# 删除包含 System 这原创 2020-09-05 18:16:27 · 593 阅读 · 0 评论 -
yum安装软件之后保存rpm包
修改/etc/yum.conf[root@node03 ~]# cat /etc/yum.conf[main]cachedir=/var/cache/yum/$basearch/$releaseverkeepcache=0 <----------- 这里改为1debuglevel=2logfile=/var/log/yum.logexactarch=1obsoletes=1gpgcheck=1plugins=1installonly_limit=5bugtracker_url原创 2020-08-01 16:15:26 · 867 阅读 · 0 评论 -
5种在Linux终端中进行算术运算的方法
1. 使用Bash Shell在Linux CLI上进行基本数学运算的第一个也是最简单的方法是使用双括号。 以下是我们使用存储在变量中的值的一些示例:$ ADD=$(( 1 + 2 ))$ echo $ADD$ MUL=$(( $ADD * 5 ))$ echo $MUL$ SUB=$(( $MUL - 5 ))$ echo $SUB$ DIV=$(( $SUB / 2 ))$ echo $DIV$ MOD=$(( $DIV % 2 ))$ echo $MOD2. 使用expr命令转载 2020-07-16 11:02:24 · 1011 阅读 · 0 评论 -
CentOS8中的常用网络配置
开启网络CentOS8默认没有开启网络,需要手动开启。# 临时开启网卡接口nmcli c up ens33# 永久开启网卡接口vim /etc/sysconfig/network-scripts/ifcfg-ens33 修改 ONBOOT=yesnmcli的其他命令参考这里原创 2020-07-14 16:08:20 · 3551 阅读 · 0 评论 -
实现docker应用的日志轮转服务
导读 通常我们一个完整的应用镜像有两部分组成,一个是运行时环境,一个是应用程序。我们以php应用为例,一个完整的php应用需要包含openresty + php两个服务来配置运行时环境,然后再加上php代码,来完成一整个php应用的发布。php代码产生的日志由程序自行控制,一般都会按天滚动,在日志量较大的情况下,也可能按小时滚动,或者按照单个日志文件的大小来实现滚动。而nginx和php服务的日志默认情况下并不支持这种滚动,所以默认情况下,一个openresty+php容器在其生命周期内,就只会写一个.转载 2020-06-19 12:17:51 · 460 阅读 · 0 评论 -
如何在Linux中启动时添加服务
方法 1:如何使用 /etc/rc.d/rc.local 文件在重启或启动时运行脚本或命令传统上,/etc/rc.local 文件是在切换到多用户运行级别的过程结束时,在所有正常的计算机服务启动之后执行的。此方法也适用于 systemd 系统。你需要将你的脚本位置添加到 /etc/rc.d/rc.local 文件中以在启动时运行。确保该文件有运行权限:# chmod +x /etc/rc.d/rc.local作为演示,我们将创建一个简单的示例脚本。你可以根据需要创建任何脚本。# vi /op转载 2020-06-16 09:20:30 · 320 阅读 · 0 评论 -
CentOS7中使用systemctl列出启动失败的服务
列出启动失败的服务[root@localhost ~]# systemctl list-units --state failed UNIT LOAD ACTIVE SUB DESCRIPTION● httpd.service loaded failed failed The Apache HTTP ServerLOAD = Reflects whether the unit definition was properly loaded.ACTIVE = Th.转载 2020-06-16 09:11:22 · 7115 阅读 · 1 评论 -
使用mmv命令批量修改文件名称
安装mmv在默认情况下,Centos7的网络源中没有mmv的安装包,我们需要先安装epel源,然后再安装mmv工具。# 下载阿里云的epel源文件。[root@localhost ~]# wget http://mirrors.aliyun.com/repo/epel-7.repo --directory-prefix=/etc/yum.repos.d# 清楚yum缓存,并重新生成缓存[root@localhost ~]# yum clean all && yum makecac转载 2020-06-15 09:25:29 · 870 阅读 · 0 评论 -
CentOS7下的网络监控工具iptraf-ng
安装yum install -y iptraf-ng命令选项iptraf-ng -husage: iptraf-ng [options] or: iptraf-ng [options] -B [-i <iface> | -d <iface> | -s <iface> | -z <iface> | -l <iface> | -g] -h, --help show this help messag.原创 2020-06-05 14:42:42 · 2079 阅读 · 0 评论 -
Ubuntu18遗忘root密码的处理
开机按住任何键(shift)停住grub菜单选择Advanced options for Ubuntu,按e进入编辑模式选择Ubuntu, with Linux 4.15.0-29-genericlinux这一行的最后输入single init=/bin/bash,按Ctrl-x或者F10启动修复模式以读写的形式重新挂载根分区并修改root密码和普通用户的密码,然后重启mount -o remount,rw /passwd6. 用普通用户登录系统(Ubuntu18.04.1开发.转载 2020-06-02 11:35:54 · 763 阅读 · 0 评论 -
Linux下命令别名的产生
使用alias显示定义的所有别名alias配置实例alias vi="vim"alias ll="ls -al --color=auto"在配置文件中配置命令别名vim ~/.bashrcsource ~/.bashrc或者vim ~/.bash_profilesource ~/.bash_profile使用函数在配置文件~/.bash_profile中加入function sshp { /usr/bin/ssh -p 2234 $* # $* .原创 2020-06-01 17:21:47 · 142 阅读 · 0 评论 -
linux磁盘分区经验
关于SWAP分区的一些说明物理内存小于8G,SWAP分区大小可为物理内存的2倍。物理内存大于8G时,SWAP分区一般取8G分组经验做法以300G硬盘为例/boot分区:200Mswap分区:16G/分区:80G/data分区:剩余所有空间...原创 2020-06-01 17:20:02 · 190 阅读 · 0 评论 -
linux下分析二进制文件的方法
1. filefile 命令用于分析文件的类型。如果你需要分析二进制文件,可以首先使用 file 命令来切入。我们知道,在 Linux 下,一切皆文件,但并不是所有的文件都具有可执行性,我们还有各种各样的文件,比如:文本文件,管道文件,链接文件,socket文件,等等。在对一个文件进行分析之前,我们可以首先使用 file 命令来分析它们的类型。当然除此之外,我们还可以看到一些其它信息。$ file /bin/pwd /bin/pwd: ELF 64-bit LSB executable, x86-转载 2020-06-01 10:40:30 · 710 阅读 · 0 评论 -
常用Ubuntu软件包的管理命令
dpkg -l <包名> 查询包是否安装,支持模糊查询dpkg -s <包名> 查看详细包信息dpkg-query -L <包名> 查看属于包的文件原创 2020-06-01 10:05:03 · 497 阅读 · 0 评论 -
遇见Linux系统CPU使用率过高怎么办?
查看CPU使用在 Linux 系统下,使用 top 命令查看 CPU 使用情况。%Cpu(s): 0.3 us, 0.1 sy, 0.0 ni, 99.6 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 stCPU各类型占用详解:us(user):表示 CPU 在用户运行的时间百分比,通常用户 CPU 高表示有应用程序比较繁忙。典型的用户程序有:数据库、Web 服务器等。sy(sys):表示 CPU 在内核态运行的时间百分比(不包括中断),通常内核态 CPU 越低越好,否则表示转载 2020-06-01 09:51:01 · 514 阅读 · 0 评论 -
shell script 读取文本文件的常见方法
方法如下:实例 1#!/bin/bashwhile read linedo echo $linedone < test.txt实例 2#!/bin/bashcat test.txt | while read linedo echo $linedone实例 3for line in `cat test.txt`do echo $linedone原创 2020-05-25 11:10:13 · 528 阅读 · 0 评论 -
Nginx 限流配置
限流算法:令牌桶算法算法思想是:令牌以固定速率产生,并缓存到令牌桶中;令牌桶放满时,多余的令牌被丢弃;请求要消耗等比例的令牌才能被处理;令牌不够时,请求被缓存。漏桶算法算法思想是:水(请求)从上方倒入水桶,从水桶下方流出(被处理);来不及流出的水存在水桶中(缓冲),以固定速率流出;水桶满后水溢出(丢弃)。这个算法的核心是:缓存请求、匀速处理、多余的请求直接丢弃。相比漏桶算法,令牌桶算法不同之处在于它不但有一只“桶”,还有个队列,这个桶是用来存放令牌的,队列才是用来存放请求的转载 2020-05-25 09:35:06 · 219 阅读 · 0 评论 -
linux常用磁盘显示命令
ls -al命令这个命令大家再熟悉不过了,可以显示当前目录所有文件及目录的详细信息,可以直观看出来当前目录哪些文件占用磁盘空间更大。嗯,如果再加上 -h 选项的话会更香。stat命令stat 命令可以显示一个指定文件/目录的更详细的信息,包括:大小、块、inode、创建/访问/修改时间,等等信息。df命令df命令是词语disk free的缩写,用于显示当前磁盘的可用空间。常用的几个选项为:df -h :以用户友好的方式显示磁盘可用空间。df -a :显示完整磁盘使用情况,包括那些可用空.转载 2020-05-24 09:19:46 · 1333 阅读 · 0 评论 -
使用 mergefs 增加虚拟存储
mergefs 用来干啥,看下图:mergerfs 是一个联合文件系统,旨在简化存储和管理众多商业存储设备上的文件。你需要从他们的 GitHub 页面获取最新的 RPM。Fedora 的版本名称中带有 “fc” 和版本号。例如,这是 Fedora 31 的版本: mergerfs-2.29.0-1.fc31.x86_64.rpm。安装和配置 mergefs使用 sudo 安装已下载的 mergefs 软件包:$ sudo dnf install mergerfs-2.29.0-1.fc31.x8转载 2020-05-22 10:56:17 · 751 阅读 · 0 评论 -
Java进程CPU占用高导致的网页请求超时的故障排查
一、发现问题的系统检查:一个管理平台门户网页进统计页面提示请求超时,随进服务器操作系统检查load average超过4负载很大,PID为7163的进程占用到了800%多。load average的参数含义可参考这里二、定位故障根据这种故障的一般处理思路,先找出问题进程内CPU占用率高的线程,再通过线程栈信息找出该线程当时在运行的问题代码段,操作如下:2.1、根据思路查看高占用的“进程中”占用高的“线程”,追踪发现7163的进程中16298的线程占用较高,使用命令:top -Hbp 7163转载 2020-05-20 10:12:42 · 222 阅读 · 0 评论 -
linux中常见的校验用正则表达式
校验基本日期格式var reg1 = /^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/;var reg2 = /^(^(\d{4}|\d{2})(\-|\/|\.)\d{1,2}\3\d{1,2}$)|(^\d{4}年\d{1,2}月\d{1,2}日$)$/;校验密码强度密码的强度必须是包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间。// 网友提供的解决检测特殊字符的方法var reg = /^(?=.*\d)(?=.*[a-z])(?=.*[A.转载 2020-05-17 12:16:16 · 785 阅读 · 0 评论 -
ps命令的常用形式
一. 常用参数常用参数说明-A所有的进程均显示出来,与 -e 具有同样的效用;-a显示现行终端机下的所有进程,包括其他用户的进程;-u以用户为主的进程状态 ;-x通常与 a 这个参数一起使用,可列出较完整信息;-l较长、较详细的将该PID 的的信息列出;-j工作的格式 (jobs format);-f做一个更为完整的输出。二. 常见应用使用 -a 参数,-a 代表 all。同时加上x参数会显示没有控制终端的进程。$ ps原创 2020-05-17 11:54:03 · 631 阅读 · 0 评论 -
使用curl命令下载文件
下载文件,使名称一致可以使用curl下载文件的相同名称作为本地文件名。可以用-O选项。[root@localhost ~]# curl -O http://mirrors.163.com/centos/8.1.1911/isos/x86_64/CentOS-8.1.1911-x86_64-dvd1.iso % Total % Received % Xferd Average Speed Time Time Time Current转载 2020-05-12 15:28:27 · 1420 阅读 · 0 评论 -
cut命令的使用
cut命令的选项cut基本语法:cut OPTION... [FILE]...选项:-f : 通过指定哪一个字段进行提取。cut命令使用“TAB”作为默认的字段分隔符。-d : “TAB”是默认的分隔符,使用此选项可以更改为其他的分隔符。--complement : 此选项用于排除所指定的字段。--output-delimiter : 更改输出内容的分隔符。如何分割cut最常用的选项是-d和-f的组合。它基本上会根据特定的分隔符和列出的字段提取内容。下面的代码仅使用分隔符:打印/etc转载 2020-05-12 15:20:11 · 1697 阅读 · 0 评论 -
通过二维码收发文件(手机和主机)
导读 QRCP在不离开终端的情况下扫描二维码,通过wifi将文件从计算机传输到移动设备、接受移动设备上传的文件。如何工作的?qrcp将web服务器绑定到网络接口地址上的随机端口,并为其创建处理程序。默认处理程序提供内容,并在传输完成时退出程序。当用于接收文件时,qrcp提供上传页面并处理传输。下载地址https://github.com/claudiodangelis/qrcp/releases安装Deb安装包(Deepin , Ubuntu , Debian…)下载最新的.deb安装.转载 2020-05-12 13:48:27 · 25473 阅读 · 1 评论 -
linux设置密码复杂程度
首先修改/etc/pam.d/system-auth文件找到 password requisite pam_cracklib.so这么一行替换成如下:password requisite pam_cracklib.so retry=5 difok=3 minlen=10 ucredit=-1 lcredit=-3 dcredit=-3 dictpath=/usr/share/cracklib...转载 2020-05-07 13:21:45 · 515 阅读 · 0 评论 -
centos7修改系统语言为简体中文
修改centos7系统语言查看系当前语言包locale查看系统拥有语言包locale -a(zh_CN.UTF-8是简体中文,如果没有zh_CN.UTF-8,就安装语言包,如果存在可以直接设置)安装简体中文语言包yum install kde-l10n-Chinese设置为中文临时修改,重启服务器之后就会还原之前的设置LANG="zh_CN.UTF-8" #修改为中文...转载 2020-05-03 09:29:31 · 194 阅读 · 0 评论 -
Linux 禁止和开启 ping 的方法
一、内核参数设置1、允许ping设置临时echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all永久echo net.ipv4.icmp_echo_ignore_all=0 >> /etc/sysctl.confsysctl -p # 执行这条命令使更改后的 /etc/sysctl.conf 配置文件生效注意:如果 /etc...转载 2020-05-03 09:22:13 · 434 阅读 · 0 评论 -
iptables配置FTP服务防火墙策略
需要使用防火墙的状态跟踪功能(Connection Tracking)需要启用state模块。state的参数如下:NEWTCP:SYN连接报文。ESTABLISHEDTCP完成三次握手连接建立。RELATED相关的报文。比如FTP命令通道交互后形成的数据通道交互,就是相关报文。INVALID无效报文。加载内核模块modprobe ip_conntrack_ftpmod...原创 2020-05-01 19:21:41 · 702 阅读 · 0 评论 -
Linux如何使用命令行卸载安装包
环境Ubuntu 18.04 LTSArchLinuxAlpineFedoraOpenSUSECentos 7Ubuntu/Debian卸载程序包使用apt 列出已经安装的程序包:bob@c14f840ed725:~$ sudo apt list --installed也可以使用dpkg命令查找已安装的程序包:bob@c14f840ed725:~$ dpkg -l|grep...转载 2020-04-27 10:34:15 · 5650 阅读 · 0 评论 -
Linux下创建lvm虚拟磁盘阵列+脚本化解决方案
LVM基本术语PV:物理卷,PV处于LVM系统最低层,它可以是整个硬盘,或者与磁盘分区具有相同功能的设备(如RAID),但和基本的物理存储介质相比较,多了与LVM相关管理参数VG:卷组,创建在PV之上,由一个或多个PV组成,可以在VG上创建一个或多个“LVM分区”(逻辑卷),功能类似非LVM系统的物理硬盘LV:逻辑卷,从VG中分割出的一块空间,创建之后其大小可以伸缩,在LV上可以创建文件系...转载 2020-04-27 10:23:05 · 414 阅读 · 0 评论