1.远程其他主机相关
#本地文件远程复制文件到其他机器,
scp <本地源文件> <远程主机登录用户>@<远程主机地址>:<远程主机存放文件路径>
#如:scp ./test.txt root@192.168.1.111:/data/
#远程主机文件复制到本地
scp <远程主机登录用户>@<远程主机地址>:<远程主机上的源文件> <文件存放本地路径>
#如,scp root@192.168.1.111:/data/test.txt ./
#使用指定用户连接指定服务器
ssh <用户名>@<远程主机地址>
#如:ssh root@192.168.1.111
#创建ssh密钥对,分为私钥,公钥,将公钥分享给其他机器可以免密登录访问
ssh-keygen -t rsa
#复制本地ssh公钥到其他远程服务器
ssh-copy-id <远程主机用户>@<远程主机地址>
2.目录文件、进程、端口相关
#复制文件
cp <源文件/目录名> <复制后的文件/目录名>
#复制目录,-r参数复制整个目录包括目录中的文件
cp -r <源文件/目录名> <复制后的文件/目录名>
#创建文件夹目录
mkdir <目录名1> <目录名2> <目录名3> ....
#批量创建多级目录
mkdir -p <一级目录名>/<二级目录名>/<三级目录名> ....
#解tar包
tar xvf <压缩包名>.tar
#如:tar xvf test.tar
#打tar包
tar cvf <打包后压缩包名>.tar <压缩目录>
#如:tar cvf test.tar /data
#zip压缩目录
zip -r <打包后压缩包名>.zip <压缩目录>
#解zip包
unzip <压缩包名>.zip
#zip解压到指定目录
unzip <压缩包名>.zip -d <指定目标目录>
#删除文件
rm -rf <文件名/目录>
#查看关键字相关的进程情况
ps aux | grep <关键字>
#查看关键字相关的进程情况
netstat -lnp | grep <关键字>
#查看关键字相关的进程情况
ss -lnp | grep <关键字>
#结束进程
kill -9 <进程pid>
#在文件中过滤关键字,-v参数可以进行关键字排除
grep <关键字> <文件名>
#如,过滤test关键字,并排除test2,grep test file.txt | grep -v test2
#从文件尾部动态查看文件内容,如:实时查看日志
tail -f <文件名>
#查看文件头部指定行数
head -n <查看行数>
#列出指定文件、目录的大小
du -sh <文件/目录>
#显示磁盘设备挂载信息
lsblk -p
#对磁盘设备进行分区
fdisk <磁盘设备路径>
#如,fdisk /dev/sdb
#临时挂载磁盘设备,服务器重启后会失效
mount <磁盘设备路径> <挂载目录>
#在指定目录中查找指定文件,-iname会忽略大小写,若要区分大小写可以用 -name
find <查找路径> -iname <关键字/文件目录名称>
#如:find /data/ -iname test.txt
#读取标准输入并转换为命令行参数,主要作用是用来传递参数
xargs
#如:列出当前test*开头的目录,通过xargs传递给cp命令;
#cp会将test.txt文件分别复制到所有test*开头的目录中;
#-n 1表示一次只传递一个参数
ls | grep test* | xargs -n 1 cp ./test.txt
3.防火墙相关
#查看防火墙状态/开启/重启/停止
systemctl status/start/restart/stop firewalld
#如:
#systemctl start firewalld
#systemctl restart firewalld
#systemctl stop firewalld
#重新加载防火墙
firewall-cmd --reload
#禁止开机自动开启防火墙
systemctl disable firewalld
#开放防火墙端口
firewall-cmd --permanent --add-port=<端口号>/tcp
#如,firewall-cmd --permanent --add-port=8081/tcp
#开放防火墙端口区间
firewall-cmd --zone=public --add-port=<开始区间-结束区间>/udp --permanent
#如,firewall-cmd --zone=public --add-port=<1000-2000>/udp --permanent
#列出防火墙开放的端口
firewall-cmd --list-all
#查询防火墙指定端口是否开放
firewall-cmd --query-port=<端口号>/tcp
#将防火墙已开放的指定端口移除、关闭
firewall-cmd --permanent --remove-port=<端口号>/tcp
4.服务器信息、网络相关
#查看服务器主机名字
hostname
#查看服务器内核、版本相关信息
uname -a
#查看服务器硬件信息
cat /proc/cpuinfo
#查看服务器内存大小
dmidecode|grep -P 'Maximum\s+Capacity'
#查看硬件时间
hwclock
#将硬件时间同步到系统时间
hwclock --hctosys
#查看当前时间
date
#日期时间格式化显示,可以自定义显示格式,%Y表示年,%M --月,%d --日,%H时,%M --分,%S --秒,中间可以用任意符号拼接;
#如,date +%Y_%M_%d_%H_%M_%S
date +%Y%M%d%H%M%S
#修改服务器时间
date -s <时间>
#如,date -s "2025-08-03 14:15:00"
#查看ip
ifconfig
#查看ip
ip addr
#查看路由
ip route
#查看网关
netstat -rn
#查看dns
cat /etc/resolv.conf
#查看地址端口网络是否畅通
telnet <地址/ip> <端口>
#查看指定地址、ip网络是否畅通
ping <地址、ip>
5.用户权限相关
#切换用户
su <用户>
#修改用户密码
passwd <用户名>
#设置用户密码xxx天后过期,并提前xxx天提醒
chage -d 0 -m 0 -M <过期时间> -W <提醒时间> <需要设置的目标用户>
#如,chage -d 0 -m 0 -M 90 -W 10 test
#添加用户
useradd <用户名>
#查看所有系统用户
grep bash /etc/passwd
#修改权限
chmod 777 <文件/目录名>
#修改整个属组,-R参数修改整个目录包括目录中的文件
chown -R 777 <文件/目录名>
#修改文件属组
chown <user:group <文件/目录名>
#修改整个属组,-R参数修改整个目录包括目录中的文件
chown -R <user>:<group> <文件/目录名>