【Linux】Linux常用命令60条(含完整命令语句)_linux必学 ...

2025-12-23 03:52:16 · 作者: AI Assistant · 浏览: 3

Linux命令是开发者和系统管理员在日常工作中不可或缺的工具。掌握这些命令不仅有助于提升工作效率,还能深入理解Linux系统的工作机制。本文整理了60条常用Linux命令,涵盖文件管理、文本处理、进程控制、网络配置等多个领域,旨在为在校大学生初级开发者提供实用的参考与指导。

常用文件管理命令

ls:列出目录内容

ls 是最基础的命令之一,用于列出当前目录或指定目录中的文件和子目录。其基本格式为:

ls [选项] [目录名]

常用选项包括 -l(长格式输出)、-a(显示隐藏文件)、-R(递归列出子目录内容)等。例如:

ls -l  # 显示详细信息,如权限、大小、修改时间等
ls -a  # 显示包括隐藏文件在内的所有文件
ls -R  # 递归列出当前目录下所有子目录的内容

pwd:显示当前工作目录

pwd 命令用于显示当前工作目录的完整路径,是定位文件位置的重要工具。例如:

pwd

输出结果类似于:

/home/wzk_base

cd:切换目录

cd 命令用于切换当前工作目录,支持绝对路径和相对路径。例如:

cd /home/wzk_base  # 切换到绝对路径
cd Documents       # 切换到当前目录下的Documents子目录
cd ..               # 切换到上一级目录
cd -                # 返回上一次所在目录

mkdir:创建目录

mkdir 命令用于创建新目录。若需创建多层目录,可使用 -p 选项。例如:

mkdir new_folder  # 创建一个新目录
mkdir -p path/to/new_folder  # 创建多层目录,若父目录不存在则自动创建

rmdir:删除空目录

rmdir 仅能删除空目录,即目录中没有文件或子目录。例如:

rmdir empty_folder  # 删除空目录

若目录中包含文件或子目录,则需使用 rm -r 命令进行删除。

rm:删除文件或目录

rm 是删除文件或目录的常用命令,其基本格式为:

rm [选项] 文件名

常用选项包括 -f(强制删除)、-r(递归删除目录)等。例如:

rm file.txt         # 删除文件
rm -r directory/    # 递归删除目录及其内容
rm -f file.txt       # 强制删除文件,不提示

cp:复制文件或目录

cp 用于复制文件或目录,支持递归复制。例如:

cp source.txt destination.txt  # 复制文件到目标文件
cp -r source_dir destination_dir  # 递归复制目录及其内容

mv:移动或重命名文件/目录

mv 命令可用于移动文件或目录,也可用于重命名。例如:

mv old_name.txt new_name.txt  # 重命名文件
mv file.txt /home/other_dir/  # 将文件移动到另一个目录

touch:创建空文件或更新时间戳

touch 可用于创建新文件,或更新文件的时间戳。例如:

touch new_file.txt  # 创建空文件
touch existing_file.txt  # 更新文件的最后修改时间

cat:查看或连接文件内容

cat 命令用于显示文件内容或连接多个文件。例如:

cat file.txt          # 显示文件内容
cat file1.txt file2.txt > merged.txt  # 将两个文件内容合并到一个新文件中

more/less:分页显示文本文件内容

当文件内容较多时,moreless 可以逐页显示。lessmore 更灵活,支持前后翻页。例如:

more large_file.txt
less large_file.txt

head/tail:显示文件的前几行或后几行

headtail 用于快速查看文件的开头或结尾。例如:

head -n 10 file.txt  # 显示文件前10行
tail -n 20 file.txt   # 显示文件后20行
tail -f file.txt      # 实时追踪文件最后的更新内容

find:搜索文件系统中的文件和目录

find 用于在指定路径中搜索文件或目录,支持多种条件筛选。例如:

find /home -name "*.txt"  # 在/home目录下搜索所有.txt文件
find /home -size +10M      # 搜索大小超过10MB的文件

ln:创建链接

ln 命令用于创建硬链接或符号链接。硬链接与原文件共享同一inode,而符号链接则是一个指向原文件的指针。例如:

ln source.txt link.txt     # 创建硬链接
ln -s source.txt link.txt  # 创建符号链接

文本处理与搜索命令

grep:搜索文本中的匹配项

grep 是一个强大的文本搜索工具,支持正则表达式。例如:

grep "pattern" file.txt    # 在文件中搜索匹配的行
grep -r "pattern" /path/   # 递归搜索指定路径下的所有文件

