linux
文章平均质量分 56
欧晨eli
达·芬奇说:“理论脱离实践是最大的不幸,实践应以好的理论为基础。”
展开
-
SSH登录Linux多次连续错误密码导致用户锁定
本文介绍登录Linux实例时,系统提示“Maximum amount of failed attempts was reached”错误的处理方法。注:也可能用户被锁定过后,报错仅仅是用户名密码错误/权限认证失败。转载 2022-09-08 09:59:11 · 4287 阅读 · 0 评论 -
Linux中日志切割神器logrotate详解
在Linux环境中能够帮助我们分析问题蛛丝马迹的有效办法之一便是日志,常见的如操作系统syslog日志,应用程序Nginx日志。但如果服务器数量较多,日志文件大小增长较快,不断消耗磁盘空间就会触发告警,如果需要人为定期按照各种维度去手动清理日志就显得十分棘手。为了节省空间和方便整理,可以将日志文件按时间或大小分成多份,删除时间久远的日志文件,这就是通常说的日志滚动。logrotate(GitHub地址)...转载 2022-08-30 11:03:31 · 304 阅读 · 0 评论 -
crontab报错,但本地执行正常
也就是说在crontab任务中运行的命令都需要在这些路劲下,否则就会提示路径找不到的报错信息。中,然后在crontab任务的执行命令中动态加载环境变量。使用的非bash内置命令都改为绝对路径调用。2,在脚本开头先加载环境变量。...原创 2022-07-29 13:56:39 · 893 阅读 · 0 评论 -
bash-shell 免交互
执行完成后保持交互状态,把控制权交给控制台,会停留在目标终端而不会退回到原终端,这个时候就可以手工操作了,interact后的命令不起作用,比如interact后添加exit,并不会退出root用户,而如果没有interact则登录完成后会退出,而不是留在远程终端上。使用interact会保持在终端而不会退回到原终端,比如切换到root用户,会一直在root用户状态下,比如ssh到另一服务器,会一直在目标服务器终端,而不会切回到原服务器。send”$abc123\r“————换行send部分不需要有{}..转载 2022-07-27 14:59:07 · 226 阅读 · 0 评论 -
Linux命令-sftp文件传输
sftp 登录与参数详解转载 2022-07-22 14:45:07 · 2530 阅读 · 0 评论 -
Ubuntu 安装 JDK8 的两种方式
ubuntu 安装jdk 的两种方式:ubuntu 安装jdk 的两种方式:ubuntu 安装jdk 的两种方式:ubuntu 安装jdk 的两种方式:转载 2022-07-18 14:55:10 · 8560 阅读 · 0 评论 -
linux配置JAVA_HOME
linux配置JAVA_HOMElinux配置JAVA_HOMElinux配置JAVA_HOMElinux配置JAVA_HOME转载 2022-07-18 14:29:09 · 5388 阅读 · 0 评论 -
CentOS 修改时间
Centos系统时间分为系统时间和硬件时间。二者必须都修改,重启系统才会永久生效。# 查询时间常用命令datedate -Rdate +%zhwclock -r一、修改时区# 修改时区ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime# hwclock -w二、修改时间这里介绍了2种修改时间方式:手动修改和自动修改1.手动修改在没网的时候,可以使用这种方式# 修改系统时间date -s转载 2022-04-20 21:38:25 · 16383 阅读 · 0 评论 -
packet_write_wait: Connection to UNKNOWN port 65535: Broken pipe
ssh连接到另一台主机一会儿不动老掉线怎么办?解决办法:可以使用ServerAliveInterval参数设置;ServerAliveInterval会在隧道无通信后的一段设置好的时间后发送一个请求给服务器要求服务器响应。在原来的基础上加上-o ServerAliveInterval=60即可;ssh -o ServerAliveInterval=60 root@47.56.67.xx...转载 2022-04-18 09:55:47 · 842 阅读 · 0 评论 -
linux中mysql忘记密码
第一种解决方案解决方法:1、利用“service mysql stop”命令关闭mysql服务;2、修改mysql的配置文件“my.conf”;3、用“service mysqld start”命令重启数据库;4、用“use mysql”语句修改密码。本教程操作环境:linux7.3系统、mysql8.0.22版本、Dell G3电脑。linux中mysql忘记密码怎么解决解决方法:1、检查mysql服务是否启动,如果启动,关闭mysql服务 .原创 2022-04-15 09:58:39 · 7050 阅读 · 1 评论 -
CentOS 6 忘记密码,修改密码
CentOS6 找回密码1.首先在开机启动的时候快速按键盘上的“E”键 或者“ESC”键,会进入如下界面。按E键;2.出现下面这个界面,选择第二项以kernel开头,再次按“E”键;3.经过第二步,这个画面可以编辑,在信息的最后加“空格”,直接输入数字 1(或 single );4. 操作完第三步,会出现下图,这里按键盘的”B”键,进入引导系统。5. 在下面这个画面中的“#”后输入“passwd root”,重新设置root的密码,密码输入一遍,确认输入一遍,共2遍,然后输原创 2022-04-15 09:43:56 · 2910 阅读 · 0 评论 -
Linux lsof命令详解
一、lsof命令介绍 lsof(list open files)命令可以列出当前系统已经打开的所有文件。在Linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工具能转载 2022-04-13 11:02:47 · 25750 阅读 · 0 评论 -
linux .(点) 命令
在linux下,.(点)+(空格)+可执行文件 == source+(空格)+可执行文件,表示在当前shell环境执行后面的命令或脚本,不加点号默认是新开一个shell执行的。它从指定的shell 文件中读入所有命令语句并在当前进程中执行。如:. /home/test.sh 等同于 source /home/test.sh。用source执行的脚本所做的任何改变会影响当前shell(如其中有用cd改变目录,脚本执行完后目录就变掉了),如果没用source,就不会影响当前shell。如果不想更改文转载 2022-04-13 10:34:25 · 1535 阅读 · 0 评论 -
bash 中 美元符 与 感叹号 的使用
关于$的使用shell内部变量的使用,可用echo命令查看,参考runood的链接以及TLDP的链接$? 上一条命令的显示结果,0位成功,其他为失败$# 传递的参数的个数$* 所有传递的参数与*”相同,并在引号内返回每个参数$0 执行的命令/文件名$$ 当前shell或脚本运行的进程号,等同于$BASHPID$! 最后执行的后台程序的pid$_ 上一条命令的最后一个变量/命令$- 显示当前shell的选项你可能会得到himBH 它的含义看这里引用一个转载 2022-04-12 16:48:11 · 262 阅读 · 0 评论 -
linux下free命令详解
free 命令显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。如果加上 -h 选项,输出的结果会友好很多:有时我们需要持续的观察内存的状况,此时可以使用 -s 选项并指定间隔的秒数:$ free -h -s 3上面的命令每隔 3 秒输出一次内存的使用情况,直到你按下 ctrl + c。由于 free 命令本身比较简单,所以本文的重点会放在如何通过 free 命令了解系统当前的内存使用状况。输出简介下面先解释一下输出的内容:Mem行(第二.转载 2022-04-08 16:34:04 · 2887 阅读 · 0 评论 -
SWAP分区使用很多,但是内存剩余空间还很多
首先是交换分区的概念 交换空间是现代 Linux 系统中的第二种内存类型。交换空间的主要功能是当全部的 RAM 被占用并且需要更多内存时,用磁盘空间代替 RAM 内存。 例如,假设你有一个 8GB RAM 的计算机。如果你启动的程序没有填满 RAM,一切都好,不需要交换。假设你在处理电子表格,当添加更多的行时,你电子表格会增长,加上所有正在运行的程序,将会占用全部的 RAM 。如果这时没有可用的交换空间,你将不得不停止处理电子表格,直到关闭一些其他程序来释放一些 RAM 。 内核使...转载 2022-04-08 16:18:43 · 1423 阅读 · 0 评论 -
Linux中执行脚本参数获取
$# 是传给脚本的参数个数$0是脚本本身的名字$1是传递给该shell脚本的第一个参数$2是传递给该shell脚本的第二个参数$@ 是传给脚本的所有参数的列表$* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个$$ 是脚本运行的当前进程ID号$? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误shell中$*与$@的区别区别:$@, $*相同点:都是引用所有参数不同点:$* 和 $@ 都表示传递给函数或脚本的所有参数,不被...转载 2022-04-01 09:59:42 · 728 阅读 · 0 评论 -
nfs 挂载选项
目录一、NFS常用挂载选项二、挂载选项详解1 、NFS各版本通用参数2、对NFS(NFS2/NFS3)有效的选项3、 对NFS4有效的选项:一、NFS常用挂载选项ro 只读访问 rw 读写访问 sync 同步写数据 async 异步写入数据 secure NFS通过1024以.转载 2022-03-24 13:39:04 · 2655 阅读 · 0 评论 -
find 指定查找文件层数
目录结构如下:/tmp--build.xml--yyltest/----build.xml----dir2/------build.xml------good/--------build.xml如果想要指定查找某个目录下的build.xml文件,find语法如下:[@good]$ find /tmp/*/*/ -maxdepth 1 -name "build.xml" -type f -mmin -60/tmp/yyltest/dir2/build.xml原创 2022-03-24 10:09:20 · 1579 阅读 · 0 评论 -
Linux中top命令参数详解
因为面试经常会问top命令用法,以及各个参数的含义。因此转载补充了了一下,以便自己学习。top命令经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。top的使用方式 top [-d number] | top [-bnp]参数解释:-d:number代表秒数,表示top命令显示的页面更新一次的间隔。默认是5秒。 -b:以批次的方式执行top。 -n:与-b配合使用,表示需要进行几次top命令的输出结果。 -p:指定特定的pid进程号进行观察。转载 2022-03-24 09:39:32 · 5685 阅读 · 0 评论 -
linux下如何看每个CPU的使用率
top # 进入交互界面# 接下来按1,查看每个cpu占用原创 2022-03-22 17:00:11 · 54983 阅读 · 2 评论 -
linux 性能监控 sar命令
目录安装常用用法CPU篇内存篇I/O篇网络篇sar是强大的linux系统活动状况收集、报告命令。可以收集CPU,内存,磁盘I/O,网络等诸多数据。对于性能分析是个可靠的利器,本文介绍sar命令的各种用法。安装sar命令是sysstat下的一个工具,所以安装sar需要首先安装sysstat命令,可以考虑yum安装或者使用源码包编译安装等。yum 安装十分便捷,不需要任何复杂的调试就可以使用#ubuntusudo apt-get install -y syssta转载 2022-03-22 16:45:04 · 2399 阅读 · 0 评论 -
为什么ls -l输出与ls -s不同的大小?
我无法弄清楚为什么我得到以下结果:ls -l告诉我给定文件(HISTORY)的大小是”581944″:$ ls -l HISTORY -rw-rw-r-- 1 waldyrious waldyrious 581944 Feb 22 10:59 HISTORYls -s表示它是”572″:$ ls -s HISTORY572 HISTORY我显然需要使这些值使用可比较的比例。首先我确认在ls -l中使用--block-size 1给出了与以前相同的结果:$ ls -l -转载 2022-03-22 16:14:07 · 324 阅读 · 0 评论 -
linux查找目录下的所有文件中是否含有某个字符串
Linux查找文件内容的常用命令方法。 从文件内容查找匹配指定字符串的行:$ grep "被查找的字符串" 文件名例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件grep "thermcontact" */*.in从文件内容查找与正则表达式匹配的行:$ grep –e “正则表达式” 文件名查找时不区分大小写:$ grep –i "被查找的字符串" 文件名查找匹配的行数:$ grep -c "被查找的字符串" 文件名从文件内容查找不匹配指定字符串的行:$ grep –.转载 2022-03-17 14:36:13 · 12974 阅读 · 0 评论 -
bash-目录堆栈
为了方便用户在不同目录之间切换,Bash 提供了目录堆栈功能。cd -Bash 可以记忆用户进入过的目录。默认情况下,只记忆前一次所在的目录,cd -命令可以返回前一次的目录。# 当前目录是 /path/to/foo$ cd bar# 重新回到 /path/to/foo$ cd -上面例子中,用户原来所在的目录是/path/to/foo,进入子目录bar以后,使用cd -可以回到原来的目录。pushd,popd如果希望记忆多重目录,可以使用pushd命令和popd命令。它转载 2022-03-02 10:28:21 · 200 阅读 · 0 评论 -
bash-history 命令
history命令能显示操作历史,即.bash_history文件的内容。$ history使用该命令,而不是直接读取.bash_history文件的好处是,它会在所有的操作前加上行号,最近的操作在最后面,行号最大。通过定制环境变量HISTTIMEFORMAT,可以显示每个操作的时间。$ export HISTTIMEFORMAT='%F %T '$ history1 2013-06-09 10:40:12 cat /etc/issue2 2013-06-09 10:4转载 2022-03-02 10:21:47 · 5176 阅读 · 0 评论 -
bash字符串操作
字符串的长度获取字符串长度的语法如下。${#varname}下面是一个例子。$ myPath=/home/cam/book/long.file.name$ echo ${#myPath}29大括号{}是必需的,否则 Bash 会将$#理解成脚本的参数个数,将变量名理解成文本。$ echo $#myvar0myvar上面例子中,Bash 将$#和myvar分开解释了。子字符串字符串提取子串的语法如下。${varname:offset:length}转载 2022-02-28 09:51:06 · 1611 阅读 · 0 评论 -
windows和linux下文件中的换行符
Unix系统里,每行结尾只有“<换行>",即"\n";windows系统里面,每行结尾是"<换行><回车>" ,即”\n\r"。一个直接的后果是,Unix的文件在windows打开的话,所有的文字会变成一行;windows文件在Unix里打开的话,在每行的结尾可能会多出一个^M符号。但这个符号通常是直接看不出来的,可以用命令cat -A filename 来查看。...转载 2022-02-24 09:23:29 · 1124 阅读 · 0 评论 -
Shell 默认选项 himBH 的解释
求大大解释如下shell语句:$ echo $-himBH1、himBH这个结果又是什么意思?2、看不懂,求第69行详解。多谢++for i in /etc/profile.d/*.sh ; do if [ -r "$i" ]; then if [ "${-#*i}" != "$-" ]; then . "$i" else . "$i" >/dev/null 2>&1 .转载 2022-02-23 16:10:56 · 373 阅读 · 0 评论 -
Here 文档(<<) 和 Here 字符串(<<<)
Here 文档Here 文档(here document)是一种输入多行字符串的方法,格式如下。<< tokentexttoken它的格式分成开始标记(<< token)和结束标记(token)。开始标记是两个小于号 + Here 文档的名称,名称可以随意取,后面必须是一个换行符;结束标记是单独一行顶格写的 Here 文档名称,如果不是顶格,结束标记不起作用。两者之间就是多行字符串的内容。下面是一个通过 Here 文档输出 HTML 代码的例子。$ ca转载 2022-02-23 11:24:05 · 512 阅读 · 0 评论 -
重温linux命令,一些有用但少见的命令(个人整理)
目录一,type 命令二, 快捷键三, Bash 的模式扩展3.1波浪线扩展3.2?字符扩展 (文件名扩展)3.3*字符扩展(文件名扩展)3.4 方括号扩展(文件名扩展)3.5 [start-end] 扩展(文件名扩展)3.6 大括号扩展(非文件名扩展)3.7 {start..end} 扩展(非文件名扩展)3.8 变量扩展3.9子命令扩展3.10 算术扩展3.11 字符类(文件名扩展)3.12 使用注意点...原创 2022-02-22 15:01:07 · 496 阅读 · 0 评论 -
[一行shell]统计文件夹个数
cd /data/ls -l | grep "^d" | awk '{print $NF}' | xargs -t -I % sh -c 'echo -n %: >>/tmp/dir_wc.wctxt && ls -l % |grep "^d" | grep -E "[0-9]{8}" | wc -l >> /tmp/dir_wc.wctxt'# 统计/data目录下的一层子目录下文件夹命名符合规则\d{8}的文件夹个数,并写入文件:/tmp/dir_.原创 2022-01-27 11:38:09 · 1349 阅读 · 0 评论 -
Linux 命令 su 和 sudo 的区别?
之前一直对su和sudo这两个命令犯迷糊,最近专门搜了这方面的资料,总算是把两者的关系以及用法搞清楚了,这篇文章来系统总结一下。1、准备工作因为本篇博客中涉及到用户切换,所以我需要提前准备好几个测试用户,方便后续切换。Linux 中新建用户的命令是useradd,一般系统中这个命令对应的路径都在PATH环境变量里,如果直接输入useradd不管用的话,就用绝对路径名的方式:/usr/sbin/useradd。useradd新建用户命令只有 root 用户才能执行,我们...转载 2021-12-26 10:13:54 · 75 阅读 · 0 评论 -
linux工具之jq
linux工具之jq 后端开发的工程师经常在linux下开发,当我们拿到一个json格式的数据时,如何有效对这个数据进行分析?我们可以采用python结合json库来分析,但是linux有一个很好用的工具,让我们可以方便地处理json文本,功能非常强大。 官方文档 下载 参考...转载 2021-12-20 10:30:33 · 1493 阅读 · 0 评论 -
多个sed命令连用?no
sed 用于查找和替换时,不止一个正则,这时候怎么办呢?首先想到的是使用管道符,cat test.txt|sed xxxx | sed xxxx | sed xxx但是管道符连用sed明显太卡了.....那么怎么解决呢?一种方法是使用多s命令使用sed:sed -e 's|string 1|ABC|' -e 's|string 2|LMN|' -e 's|string 3|XYZ|' your_file 或者用分号分隔:sed -e 's|string 1|ABC|;原创 2021-12-20 10:26:23 · 2581 阅读 · 0 评论 -
sed替换字符串的贪婪匹配和最小匹配
最近在shell对文本进行操作,遇到了使用sed进行最小匹配的问题。sed默认匹配规则是贪婪匹配。举例来说,如果文本内容为:(aa)bb(cc)使用sed匹配:'/(.*)/'匹配结果为:(aa)bb(cc)上述结果即贪婪匹配。最小匹配的结果是获取规则字符串之间的最小内容,即为:(aa) (cc)这两个结果。sed获取最小匹配的方法:1.通过 [^str] 的方法找到最近的右侧匹配规则2.使用perl代替sed。举例:删除下列字符串中的.转载 2021-12-10 10:25:55 · 1756 阅读 · 0 评论 -
linux文本分析利器sed命令的使用详细举例[行操作,模式匹配,替换,引用,后向引用]
sed不多介绍,总之sed,awk,grep是文本操作的三大利器。非常有必要掌握,之前有一篇文章:linux下的sed命令详解-04007技术笔记也有相关介绍 。sed是数据流编辑器,操作纯ascii码的文本。是一个行操作编辑器(vi属于全屏编辑器)模式空间:从文件中取出内容存放至模式空间(不编辑原文件)。sed处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这...转载 2021-12-09 16:43:10 · 1307 阅读 · 0 评论 -
vim搜索及高亮取消
1.命令模式下,输入:/字符串比如搜索user, 输入/user按下回车之后,可以看到vim已经把光标移动到该字符处和高亮了匹配的字符串2.查看下一个匹配,按下n(小写n)3.跳转到上一个匹配,按下N(shift+n)4.搜索后,我们打开别的文件,发现也被高亮了,怎么关闭高亮? 命令模式下,输入:nohlsearch 也可以:setnohlsearch;当然,可以简写,noh或者set noh。...转载 2021-12-02 16:27:51 · 7251 阅读 · 0 评论 -
Linux 平均负载 Load Average 详解
一、什么是Load Average?系统负载(System Load)是系统CPU繁忙程度的度量,即有多少进程在等待被CPU调度(进程等待队列的长度)。平均负载(Load Average)是一段时间内系统的平均负载,这个一段时间一般取1分钟、5分钟、15分钟。二、如何查看Load Average?top命令,w命令,uptime等命令都可以查看系统负载;三、Load Average的3个数值各是什么意思?我拿上图中的 load average:1.97,2.14,2.99 来举例:转载 2021-12-02 11:31:02 · 5684 阅读 · 1 评论 -
Shell中的通配符
shell常见的通配符,注意与正则稍有不同:字符 含义 实例 * 匹配0个或多个任意字符 a*b,a与b之间可以有任意长度的字符,也可以没有。 例如:aabcb,ab,azxcb... ? 匹配一个任意字符 a?b,a与b之间必须但也只能存在一个字符,该字符可以是任意字符。 例如:aab,abb,acb... [list] 匹配list中的任意单个字符 a[xyz]b,a与b之间必须但转载 2021-12-01 09:57:16 · 817 阅读 · 0 评论