Linux 命令行是系统管理员、开发者和技术爱好者的强大工具。掌握实用命令不仅能提高效率,还能解锁 Linux 系统的无限潜力,本文将深入介绍 15 个实用 Linux 命令。
ls - 列出目录内容
ls 是最基础的命令,用于列出当前目录或指定目录中的文件和文件夹。
常用选项:
- -l:以长格式显示,包含权限、所有者、文件大小和修改时间。
- -a:显示隐藏文件(以.开头的文件)。
- -h:与-l配合使用,以人类可读的格式显示文件大小(如 KB、MB)。
运行 ls -lah 查看当前目录所有文件(包括隐藏文件)的详细属性,输出如下:
进阶用法:结合 ls -lt 按修改时间排序,最新文件显示在最上方。
cd - 切换目录
cd 用于更改当前工作目录,导航文件系统。
常用选项:
- cd ..:返回上一级目录。
- cd ~:返回用户主目录。
- cd -:返回上一次所在目录。
执行 cd /var/www 进入网站根目录;运行 cd ~ 返回家目录。
pwd - 显示当前工作目录
pwd(print working directory)输出当前所在目录的绝对路径。
运行 pwd,输出:
cp - 复制文件或目录
cp 用于复制文件或目录到指定位置。
常用选项:
- -r:递归复制目录及其内容。
- -v:显示复制过程。
- -p:保留文件属性(如权限、时间戳)。
mv - 移动或重命名文件
mv 用于移动文件/目录或重命名。
常用选项:
- -v:显示移动过程。
- -i:若目标文件存在,提示确认。
rm - 删除文件或目录
rm 删除指定文件或目录,需谨慎使用。
常用选项:
- -r:递归删除目录及其内容。
- -f:强制删除,不提示确认。
- -v:显示删除过程。
rm -rfv junk_folder 强制删除 junk_folder 目录并显示过程。注意:rm -rf 非常危险,误删可能导致数据丢失,建议先用 echo rm -rf 目标 预览。
find - 搜索文件
find 在指定目录中搜索文件或目录,支持多种条件。
常用选项:
- -name:按文件名搜索(支持通配符)。
- -type:指定类型(如 f 为文件,d 为目录)。
- -size:按文件大小搜索。
find / -name "ywmt" 搜索 / 下所有 ywmt 文件。
grep - 搜索文本
grep 在文件中搜索匹配指定模式的文本。
常用选项:
- -i:忽略大小写。
- -r:递归搜索目录。
- -n:显示匹配行的行号。
grep -rn "error" /var/log 递归搜索 /var/log 中包含 “error” 的行。
cat - 查看和连接文件
cat 显示文件内容或将多个文件连接输出。
常用选项:
- -n:显示行号。
- -b:仅为非空行编号。
cat -n strace.log 显示 strace.log 内容并带行号。
chmod - 修改文件权限
chmod 更改文件或目录的权限(读、写、执行)。
常用选项:
- 数字表示:如 755(所有者读写执行,其他人读执行)。
- 符号表示:如 u+x(给所有者添加执行权限)。
chmod 755 script.sh 设置 script.sh 为可执行。
chown - 更改文件所有者
chown 修改文件或目录的所有者和所属组。
常用选项:
- -R:递归更改目录及其内容。
chown -R user:group /var/www 将 /var/www 目录归属改为 user 和 group。
top - 实时监控系统进程
top 实时显示系统进程、CPU 和内存使用情况。
常用操作:
- 按 q 退出。
- 按 Shift + P 按 CPU 使用排序。
运行 top,查看实时进程列表。
ps - 查看进程状态
ps 显示当前系统进程的快照。
常用选项:
- aux:显示所有用户进程。
- -ef:显示详细进程信息。
ps aux | grep python 查找运行的 Python 进程。
df - 查看磁盘使用情况
df 显示文件系统的磁盘使用情况。
常用选项:
- -h:以人类可读格式显示(GB、MB)。
- -T:显示文件系统类型。
df -hT 查看各分区使用情况。
wget - 下载文件
wget 从网络下载文件,支持 HTTP、HTTPS 和 FTP。
常用选项:
- -O:指定输出文件名。
- -c:断点续传。
命令组合
Linux 命令的真正威力在于组合使用。例如:
- 管道(|):ls -l | grep .txt 筛选出 .txt 文件。
- 重定向(> 和 >>):ls > filelist.txt 将输出保存到文件;echo "log" >> log.txt 追加内容。
- 示例:find / -name "*.log" | xargs grep "error" > errors.txt 搜索所有 .log 文件中的 “error” 并保存结果。