sed:文本流编辑器

sed 用于编辑文本文件,支持替换、删除、插入等操作。例如:

sed 's/old_text/new_text/' file.txt  # 替换文件中的文本
sed -i 's/old_text/new_text/' file.txt  # 保存替换结果到原文件

awk:数据提取与处理工具

awk 用于处理文本数据,支持列提取、条件判断等操作。例如:

awk '{print $1}' file.txt  # 提取每行的第一个字段
awk '$1 > 100 {print $1}' file.txt  # 提取第一列大于100的行

date:显示或设置系统时间

date 命令用于显示或设置系统当前时间。例如:

date  # 显示当前时间
date -s "2025-12-23 03:00:00"  # 设置系统时间

echo:输出文本

echo 用于将文本输出到标准输出。例如:

echo "Hello, World!"  # 输出字符串
echo $HOME           # 输出环境变量HOME的值

history:查看命令历史记录

history 命令用于查看用户在终端中输入的历史命令。例如:

history  # 显示所有历史命令
history | grep "rm"  # 搜索包含"rm"的命令

进程管理与监控命令

ps:显示进程状态

ps 命令用于查看当前运行的进程信息。例如:

ps aux  # 显示所有进程的详细信息
ps -ef  # 显示进程的父进程信息

kill:终止进程

kill 命令用于向进程发送信号,通常用于终止进程。例如:

kill 1234  # 终止进程ID为1234的进程
kill -9 1234  # 强制终止进程

top/htop:实时监控系统资源与进程

tophtop 可以实时查看系统资源使用情况和进程信息。htop 提供了更友好的界面。例如:

top  # 实时监控系统资源和进程
htop  # 更直观的进程监视器

uptime:显示系统运行时间和负载

uptime 命令用于显示系统的运行时间以及平均负载。例如:

uptime

输出结果可能为:

12:34:56 up 2 days, 3:45, 1 user, load average: 0.10, 0.05, 0.01

网络与系统信息命令

ifconfig/ip:查看和配置网络接口信息

ifconfig 用于查看和配置网络接口,但已被 ip 命令取代。例如:

ip addr show  # 显示所有网络接口的IP地址和状态

ping:测试网络连通性

ping 命令用于测试主机之间的网络连接是否正常。例如:

ping 8.8.8.8  # 测试与Google DNS服务器的连接

wget/curl:从网络下载文件

wgetcurl 都支持从网络下载文件,其中 curl 更常用于HTTP请求。例如:

wget http://example.com/file.txt  # 下载文件
curl -O http://example.com/file.txt  # 下载并保存为原文件名

nc:网络连接测试工具

nc(Netcat)是一个多功能的网络工具,可用于测试端口连通性、数据传输等。例如:

nc -vz host_name_or_ip port  # 测试指定端口是否可达

hostname:显示或设置主机名

hostname 命令用于查看或设置当前计算机的主机名。例如:

hostname  # 显示当前主机名
hostname new_name  # 设置新的主机名

netstat/ss:查看网络连接状态

netstatss 均可用于查看系统中的网络连接状态。ssnetstat 的现代替代。例如:

netstat -tuln  # 显示所有监听的TCP和UDP端口
ss -tuln       # 使用Socket Stat查看网络连接状态

系统安全与权限管理命令

chmod/chown:修改文件权限和所有者

chmod 用于修改文件或目录的权限,而 chown 用于修改所有者。例如:

chmod 755 file.txt  # 将文件权限设置为755
chown user:group file.txt  # 修改文件所有者为user,所属组为group

sudo:以超级用户权限执行命令

sudo 允许普通用户临时以超级用户权限运行命令。例如:

sudo apt update  # 更新软件包列表(适用于Debian系统)
sudo systemctl restart apache2  # 重启Apache服务

ssh:安全远程登录

ssh 命令用于远程登录到其他计算机,且安全性较高。例如:

ssh username@remote_host  # 登录到远程主机

scp:安全复制文件

scp 可用于安全地将文件复制到远程主机或从远程主机复制文件。例如:

scp local_file remote_user@remote_host:/remote/directory/  # 从本地复制到远程
scp remote_user@remote_host:/remote/file local_directory/  # 从远程复制到本地

rsync:同步文件与目录

rsync 用于在本地和远程系统之间同步文件和目录。例如:

rsync -avz source_dir/ remote_user@remote_host:/remote_dir/  # 同步目录

dd:复制和转换文件

dd 命令用于复制文件或磁盘,常用于备份或镜像制作。例如:

dd if=/dev/sda of=image.iso  # 将磁盘复制为ISO镜像

系统监控与资源管理命令

free:查看系统内存使用情况

free 命令用于查看系统内存的使用情况。例如:

free -m  # 以MB为单位显示内存使用情况

df/du:查看磁盘使用情况

df 用于显示磁盘空间使用情况,而 du 用于查看目录或文件的磁盘占用。例如:

df -h  # 以可读格式显示磁盘空间使用情况
du -h directory_name  # 显示目录的磁盘使用情况

lsblk/fdisk:查看磁盘分区信息

lsblk 用于列出所有块设备的信息,而 fdisk 用于管理磁盘分区。例如:

lsblk  # 显示磁盘和分区信息
fdisk /dev/sda  # 打开磁盘分区工具

iptables/ufw:配置防火墙规则

iptables 是Linux系统中传统的防火墙工具,而 ufw 是一个更简单的防火墙管理工具。例如:

iptables -A INPUT -p tcp --dport 80 -j ACCEPT  # 允许HTTP流量
ufw enable  # 启用Uncomplicated Firewall

crontab:定时任务管理

crontab 用于设置定时任务,支持按时间间隔执行脚本或命令。例如:

crontab -e  # 编辑用户的定时任务

在编辑器中添加一行:

0 2 * * * /home/user/script.sh  # 每天凌晨2点执行脚本

mount/umount:挂载和卸载文件系统

mount 用于将文件系统挂载到目录,umount 用于卸载。例如:

mount /dev/sdX1 /mnt  # 挂载分区到指定目录
umount /mnt  # 卸载挂载的文件系统

系统信息与诊断命令

uname:显示系统信息

uname 命令用于显示Linux系统的内核信息。例如:

uname -a  # 显示所有系统信息,包括内核版本、主机名等

stat:显示文件或目录的详细信息

stat 命令用于显示文件或目录的详细信息,包括权限、大小、时间戳等。例如:

stat file.txt  # 显示文件的详细信息
stat directory/  # 显示目录的详细信息

tailf:实时追踪文件末尾内容

tailf 命令用于实时追踪文件的末尾内容,类似于 tail -f。例如:

tailf file.txt  # 实时查看文件新增内容

实战技巧与最佳实践

使用 grep 进行日志分析

在日常系统维护和开发中,日志分析是一个重要环节。grep 是进行日志搜索的首选工具。例如:

grep "error" /var/log/syslog  # 搜索syslog日志中的error信息
grep -i "warning" /var/log/dmesg  # 忽略大小写搜索警告信息

使用 pstop 调试进程问题

在调试程序时,使用 pstop 命令可以快速定位异常进程。例如:

ps aux | grep "process_name"  # 查找特定进程
top -p 1234  # 实时监控特定进程的资源使用情况

使用 find 查找并处理文件

find 命令在文件管理中非常有用,尤其是在处理大量文件时。例如:

find /home -type f -name "*.log" -mtime +7 -delete  # 删除7天前的日志文件

使用 rsync 进行数据备份

数据备份是系统运维中不可或缺的一部分。rsync 提供了高效、安全的同步方式。例如:

rsync -avz /home/user/data/ user@remote:/backup/data/  # 备份数据到远程主机

使用 sudo 谨慎管理权限

sudo 提供了以超级用户权限运行命令的能力,但同时也带来了安全风险。因此,应遵循最小权限原则,避免滥用 sudo。例如:

sudo apt install package_name  # 安装软件包

总结与建议

Linux命令是系统管理和开发的基础,掌握它们不仅能提高工作效率,还能增强对系统的理解。60条常用命令覆盖了从基础文件操作到高级网络配置等多个方面,适合在校大学生初级开发者学习和使用。

在实际应用中,建议结合命令手册(如 man ls)和在线资源(如Linux命令大全网站)不断深入学习。同时,养成良好的命令使用习惯,例如在运行 rmdd 命令前确认操作对象,避免误删或损坏数据。

对于开发人员,建议使用 grepsedawk 等文本处理工具进行日志分析和数据处理。对于系统管理员,应熟练掌握 pstopdffree 等系统监控命令,以保持系统的稳定运行。

最后,掌握命令的使用场景参数含义,是提升Linux操作能力的关键。建议在实际环境中不断练习,通过编写Shell脚本实现自动化运维任务,提高工作效率。

关键字列表:
Linux命令, 文件管理, 文本处理, 进程监控, 网络工具, 系统管理, Shell脚本, 权限设置, 安全操作, 系统诊断