Linux命令大全

2929 字
15 分钟
Linux命令大全

本文档整理了Linux系统中常用的各类命令,方便日常使用和查阅。


📋 目录#


1️⃣ 常用基础命令#

命令功能描述示例
pwd显示当前工作目录路径$ pwd
ls列出目录内容$ ls -l(详细列表)
$ ls -a(包含隐藏文件)
cd切换目录$ cd /home/user
$ cd ..(上级目录)
mkdir创建目录$ mkdir new_folder
rmdir删除空目录$ rmdir empty_dir
touch创建/更新文件$ touch file.txt
rm删除文件或目录$ rm file.txt
$ rm -rf dir/(强制递归)
cp复制文件或目录$ cp src dest
$ cp -r src_dir dest_dir
mv移动或重命名文件$ mv old_name new_name
cat查看文件内容$ cat file.txt
head显示文件前几行$ head -n 10 file.txt
tail显示文件后几行$ tail -f logfile.log(实时跟踪)

2️⃣ 文件管理命令#

命令功能描述示例
tree显示目录树形结构$ tree -L 2(限制层级)
stat查看文件详细信息$ stat file.txt
ln创建链接$ ln source target
$ ln -s source link(软链接)

3️⃣ 文本处理命令#

命令功能描述示例
grep搜索文件内容$ grep "pattern" file.txt
$ grep -r "pattern" ./(递归)
awk文本处理与格式化输出$ awk '{print $1}' file.txt
$ awk 'NR==1' file.txt(第一行)
sed流编辑器,替换/删除内容$ sed 's/old/new/g' file.txt
$ sed -i 's/old/new/g' file.txt(原地修改)
cut提取列数据$ cut -d',' -f1,3 data.csv
sort排序文本$ sort file.txt
$ sort -n file.txt(数字排序)
uniq去除重复行$ uniq file.txt
$ uniq -c file.txt(统计次数)
wc统计字符/单词/行数$ wc -l file.txt(行数)
$ wc -w file.txt(单词数)

4️⃣ 系统信息命令#

命令功能描述示例
uname显示系统信息$ uname -a
$ uname -r(内核版本)
hostname查看主机名$ hostname
whoami当前用户$ whoami
date显示日期时间$ date +%Y-%m-%d\ %H:%M:%S
uptime系统运行时间$ uptime
free内存使用情况$ free -h(人类可读)
df磁盘空间使用$ df -h
$ df -i(inode使用率)
du目录大小统计$ du -sh dir/
$ du -ah --max-depth=1 /path
top实时查看进程资源占用$ top
$ top -b -n 3(批处理模式)
htop增强版top命令$ htop

5️⃣ 网络相关命令#

命令功能描述示例
ping测试网络连接$ ping google.com
$ ping -c 4 google.com(发送4次)
curlHTTP请求工具$ curl https://example.com
$ curl -X POST -d "data" url
wget下载文件$ wget http://example.com/file.zip
netstat网络状态查看$ netstat -tulpn(监听端口)
ss替代netstat命令$ ss -tulpn
ip网络接口配置$ ip addr show
$ ip route show
ifconfig查看/设置网卡(较旧)$ ifconfig eth0
scp远程文件复制(SSH协议)$ scp file.txt user@host:/path/
$ scp -r dir/ user@host:/path/(递归)
rsync远程同步/备份工具$ rsync -avz source/ user@host:/dest/
$ rsync -avz --delete source/ user@host:/dest/

6️⃣ 进程管理命令#

命令功能描述示例
ps显示进程状态$ ps -ef
$ ps aux(详细)
kill终止进程$ kill PID
$ kill -9 PID(强制)
pkill按名称杀进程$ pkill process_name
pgrep查找进程PID$ pgrep process_name
jobs查看后台任务$ jobs
fg/bg前台/后台切换$ fg %1
$ bg %1

7️⃣ 权限管理命令#

命令功能描述示例
chmod修改文件权限$ chmod +x script.sh(可执行)
$ chmod 755 file.txt
chown修改文件所有者$ chown user:group file.txt
chgrp修改文件所属组$ chgrp groupname file.txt
umask设置默认权限掩码$ umask 022(设置)
$ umask(查看当前值)

8️⃣ 压缩与解压命令#

命令功能描述示例
tar打包/解包工具$ tar -czvf archive.tar.gz dir/(创建gzip压缩包)
$ tar -xzf archive.tar.gz(解压)
zip压缩为zip格式$ zip file.zip file.txt
unzip解压zip文件$ unzip file.zip

9️⃣ 查找命令#

