资讯动态

Linux基础指令详解:新手从零开始掌握终端操作

发布时间:2026/10/14 6:25:51 来源:尧图企业网站定制
我第一次打开Linux终端的时候整个人是懵的。屏幕上就是一个黑乎乎的窗口没有熟悉的桌面图标鼠标几乎失灵不知道该点什么甚至不知道该怎么把窗口关掉。旁边一位前辈丢给我一句“先学ls”然后就没有然后了。我盯着这两个字母看了半天敲下去屏幕上跳出几行看不懂的文件名也不知道自己到底做了什么。当时的感受就是这系统怎么这么不友好后来我才慢慢想明白Linux的设计哲学就是这样——那些你用鼠标能点出来的操作它默认都要求你用一条一条的指令完成。而所谓的Linux入门本质上就是先把几十条最基础、最高频的指令练到条件反射的程度把“我在哪个目录”“这里有什么文件”“怎么查看内容”“怎么复制移动”这四件事搞清楚剩下的都是这些指令的组合和延伸。指令熟练之后你反而会发现在某些场景下终端比图形界面快得多。这篇就是写给完全没碰过Linux、面对终端不知道从何下手的人。下面我会按方向、目录、文件、查看、权限、效率六个板块把新手最该先学会的Linux基础指令拆开讲。每一条都会告诉你指令背后的思路、适合用在什么场景也把我自己踩过的坑一并交代清楚。跟着敲一遍比只看不练有效得多。1. 先把Linux跑起来虚拟机与云服务器的选择、首次登录要做的事在动手敲指令之前你先得有一个能练手的Linux环境。这一步看着不起眼其实很容易卡住。很多新手下载镜像、制作启动盘、折腾双系统半路就被劝退了。我建议你按自己的需求二选一别一上来就走最折腾的那条路。1.1 两台方案怎么选虚拟机练手云服务器体验真实环境方案一是本地弄一台虚拟机。你在自己的电脑上装一个虚拟机软件然后在虚拟机里安装Linux发行版比如Ubuntu的LTS版本它自带图形界面用起来心里踏实而且完全不影响你当前电脑原来的系统。虚拟机分个2核CPU、4G内存、60G磁盘就够了个人练手完全够用。优点是随时可以快照备份玩坏了重启还原成本为零。方案二是买一台按量付费的云服务器。选最便宜的入门配置就行关键是操作流程更接近生产中真实的使用方式——你需要在本地用ssh远程登录到服务器上操作全程没有图形界面只能靠指令完成所有事情。这能让你提前感受“服务器上只有终端”的真实场景对理解Linux服务器的运作方式非常有帮助。优点是体验真实缺点是第一次操作时一切都不直观遇到问题容易慌。我把两者对比放在下面你可以对着选对比项虚拟机方案云服务器方案上手难度较低有图形界面兜底偏高纯命令操作真实体验偏向日常桌面使用接近生产服务器环境成本免费按量付费主要花时间在练习上适合人群零基础、想先熟悉系统想直接进入服务器场景的人我的建议比较保守完全零基础的人先走虚拟机方案。等至少在虚拟机的终端里敲熟练了再去碰云服务器你会觉得顺很多。物理机装双系统的方案我不推荐一是买不到便宜、省心的引导修复方案二是新手很容易在安装环节因为分区、引导问题把原来的系统弄坏平白给自己添堵。1.2 装好系统后的三件事更新软件源、认识sudo、装几个趁手工具环境装好、能进入桌面或登录到命令行后先别急着到处点做三件事。第一件事是更新软件源。Ubuntu这类系统用apt管理软件包刚装好的系统源列表是旧的你要先让它知道现在软件仓库里有哪些新版本。在终端里执行sudo apt update sudo apt upgrade -y这里出现的sudo是Linux新手见到最多的词它的意思是“以超级用户权限执行后面这条命令”。后面会专门讲它的使用边界这里你就先记住凡是涉及安装软件、修改系统配置这类操作一般都需要在前面加上sudo系统会让你输入密码确认身份输入密码时屏幕没有任何显示是正常的不要以为自己没敲进去。第二件事是装几个趁手的工具。基础系统自带的东西比较精简我习惯一上来先补上vim、curl、htop这几个常用工具命令是sudo apt install -y vim curl htop第三件事是看一眼自己用的系统版本方便之后遇到问题在网上搜解决方案时能准确描述环境。执行cat /etc/os-release输出的内容会告诉你发行版名称和版本号比如Ubuntu 22.04 LTS。这一步很关键因为很多指令在不同发行版里细节有差异知道自己具体版本是排查问题的基础。1.3 第一次打开终端不要慌先认识命令行提示符终端窗口里光标前面那一串难看的字符其实藏着不少信息。常见格式是userhostname:~$拆开看user是当前登录的用户名hostname是这台机器的主机名~表示当前所在目录是你的家目录最后的$表示当前身份是普通用户。如果最后显示的是#说明你现在是root超级管理员身份。理解提示符能帮你避免很多困惑比如明明记得在当前目录操作后却找不到文件往往就是没看提示符上的当前位置。从这一刻开始无论环境来自哪里你都可以开始跟着后面几个章节在终端里敲指令了。记住终端里输入的每一行命令格式基本都是命令 空格 参数参数决定这个命令的具体行为。2. 认路三件套pwd、ls、cd 决定你在系统里的位置Linux的文件系统是一棵倒挂的树最上面是根目录/下面不断分出子目录。你在终端里的所有操作都发生在某一个具体目录之下这个目录叫“当前工作目录”。如果你连自己在哪都不知道后续操作必然迷路所以认路三件套必须先学会。2.1 pwd现在所在的目录永远值得先确认pwd是“print working directory”的缩写作用就是打印出当前工作目录的绝对路径。你可以在终端里试试pwd执行后屏幕上会显示类似/home/你的用户名这样一行路径这就是你现在所处的位置。路径以/开头的就是绝对路径意思是“从根目录开始数到我这里”的完整路线。我为什么把pwd放在第一位因为新手最容易犯的一个错就是凭感觉认为自己在某个目录然后执行删除或者创建操作结果发现操作在了完全另一个地方。终端没有撤销键这种错误后果可能很严重。所以我在不确定位置的时候总会先敲一下pwd确认这几乎成了肌肉记忆。一些自定义的终端主题会在提示符里直接显示当前路径但在裸环境里pwd依旧是判断位置最可靠的方式。pwd不光告诉你路径还明确了当前所在的绝对坐标这个习惯很难靠眼睛“看出来”必须靠指令确认。2.2 ls列出文件和目录参数决定你看多细ls是“list”的缩写作用是把当前目录下的文件和子目录列出来。这是你了解一个目录里到底有什么的入口。最简单执行方式就是ls但光用ls远远不够。Linux里以.开头的文件是隐藏文件默认情况下ls不会显示它们这时候要加-a参数ls -a想要看更详细的文件信息比如权限、属主、文件大小、修改时间用-l参数ls -l你会发现输出的第一列有类似drwxr-xr-x这样一串字符。第一个字符如果是d表示这是一个目录如果是-表示这是一个普通文件后面九个字符是权限信息在第5章我会展开讲。实际使用中我基本都会组合参数最常用的组合是ls -lah含义是列出所有文件包括隐藏文件用长格式并且人类可读地显示文件大小比如1.2K、345M而不是以字节为单位的数字。分享一下经验新手最容易忽略的是最后这个h没有它看大文件的大小完全是天书。参数作用使用场景无参数显示文件名快速浏览-a显示隐藏文件查看目录完整内容-l详细格式权限、大小、时间了解文件属性-h人类可读大小配合-l使用-t按修改时间排序找最近改过的文件2.3 cd跳转目录的家常便饭cd - 是个隐藏技巧cd是“change directory”的缩写作用是切换当前工作目录。使用频率极高常见用法如下cd /etc # 跳到绝对路径 /etc cd .. # 跳到上一级目录 cd ~ # 跳到当前用户家目录 cd - # 跳回上一次所在的目录解释一下几个特殊路径符号..表示上一级目录.表示当前目录~表示家目录/表示根目录。比如你当前在/home/用户名/Downloads执行cd ..之后会到/home/用户名再执行一次cd ..会到/home。cd -是个容易被小看的技巧。很多人不知道还有这个参数它的作用是切回“上一次所在目录”在/etc和/home之间来回操作时一条cd -就完成了切换省去了敲完整路径的麻烦。我在初学阶段看到别人用这招感觉像发现新大陆一样它还能避免你在两个长路径之间反复敲一大串字符。需要提醒的是cd -和cd ~切回去后提示符显示的路径可能让人一时反应不过来这时再用pwd验证一下位置就好。3. 文件操作核心指令touch、cp、mv、rm 以及我栽过的跟头目录学会认了接下来就是对文件本身动手。很多教程把touch、cp、mv、rm轻描淡写带过但真正用起来坑都在细节里。这一章我把自己栽过的几次跟头一并交代。3.1 touch建文件之外还有的时间戳功能touch最常见的作用是创建一个新的空文件。用法很直白touch hello.txt执行之后当前目录下会出现一个名为hello.txt的空文件。在需要快速生成测试文件时这一条指令比打开任何编辑器都方便连续执行touch test1.txt test2.txt test3.txt可以一次性创建多个文件。touch还有另一个容易被忽略的作用更新文件的时间戳。对一个已经存在的文件执行touch它的修改时间会被刷新为当前时间这个特性在某些需要触发文件监控任务的场景下很好用。不过对新手来说记住“touch能建空文件”就够了。如果你想体验一下“看着文件从无到有”的过程可以先touch创建再用ls -l观察文件属性这比急着打开编辑器更直观。3.2 cp与mv复制和移动参数先后顺序别搞反cp用于复制文件mv用于移动或重命名文件。这两条命令最容易让人困惑的地方是参数的顺序。基本格式都是命令 源文件 目标位置。看例子cp hello.txt /tmp/hello.txt # 把 hello.txt 复制到 /tmp 目录 cp -r myfolder /tmp/myfolder # 复制整个目录必须加 -r mv hello.txt /tmp/hello.txt # 把 hello.txt 移动到 /tmp 目录 mv hello.txt newname.txt # 把 hello.txt 重命名为 newname.txtcp -r中的-r是递归的意思表示把目录以及目录里所有内容一起复制不加这个参数复制目录会直接报错。mv则不需要这个参数它对文件和目录都适用。另外mv的本质是“先复制再删除原位置文件”所以同一目录下的mv天然就是一个重命名操作很多新手会疑惑“重命名没有单独的命令吗”其实mv就是这个功能。我还想特别强调一个习惯在覆盖文件之前先确认目标目录有没有同名文件。默认情况下cp和mv碰到同名文件会直接覆盖不会提醒你。直到我因为覆盖了一个自己写了很久的配置文件、且没法找回的时候才真正学会了这条教训。建议你在命令前面加-i参数比如cp -i hello.txt /tmp/ mv -i hello.txt /tmp/加了-i后系统在覆盖前会问你是否确认多一步确认能给心大的人一层保护。命令用途目录需要加的参数覆盖前提醒参数cp复制-r-imv移动/重命名不需要-i3.3 rm删除与通配符回收站不存在这条命令要敬畏rm用于删除文件目录需要加-r强制删除加-f。组合起来的rm -rf大概是Linux里最著名的危险命令我曾经亲眼见过有人调试脚本时执行rm -rf / 某个目录然后整个系统的重要文件被清理干净几乎没能救回来。我非常建议新手建立一个基本认知Linux终端里删除文件不会进回收站也没有撤销键。文件删了就真的没有了。所以在敲下rm之前先停下来确认三件事你在哪个目录你的目标路径对不对你命令里的通配符会不会误伤其他文件通配符是新手另一个容易忽略的点。*表示匹配任意多个字符?表示匹配一个字符。比如rm *.txt会删除当前目录下所有以.txt结尾的文件这句话看起来简单但如果你所在的目录是家目录而家目录里恰好有.txt结尾的重要笔记它们会毫无提示地消失。我见过有人想清理临时文件输入rm * .txt多打了一个空格结果先把所有文件删了个干净只因多了一个空格。出于自我保护我建议你在练习阶段给自己上一个“删前先看”的保险删除之前先用ls把所有匹配到的文件名看清楚ls *.txt确认就是要删的那批文件之后再执行删除。你还可以给rm加-i参数让它每次删除前都询问确认虽然操作多了一步但心里踏实。4. 高效看文件cat、less、head、tail、grep 的使用场景拆解建文件、复制文件学会了接下来就是“怎么看文件内容”。很多人只知道cat结果一遇到超大文件终端直接刷屏根本看不完。其实Linux看文件的方式很讲究不同场景要选不同工具。4.1 cat适合小文件less才扛得住大文件cat会把整个文件内容直接打印到终端适合内容比较短的文件比如查看配置文件cat /etc/hostname几行内容一次性看完整。加-n参数还能显示行号cat -n /etc/hostname但cat有个明显的问题文件一大几百上千行的内容会像瀑布一样从屏幕冲过去最后你看到的只有结尾部分中间的根本没读到。这时就该用lessless /var/log/syslogless是分页查看器只显示一屏内容按空格键往下翻页按b键向上回翻按/输入关键词搜索按q键退出。对于大日志、大配置文件的查看less比cat好用很多。我平时排障查日志进门第一件事经常就是less加搜索先定位到出问题的关键字附近。需要留意的是less在退出前会暂停终端画面按q退出后命令提示符才会回来。新手经常被这个“卡住”的状态吓到以为程序死掉了其实没死只是分页器在等你退出。4.2 head和tail日志排障的核心工具tail -f是实时刷新head和tail分别查看文件的开头和结尾。默认显示前/后10行可以加-n指定行数head -n 20 /var/log/syslog tail -n 20 /var/log/syslog为什么说这两个命令是日志排障的命根子因为程序运行过程中最新的日志永远追加在文件末尾报错信息十有八九就在最后几行。想看程序今天运行的情况tail -n 50则能快速看到最新的状态。更厉害的是tail -f这个参数f是“follow”的意思它会持续监视文件内容文件一有新行写入终端就立刻显示出来实现类似“实时日志流”的效果tail -f /var/log/syslog在测试环境里启动个服务另外开一个终端tail -f看日志服务崩溃时错误信息会直接实时刷出来这种感觉用过一次就再也回不去。要退出tail -f按CtrlC即可。4.3 grep做过滤找出你真正关心的那几行有时候日志里有几千行你关心的只有其中包含某个关键词的几行。逐行翻会崩溃这时要用grep过滤grep error /var/log/syslog这条命令会把/var/log/syslog中所有包含error这个关键词的行打印出来。加-i忽略大小写加-n显示行号加-r可以在目录下递归搜索所有文件grep -ri error /var/log/grep还能和管道符|配合使用。管道符是Linux极其重要的概念它的作用是把前一个命令的输出结果当作后一个命令的输入。比如ls -lah | grep test含义是先列出当前目录所有文件然后只筛选文件名中包含test的那些行。管道符就像一条传送带把上一个命令的结果传给下一个命令继续加工。我建议新手尽早熟悉管道符它能把简单的命令组合出强大功能是整个命令行哲学的起点。5. 初见Linux最容易踩的坑sudo、权限、相对路径基础指令学得差不多了接下来我讲当时最让我困惑的几个概念。这些概念不搞清楚你会经常碰到“Permission denied”和“No such file or directory”报错而且完全不知道为什么。刚接触Linux的时候几乎人人都在这类问题上栽过跟头。5.1 sudo不是我此前以为的万能钥匙很多新手对sudu有三个误解一是觉得它是一把万能钥匙什么操作前面加个sudo都能过二是不理解为什么明明是你自己的电脑删个文件都提示权限不够三是以为加了sudo就高枕无忧了。先搞清原理。Linux是多用户操作系统普通用户只能在自己有权限的目录里操作比如你的家目录~。而系统的很多关键目录和文件属于root用户普通用户没有写权限。举例来说你想把新软件放到/usr/local/bin这种系统级目录里普通用户没权限sudo就是让你临时以管理员身份执行这条命令。但这不代表你该处处用sudo。首先sudo需要你输入密码验证身份并不是无条件的其次以管理员身份执行的错误操作破坏力是普通用户的好几倍。比如sudo rm -rf /某个目录如果你手滑输错了路径普通用户身份下可能因为权限不足而被拒绝加上sudo之后系统会毫不犹豫地执行删除。所以我的原则是日常查看、修改自己家目录的文件不需要用sudo涉及系统级配置、安装软件时才用sudo并且每次敲下命令前反复确认路径。5.2 权限的r、w、x到底在限制什么权限就是Linux安全的基础虽然对新手有点抽象但至少要懂基本模型。回到ls -l输出那一行类似drwxr-xr-x的字符串可以拆成四部分第1个字符文件类型d是目录-是普通文件。第1组三个字符属主文件所有者的权限。第2组三个字符属组的权限。第3组三个字符其他人的权限。每组里的r表示可读w表示可写x表示可执行。所以drwxr-xr-x的含义是这是一个目录属主可以读写执行属组和其他人只能读和执行。数字表示法中r4、w2、x1常见的755就是属主有全部权限、其他人只有读和执行。这个数字在后续使用chmod时非常常见chmod 755 my_script.sh chmod x my_script.sh # 给所有用户添加执行权限我们平时创建一个文件后默认通常是不可执行的原因就在权限位里没有x。要是你写了个脚本并想直接运行它必须先给它加上执行权限比如chmod x run.sh然后再./run.sh运行。对新手来说这一块一开始容易懵你只要记住报错“Permission denied”时先想想是不是权限不足后面再慢慢深入学习权限管理的细节。5.3 相对路径与绝对路径在脚本和终端里建议用绝对路径刚开始我写脚本时遇到最多的报错就是“No such file or directory”明明文件就在当前目录里脚本却找不到。问题出在路径写法上。绝对路径是以/开头的完整路径不管你在哪个目录执行它都指向同一个地方比如/home/用户名/scripts/start.sh。相对路径则是从当前目录开始推算的路径比如../scripts/start.sh表示上一级目录下的scripts目录里的start.sh。在终端临时操作时相对路径很方便少敲很多字。但在脚本里脚本可能在任意目录被调用如果用了相对路径脚本执行时找不到文件就会报错。所以我个人的习惯是临时看文件用相对路径写进脚本的路径一律用绝对路径。这个习惯能帮你避免大量“明明文件就在眼前却找不到”的诡异问题。另外遇到“No such file or directory”时先执行pwd看一眼自己在哪个目录再对照路径检查大多数情况下都能立刻发现问题和预期位置一对比找出了差在哪。这个排查思路比反复猜快得多。6. 让手速翻倍的六个小习惯Tab补齐、历史记录与man手册学指令就像学打字一样追求准确是第一步第二步就得追求效率。下面这几个小习惯如果一开始就养成后面每天都能帮你省出大量时间。6.1 Tab补齐与历史命令动手敲之前先学会偷懒终端里最被低估的功能就是Tab键。你不需要把每条命令和文件名完整敲完。比如你想进入Documentation目录只要输入cd Doc然后按一下Tab系统会自动补全成cd Documentation。如果输入的前缀不够唯一比如cd D对应好多个可选目录按两下Tab系统会把所有匹配项列出来供你选择。Tab键能补全的是命令、文件名、目录名、可执行程序名等几乎无脑好用。它的深层意义是降低了敲错字的概率毕竟手敲长路径容易错漏。养成“敲几个字母就按Tab”的习惯后你的敲命令速度会明显快上一截。历史命令也很重要。终端里按向上方向键可以调出上一条执行的命令再按一下又往前翻翻到要用的命令直接回车即可再次执行。想查看完整历史列表输入history屏幕会列出最近执行过的所有命令。如果命令太多找不到按CtrlR进入反向搜索状态输入关键字就能找到之前执行过的命令回车直接执行这个操作在重复执行某条长命令时堪称神器。6.2 Ctrl系列快捷键中止、清屏、行首行尾很多新手在终端里出现卡住的情况第一反应是鼠标乱点其实动作都发生在键盘上掌握几个Ctrl快捷键能救你于水火CtrlC # 终止当前正在运行的命令/进程 CtrlL # 清屏相当于清空终端显示 CtrlA # 光标跳到行首 CtrlE # 光标跳到行尾 CtrlU # 删除光标前的内容我在前面提过的tail -f、正在执行的长时间命令比如编译、下载中途想停掉就按CtrlC。注意区分终端卡住不等于系统卡死。比如你在less里忘了退出、在tail -f里没有退出——它们都只是在你面前放大了“占住屏幕”的效果按q或CtrlC就能脱身。清屏也别再用鼠标滚轮翻找了CtrlL一下子还你一个干净界面这个快捷键我每天能按几十次。6.3 man手册与--help不记参数的正确姿势最后是这个时代很多人忽略的宝藏——man手册。每条Linux命令都附带了完整的官方说明文档查看方式就是在命令前加manman ls屏幕会打开ls命令的完整手册里面包含所有参数的作用和示例按/搜索关键词按q退出。不过man手册内容对新手来说比较冗长格式也偏老派所以日常我更推荐先用简化的方式ls --help几乎所有核心命令都支持--help参数它会输出一页简洁的参数说明虽然不如手册详细但足够帮你快速回忆某条命令的用法。我的习惯是不确定参数时先试--help还不明白再翻man。有了这两个工具你不必背下所有参数随时查手册就是正确的学习姿势学到后面还会接触info文档和其他文档工具那是另一个话题了。写到这里Linux基础指令的六个板块就都过了一遍。回想我自己的经历学指令这件事真的不是靠背而是靠高频使用才能变成肌肉记忆。刚开始不必追求把所有参数都记住哪怕你能熟练用好文中这几十条基础指令日常处理文件、查看日志、排查简单问题已经足够。每个人我都会建议一个最笨也是最有效的练习方法在自家目录下新建一个practice目录所有的测试文件都在里面生成、复制、删除、破坏然后把这里当成“练武场”。今天学了哪条指令就在这个目录里反复试试到不用想就知道结果为止。有条件的话再自己找一份真实的日志文件用tail、grep、less组合着玩这个过程很快就能让指令从“认识”变成“会用”。最后再分享一个小技巧前期可以把常用指令和参数写在一张纸上贴在显示器旁边忘了就瞄一眼。我当时写了一页A4纸不到一周就不需要看了因为用得太频繁手指早就比大脑记得牢。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