Linux 命令速查表
对于那些深入研究 Linux 的人来说,无论是初学者还是经验丰富的开发人员,理解和掌握 Linux 命令都可以大大提升您的体验。这就是为什么我们整理了一份全面的 Linux/Unix 命令行备忘单,它为新手和专家提供了坚实的基础。
最常用的 Linux 命令速查表
**1. 文件和目录操作命令**
Linux提供了强大的命令来管理文件和目录。
以下是一些最重要的内容:
**ls**:列出当前目录中的文件和目录:**ls -l (显示文件的详细信息)**
**cd:** 更改当前目录:**cd /home/user/Documents**
**pwd:**打印当前工作目录。
**cp:**复制文件或目录:**cp file1.txt file2.txt (将 file1.txt 复制到 file2.txt)**
**mv:**移动或重命名文件和目录:**mv oldname.txt newname.txt**
**rm:**删除文件或目录:**rm file.txt(删除文件)**
**mkdir:**创建一个新目录:**mkdir new_folder**
**rmdir:**删除一个空目录:**rmdir old_folder**
**2. 文件权限命令**
Linux 具有强大的权限系统,管理文件权限对于系统安全至关重要。
**chmod:**更改文件权限:**chmod 755 file.txt(为所有者设置读取、写入和执行权限,为其他人设置读取和执行权限)**
**chown:**更改文件所有者和组:**chown user:group file.txt**
**chgrp:**更改文件的组所有权:**chgrp groupname file.txt**
**3. 文件压缩和归档命令**
Linux 提供了强大的压缩和存档文件的工具。
**tar:**压缩和提取 .tar、.tar.gz 或 .tar.bz2 格式的文件:
**tar -cvf archive.tar 目录/(创建档案)
tar -xvf archive.tar(提取档案)**
**gzip:**使用 gzip 算法压缩文件:**gzip file.txt(压缩文件)**
**gunzip:**解压使用 gzip 压缩的文件:**gunzip file.txt.gz**
**zip:**将文件压缩为 .zip 存档:**zip archive.zip file1.txt file2.txt**
**unzip:**从 .zip 档案中提取文件:**unzip archive.zip**
**4. 文件搜索和查找命令**
Linux 具有强大的搜索工具来定位文件和目录。
**find:**在给定位置内搜索文件和目录:**find /path/to/search -name “filename”**
**定位:**按名称快速查找文件(需要更新数据库):**定位文件名**
**updatedb:**更新locate使用的数据库:**sudo updatedb**
**which:**在系统 PATH 中定位命令或可执行文件:**which python**
**grep:**在文件中搜索特定模式或文本:**grep “pattern” file.txt**
**5. 文本处理和操作**
当处理配置文件、日志或任何其他基于文本的数据时,文本操作对于开发人员来说至关重要。
**cat:**连接并显示文件内容:**cat file.txt**
**less:**逐页查看文件:**less file.txt**
**head:**查看文件的前几行:**head -n 10 file.txt_**
**tail:**查看文件的最后几行:**tail -f log.txt (实时跟踪日志文件)**
**grep:**在文件中搜索特定模式:**grep “def” script.py(在 Python 脚本中搜索函数定义)**
**sed:**用于修改文件或文本的流编辑器:**sed 's/old/new/g' file.txt (将所有出现的“old”替换为“new”)**
**awk:**模式扫描处理语言:**awk ‘{print $1}’ file.txt (打印文件第一列)**
**sort:**对文件内容进行排序:**sort file.txt**
**uniq:**过滤文件中的重复行:**uniq file.txt**
**cut:从文件的每一行中删除部分:**cut -d ',' -f 1 file.csv(提取 CSV 文件的第一个字段)**
**wc:**计算文件中的单词、行、字符等的数量:**wc -l file.txt (计算行数)**
**6. 进程管理和调试命令**
管理 Linux 中的进程对于系统性能至关重要。
**ps:**显示当前进程的快照:**ps aux(显示详细的进程信息)**
**top:**显示实时系统进程信息。
**strace:**跟踪进程的系统调用和信号:**strace -p 1234 (跟踪 PID 为 1234 的进程)**
**kill:**通过 ID 终止进程:**kill 1234(终止 PID 为 1234 的进程)**
**killall:**按名称终止所有进程:**killall process_name**
**htop:**top 的增强版本,具有更易于阅读的界面。
**lsof:**按进程列出打开的文件:**lsof -i(列出所有打开的网络连接)**
**time:**测量命令的执行时间:**time python3 script.py (测量 Python 脚本运行所需的时间)**
**7. 进程控制命令**
这些命令有助于管理正在运行的进程。
**pstree:**以树状格式显示进程。
**bg:**在后台恢复已停止的作业:**bg %1(恢复作业 1)**
**fg:**将作业带到前台:**fg %1(将作业 1 带到前台)**
**jobs:**列出当前在后台运行的作业。
**8. 系统信息命令**
要获取有关系统的详细信息,请使用这些命令。
**uname:**显示系统信息:**uname -a (显示所有系统详细信息)**
**df:**显示磁盘空间使用情况:**df -h(显示人类可读的磁盘空间使用情况)**
**free:**显示内存使用情况:**free -m(以兆字节为单位显示内存使用情况)**
**uptime:**显示系统运行的时间。
**hostname:**显示或设置系统的主机名:**hostname(显示主机名)**
**vmstat:**报告虚拟内存统计信息:**vmstat 1(每秒更新一次)**
**iostat:**显示 CPU 和 I/O 统计数据。
**dmesg:**显示启动和系统消息,对调试有用:**dmesg | grep error**
**9. 网络命令**
网络命令对于管理连接和解决网络问题至关重要。
**ping:**向远程主机发送 ICMP 回显请求以测试连接性:**ping google.com**
**ifconfig:**显示或配置网络接口(较旧,在某些发行版中被 ip 命令取代):**ifconfig(显示网络接口信息)**
**ip:** 网络管理 ifconfig 的较新替代品:**ip addr show (显示系统的 IP 地址)**
**netstat:**显示网络连接、路由表、接口统计信息:**netstat -tuln(显示监听端口)**
**ss:**另一个用于检查网络套接字的实用程序:**ss -tuln(显示 TCP/UDP 监听端口)**
**curl:**从服务器传输数据或向服务器传输数据,通常用于 API:**curl -X GET https://api.github.com**
**wget:**从网络下载文件:**wget http://example.com/file.zip**
**scp:**在系统之间安全地复制文件:**scp file.txt user@remote:/path/to/destination/**
**10. I/O 重定向命令**
Linux 允许输入和输出重定向以简化命令。
**> :** 将输出重定向到文件:**echo “Hello” > file.txt**
**>> :** 将输出附加到文件:**echo “World” >> file.txt**
**< :** 从文件重定向输入:**sort < file.txt**
**| :** 将一个命令的输出通过管道传输到另一个命令中:**ps aux | grep “nginx”**
**11. 磁盘管理命令**
这些命令非常适合管理和监控磁盘空间和分区。
**fdisk:**查看和管理磁盘分区:**fdisk -l (列出磁盘分区)**
**lsblk:**列出所有块设备。
**du:**估计文件和目录的空间使用情况:**du -sh /path/to/directory/(显示目录的总大小)**
**mount:**挂载磁盘或分区:**mount /dev/sdb1 /mnt**
**umount:**卸载磁盘或分区:**umount /mnt**
**df:**显示磁盘空间使用情况:**df -h(以人类可读的格式显示)**
**12. 环境变量命令**
环境变量控制进程运行的环境。
**echo $VAR_NAME:** 显示环境变量的值:**echo $HOME (显示主目录)**
**export VAR_NAME=value:** 设置环境变量:**export PATH=$PATH:/new/directory**
**13. 备份与同步命令**
这些命令有助于创建备份或同步文件。
**rsync:**在两个位置之间同步文件和目录:**rsync -av /source/directory /destination/**
**tar:**归档并压缩文件:**tar -cvf archive.tar directory/**
**cpio:**将文件复制到档案中或从档案中复制出来:**find . | cpio -o > archive.cpio**
**dd:**复制并转换文件(通常用于创建磁盘映像):**dd if=/dev/sda of=/path/to/backup.img**
**14. 用户管理命令**
这些命令对于创建和管理用户至关重要。
**useradd:**向系统添加新用户:**useradd username**
**passwd:**更改用户密码:**passwd 用户名**
**usermod:**修改现有用户账户:**usermod -aG groupname username**
**userdel:**从系统中删除用户:**userdel 用户名**
**Bash 快捷键:**
**Ctrl + C:**终止当前命令。
**Ctrl + D:**退出终端。
**Ctrl + L:**清除终端屏幕。
**Ctrl + A:**将光标移动到行首。
**Ctrl + E:**将光标移动到行尾。
**纳米快捷方式:**
**Ctrl + O:**保存文件。
**Ctrl + X:**退出 Nano。
**Ctrl + W:**在文件内搜索。
**Ctrl + K:**剪切文本。
**Vim 快捷键:**
**i:**进入插入模式。
**Esc:**退出插入模式。
**:w:** 保存文件。
**:q:**退出编辑器。
**:wq:**保存并退出。
在 Medium 上关注我以了解更多技巧:https://medium.com/@CodingAdventure