1.Linux帮助命令
man xxx 例如 man ls 如果显示英文先按下面安装
有问题找那个男人
apt install -y manpages-zh language-pack-zh-hans
vim /etc/default/locale
将LANG=C.UTF-8修改为LANG=zh_CN.UTF-8
然后重新连接ssh
man xxx 帮助命令就会显示中文
help xxx 没有那么强大 help只针对shell内置命令的帮助(老一代)
2.开关机命令
关机命令
poweroff 等同于 shutdown -h now
上面两条 底层都调用systemctl poweroff
shutdown -h 10 10分钟之后关机 shutdown -h 1000 1000分钟之后关机
shutdown -c 不想关机了,取消关机
重启
reboot
3.服务管理类命令介绍
centos6:
service 服务名 start|stop|restart|status
centos7:
systemctl start|stop|restart|status 服务名
你可以在
/usr/lib/systemd/system/ 和 /etc/systemd/system/ 目录下定义服务
示例
vim /etc/systemd/system/nginx.service
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=network.target
[Service]
Type=forking
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PIDFile=/usr/local/nginx/logs/nginx.pid
PrivateTmp=true
[Install]
WantedBy=multi-user.target
也可以指定配置文件
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=network.target
[Service]
Type=forking
# 启动前测试配置文件语法
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
# 启动 Nginx
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
# 重载配置(不中断服务)
ExecReload=/usr/local/nginx/sbin/nginx -s reload -c /usr/local/nginx/conf/nginx.conf
# 优雅停止
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PIDFile=/usr/local/nginx/logs/nginx.pid
PrivateTmp=true
[Install]
WantedBy=multi-user.target
systemctl enable nginx.service 注意.service可以不写 开机自启 注意要和上面xxx.service的xxx相同
systemctl disable nginx 取消开机自启
systemctl is-enabled nginx 查看nginx服务是否自动开机启动
systemctl list-unit-files 查看所有服务自启配置
system start|restart|stop|status nginx
每次修改服务 需要重新加载配置 并 重启
systemctl daemon-reload #重新加载配置
systemctl restart nginx #重启
systemctl --type service 查看当前运行着哪些服务
systemctl status firewalld 查看防火墙状态
systemctl enable firewalld
Ubuntu
ufw enable
ufw status
ufw allow 22/tcp
ufw allow 80/tcp
ufw delete allow 80/tcp
4.文件目录类命令
pwd #打印当前所在目录 绝对路径
ls -a #横向查看当前目录所有文件及文件夹
ls -l -a 简写 ll
关于cd -P
例如 /bin其实是/usr/bin的软链接
如果你执行 cd -P /bin 实际跳转的是/usr/bin目录

