从入门到上手:Linux 15 个核心命令实战指南,新手也能轻松玩转
本文为Linux运维新手整理了15个高频基础命令,涵盖文件管理、内容查看和搜索筛选等日常操作场景。文件管理部分介绍了"三剑客":pwd(显示当前路径)、ls(查看目录内容)和cd(切换目录);文件操作"四件套":mkdir(创建目录)、touch(创建文件)、cp(复制)和mv(移动/重命名)。内容查看工具包括cat(全量显示)、more(分页查看)和tai
作为每天和 Linux 打交道的运维老兵,经常被刚入门的朋友问:“Linux 命令太多,记不住怎么办?” 其实新手不用贪多,先吃透这 15 个高频基础命令,就能解决 80% 的日常操作需求。今天就从最常用的文件管理、内容查看、搜索筛选类命令入手,用 “场景 + 实操” 的方式带你吃透它们,每个命令都附实例,看完就能上手。
命令通用格式(前置内容)
Linux 命令有着通用的格式:command [-options] [parameter]
。
command
:代表命令本身,是要执行的操作指令,比如ls
(列出目录内容)、cp
(复制文件或目录)等。[-options]
:是命令的选项,属于可选部分,并非必须填写。通过选项可以控制命令行为的细节,不同的选项能让命令实现不同的功能变种。例如ls
命令的-l
选项,能以长格式显示目录内容,包含文件权限、所有者、大小、修改时间等更详细的信息。[parameter]
:是命令的参数,同样为可选内容。参数多数用于指定命令的指向目标,像文件、目录路径等。比如ls -l /home/itheima
中的/home/itheima
就是参数,指定了ls -l
命令要操作的目录。
一、文件管理 “三剑客”:ls、cd、pwd—— 定位文件的基本功
刚登录 Linux 系统,首先要解决 “我在哪、周围有什么、要去哪” 的问题,这三个命令就是你的 “导航仪”。
1. pwd:显示当前路径,避免 “迷路”
pwd
是 “Print Working Directory” 的缩写,直译就是 “打印工作目录”。比如你刚用 root 用户登录,输入pwd
会返回/root
,这就说明你当前在 root 用户的家目录里。
场景:ssh 连接远程服务器后,先输pwd
确认位置,避免误操作其他目录文件。
2. ls:查看目录下的 “小伙伴”
ls
是 “List” 的缩写,用来列出当前目录或指定目录下的文件 / 文件夹。光输ls
会显示文件名,但加上参数能看到更多信息:
ls -l
:长格式显示,包含文件权限、所有者、大小、修改时间(最常用,也可以简写为ll
);ls -a
:显示隐藏文件(Linux 中以 “.” 开头的文件是隐藏文件,比如.bashrc
);ls /home
:查看/home
目录下的内容,不用切换到该目录。
实例:输入ll
,会看到类似这样的结果:-rw-r--r-- 1 root root 123 Sep 2 14:30 test.txt
其中 “-rw-r--r--” 是权限,“root” 是所有者,“123” 是文件大小(字节),“Sep 2 14:30” 是修改时间,“test.txt” 是文件名。3. cd:切换目录,想去哪就去哪
cd
是 “Change Directory” 的缩写,是切换目录的核心命令,用法灵活:cd /home/user
:绝对路径切换,从根目录 “/” 开始定位到/home/user
;cd ../
:返回上一级目录(“..” 代表上一级,“.” 代表当前目录);cd ~
:直接回到当前用户的家目录(root 用户是/root
,普通用户是/home/用户名
);cd -
:切换到上一次所在的目录(比如从/root
到/home
,输cd -
会回到/root
)。
场景:想编辑/etc/profile
文件,先输cd /etc
,再用ls
确认profile
是否存在,避免路径写错。
二、文件操作 “四件套”:mkdir、touch、cp、mv—— 创建与移动文件
解决了 “导航” 问题,接下来就是创建、复制、移动文件,这四个命令是日常操作的 “主力”。
1. mkdir:创建文件夹,给文件 “安个家”
mkdir
是 “Make Directory” 的缩写,用来创建新文件夹。
- 基础用法:
mkdir docs
,在当前目录创建名为 “docs” 的文件夹; - 递归创建:
mkdir -p docs/linux/commands
,一次性创建多层目录(如果docs
和linux
不存在,-p
会自动创建,不用手动一层一层建)。
注意:如果文件夹名包含空格,需要用引号括起来,比如mkdir "my docs"
。
2. touch:创建空文件,或更新文件时间
touch
最常用的功能是创建空文件,比如要写一个测试脚本,先输touch test.sh
,就会生成一个空的test.sh
文件。
另外,touch
还有个隐藏用法:更新文件的 “修改时间”。如果一个文件很久没修改,输touch 文件名
,会把文件的修改时间更新为当前时间,内容不变。
3. cp:复制文件 / 文件夹,给文件 “分身”
cp
是 “Copy” 的缩写,复制文件或文件夹,核心是 “源路径” 和 “目标路径”:
- 复制文件:
cp test.txt docs/
,把当前目录的test.txt
复制到docs
文件夹下; - 复制并改名:
cp test.txt docs/test_new.txt
,复制后在docs
里改名为test_new.txt
; - 复制文件夹:必须加
-r
参数(递归复制),比如cp -r docs docs_backup
,把docs
文件夹连同里面的内容复制一份,命名为docs_backup
。
踩坑点:复制文件夹时忘了加-r
,会提示 “omitting directory”(忽略目录),一定要记得加参数。
4. mv:移动文件 / 文件夹,或给文件 “改名”
mv
是 “Move” 的缩写,既能移动文件,也能改名,用法和cp
类似,但不用加-r
(移动文件夹默认递归):
- 移动文件:
mv test.txt docs/
,把test.txt
移到docs
文件夹; - 文件改名:
mv test.txt test_old.txt
,在当前目录把test.txt
改名为test_old.txt
; - 移动并改名:
mv test.txt docs/test_final.txt
,把test.txt
移到docs
,同时改名为test_final.txt
。
注意:如果目标路径已有同名文件,mv
会直接覆盖,没有提示!如果想避免误删,可以加-i
参数(交互模式),比如mv -i test.txt docs/
,如果有同名文件会问你 “是否覆盖”。
三、内容查看 “三兄弟”:cat、more、tail—— 读懂文件里的内容
创建了文件,接下来要查看内容,这三个命令各有侧重,覆盖 “全量查看”“分页查看”“实时查看” 场景。
1. cat:一次性显示文件全部内容
cat
是 “Concatenate” 的缩写,最适合查看小文件(比如配置文件、脚本),直接显示全部内容:
- 基础用法:
cat test.txt
,直接输出test.txt
的所有内容; - 显示行号:
cat -n test.txt
,输出内容时在每一行前面加行号,方便定位某一行; - 合并文件:
cat file1.txt file2.txt > file3.txt
,把file1
和file2
的内容合并到file3
(“>” 是重定向符号,后面会讲)。
缺点:如果文件很大(比如几 MB 的日志),cat
会一次性把内容全刷出来,前面的内容会看不到,这时要用more
。
2. more:分页查看大文件,避免 “信息爆炸”
more
适合查看大文件,会一页一页显示内容,不会一次性刷屏:
- 基础用法:
more /var/log/messages
(系统日志文件,通常很大); - 操作快捷键:按 “空格” 翻下一页,按 “Enter” 翻一行,按 “q” 退出查看。
小技巧:如果想从第 10 行开始查看,输more +10 test.txt
;如果想搜索关键词,在查看时输 “/ 关键词”,按 “n” 找下一个。
3. tail:查看文件末尾内容,实时跟踪日志
tail
主要用来查看文件的末尾几行,尤其是跟踪日志文件(比如程序运行日志):
- 基础用法:
tail test.txt
,默认显示文件最后 10 行; - 指定行数:
tail -n 5 test.txt
,显示最后 5 行(也可以简写为tail -5 test.txt
); - 实时跟踪:
tail -f /var/log/nginx/access.log
(-f
是 “follow” 的缩写),会实时显示文件新增的内容,比如 nginx 的访问日志,有新请求时会立刻刷新,按 “Ctrl+C” 退出跟踪。
场景:开发时调试程序,用tail -f
跟踪日志,能实时看到程序输出的错误信息。
四、搜索筛选 “组合拳”:which、find、grep、wc、|—— 精准定位信息
当文件多了,需要快速找到某个文件或某段内容,这几个命令加上管道符 “|”,能组成强大的 “搜索筛选工具”。
1. which:查找命令的安装路径
which
用来查找某个命令的可执行文件路径,比如想知道ls
命令在哪里:
输which ls
,会返回/bin/ls
,说明ls
命令的可执行文件在/bin
目录下。
用途:判断命令是否安装(如果没安装,会提示 “no ls in (...)”),或确认命令的版本路径(比如系统有多个python
,用which python
看当前用的是哪个)。
2. find:按路径、名称、大小等查找文件
find
是 Linux 中最强大的文件搜索命令,可以按路径、文件名、大小、修改时间等多种条件搜索:
- 按名称查找:
find /home -name "test*.txt"
,在/home
目录下查找所有以 “test” 开头、以 “.txt” 结尾的文件(“*” 是通配符,代表任意字符); - 按类型查找:
find /etc -type d -name "conf*"
,在/etc
目录下查找以 “conf” 开头的文件夹(-type d
代表目录,-type f
代表文件); - 按大小查找:
find /var -size +10M
,在/var
目录下查找大小超过 10MB 的文件(“+” 代表超过,“-” 代表小于,“10M” 是 10 兆,“10k” 是 10 千字节); - 按修改时间查找:
find /home -mtime -7
,在/home
目录下查找近 7 天内修改过的文件(“-mtime -7” 代表 7 天内,“+7” 代表 7 天前)。
小技巧:如果想查找后直接删除文件(谨慎使用!),可以加-delete
参数,比如find /tmp -name "tmp*" -delete
,删除/tmp
下以 “tmp” 开头的文件。
3. grep:在文件中搜索关键词,“文本 grep 镜”
grep
是 “Global Regular Expression Print” 的缩写,用来在文件或命令输出中搜索关键词,是筛选信息的 “利器”:
- 在文件中搜索:
grep "error" /var/log/messages
,在系统日志中查找包含 “error” 的行; - 忽略大小写:
grep -i "Error" test.txt
,搜索 “Error” 时不区分大小写(“error”“ERROR” 也会被找到); - 显示行号:
grep -n "test" test.txt
,搜索时显示匹配行的行号; - 反向搜索:
grep -v "注释" config.conf
,显示不包含 “注释” 的行(-v
是 “invert match”,反向匹配)。
4. wc:统计文件的行数、字数、字节数
wc
是 “Word Count” 的缩写,用来统计文件的行数、单词数、字节数:
- 基础用法:
wc test.txt
,会返回 3 个数字,分别是 “行数 单词数 字节数 文件名”; - 单独统计行数:
wc -l test.txt
(最常用,比如统计日志有多少行); - 单独统计单词数:
wc -w test.txt
; - 单独统计字节数:
wc -c test.txt
。
场景:统计/etc/passwd
文件有多少个用户(每个用户占一行),输wc -l /etc/passwd
,返回的数字就是用户数。
5. |:管道符,把命令 “串联” 起来
管道符 “|” 是 Linux 的 “灵魂” 之一,它能把前一个命令的输出,作为后一个命令的输入,实现 “命令串联”:
- 实例 1:
ls -l /home | grep "test"
,先列出/home
目录的长格式内容,再用grep
筛选出包含 “test” 的行; - 实例 2:
cat /var/log/messages | grep "error" | wc -l
,先读取日志文件,筛选出 “error” 行,再统计这些行的数量(即错误日志有多少条); - 实例 3:
ps aux | grep "nginx"
,先查看所有进程(ps aux
),再筛选出包含 “nginx” 的进程(查看 nginx 是否在运行)。
核心逻辑:管道符就像 “传送带”,把前一步的结果传给下一步,让多个命令协同工作,效率翻倍。
五、两个实用小命令:rm、echo—— 删除与输出
最后补充两个高频小命令,一个用来删除文件,一个用来输出内容,简单但关键。
1. rm:删除文件 / 文件夹,“小心驶得万年船”
rm
是 “Remove” 的缩写,用来删除文件或文件夹,这个命令很危险,删除后无法恢复,一定要谨慎!
- 删除文件:
rm test.txt
,直接删除单个文件; - 强制删除:
rm -f test.txt
,如果文件不存在或权限不足,-f
(force)会强制删除,不提示; - 删除文件夹:
rm -r docs
,递归删除文件夹及里面的所有内容(和cp
类似,删除文件夹必须加-r
); - 强制删除文件夹:
rm -rf docs
(-r
+-f
),强制删除文件夹,不提示(生产环境慎用!尤其不要输rm -rf /
,会删除整个系统的文件,直接崩盘)。
安全建议:删除前先用ls
确认文件 / 文件夹是否正确,或者用rm -i
(交互模式),删除时会提示 “是否删除”,避免误删。
2. echo:输出内容到终端,或写入文件
echo
主要用来输出字符串到终端,或通过重定向写入文件:
- 输出到终端:
echo "Hello Linux"
,终端会显示 “Hello Linux”; - 输出变量:
echo $PATH
,输出环境变量PATH
的内容(Linux 中变量用 “$” 开头); - 写入文件:
echo "export JAVA_HOME=/usr/local/jdk" >> /etc/profile
,把 “export JAVA_HOME=...” 这行内容追加到/etc/profile
文件末尾(“>>” 是追加,“>” 是覆盖,用 “>” 会清空文件原有内容,谨慎使用)。
场景:配置环境变量时,用echo
把配置语句写入/etc/profile
,不用手动打开文件编辑,更高效。
总结:命令不是 “死记”,而是 “用会”
很多新手学 Linux 命令时,总想着把所有命令背下来,其实没必要。这 15 个命令覆盖了 “定位 - 创建 - 查看 - 搜索 - 删除” 的全流程,你可以先记住每个命令的核心用法,然后结合实际场景练习:比如创建一个文件夹,在里面新建文件,用cat
写点内容,再用cp
复制、mv
改名,最后用find
找到它 —— 练一遍比背十遍记得更牢。
Linux 的精髓在于 “命令组合”,比如tail -f 日志 | grep 关键词
实时跟踪特定日志,ls -l | wc -l
统计当前目录文件数,多尝试管道符和参数的组合,你会发现 Linux 操作其实很灵活。如果忘了某个命令的用法,输命令 --help
(比如ls --help
)或man 命令
(比如man grep
),系统会告诉你详细用法,这才是最靠谱的 “工具书”。
希望这篇指南能帮你跨过 Linux 命令的 “入门坎”,后续再学习权限管理、进程控制等进阶内容时,会更轻松。如果在练习中遇到问题,欢迎在评论区交流,咱们一起踩坑、一起进步!
更多推荐
所有评论(0)