![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux基础命令
白-胖-子
白胖子 sunmy@sunmy.pro
展开
-
【生产实测有效】Linux利用rsync快速删除大量文件
【代码】【生产实测有效】Linux利用rsync快速删除大量文件。原创 2024-02-13 11:42:40 · 745 阅读 · 0 评论 -
【生产实测有效】linux通过ps叠加awk命令实现进程内存统计
【代码】【生产实测有效】linux通过ps叠加awk命令实现进程内存统计。原创 2024-02-13 11:38:58 · 478 阅读 · 0 评论 -
【生产实测有效】Linux磁盘清理常用命令
【代码】【生产实测有效】Linux磁盘清理常用命令。原创 2024-02-13 11:35:23 · 810 阅读 · 0 评论 -
Linux挂载点是否可以是软链接测试实验
挂载点可以是目录众所周知,挂载点可不可以是软连接呢?mount挂载点实验测试环境- OS:CentOS 8- mount from util-linux 2.32.1 (libmount 2.32.1: selinux, btrfs, debug)新添加磁盘一个虚拟机新添加磁盘一个分区并建立文件系统习惯创建逻辑卷取代传统fdisk分区方式pvcreate /dev/sdb&&vgcreate mvg /dev/sdb && lvcreate -.原创 2022-03-31 19:25:44 · 1975 阅读 · 0 评论 -
Linux利用sed批量自动化更换IP
需求30台服务器跨网段更换IP地址IP地址连续原IP 10.0.0.196~225新IP 10.0.1.51~81需求分析既然IP地址是连续的,就可以用本机IP加上或者减去一个固定的常量用来替换IP实践获取本机IP[root@C8-196 ~]# ifconfig eth0 | awk '/netmask/{print $2}'10.0.0.196利用本机IP计算出替换后的IP前缀可以直接替换,但最末尾主机位的地址要想办法自动生成通过计算对相同常量进行加减即可得到目标I原创 2022-03-18 00:25:00 · 4555 阅读 · 0 评论 -
Linux取ip地址
Linux花式取ip使用hostname -I取出的IP后面会有一个空格[root@centos8 ~]#hostname -I | cat -A10.0.0.8 $通常我们直接从ifconfig中取ip地址更准确利用grep配合grep取ip地址[root@C8-196 ~]# ifconfig | grep -w 'inet' | grep -v 127 |awk '{print $2}'10.0.0.196利用sed配合awk直接过滤取ip地址[root@C8-196原创 2022-03-17 23:16:05 · 8160 阅读 · 2 评论 -
Linux下多挂载点mount实验
mount挂载实验今天研发的同学打来电话问了一个奇葩的问题:同一个文件夹是否可以挂载多个nas?我的第一反应就是不可以,但又没细想为什么。现在我们就来做一个实验验证一下:同一个目录是否可以同时挂载多个分区/硬盘/逻辑卷/nas同一个分区/硬盘/逻辑卷/nas是否可以挂载到多个目录环境准备实验基线操作系统:CentOS Linux release 8.4.2105虚拟机创建3个新硬盘做为实验挂载用- 查看硬盘[root@C8-196 ~]# lsblkNAME M原创 2022-03-10 22:15:18 · 3273 阅读 · 1 评论 -
Linux下非逻辑卷扩容之新增盘扩容
导语我们都知道使用lv逻辑卷可以方便的扩容。但是当原盘不是逻辑卷且其上有数据的时候,如何扩容呢?因为扩容只能是磁盘type为逻辑卷lvm才可以。新增数据盘创建逻辑卷分区后在将原分区创建逻辑卷之后再合并。我们今天就来测试一下。添加硬盘添加两块磁盘## 查看分区情况我们看到新添加的两块盘已经可以用了[root@C8-196 ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0原创 2022-03-03 00:58:29 · 10969 阅读 · 1 评论 -
Linux下非逻辑卷扩容之创建逻辑卷pvcreate是否会损坏原数据测试
导语我们都知道使用lv逻辑卷可以方便的扩容。但是当原盘不是逻辑卷且其上有数据的时候,如何扩容呢?因为扩容只能是磁盘type为逻辑卷lvm才可以。那么将有数据的盘直接pvcreate为虚拟卷lvm以后,是否对数据有损害?我们今天就来测试一下。添加硬盘虚拟机添加一个5G的磁盘作为实验用查看当前分区情况lsblk可以看到新加的5G磁盘sdb已经可以用了[root@C8-196 ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUN原创 2022-03-02 22:02:33 · 1674 阅读 · 2 评论 -
linux配置应用服务器通过证书免密码登录SFTP测试站点
SFTP和vsftp是完全两回事。sftp是sshd服务附带的文件传输协议。vsftp是vsftpd服务,是正儿八经的传统意义上的FTPsftp配置文件sftp没有自己的配置文件,因为是sshd附赠的,所以和ssh公用22端口以及sshd的配置文件cat /etc/ssh/sshd_configsftp服务器配置其实每台能ssh上去的服务器都可以看作是sftp服务器但为了限制sftp的访问目录,俗话叫禁锢,需要在配置文件中做点设置修改配置文件添加禁锢sftp用户的配置信息,在原创 2022-02-26 23:16:21 · 2066 阅读 · 0 评论 -
Linux常用Shell函数参数
函数参数传递给函数使用的值称为函数的参数传递参数给函数:在函数名后面以空白分隔给定参数列表即可,如:testfunc arg1 arg2 …在函数体中当中,可使用$1, 2,...调用这些参数;还可以使用2, ...调用这些参数;还可以使用2,...调用这些参数;还可以使用@, $*, $#等特殊变量特殊函数参数$# 传递到脚本或函数的参数个数$* 以一个单字符串显示所有向脚本传递的参数$$ 脚本运行的当前进程ID号$! 后台运行的最后一个进程的ID号@与@ 与@与*相同,但是使用时原创 2021-12-15 20:57:12 · 1026 阅读 · 0 评论 -
Linux常用Shell脚本测试命令
条件测试判断某需求是否满足,需要由测试机制来实现,专用的测试表达式需要由测试命令辅助完成测试过程,实现评估布尔声明,以便用在条件性环境下进行执行若真,则状态码变量 $? 返回0若假,则状态码变量 $? 返回1条件测试命令test EXPRESSION test命令 后边接条件[ EXPRESSION ] 中括号和test 等价,建议使用 [ ][[ EXPRESSION ]] 双中括号相关于增强版的 [ ], 支持[ ]的用法,且支持扩展正则表达式和通配符数值测试-eq 等原创 2021-12-15 20:45:59 · 828 阅读 · 0 评论 -
linux在man帮助里查找关键词字符串
man帮助Linux 提供了丰富的帮助手册,通过 man 命令可以查看 Linux 中的命令帮助、配置文件帮助和编程帮助等信息。通常如果遇到不熟悉的命令或者程序我们都会去查man帮助来了解真相查找关键词man 帮助的内容非常之多,为了快速找到需要定位的内容,我们可以进行关键词搜索来的定位问题键入斜杠 / 在后面输入需要查找的内容就好了,同时还支持正则表达式/<需要匹配的内容>SEARCHING /pattern * Search forward f原创 2021-09-14 19:37:28 · 3031 阅读 · 0 评论 -
Linux使用nmcli命令修ip及命令参数和网卡配置文件对应关系
nmcliRed Hat Enterprise Linux (CentOS)7/8 及Ubuntu 18/20 中,通过NetworkManager工具包可以管理网络相关内容NetworkManager主要工具应用程序或工具描述NetworkManager默认联网守护进程nmtuiNetworkManager 的使用光标的简单文本用户界面(TUI)nmcli允许用户及脚本与 NetworkManager 互动的命令行工具control-centerGN原创 2021-09-13 12:23:19 · 1889 阅读 · 0 评论 -
rsync同步常用参数
rsync -avlopgrsync -avzupog参数说明:-a 已经包含lopg了,不需要单独加,为了好看而已-a, --archive archive mode; equals -rlptgoD-v, 显示同步过程-l, 拷贝链接仍然为链接状态-o,保持owner不变-p,保持文件夹权限不变-g,保持group属组不变-u,升级,已有的不再重复拷–update skip files that are newer on the receiver原创 2021-08-11 10:08:18 · 633 阅读 · 0 评论 -
Ubuntu查看系统版本信息的方法汇总
cat /proc/version推荐使用此方法获取Linux版本信息查看显示内存中kernel相关的版本、编译等信息Ubuntu和CentOS通用,可以显示内核版本同时显示发行版本sun@u20a:/root$ cat /proc/versionLinux version 5.4.0-77-generic (buildd@lgw01-amd64-028) (gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)) #86-Ubuntu SMP T原创 2021-07-13 11:16:29 · 9322 阅读 · 0 评论 -
Linux基础服务sshd常见优化选项
sshd由OpenSSH来提供SSH 协议:Secure Shell,安全的shell协议。SSH 为建立在应用层和传输层基础上的安全协议。sshd服务使用SSH协议可以用来进行远程控制, 或在计算机之间传送文件。sshd使用加密传输,较之使用明文传输的telnet传输文件要安全很多。sshd配置文件/etc/ssh/sshd_config如果井号开头的和后面参数没有空格的,表示默认值,是生效的如果井号开头和后面有空格的,表示纯注释调优参数端口默认端口22,外网生产环境需要修原创 2021-07-03 15:24:37 · 443 阅读 · 1 评论 -
Linux查看开机自动运行的服务
Linux版本: CentOS 8命令: systemctl list-units配合grep过滤挑出需要的项目[root@C8-189 ~]# systemctl list-units | grep sshd sshd.service loaded active running OpenSSH server.原创 2021-07-03 14:13:44 · 4998 阅读 · 0 评论 -
linux数据同步工具rsync基本应用
rsyncrsync 为 linux系统下的最常用的数据备份工具,rsync可以实现远程同步,支持本地复制,或者与其他SSH、rsync主机同步数据,支持增量备份,配合任务计划,rsync能实现定时或间隔同步,配合inotify或sersync,可以实现触发式的实时数据同步。rsync -av /root/v2.0.tar.gz /home/sun ## 将本地root下的包传到本地sun加目录里rsync -ac /root/sun/ root@10.0.0.192:/home/sun/原创 2021-06-03 21:17:12 · 680 阅读 · 0 评论 -
Linux文本处理sed命令高级用法
sed 工作原理sed 即 Stream EDitor,和 vi 不同,sed是基于行的文本编辑器Sed是从文件或管道中读取一行,处理一行,输出一行;再读取一行,再处理一行,再输出一行,直到最后一行。sed 模式空间sed每当处理一行时,把当前处理的行存储在临时缓冲区中,称为模式空间(PatternSpace),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。一次处理一行的设计模式使得sed性能很高,sed在读取大文件时不原创 2021-06-01 13:55:33 · 1782 阅读 · 0 评论 -
Linux编写Shell脚本利用expect实现免问答ssh登录服务器
脚本调用expect将脚本设置为开机运行,每次ssh登录相应服务器时,spawn会监控到ssh动作,并匹配IPLIST,从而自动进行用户名密码及登陆后动作#!/bin/bashNET=10.0.0user=rootpassword=timoniumIPLIST="81828384858"for ID in $IPLIST ;doip=$NET.$IDexpect <<EOFset timeout 20spawn ssh $user@$ipexpe.原创 2021-05-11 12:59:19 · 252 阅读 · 1 评论 -
Linux查看和禁用iptables
iptables简介Linux防火墙是由Netfilter组件提供的,Netfilter工作在内核空间,集成在linux内核中Linux自带netfilter防火墙安全模块自带了很多功能,虚拟化、容器都会接触到iptables仅仅是个工具,防火墙是通过netfilter模块实现的CentOS6及早期版本直接使用iptablesCentOS7firewalld,以更加简介的方式操作iptablesCentOS8推出nft,整合了{ip ip6 arp eb}tables,在内核3.13以上原创 2021-05-10 12:56:29 · 2685 阅读 · 0 评论 -
Linux查看、启用和禁用SELinux
SELinux的状态:enforcing:强制,每个受限的进程都必然受限permissive:允许,每个受限的进程违规操作不会被禁止,但会被记录于审计日志disabled:禁用查看SELinux状态相关命令:getenforce: 获取selinux当前状态sestatus :查看selinux状态临时启用或者禁用SELinuxsetenforce 0|10: 设置为permissive1: 设置为enforcing永久启用或者禁用SELinux修改配置文件/boo原创 2021-05-10 10:05:49 · 2602 阅读 · 0 评论 -
Linux设置服务或者程序和脚本开机启动
设定某服务开机自启,相当于chkconfig name onsystemctl enable name.service设定某服务开机禁止启动:相当于chkconfig name offsystemctl disable name.service查看所有服务的开机自启状态,相当于chkconfig --listsystemctl list-unit-files --type service用来列出该服务在哪些运行级别下启用和禁用:chkconfig –list namels /etc/sy原创 2021-05-07 15:35:28 · 162 阅读 · 0 评论 -
Linux设置时区
CentOS6创建软链接修改时区mv /etc/localtime /etc/localtime.bak`date +%F` ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime[root@C9-56 ~]# date -RWed, 05 May 2021 19:50:49 -0700[root@C9-56 ~]# date +%z-0700[root@C9-56 ~]# mv /etc/localtime /etc/localt原创 2021-05-06 11:28:12 · 147 阅读 · 0 评论 -
Linux搭建TFTP服务器实现简单的文件传输
TFTP介绍TFTP:Trivial File Transfer Protocol是一种用于传输文件的简单高级协议是文件传输协议(FTP)的简化版本。用来传输比文件传输协议(FTP)更易于使用但功能较少的文件。tftp使用udp69端口功能很简单,就是提供小文件的下载,连验证都没有tftp根目录在/var/lib/tftpboot/系统装好后,默认带有tftp搭建TFTP服务器tftp实现非常简单把两个包一装,服务一启动就完了!这个服务简单到连配置文件都没有原创 2021-04-29 23:32:26 · 723 阅读 · 0 评论 -
Linux各版本通用取系统发行版本大版本号的方法
编写Shell脚本时,我们常常需要根据系统的版本特性,编写不一样的内容。对系统大版本的判断就尤为重要。为了Shell脚本的通用性,通常,我们会在脚本头对服务器大版本进行定位,然后调用不同功能的函数实现特定的功能。本篇介绍了CentOS和Ubuntu中取系统大版本号的几种方法,为编写Linux脚本时判断系统版本提供了解决方案。原创 2021-04-29 16:28:04 · 402 阅读 · 0 评论 -
Linux将正在运行的前台程序放到后台执行
工作中,我们执行一条命令或者脚本,本以为很快就能完成,但经常事与愿违!比如11:50我们执行了一条命令,以为3分钟搞定,搞定后就和女神一起共进午餐!可11:57了命令还没执行完!一边是女神焦急的等待,一边是连进度条都没有的 D状态进程!想想要不要killall -9,又下不去手~只要会了这个骚操作,前台命令给它踢到服务器后台运行,女神不要走!让作业运行于后台尚未启动的作业: COMMAND &运行中的作业: Ctrl+z 暂停作业将前台运行命令踢到后台继续运行.原创 2021-04-28 23:44:07 · 22361 阅读 · 9 评论 -
Linux网络工具之NMAP
NMAP专业的网络扫描工具yum -y install nmap[00:03:25 rooter@C8-3-55 ~]#yum provides nmap上次元数据过期检查:0:19:53 前,执行于 2021年04月19日 星期一 23时43分45秒。nmap-2:7.70-5.el8.x86_64 : Network exploration tool and security scanner仓库 :AppStream匹配来源:提供 : nmap = 2:7.70-5原创 2021-04-20 13:14:36 · 661 阅读 · 0 评论 -
Linux网络工具之tcpdump
tcpdump实现网络抓包[23:27:16 rooter@C8-3-55 ~]#whatis tcpdumptcpdump (8) - dump traffic on a network[23:27:35 rooter@C8-3-55 ~]#rpm -qi tcpdumpName : tcpdumpEpoch : 14Version : 4.9.2Release : 5.el8Architecture: x86_64Insta原创 2021-04-20 11:59:59 · 580 阅读 · 0 评论 -
Linux网络工具之fping
fping更为强大的pingCentOS 中由EPEL源提供官网:http://www.fping.org/[21:25:38 rooter@C8-3-55 ~]#type fpingfping 是 /usr/sbin/fping[21:26:13 rooter@C8-3-55 ~]#whatis fpingfping (8) - send ICMP ECHO_REQUEST packets to network hosts[21:26:21 rooter@C8-3-5原创 2021-04-20 10:37:14 · 1191 阅读 · 0 评论 -
Linux使用nc命令实现远程控制
ncatConcatenate and redirect socketsnmap-ncat-2:7.70-5.el8.x86_64Ncat is a feature-packed networking utilitywhich reads and writes data across networksfrom the command line.nc命令是ncat的软链接[23:53:54 rooter@C8-3-55 ~]#ll /usr/bin/ncat-rwxr-xr原创 2021-04-15 12:05:58 · 2078 阅读 · 0 评论 -
find命令find: missing argument to解决方法
find搜索姿势默认先处理文件夹,再处理文件夹find [选项] [路径] [查找条件] [处理动作]find后接命令find命令强大之处在于可以在查找到内容后,调用命令对查找到的内容进行进一步的处理查看find帮助文件[处理动作]相关内容actions: -delete -print0 -printf FORMAT -fprintf FILE FORMAT -print -fprint0 FILE -fprint FILE -ls -fls FILE -prune -原创 2021-04-10 15:53:34 · 24768 阅读 · 1 评论 -
Linux文件查找命令之find
find实时在硬盘上进行搜索默认带了递归行为不管隐藏不隐藏都能显示出来[00:00:03 root@C8-3-55 ~]#type findfind 是 /usr/bin/find[00:02:16 root@C8-3-55 ~]#rpm -qf ` which find`findutils-4.6.0-20.el8.x86_64[00:02:33 root@C8-3-55 ~]#find --help用法: find [-H] [-L] [-P] [-Olevel] [-D help原创 2021-04-10 15:01:57 · 315 阅读 · 0 评论 -
Linux利用df和sed取分区利用率
df 查看硬盘使用情况dfsed 查找硬盘使用率的数字sed -rn '/^\/dev\/sd/s#.* ([0-9]+)%.*#\1#p'-r 支持扩展的正则表达式-n 停止全部自动打印,如果不加,则把全部内容都打印出来^/dev/sd/ 查找以 /dev/sd/开头的行s# # # 摆出查找替换的姿势.* ([0-9]+)%.* 找到以任意长度字符开通中间是空格后面接一个以上数字和一个百分号的部分将([0-9]+)一个以上部分用小括号进行分组\1 替换为前边小括号分组的部分,或原创 2021-04-09 13:34:08 · 592 阅读 · 0 评论 -
Linux-CentOS 8重启网络网卡命令
Title: 修改网卡配置或者相关网络操作后,常常需要重启网卡或者网络ifdown和ifupifdown ens33 && ifup ens33ifdown eth0 && ifup eth0ifdown eth0-1 && ifup eth0-1详情:[11:24:02 root@C8[ ~]#ifdown eth0Connection 'eth0' successfully deactivated (D-Bus active path:原创 2021-04-08 11:51:11 · 9463 阅读 · 0 评论 -
Linux使用sed删除配置文件中注释行和空行
/^#/d;删除#开头行/1/d;删除空格开头行/^$/d 删除空行[01:23:10 rooter@C8-3-55 Packages]#sed '/^#/d;/^[[:space:]]/d;/^$/d' /etc/httpd/conf/httpd.conf ServerRoot "/etc/httpd"Listen 80Include conf.modules.d/*.confUser apacheGroup apacheServerAdmin root@localhost<.原创 2021-04-07 14:30:22 · 1813 阅读 · 0 评论 -
Linux使用grep配合正则表达式获取系统发行版本
思路使用cat /etc/or-release取系统版本信息grep 直接取PRETTY所在行取出两边为双引号中间是任意字符的部分取出C或者U开头或非"开头,中间任意字符且非"结尾的部分C代表CentOS,U代表Ubuntucat /etc/os-release | grep PRETTY | grep -oE "[\"].*[\"]"|grep -oE "[C|U].*[^\"]"cat /etc/os-release | grep PRETTY | grep -oE "[\"].*[\原创 2021-04-01 14:26:40 · 1639 阅读 · 0 评论 -
Linux不同服务器远程拷贝复制文件scp
将本地文件拷贝复制到远程服务器scp本地拷到远程姿势scp 路径/本地文件 远程服务器用户@服务器IP:程服务器路径/[文件名]实例:将本地当前目录下sysinfo.sh拷贝至10.0.0.58服务器u20用户家目录下[23:48:49 rooter@C8-3-55 ~]#scp ./sysinfo.sh u20@10.0.0.58:/home/u20/The authenticity of host '10.0.0.58 (10.0.0.58)' can't be establish原创 2021-04-01 12:01:45 · 12145 阅读 · 1 评论 -
Linux文本处理三剑客之grep
grep按行,过滤文本,如果有PATTERN,则选出含有PATTERN的行用法: grep [选项]… PATTERN [FILE]… 中括号表示可有可无[FILE]… 表示可以接多个文件PATTERN 表示正则表达式[选项] 可以接多个选项grep -o 表示只取出匹配到的字符grep -E 表示使用扩展的正则表达式,相当于egrepgrep有很多选项grep 为grep --color=auto的别名[22:42:16 rooter@C8-3-55 ~]原创 2021-03-31 12:47:59 · 151 阅读 · 0 评论