mkdir /usr/local/develop #创建目录 /usr/local本身就有的情况下
mkdir -p /usr/local/develop/jdk #创建多级目录 例如develop和jdk不存在
rmdir /usr/local/develop #只能删除空文件夹
rm -rf /usr/local/develop #删除develop和里面的所有内容
touch xxx #创建文件
cp xxx /usr/local/develop #复制当前文件xxx到/usr/local/develop
cp -r xxx /usr/local/develop #复制当前文件夹xxx及所有内容到/usr/local/develop下
scp xxx root@192.168.1.10:/usr/local/develop #将本地当前目录下xxx复制到远程 文件夹用-r
scp root@192.168.1.10:/usr/local/develop/xxx . #将远程下载到本地 文件夹用-r
scp 源文件 目标目录 #文件夹用-r
scp -P 2222 file.txt root@192.168.1.10:/opt/ #表示连接远程时使用2222端口 文件夹用-r
rm -rf xxx #删除文件 rm xxx 删除文件夹 rm -rf xxx -f意思强制删除
mv 剪切 也可以改名
mv html /usr/local/nginx/html8 #将当前的html文件移动到/usr/local/nginx/html8并改名
如果是文件夹 mv -r xxx 到xxx
文件查看
cat xxx #全部在控制台打印
cat -n xxx #全部在控制台打印并显示行号
head xxx #控制台打印文件前10行
head -n 20 xxx #控制台打印文件前20行
tail xxx #控制台打印文件末尾10行
tail -n 200 -f xxx #实时打印xxx文件末尾200行
more xxx #控制台一页一页翻 空格:下一页 b:上一页 q:退出
less xxx #控制台支持上下键翻页
echo "hello world" > xxx.txt #输出hello world到xxx.txt文件
echo "123">> xxx.txt #输出123到xxx.txt 追加到末尾
ll > xxx #将ll命令在控制台的输出"覆盖写入" xxx
ll >> xxx #将ll命令在控制台的输出"追加写入" xxx
cat 文件 > xxx #将文件的内容写入 xxx
软链接 注意 创建软链接时候 都要使用绝对路径
ln -s /usr/local/nginx/conf/nginx.conf /etc/nginx.conf #会自动创建/etc/nginx.conf指向原文件
硬连接 去掉 -s
vim xxx 修改文件
:w 保存
:q 退出
:wq 保存并退出
:q! 不保存,强制退出
:wq! 强制退出并保存
修改主机名
hostname #查看主机名
hostnamectl set-hostname hrui #修改主机名为hrui 命令方式
修改配置文件方式
vim /etc/hostname #修改主机名
还要修改映射
vim /etc/hosts
systemctl restart systemd-hostnamed
ping hrui就可以ping通 但是显示主机名还没有改变 需要重启 reboot才可以
因此 修改主机名 最好用命令方式
hostnamectl set-hostname hrui #重连ssh就可以 要ping 需要等会
5.时间日期类命令
date #显示当前时间
date +%Y #显示当前年份
date+%m #显示当前月份
date +%d #显示当前日期
date "+%Y-%m-%d %H:%M:%S" #2025-11-01 21:46:59
6.用户管理类命令
adduser hrui #创建用户hrui useradd -m 该命令比较老 需要加参数
passwd hrui #给用户hrui加密码
usermod -aG sudo hrui #给用户加sudo权限
userdel -r hrui #删除hrui账号 并删除家目录
usermod -s /usr/sbin/nologin hrui #禁止用户登录
如果创建完用户想给予全部权限
visudo #编辑 和 vim /etc/sudoers 编辑的都是同一个文件
hrui ALL=(ALL:ALL) ALL
切换用户
su xxx
su - xxx
加不加-的区别是使用当前用户的环境变了还是使用切换之后用户的环境变量
7.组管理命令
创建用户时 会自动创建和用户名相同的组
groupadd 组名
vim /etc/group #查看系统组及自定义组
groupdel xxx #删除某个组
usermod -g 用户组 用户名 #将用户放入修改到某个组
8.文件权限命令

chmod u+x /xxx #给xxx文件添加拥有者写入的权限
chmod +x xxx #所有用户对xxx文件都有写入权限
chmod g+r xxx #组内成员都可以对xxx进行读
chmod u+r,g+w xxx #修改xxx文件拥有者读的权限 组内成员有写的权限
r=4
w=2
x=1
chmod 777 xxx #理解777 rwx=7 rwx=7 rwx=7 合起来就是777
9.查找类命令
find [查询范围] -name|-user| -size|-type xxx
find . -name "config.txt" #查找当前目录下文件名为config.txt文件
fina /home -name "*.jpg" #查看/home下所有后缀是.jpg的文件
find /usr/local/develop -user hrui #查找/usr/local/develop下是用户hrui的文件
find / -size +100M #查找大于100M的文件
find / -size -1k #查看小于1kb的文件
find / -type f -name "*.txt" #查找后缀是.txt的文件
find / -type d -name "log" #查找所有log文件夹
管道符"|" 和grep 过滤
"|" 管道付的表示将前面一个命令的处理结果输出传递给后面的命令
例如 ls | grep -n text #查找某个文件在第几行
10.压缩和解压命令
tar -czvf xxx.tar.gz file #将文件或者文件夹file 压缩为xxx.tar.gz
tar -xzvf xxx.tar.gz #解压xxx.tar.gz
tar -xzvf xxx.tar.gz -C yyyy #将xxx.tar 解压到当前yyyy之内
11.磁盘分区命令
df -h #查看磁盘使用情况
fdisk -l #查看磁盘分区详情
lsblk #查看磁盘
分区
fdisk /dev/sda|sdb|sdc #注意看lsblk的结果
mkfs.ext4 /dev/sdb1 #格式化
挂载
建立挂载点
mkdir /data
mount /dev/sdb1 /data
12.进程类命令
ps -aux |grep xxx #查看xxx在系统所有进程
ps -ef|grep xxx #查看xxx子父进程之间的关系
kill PID #正常结束
kill -9 PID #强制结束
pkill java #按名字匹配结束
killall java #按名字匹配结束
13.定时任务命令
systemctl restart crond
crontab
-e #编辑crontab定时任务
-l #查询crontab定时任务
-f #删除当前用户所有的crontab定时任务