写满磁盘空间 如遇星河 | 实验测试命令
dd if=/dev/zero of=/test bs=200M count=10
该命令使用dd工具从/dev/zero(一个提供无限零字节流的设备)读取数据,并将其写入到/test文件中。bs=200M指定了每次读取和写入的块大小为200MB,count=10表示进行10次这样的操作。因此,整个命令会创建一个1GB(200MB x 10)的文件/test,文件内容完全由零字节组成。
清理空间
rm -rf /test
echo 3 > /proc/sys/vm/drop_caches
执行的命令echo 3 > /proc/sys/vm/drop_caches是用来释放Linux系统中缓存的内存的。这个命令会将/proc/sys/vm/drop_caches文件的内容设置为3,这会导致内核释放干净的缓存、目录项和inode缓存,使得这部分内存变得可用。
查看内存
free -m 显示系统的内存使用情况,其中-m选项表示以MB(兆字节)为单位显示信息。
Linux系统统计服务器服务连接数命令
netstat -an|awk '/tcp/ {print $6}'|sort|uniq -c
新建一个用户为oracle命令代码
useradd oracle -s /sbin/nologin
echo 'password' | passwd --stdin oracle
--stdin
"--stdin"是一个常用的命令行参数选项,主要用于指示某些命令或程序应该从标准输入(stdin)读取数据。标准输入通常是指来自键盘的输入,但在使用管道(pipe)或其他方式时,也可以是来自其他程序的输出
-s 指定登录shell
创建100 个用户 user1-100, 并为他们设置密码,密码随意,请写出具体脚本
#!/bin/bash
# 创建100个用户
for i in {1..100}; do
username="user$i"
password=$(openssl rand -base64 12) # 生成一个随机的密码
useradd "$username" # 创建用户
echo "$password" | chpasswd # 为用户设置密码
done
==============================================
#!/bin/bash
# 创建用户
for i in {1..100}; do
useradd "user$i"
done
# 为每个用户设置密码
for i in {1..100}; do
echo "Random Password" | passwd --stdin "user$i"
done
计划任务日志轮转
/etc/crontab 计划任务
crontab -e 创建
crontab -l 查询
crontab -r 删除
/etc/rsyslog.conf 主
/etc/rsyslog.d 子
主机名内核版本
# ps -p <pid号> -o lstart= 指定进程的启动时间
# ps -eo pid,comm,lstart= 所有进程的启动时间
# uptime 运行时长
# who -b 系统启动时间
# vim /etc/hostname 重启系统生效
# hostnamectl set-hostname <newname> 修改主机名重启终端shell生效
# who 显示当前系统的用户 w 活动用户
# who am i 显示登录时的用户名
# hostname 查看主机名
# hostname -f 显示的是完全限定的域名(FQDN)
# uptime 查看系统运行时间,用户数,负载
# env 系统环境变量
# cat /etc/redhat-release 查看 Red Hat 或 CentOS 系统的版本信息。
# cat /proc/version 查看linux版本信息
# cat /proc/cpuinfo 查看cpu信息
# cat /proc/loadavg 查看系统负载
# hostname -I 在Linux系统中用于显示当前主机的所有可用IP地址
# uname -a 显示完整的系统信息,包括内核版本、主机名、硬件平台等。
# uname -r 这个命令只会显示当前运行的内核版本。
# hostnamectl 这个命令是systemd系统的一部分,可以显示Linux发行版和内核版本信息。
# netstat -rn 显示路由表,其中包括子网掩码信息。
# route -n 显示路由表,其中包含子网掩码信息。
随机生成mac地址
# echo $[$RANDOM%9]$[$RANDOM%9]:$[$RANDOM%9]$[$RANDOM%9]:$[$RANDOM%9]$[$RANDOM%9]
65:42:31
# echo `openssl rand -hex 1`:`openssl rand -hex 1`:`openssl rand -hex 1`
99:6e:67
# openssl rand -hex 3 | sed -r 's/(..)/\1:/g'|sed 's/.$//'
e9:b6:12
# openssl rand -hex 3 | sed -r 's/(..)(..)(..)/\1:\2:\3/g'
94:89:e3
# openssl rand -hex 3 | sed -r 's/..\B/&:/g'
c5:66:90
\B 表示 非单词边界
\b 表示 单词边界
<a 表示以a开头的单词
b> 表示以b结尾的单词
ip命令基本使用(命令添加IP)
查看IP
#ip a ip addr show ifconfig
#ip a l dev ens33
添加IP(临时重启会被清除)
# ip a a 192.168.1.8/24 dev ens33 完整 ip addr add 192.168.1.8/24 dev ens33
删除IP
# ip a d 192.168.1.8/24 dev ens33 完整 ip addr del 192.168.1.8/24 dev ens33
删除文件倒数第二行且不知道文件有几行
sed '{N;$!P;D}' a.txt
用awk查看ip
ifconfig ens32 | awk 'NR==2{print $2}'
192.168.40.131
get到的七七八八命令
# true > keepalived.conf 清空keepalived配置文件内容
# which [选项] [命令名] 查找执行文件的路径(位置)
-n <文件名长度>:指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
-p <文件名长度>:与 -n 参数相同,但此处的 <文件名长度> 包括了文件的路径。
-w:指定输出时栏位的宽度。
-V:显示版本信息。
# whereis [选项] [文件名]
如果没有指定任何选项,whereis 会搜索指定文件的二进制文件、源代码文件和手册页文件。
-l:输出 whereis 命令当前使用的有效查找路径列表。
-h 或 --help:显示帮助信息。
-V 或 --version:显示版本信息。
… … … …
添加本地解析
cat >> /etc/hosts <<eof
192.168.40.137 master
192.168.40.138 node-1
192.168.40.139 node-2
eof
windows域名解析文件
C:\Windows\System32\drivers\etc\hosts
时间同步
客户端
# yum install ntpdate -y
# ntpdate ntp1.aliyun.com 或 ntpdate -b ntp.aliyun.com
# date 查看
服务器端
# yum install ntp ntpdate -y
# vim /etc/ntpd.conf
server ntp.aliyun.com //修改配置
restrict default nomodify notrap nopeer noquery //此行注释掉
# systemctl restart ntpd
关闭交换分区swap
# swapoff -a //关闭所有的交换分区
# swapoff /dev/sde //关闭指定的sde交换分区
cpu-磁盘-内存-交换分区
swapon -s 查看所有交换分区
df -Th 命令来查看所有挂载的分区,包括交换分区
df -h 会以人类可读的方式显示文件系统的磁盘空间使用情况,包括文件系统、已用空间、可用空间、已用百分比、挂载点等信息。
fsck /dev/磁盘目录 磁盘健康检查
lscpu 查看CPU信息的命令,它会显示包括核心数、线程数、CPU模型等在内的详细信息。
fdisk -l 会列出系统中所有磁盘的分区信息,包括磁盘名称、分区类型、起始扇区、结束扇区等。
lsblk 会列出系统中所有块设备的信息,包括设备名称、大小、挂载点等。
blkid 显示块设备的属性,包括UUID、文件系统类型等。
du -h <目录> 会显示指定目录下每个文件和子目录的磁盘使用情况,以人类可读的方式显示。
free -m 命令来查看当前的交换分区使用情况
free -g 查看内存交换分区使用情况
-m 显示以兆字节(MB)为单位的内存使用情况
-h 显示以适合人类阅读的单位(通常是KB、MB、GB)显示内存使用情况
-s 指定更新频率
-l 显示最低的内存使用情况等
swapon /dev/sde重新启用交换分区
永久关闭交换分区 vim /etc/fstab
sed -i 's/.*swap.*/#&/' /etc/fstab
在打开的文件中,找到所有带有 swap 关键字的行,将它们的开头加上 #
注释掉即可
关闭防火墙firewalld
# systemctl start firewalld 启动防火墙
# systemctl restart firewalld 重新启动防火墙
# systemctl disable firewalld 开机禁用防火墙
# systemctl status firewalld 查看防火墙状态
关闭selinux
#setenforce 0 设置临时关闭
#getenforce 查看状态
# vim /etc/sysconfig/selinux 永久关闭
SELINUX=disabled
sed -i '/^SELINUX=/c SELINUX=disabled/' /etc/selinux/config
查看uuid
# nmdi con 查看管理网络连接
yum install uuid-runtime CentOS/RHEL系统
# uuidgen 输出一个标准的UUID,格式为8-4-4-4-12的字符串。
-r 或 --random:生成基于随机数的UUID。
-t 或 --time:生成基于时间戳和MAC地址的UUID。
# uuidgen | sed -r 's/(..)(..)(..)(.*)/\1:\2:\3/'
网络相关
ping 测试网络与主机的连通性
查看IP邻居表
ip neigh命令用于管理和显示内核的ARP缓存表,也就是IP邻居表。这个表存储了与本地主机相邻的其他主机的IP地址和MAC地址。通过查看IP邻居表,您可以获取到网络中其他设备的MAC地址信息。
查看网关默认路由
# ip route
`ip r` 是一个常用于Linux系统的命令,用于查看或操作IP路由表。具体来说,`ip r` 命令可以用来显示当前系统的IPv4路由表,而 `ip -6 r` 则用于显示IPv6路由表。如果您想添加或删除路由规则,可以使用 `ip route add` 和 `ip route del` 命令。
例如,`ip route add default via 1.2.3.1 dev enp14s0 proto static` 将添加一个默认路由,而 `ip route del default via 1.2.3.1 dev enp14s0` 将删除一个默认路由。
查看DNS 服务器的 IP 地址以及 DNS 域名
# cat /etc/resolv.conf
修改网卡配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet" #网卡类型:以太网
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static" #IP获取方式 dhcp:动态IP static:静态IP
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33" #网卡名称
UUID="c29ac0fa-85e4-40d5-8d6f-9ffa107bfbb2"
DEVICE="ens33" #物理设备名
ONBOOT="yes" #是否自动引导,即随机自启
IPADDR1=192.168.31.100 #填你的ip用来定位主机 静态ip
IPADDR2=192.168.31.200
NETMASK=255.255.255.0 #填你的掩码值 用来定义网络这台机主是192.168.31.2
GATEWAY=192.168.31.2 #虚拟机网关
DNS1=192.168.31.2 #域名解析 当你输入域名访问网站时,它告诉你IP地址
DNS2=144.144.144.144 #144DNS
DNS3=8.8.8.8 #谷歌DNS
# systemctl restart network