![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
小小平不平凡
这个作者很懒,什么都没留下…
展开
-
Linux命令之date的使用
1、date命令直接使用的效果[work@test]$ dateThu Apr 14 22:35:44 CST 20222、日期时间格式化[work@test]$ date +"%Y-%m-%d %H:%M:%S"2022-04-14 22:37:443、时间加减操作##2个月以前date -d "-2 month" +'%Y%m%d'20220214##1天前date -d "-1 day" +'%Y%m%d'20220413或date -d "1 day ago" +'%原创 2022-04-14 22:46:26 · 1677 阅读 · 0 评论 -
Shell中将文件的换行符‘\n‘替换为空格的方法
转载:shell中将字符中换行符’\n’替换为空格转载 2022-01-24 13:01:02 · 4604 阅读 · 1 评论 -
Shell中less命令使用
一、简介less工具也是对文件或其它输出进行分页显示的工具,应该说是Linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜1.1 命令使用格式less [参数] 文件 1.2 命转载 2022-01-09 22:55:52 · 1472 阅读 · 0 评论 -
Shell中getopts用法介绍
一、getopts命令简介getopts命令是用来解析Shell脚本命令行参数的工具,getopts命令参数包含需要被识别的选项字符,如果选项字符后面跟着一个冒号,则表明该字符选项需要一个命令行参数(选项字符与对应的命令行参数之间以空格分隔)(注意:冒号&问号不能被用作为选项字符)。getopts命令每次被调用时,它会将下一个选项字符放置到变量中,OPTARG则可以拿到参数值;如果option前面加冒号,则代表忽略错误1.1 命令使用格式getopts optstring name [arg.转载 2022-01-09 22:35:56 · 17436 阅读 · 3 评论 -
Linux中eval命令使用
一、eval命令作用用于重新运算求出参数的内容二、语法eval [参数]参数说明:参数不限数目,彼此之间用分号分开三、举例# 连接多个命令eval enable;ls转载 2022-01-05 09:31:55 · 452 阅读 · 0 评论 -
Shell脚本根据端口号kill掉进程
port=8030# 根据端口号去查询对应的PIDpid = $(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{print $1}');# 杀掉对应的进程 如果PID不存在,即该端口没有开启,则不执行if [ -n "$pid" ]; then kill -9 $pid;fi...转载 2021-12-28 23:27:59 · 582 阅读 · 0 评论 -
Shell中if -n 与 -z的区别
if [ str1 = str2 ] 当两个串有相同内容、长度时为真if [ str1 != str2 ] 当串str1和str2不等时为真if [ -n str1 ] 当串的长度大于0时为真(串非空)if [ -z str1 ] 当串的长度为0时为真(空串)if [ str1 ] 当串str1为非空时为真...转载 2021-12-28 23:25:30 · 2275 阅读 · 0 评论 -
根据进程查端口与根据端口查进程的方法
根据进程pid查端口: lsof -i | grep pid根据端口port查进程: lsof -i:port根据进程pid查端口: netstat -nap | grep pid根据端口port查进程【⚠️port前加冒号,:port】netstat -nap | grep port转载 2021-12-27 21:48:55 · 326 阅读 · 0 评论 -
Shell脚本中统计文件行数的方法汇总
方法1:awk '{print NR}' test1.sh|tail -n1方法2:awk 'END{print NR}' test1.sh方法3:grep -n "" test1.sh |awk -F: '{print}'|tail -n1方法4:sed -n '$=' test1.sh方法5:wc -l test1.sh方法6:cat test1.sh |wc -l转载 2021-12-20 21:07:30 · 1489 阅读 · 0 评论 -
Linux命令查找文件夹下包含某个字符串的所有文件
一、方式1在当前目录下递归查找含有某字符串的文件grep -r "字符串" ./-r 是递归查找-n 是显示行号-R 查找所有文件包含子目录-i 忽略大小写二、方式2find -type f -name '*.php'|xargs grep '字符串'find . -name "app.jar" 全盘搜索app.jar文件...原创 2021-12-20 20:19:06 · 11525 阅读 · 0 评论 -
解决Linux下不能使用80端口的问题
一、背景本人开发的工程使用80端口启动,mac上本地调试都没有问题,部署到远程Linux服务器上,一直报80端口被占用,各种命令查了一通并没有发现80端口被其他进程使用二、问题原因经过多方查证及过往经验,成功发现80端口无法使用的真正原因。对Linux系统来说,1024以下的端口是不能被普通用户使用的。我当时就是用普通用户启动程序出现的报错三、解决办法方法1: 换一个大于1024的端口号方法2:使用root用户启动项目...原创 2021-07-29 13:37:13 · 2506 阅读 · 0 评论 -
sh、dash、bash的区别
linux中的sh、dash、bash的区别转载 2021-07-12 18:28:48 · 286 阅读 · 0 评论 -
Shell学习十:su命令
一、su命令介绍su的作用是变更为其它使用者身份,超级用户除外,需要键入该使用者的密码二、参数介绍-c command:变更账号为USER的使用者,并执行指令(command)后再变回原来使用者–help 显示说明文件–version 显示版本资讯三、举例1、su -c# 变更当前帐号为root并在执行ls指令后退出变回原使用者su -c ls root...原创 2021-07-12 18:21:39 · 2453 阅读 · 0 评论 -
Shell脚本学习之:登陆到远程服务器上执行本地带参数的Shell脚本
1、方式一ssh root@XXX.XXX.XXX.XXX -C "/bin/bash -s" < ip.sh "1" "2" "3" >> ../logs/123.log 2>&1ssh root@XXX.XXX.XXX.XXX -C "/bin/bash -s '1' '2' '3' " < ip.sh >> ../logs/123.log 2>&12、方式二ssh root@XXX.XXX.XXX.XXX "cat |转载 2021-07-12 17:38:04 · 731 阅读 · 0 评论 -
使用SSH命令登陆远程服务器错误:Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)
一、背景因工作需要自己安装部署了一台Jenkins,并为某一工程配置了一个job。其中,需要从Jenkins机器ssh到其他远程机器,解决报错啦!!!Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)二、解决办法上网一顿百度,基本上都是错误解答。其实就是因为没有配置免密登陆而已,于是让运维同事帮忙做了服务器间的免密,结果还是不行!!!最后,经同事指点迷津,发现是由于我的Jenkins是用jboss5启动的,因此我的免原创 2021-07-02 18:21:48 · 1097 阅读 · 0 评论 -
Shell学习九:-d、-e、-f 区别
查看文件或者目录是否存在,经常用到-d,-e,-f,其中区别如下:-e filename 如果 filename存在,则为真-d filename 如果 filename为目录,则为真-f filename 如果 filename为常规文件,则为真-L filename 如果 filename为符号链接,则为真-r filename 如果 filename可读,则为真-w filename 如果 filename可写,则为真-x filename 如果 filename可执行,则为真-s转载 2021-06-24 18:52:33 · 2687 阅读 · 0 评论 -
Shell学习八:()、(())、[]、[[]]、{}的作用与区别
1、$( ) 与 反引号都可用做命令替换例子:# 以下两种方式均可得到内核版本,并赋值给version变量version=$(uname -r)version=`uname -r`2、${ }用于变量替换一般情况下,$var 与 ${var}并没有什么不一样,但是用 ${ } 会比较精确的界定变量名称的范围3、$[] 和 $(()) 均是用来进行数学运算的支持+ - * / %(“加、减、乘、除、取模”)⚠️注意:bash只能作整数运算,对于浮点数是当作字符串处理的4、[ ]为tes原创 2021-06-15 15:50:45 · 192 阅读 · 0 评论 -
Shell学习七:for循环
一、for的语法1.1 基本语法1for 变量 in 值 1 值 2 值 3…do 执行命令done1.2 基本语法2for (( 初始值;循环控制条件;变量变化 ))do 执行命令done原创 2021-06-15 15:35:54 · 64 阅读 · 0 评论 -
Shell学习六:awk的用法
一、简介awk是一种编程语言,用于在Linux/Unix下对文本和数据进行扫描与处理。数据可以来自标准输入、文件、管道awk逐行扫描文件,从第一行到最后一行,寻找匹配特定模式的行,并在这些行上进行你想要的操作(以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理)awk有两个特殊的模式:BEGIN和END,他们被放置在没有读取任何数据之前以及在所有数据读取完成以后执行awk '{pattern + action}' {filenames}#pattern 表示 AWK 在数据中查找的内容转载 2021-06-15 15:27:20 · 631 阅读 · 0 评论 -
Shell学习五:sed工具使用
一、简介sed工具(Stream EDitor,流式编辑器):非交互式,基于模式匹配过滤及修改文本。有逐行处理的特点,可以将结果输出至屏幕上。支持对文本的输出、删除、替换、复制、剪切等操作二、语法sed 主要是用来将数据进行选取、替换、删除、新増的命令。我们看看命令的语法:sed [选项] '[动作]' 文件名选项与动作:-n:一般 sed 命令会把所有数据都输出到屏幕上。如果加入此选项,则只会把经过 sed 命令处理的行输出到屏幕上;-e: 允许对输入数据应用多条 sed 命令编辑;-转载 2021-06-15 15:14:39 · 116 阅读 · 0 评论 -
Shell学习四:$()
$() 作用是:将括号内命令的执行结果赋值给变量原创 2021-06-15 14:51:56 · 303 阅读 · 0 评论 -
Shell学习三:if else语句
一、简介Shell脚本支持选择结构,并且有 if else 和 case in 两种形式。二、if语句最简单的用法就是只使用 if 语句,它的语法格式为:if conditionthen statement(s)ficondition是判断条件,如果 condition 成立(返回“真”),那么 then 后边的语句将会被执行;如果 condition 不成立(返回“假”),那么不会执行任何语句。从本质上讲,if 检测的是命令的退出状态。⚠️注意,最后必须以fi来闭合,fi 就是原创 2021-06-15 14:47:01 · 526 阅读 · 0 评论 -
Shell学习二:echo命令使用
一、echo命令作用用于字符串的输出二、案例2.1 常用方式# 加引号的echo "It is a test"# 不加引号的echo It is a test2.2 显示转义字符# 显示转义字符echo "\"It is a test\""2.3 显示变量echo "$name It is a test"2.4 换行echo -e "OK! \n" # -e 开启转义2.5 不换行echo -e "OK! \c" # -e 开启转义 \c 不换行2.6 将数据定向原创 2021-06-09 11:27:46 · 471 阅读 · 0 评论 -
Shell学习一:变量的引用
一、引用变量的方式方式一:$变量名方式二:${变量名}二、特殊情况$0 Shell的命令本身(包括完整路径)$1~$9 数字表示 Shell 的第几个参数$# 传递到脚本的参数个数$* 以一个单字符串显示所有向脚本传递的参数$@ 以一个单字符串显示所有向脚本传递的参数$$ 脚本运行的ID号$! 后台运行的最后一个进程的ID号$- 显示Shell使用的当前选项$? 显示最后命令的执行状况。0表示没有错误...原创 2021-06-09 11:11:07 · 1079 阅读 · 0 评论 -
Linux 修改文件或文件夹所属用户名和用户组
一、修改用户名# root权限创建一个test.log文件touch test.log# 修改文件拥有者为jboss5chown jboss5 test.log二、修改用户名和用户组方式一:# root权限创建一个test.log文件,用户和用户组都是roottouch test.log# 将文件拥有者/拥有者组均修改为jboss5chown jboss5:jboss5 install.log方式二:# 使用chgrp单独修改拥有者组chgrp jboss5 test.log原创 2021-06-03 10:44:56 · 3078 阅读 · 0 评论 -
服务器之间免密登陆方法
假设现在有服务器A和B,服务器A想要免密登陆到服务器B上的话,需要将服务器A生成的 ssh公钥 复制到服务器B的XXX文件里生成公钥/私钥对的命令如下,-P表示密码,-P ‘’ 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车ssh-keygen -t rsa -P ''⚠️注意:按上述流程操作完成后,第一次登录时需要你手动输入yes,之后的登录则不需要...原创 2021-05-24 15:16:17 · 337 阅读 · 0 评论 -
Linux命令之du
一、du介绍Linux du (disk usage)命令:用于显示目录或文件的大小du 会显示指定的目录或文件所占用的磁盘空间二、语法du [-abcDhHklmsSx][-L <符号连接>][-X <文件>][--block-size][--exclude=<目录或文件>][--max-depth=<目录层数>][--help][--version][目录或文件]参数介绍:常用的有 -h、–max-depth等-a或-all 显示目录中个别文原创 2021-05-18 17:42:49 · 357 阅读 · 0 评论 -
netstat命令介绍
一、简介netstat 是一个监控TCP/IP网络的工具,用于显示各种网络相关信息。如网络连接、接口状态、路由表等。显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检查本机各端口的网络连接情况二、常用参数-a或–all 显示所有连线中的Socket-A<网络类型>或–<网络类型> 列出该网络类型连线中的相关地址-c或–continuous 持续列出网络状态-C或–cache 显示路由器配置的快取信息-e或–extend 显示网络其他相关信息-F或–f原创 2021-03-23 14:35:22 · 286 阅读 · 0 评论 -
nc命令介绍
一、简介nc是netcat的简写,被用作一个简单、可靠的网络工具二、作用实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口端口的扫描,nc可以作为client发起TCP或UDP连接机器之间传输文件机器之间网络测速三、常用参数介绍3.1 -l用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接3.2 -p <通信端口>设置本地主机使用的通信端口3.3 -s <来源位原创 2021-03-21 22:13:28 · 1361 阅读 · 0 评论 -
Mac修改文件所有者
sudo chown myname:staff floder原创 2021-03-19 15:34:54 · 1506 阅读 · 0 评论 -
Linux之crontab命令使用介绍
一、crontab命令的作用crontab是Linux中用于执行定时任务的命令。安装Linux操作系统便会默认支持使用此命令。⚠️注意: 新创建的 cron 任务,不会马上执行,至少要过 2 分钟后才可以,可以通过重启 cron 来马上执行。二、Linux定时任务分类系统级别:系统周期性所要执行的工作,如备份系统数据、清理缓存用户级别:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信息三、具体介绍3.1 语法crontab [ -u user ] file// 或者c原创 2021-01-05 22:36:40 · 615 阅读 · 0 评论 -
Linux命令之yum
1、$ yum makecache就是把服务器的包信息下载到本地电脑缓存起来,makecache建立一个缓存以后用install时就在缓存中搜索,提高了速度。配合yum -C search xxx使用不用上网检索就能查找软件信息2、yum clean all的作用使用yum clean all 清除,很方便,绕开了没有root权限的问题。该命令的作用:清除yum缓存。yum 会把下载的软件包和header存储在cache中,而不自动删除。如果觉得占用磁盘空间,可以使用yum clean指令进原创 2020-11-02 18:07:48 · 3988 阅读 · 0 评论 -
Linux 清空文件
test.log 为待清空的文件true > test.log原创 2020-11-02 18:00:59 · 152 阅读 · 0 评论 -
包管理工具apt-get和yum的区别
一、前言随着使用Linux系统的次数逐渐增加,对apt-get、yum、rpm等工具的日渐熟悉,有必要认真梳理一下它们的关系。著名的Linux系统基本上分两大类:1.RedHat系列:Redhat、Centos、Fedora等2.Debian系列:Debian、Ubuntu等二、两大主流软件包格式1、 RPMRPM全称为Redhat Package Manager。是由Red Hat推出的包管理器,现在在各种发行版中普遍使用。1.2 DPKG基于 Debian 操作系统 的 DEB 软件包转载 2020-11-02 17:30:25 · 2583 阅读 · 0 评论 -
Linux命令之export
一、export命令介绍Linux export 命令用于设置或显示环境变量。在 shell 中执行程序时,shell 会提供一组环境变量。export 可新增,修改或删除环境变量,供后续执行的程序使用。export 的效力仅限于该次登陆操作。二、语法export [-fnp][变量名称]=[变量设置值]参数说明:-f 代表[变量名称]中为函数名称。-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。-p 列出所有的shell赋予程序的环境变量。三、实例原创 2020-11-02 17:14:33 · 696 阅读 · 0 评论 -
Linux 将普通用户改成root用户
举例说明:将普通用户 tom 改成为 root 用户方法1: (尚未亲身试验)修改 /etc/sudoers 文件,找到下面一行,把前面的注释(#)去掉## Allows people in group wheel to run all commands#%wheel ALL=(ALL) ALL接下来修改用户组,使其属于root组(wheel),命令如下:#usermod -g root tom修改完毕,现在可以用tom帐号登录,然后用命令 su - tom,即可获得root权转载 2020-10-21 13:40:49 · 5672 阅读 · 0 评论 -
Linux查看服务器内存使用情况的命令
一、Free命令简介Free命令显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存如果加上 -h 选项,输出的结果会友好很多:有时我们需要持续的观察内存的状况,此时可以使用 -s 选项并指定间隔的秒数:$ free -h -s 3上面的命令是每隔 3 秒输出一次内存的使用情况,直到你按下 ctrl + c二、各项指标介绍Mem 行(第二行)是内存的使用情况Swap 行(第三行)是交换空间的使用情况total 列显示系统总的可用物理内存和交换空间大小转载 2020-10-21 13:29:19 · 2400 阅读 · 0 评论 -
Linux命令:lsof 查看进程打开哪些文件 或者 查看文件给哪个进程使用
一、lsof 命令介绍原创 2020-10-20 18:48:57 · 1056 阅读 · 0 评论 -
Linux tail命令
一、简介tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。tail -f filename会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。二、命令格式tail [参数] [文件] 参数:-f 循环读取-q 不显示处理信息-v 显示详细的处理信息-c<数目> 显示的字节数-n<行数> 显示文件的尾部 n 行内容–pid=PID 与-f合用,表示原创 2020-09-16 15:59:11 · 118 阅读 · 0 评论 -
Linux使用df -h和du -sh查看文件大小信息
方式一:使用 df -h 命令查看系统中文件的使用情况Size 分割区总容量Used 已使用的大小Avail 剩下的大小Use% 使用的百分比Mounted on 路径地址方式二:使用 du -sh 命令查看当前目录下各个文件及目录占用空间大小大小 文件名4.0K test.txtdu -h --max-depth=1 /root/* 查看目录下的所有文件大小du -h --max-depth=1 /root 列出root目录下面所有的一级目录文件大小;...转载 2020-09-16 15:44:28 · 1471 阅读 · 0 评论