命令功能描述示例
find查找文件或目录$ find /path -name "*.txt"
$ find . -type f -size +10M
locate快速定位文件(需更新数据库)$ updatedb(更新数据库)
$ locate filename
which查找命令的完整路径$ which python
whereis查找命令位置$ whereis grep

🔟 其他实用命令#

命令功能描述示例
man查看命令手册$ man ls(查看ls手册)
$ man -k keyword(搜索关键字)
$ man -section number command(查看指定章节)
help查看内置命令帮助$ help cd
alias创建别名$ alias ll='ls -l'(创建别名)
$ alias(查看所有别名)
$ unalias ll(删除别名)
history查看历史命令$ history(查看)
$ history 10(最近10条)
$ !!(执行上一条命令)
$ !n(执行第n条命令)
$ !-1(执行倒数第一条)
clear清屏$ clearCtrl + L
exit退出终端$ exitCtrl + D
source执行文件中的命令$ source file.sh(相当于 . file.sh
echo输出文本$ echo "hello world"
$ echo $PATH(输出变量)
env查看环境变量$ env(查看所有)
$ env VAR=value(临时设置)
export设置环境变量$ export PATH=$PATH:/new/path(添加到PATH)
read读取用户输入$ read -p "请输入:" var(提示并读取)

1️⃣1️⃣ 用户和组管理命令#

命令功能描述示例
useradd创建用户$ useradd -m username(创建用户并创建家目录)
$ useradd -u 1000 -g groupname username(指定UID和主组)
$ useradd -G group1,group2 username(添加附加组)
$ useradd -e 2025-12-31 username(指定失效时间)
groupadd创建组$ groupadd groupname
userdel删除用户$ userdel username(保留家目录)
$ userdel -r username(删除用户及家目录)
groupdel删除组$ groupdel groupname
usermod修改用户信息$ usermod -l newname oldname(修改用户名)
$ usermod -u newuid username(修改UID)
$ usermod -g groupname username(修改主组)
$ usermod -aG groupname username(追加附加组)
passwd修改密码$ passwd username(修改指定用户密码)
$ passwd -l username(锁定用户)
$ passwd -u username(解锁用户)
gpasswd组密码管理$ gpasswd -a username groupname(添加用户到组)
$ gpasswd -d username groupname(从组中删除用户)
su切换用户$ su - username(切换用户并加载环境)
$ su - root(切换到root)
sudo以root权限执行命令$ sudo command(使用root权限执行)
配置方法:运行 visudo 添加 username ALL=(ALL) ALL
id显示用户身份信息$ id username(查看指定用户UID和组)
$ id(查看当前用户)
who查看当前登录用户$ who(查看登录用户)
$ who -b(查看系统启动时间)
w查看登录用户及操作$ w

1️⃣2️⃣ 软件包管理命令(YUM/RPM)#

命令功能描述示例
yumRPM包管理器$ yum install package(安装)
$ yum remove package(卸载)
$ yum update package(更新)
$ yum search keyword(搜索)
$ yum list installed(已安装包)
$ yum info package(查看包信息)
$ yum clean all(清理缓存)
rpmRPM包查询$ rpm -qa(查询所有已安装)
$ rpm -q package(查询指定包)
$ rpm -qi package(详细信息)
$ rpm -ql package(列出文件)
$ rpm -qf /path/to/file(查询文件所属包)
aptDebian/Ubuntu包管理器$ apt install package(安装)
$ apt remove package(卸载)
$ apt update(更新软件源)
$ apt upgrade(升级软件包)
$ apt search keyword(搜索)
dnfFedora包管理器用法同yum

1️⃣3️⃣ Vim文本编辑器#

基本操作#

命令功能描述
vim file打开文件
vim +n file打开文件并跳转到第n行
vim +/关键词 file打开文件并高亮关键词

光标移动#

命令功能描述
h/j/k/l左/下/上/右移动
gg跳转到首行
G跳转到末行
nG跳转到第n行
0^跳转到行首
$跳转到行尾
w跳转到下一个单词
b跳转到上一个单词
Ctrl + b向上翻页
Ctrl + f向下翻页

编辑操作#

命令功能描述
yy复制当前行
nyy复制n行
p粘贴到光标后
P粘贴到光标前
dd剪切/删除当前行
ndd剪切/删除n行
D删除光标到行尾(保留空行)
x删除光标处字符
u撤销
Ctrl + r重做

末行模式(按 : 进入)#

命令功能描述
:w保存
:q退出
:wq:x保存并退出
:q!强制退出不保存
:w!强制保存
:n跳转到第n行
:set nu显示行号
:set nonu隐藏行号
:/关键词搜索关键词
:nohl取消高亮
:%s/old/new/g全文替换

1️⃣4️⃣ 服务管理命令(systemd)#

命令功能描述示例
systemctl start启动服务$ sudo systemctl start nginx
systemctl stop停止服务$ sudo systemctl stop nginx
systemctl restart重启服务$ sudo systemctl restart nginx
systemctl reload重新加载配置(不中断)$ sudo systemctl reload nginx
systemctl enable设置开机自启$ sudo systemctl enable nginx
systemctl disable取消开机自启$ sudo systemctl disable nginx
systemctl status查看服务状态$ systemctl status nginx
systemctl list-units列出所有运行中的服务$ systemctl list-units --type=service
journalctl查看系统日志$ journalctl -u nginx(按服务过滤)
$ journalctl -f(实时跟踪)
$ journalctl --since "1 hour ago"(按时间)
systemctl daemon-reload重新加载 systemd 配置$ sudo systemctl daemon-reload

1️⃣5️⃣ 定时任务命令(Crontab)#

命令功能描述示例
crontab -l查看当前用户的定时任务$ crontab -l
crontab -e编辑定时任务$ crontab -e
crontab -r删除所有定时任务$ crontab -r
crontab -u user管理其他用户的定时任务$ sudo crontab -u username -l

Crontab 时间格式#

* * * * * command_to_execute
│ │ │ │ │
│ │ │ │ └── 星期 (0-7, 0和7都表示周日)
│ │ │ └──── 月份 (1-12)
│ │ └────── 日期 (1-31)
│ └──────── 小时 (0-23)
└────────── 分钟 (0-59)

示例:

Terminal window
# 每天凌晨 2 点执行备份脚本
0 2 * * * /home/user/backup.sh
# 每隔 10 分钟检查一次服务器状态
*/10 * * * * /usr/bin/healthcheck.sh
# 每周一至周五上午 9:30 执行
30 9 * * 1-5 /home/user/report.sh
# 每月1号凌晨执行
0 0 1 * * /home/user/monthly_clean.sh

常用时间简写#

简写等价于说明
@reboot-系统启动时执行
@daily0 0 * * *每天执行一次
@weekly0 0 * * 0每周执行一次
@monthly0 0 1 * *每月执行一次
@yearly0 0 1 1 *每年执行一次

💡 常用技巧与快捷键#

操作快捷键/命令
撤销上一步Ctrl + Z(挂起)
fg(恢复)
取消当前输入Ctrl + C
结束输入/退出Ctrl + D(发送EOF)
复制粘贴Ctrl + Shift + V / Ctrl + Alt + V
快速搜索命令历史Ctrl + R(正向搜索)
Ctrl + G(退出搜索)
光标移动Ctrl + A(行首)
Ctrl + E(行尾)
Ctrl + B(后退)
Ctrl + F(前进)
删除Ctrl + K(删除到行尾)
Ctrl + U(删除到行首)
Ctrl + W(删除前一个单词)
清屏Ctrl + Lclear
查看命令参数帮助command --helpcommand -h

📝 注意事项#

  1. 权限问题:某些操作需要sudo/root权限,如修改系统文件、安装软件等。使用 $ sudo command 提权执行。
  2. 备份重要数据:执行删除或覆盖操作前请确认路径正确,建议先使用 -i 参数确认。
  3. 命令别名:常用命令可创建别名提高效率(如 alias ll='ls -l'),别名通常存放在 ~/.bashrc~/.zshrc 中。
  4. 环境变量
    • 查看当前环境变量使用 $ env$ printenv
    • 临时设置变量:$ VAR=value command
    • 永久设置:添加到 ~/.bashrc~/.profile
  5. 路径通配符
    • * 匹配任意字符(如 *.txt
    • ? 匹配单个字符
    • [] 匹配括号内的任意字符
  6. 命令连接
    • cmd1 && cmd2(cmd1成功才执行cmd2)
    • cmd1 || cmd2(cmd1失败才执行cmd2)
    • cmd1 | cmd2(cmd1的输出作为cmd2的输入)
    • cmd1 ; cmd2(顺序执行)
  7. Tab补全:输入命令或文件名时按 Tab 键自动补全,连续按两次可显示所有可能选项。
  8. 使用引号:包含空格或特殊字符的路径/字符串需用引号括起来,如 "my file.txt"'string'

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

Linux命令大全
https://binghen.cn/posts/linux命令大全/
作者
冰痕
发布于
2024-12-26
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
冰痕
这个人很懒什么都没有留下······
公告
欢迎来到我的博客!
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章
13
分类
7
标签
16
总字数
43,207
运行时长
0
最后活动
0 天前
站点信息
构建平台
Cloudflare Pages
博客版本
Firefly v6.12.1
文章许可
CC BY-NC-SA 4.0

文章目录