
Linux
努力者Mr李
这个作者很懒,什么都没留下…
展开
-
Linux之正则表达式
注: 部分概念介绍来源于网络正则表达式:^ 行首 grep '^how' => how行首$ 行尾 grep 'name$' => name行尾. 除了换行符以外的任意单个字符 grep 'n..e' => name* 前导字符的零个或多个 grep 'x*y' => y,xy,xxy.* 所有字符 grep 'n.*e' => naaame[] 字符组内的任一字符 grep 'm[a-z]' => my[^] ...原创 2022-04-19 10:57:05 · 1332 阅读 · 0 评论 -
IO的含义
注: 部分概念介绍来源于网络什么是IO?在计算机系统中I/O就是输入(Input)和输出(Output)的意思,针对不同的操作对象,可以划分为磁盘I/O模型,网络I/O模型,内存映射I/O, Direct I/O、数据库I/O等,只要具有输入输出类型的交互系统都可以认为是I/O系统,也可以说I/O是整个操作系统数据交换与人机交互的通道,这个概念与选用的开发语言没有关系,是一个通用的概念。现在系统都有处理大量文件,大量数据库操作,而这些操作都依赖于系统的I/O性能,也就造成了现在系统的瓶颈往往都是由转载 2022-03-24 11:18:55 · 1157 阅读 · 0 评论 -
Linux之sort命令详解
注: 部分概念介绍来源于网络Linux sort 命令用于将文本文件内容加以排序。sort 可针对文本文件的内容,以行为单位来排序。语法sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件][-k field1[,field2]]参数说明:-b 忽略每行前面开始出的空格字符。-c 检查文件是否已排好序,如果乱序,则输出第一个乱序的行的相关信息,原创 2022-03-14 15:45:34 · 5085 阅读 · 0 评论 -
Linux之wc命令详解
注: 部分概念介绍来源于网络Linux wc命令用于计算字数。利用wc指令我们可以计算文件的Byte数、字数、或是列数,若不指定文件名称、或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据。语法wc [-clw][--help][--version][文件...]参数:-c 或 --bytes或--chars 只显示Bytes数/字节数。-m 统计字符数,不能与-c同时使用-l 或 --lines 显示行数。-L 打印最长长度-w 或 --words 只显示字数。--原创 2022-03-14 10:42:06 · 6082 阅读 · 0 评论 -
Linux之uniq命令详解
注: 部分概念介绍来源于网络uniq 命令用于检查及删除文本文件中重复出现的行列,一般与 sort 命令结合使用。uniq 可检查文本文件中重复出现的行列。语法uniq [-cdu][-f<栏位>][-s<字符位置>][-w<字符位置>][--help][--version][输入文件][输出文件]参数:-c 或 --count 在每列旁边显示该行重复出现的次数。-d 或 --repeated 仅显示重复出现的行列。-u 或 --unique 仅显示原创 2022-03-14 10:21:11 · 1077 阅读 · 0 评论 -
Linux之read命令详解
注: 部分概念介绍来源于网络简介:接收键盘或其它文件描述符的输入。read 命令接收标准输入(键盘)的输入,或者其他文件描述符的输入。得到输入后,read 命令将数据放入一个标准变量中。read 命令格式如下:#read [选项] [变量名]选项:-a 后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分割符。-d 后面跟一个标志符,其实只有其后的第一个字符有用,作为结束的标志。-p 后面跟提示信息,即在输入前打印提示信息。-e 在输入的时候可以使用命令补全功能。-原创 2022-03-11 14:11:41 · 7126 阅读 · 0 评论 -
Linux修改系统编码
注: 部分概念介绍来源于网络Windows的默认编码为GBK,Linux的默认编码为UTF-8。在Windows下编辑的中文,在Linux下显示为乱码。为了解决此问题,修改Linux的默认编码为GBK。方法如下:vi /etc/profileexport LC_ALL="zh_CN.GBK"export LANG="zh_CN.GBK"source /etc/profile运行locale指令得到当前系统编码设置的详细资料。1、 语言符号及其分类(LC_CTYPE)2、 数字(LC_NU原创 2022-03-11 11:14:45 · 3036 阅读 · 0 评论 -
Linux之perl命令详解
注: 部分概念介绍来源于网络perl参数-a 自动分隔模式,用空格分隔$并保存在@F中,也就是@F=split //, $-F 指定-a的分隔符-l 对输入的内容进行自动chomp,对输出的内容自动加换行符-n 相当于while(<>)-e 执行命令,也就是脚本-p 自动循环+输出,也就是while(<>){命令(脚本); print;}1、基本格式:perl -参数 ‘命令' 输入文件2、perl -e为必须要写的参数3、perl -pe 可用于读取文件每行原创 2022-02-18 17:05:53 · 11217 阅读 · 1 评论 -
Linux之grep命令详解
注: 部分概念介绍来源于网络一、简介grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。二、grep常用用法1、grep [-acinv] [--color=auto] '搜寻字符串' filename.txt选项与参数:-w :被匹配的文本只能是单词,而不能是单词中的某一部分,如文本中有liker,而我原创 2022-02-18 17:05:01 · 28311 阅读 · 0 评论 -
Linux之时间格式化date
注: 部分概念介绍来源于网络date:使用方式 : date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]说明 : date 能用来显示或设定系统的日期和时间,在显示方面,使用者能设定欲显示的格式,格式设定为一个加号后接数个标记,其中可用的标记列表如下 :-d ..原创 2022-01-26 11:06:17 · 8896 阅读 · 0 评论 -
Shell中if判断
注: 部分概念介绍来源于网络Shell 语言中的if条件一、if的基本语法:if [ command ];then 符合该条件执行的语句elif [ command ];then 符合该条件执行的语句else 符合该条件执行的语句fi二、文件/文件夹(目录)判断[ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。[ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。[ -d DIR ] 如果 FILE 存在且是一个目录则为真。[...转载 2022-01-26 09:42:26 · 4226 阅读 · 0 评论 -
Linux之tr转换或删除
注: 部分概念介绍来源于网络tr命令用于转换或删除文件中的字符。语法tr [-cdst][--help][--version][第一字符集][第二字符集] tr [OPTION]…SET1[SET2]参数说明:-c, --complement:反选设定字符。也就是符合 SET1 的部份不做处理,不符合的剩余部份才进行转换-d, --delete:删除指令字符-s, --squeeze-repeats:缩减连续重复的字符成指定的单个字符-t, --truncate-set1:削减 S..原创 2022-01-25 10:52:47 · 311 阅读 · 0 评论 -
Shell字符串截取(echo)
注: 部分概念介绍来源于网络假设有变量 var=http://www.aaa.com/123.htm1. # 号截取,删除左边字符,保留右边字符。echo ${var#*//}其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符即删除 http://结果是 :www.aaa.com/123.htm2. ## 号截取,删除左边字符,保留右边字符。echo ${var##*/}##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有原创 2022-01-25 10:42:03 · 2120 阅读 · 0 评论 -
Shell字符串截取(cut)
注: 部分概念介绍来源于网络字符串截取(cut)-b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。-c :以字符为单位进行分割。-d :自定义分隔符,默认为制表符。-f :与-d一起使用,指定显示哪个区域。-n :取消分割多字节字符。仅和-b标志一起使用。如果字符的最后一个字节落在由-b标志的List参数指示的范围之内,该字符将被写出;否则,该字符将被排除。-b截取字符串中的第2和第5个字节,多个定位之间用逗号隔开echo "abcdefg"|c原创 2022-01-24 15:30:27 · 4752 阅读 · 0 评论 -
Linux判断文件里空格是空格组成还是制表符组成
注: 部分概念介绍来源于网络判断文件里的空格到底是空格组成还是制表符组成test.txt文件内容1 2 3 41 2 3 4sed -n l test.txt输出:1 2 3 41\t2\t3\t4l是大写的L如上,如果是制表符(TAB),那么会显示为\t符号,如果是空格,就会原样显示。...原创 2022-01-24 15:29:18 · 3700 阅读 · 1 评论 -
Linux获取当前目录
注: 部分概念介绍来源于网络current_path=$(cd `dirname $0`;pwd)echo $current_pathdirname $0,取得当前执行的脚本文件的父目录cd `dirname $0`,进入这个目录(切换当前工作目录)pwd,显示当前工作目录(cd执行后的)...原创 2022-01-24 14:57:13 · 12043 阅读 · 0 评论 -
Shell脚本使用source命令加载配置文件
注: 部分概念介绍来源于网络配置文件内容如下config.properties:name=liage=20shell脚本内容如下:current_path=$(cd `dirname $0`;pwd)echo $current_pathsource $current_path/config.propertiesecho $nameecho $age原创 2022-01-24 14:53:59 · 1560 阅读 · 0 评论 -
Linux之vim基本操作用法
注: 部分概念介绍来源于网络VIM打开文件后,按下ESC键,进入命令格式:1、跳转到文件开头快捷键:gg 或者,输入 :0 或者 :1 回车2、跳转到文件结尾快捷键:shift+g 或者,输入 :$ 回车3、跳转到指定的xx行数: xxgg,如跳转到52行,则执行52gg即可。4、另外有两个方便的跳转文件开头和结尾的快捷键:即键盘上的 ‘ [ ’ 和 ' ] ' ,即左中括号和右中括号: 跳转到文件开头:按两下 左中括号键:[[ 跳转到文件结尾:按两下右中括号键:]...原创 2022-01-24 14:10:07 · 2814 阅读 · 0 评论 -
Shell函数中传参
注: 部分概念介绍来源于网络function restart() { date1=$1 date2=$2 echo "date1:"$date1 echo "date2:"$date2}使用如下语法来调用函数name first second函数名:restart参数1 传递给函数的第一个参数(位置参数$1)。参数2 传递给函数的第二个参数(位置参数$2)。...原创 2022-01-24 13:59:18 · 1982 阅读 · 0 评论 -
Shell中wait和sleep对比
注: 部分概念介绍来源于网络sleepsleep 1 睡眠1秒sleep 1s 睡眠1秒sleep 1m 睡眠1分sleep 1h 睡眠1小时sleep支持的时间单位有秒、分、时,默认的单位是秒。wait [作业指示或进程号]1.等待作业号或者进程号制定的进程退出,返回最后一个作业或进程的退出状态状态。如果没有制定参数,则等待所有子进程的退出,其退出状态为0.2.如果是shell中等待使用wait,则不会等待调用函数中子任务。在函数中使用wait,则只等待函数中启动的...原创 2022-01-24 10:22:13 · 2677 阅读 · 0 评论 -
Shell循环读取文件
注: 部分概念介绍来源于网络方法1:while循环中执行效率最高,最常用的方法。function while_read_LINE(){while read LINEdoecho $LINEdone< $FILENAME}注释:这种方式在结束的时候需要执行文件,就好像是执行完的时候再把文件读进去一样。方法2:重定向法;管道法: cat $FILENAME | while read LINEfunction While_read_LINE(){cat $FILENAME | ..原创 2022-01-24 09:39:12 · 4564 阅读 · 0 评论 -
Linux之expect解释器
注: 部分概念介绍来源于网络1、先安装expect,expect是一套完成自动交互任务的软件,主要命令有四个:(1).spawn:命令用来启动新的进程,spawn后的send和expect命令都是和使用spawn打开的进程进行交互(2).expect:等待命令的反馈。(3).set timeout命令:set timeout n命令将expect命令的等待超时时间设置为n秒,在n秒内还没有获取到其期待的命令,expect 为false,脚本会继续向下执行;timeout -1 为永不超时(4).原创 2022-01-24 09:29:08 · 809 阅读 · 0 评论 -
Linus之sshpass工具来自动输入密码
注: 部分概念介绍来源于网络sshpass的设计就是为了使用非交互的场景下输入ssh连接的密码;其中-p是直接指定密码,-f是从文件中读取密码;实例1:直接远程连接某台主机:命令:sshpass -p mima ssh root@127.0.0.1实例2:本地执行远程机器的命令:命令:sshpass -p mima ssh root@127.0.0.1 "sh /home/test.sh"实例3:远程连接指定ssh的端口:(当远程主机不是默认的22端口时候)命令:sshpass -p mi原创 2022-01-07 15:08:25 · 1004 阅读 · 0 评论 -
Linux之shell脚本的运行方式
注: 部分概念介绍来源于网络一、通过文件名执行shell脚本可以直接通过文件名执行,需要注意的是文件需要执行权限。通过 sudo chmod +x ./file_name.sh 来给文件添加执行权限;二、指定脚本解释器来执行文件我们常用的 sh file_name.sh 就是指定了脚本解释器 /bin/sh来解释执行脚本;常见的脚本解释器还有:/bin/bash等,我们可以使用ls -l /bin/*sh命令来查看当前可用的脚本解释器;三、使用. ./file_name.sh或source命原创 2022-01-07 14:56:10 · 1835 阅读 · 0 评论 -
Linux之SSH远程执行命令
注: 部分概念介绍来源于网络SSH 是 Linux 下进行远程连接的基本工具,不光可以登录,也可以远程操作。一、执行简单的命令:ssh root@127.0.0.1 "df -h"一次执行多条命令,使用分号把不同的命令隔起来就 OK 了ssh root@127.0.0.1 "df -h;pwd"添加 -t 参数后,ssh 会保持登录状态,直到你退出需要交互的命令。ssh -t root@127.0.0.1 "df -h"二、保存远程执行命令结果:赋值的方式:result=`ssh ro原创 2022-01-07 14:55:18 · 28985 阅读 · 0 评论 -
Linux系统CPU占用100%原因分析
注: 部分概念介绍来源于网络程序占用CPU太高,除了确实是计算密集型应用之外,通常原因都是出现了死循环。1、使用top命令查看cpu占用资源较高的进程PID根据top命令,发现PID为55555的Java进程占用CPU高达300%,出现故障。2、通过ps aux | grep PID命令,可以进一步确定是什么进程出现了问题。但是需要定位到具体线程或者代码3、通过ps查看指定进程中各个线程占用CPU的状态查看指定进程中各个线程占用CPU的状态,选出耗时最多、最繁忙的线程idps -mp p原创 2021-12-28 14:00:36 · 11452 阅读 · 1 评论 -
Linux中修改环境变量及生效方法
注: 部分概念介绍来源于网络方法一(对所有用户生效(永久的)):在/etc/profile文件中添加变量用vim /etc/profile文件中增加变量。export PATH=/home/opt要让刚才的修改马上生效,需要执行以下代码 # source /etc/profile验证是否成功echo $PATH 验证env 查看所有环境变量方法二(对单一用户生效(永久的)):在用户目录下的~/.bash_profile文件中增加变量用vim在用户目录下的~/.bash_prof..原创 2021-12-27 16:41:39 · 11784 阅读 · 0 评论 -
Linux查询CPU、磁盘、内存、IO使用率
注: 部分概念介绍来源于网络一、查看CPU使用率1. top 命令[root@sss ~]# toptop - 16:54:38 up 7 days, 5:13, 3 users, load average: 0.00, 0.01, 0.05Tasks: 77 total, 2 running, 75 sleeping, 0 stopped, 0 zombie%Cpu(s): 0.7 us, 0.3 sy, 0.0 ni, 99.0 id, 0.0 wa, 0....原创 2021-12-22 10:34:31 · 14998 阅读 · 0 评论 -
Linux查看句柄数
注: 部分概念介绍来源于网络当你的服务器在大并发达到极限时,就会报出“too many open files”。1、查看进程占最大句柄数$ ulimit -acore file size (blocks, -c) unlimiteddata seg size (kbytes, -d) unlimitedfile size (blocks, -f) unlimitedopen files ...原创 2021-12-21 10:38:32 · 24290 阅读 · 0 评论