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:分页显示文本文件内容
当文件内容较多时,more 和 less 可以逐页显示。less 比 more 更灵活,支持前后翻页。例如:
more large_file.txt
less large_file.txt
head/tail:显示文件的前几行或后几行
head 和 tail 用于快速查看文件的开头或结尾。例如:
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:实时监控系统资源与进程
top 和 htop 可以实时查看系统资源使用情况和进程信息。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:从网络下载文件
wget 和 curl 都支持从网络下载文件,其中 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:查看网络连接状态
netstat 和 ss 均可用于查看系统中的网络连接状态。ss 是 netstat 的现代替代。例如:
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 # 忽略大小写搜索警告信息
使用 ps 和 top 调试进程问题
在调试程序时,使用 ps 和 top 命令可以快速定位异常进程。例如:
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命令大全网站)不断深入学习。同时,养成良好的命令使用习惯,例如在运行 rm 或 dd 命令前确认操作对象,避免误删或损坏数据。
对于开发人员,建议使用 grep、sed、awk 等文本处理工具进行日志分析和数据处理。对于系统管理员,应熟练掌握 ps、top、df、free 等系统监控命令,以保持系统的稳定运行。
最后,掌握命令的使用场景和参数含义,是提升Linux操作能力的关键。建议在实际环境中不断练习,通过编写Shell脚本实现自动化运维任务,提高工作效率。
关键字列表:
Linux命令, 文件管理, 文本处理, 进程监控, 网络工具, 系统管理, Shell脚本, 权限设置, 安全操作, 系统诊断