简介:《Unix/Linux基础讲义》面向操作系统课程初学者、Linux入门自学者及需要梳理知识框架的读者,围绕Unix与Linux的源流、设计思想及基础概念展开,帮助解决入门阶段概念零散、发展脉络不清的问题。压缩包内为1个doc文档,整体约13.46MB,以单份讲义形式组织,便于按章节连续阅读或在本地检索标注。讲义从操作系统承上启下的地位谈起,串联Unix家族、Linux家族、Minix、GNU计划与POSIX标准,并延伸至Linux内核、发行版、X Window及Unix/Linux在服务器和嵌入式等领域的应用。内容兼顾历史背景与知识体系,可用于课前预习、课后复盘和面试前的基础梳理,也可作为实验课程的概念补充。目前已有325人学习,适合希望用较短时间建立Unix/Linux整体认知的读者。
1. 先破除一个误会:Unix/Linux 不是黑客的专属工具
初学的人问我最多的一句话是:Unix/Linux 是不是只有电影里那种黑屏幕、满屏绿字、噼里啪啦敲一堆神秘字符的人才用得上?我第一次接触时也这么想,后来才发现,你每天打开的网页、连上的网络、家里路由器里跑的东西,背后大多站着它。说白了,Unix/Linux 就是一类操作系统,跟个人电脑上的图形系统是同一个工作种类,只不过它更多守在服务器、嵌入式设备里干活,很少露面。这门基础讲义讲的就是它最底下的三块基础:文件系统怎么组织、文件权限怎么管理、命令怎么敲。适合完全没碰过命令行、但迟早要跟服务器打交道的新手。
2. 为什么建议从命令行开始:一行命令省下十次鼠标点击
新手装好系统后第一个念头通常是:能不能装个桌面,用鼠标点?能,但这样学下去,你只是在用一台“长得像 Windows 的机器”,真正的 Linux 你一点没碰到。这一章讲清楚为什么入门要往命令行里走,以及第一次坐下来,怎么不慌地把一条命令敲出去。
2.1 图形界面是外衣,文件和目录结构才是重点
讲义里有句话我特别认同:桌面和应用是 Linux 的外衣,文件组织、目录结构才是它的内心。图形界面只是内核之上叠的一层应用组件,可有可无;而目录怎么组织、文件怎么管理,是从内核往外一直贯穿的东西。
这一点对新手意味着什么呢?意味着你花三天学会点鼠标开文件夹,换个发行版、换台机器,这些经验基本归零;但你花三天学会ls、cd、man,走到任何一台类 Unix 机器上都认得路。更现实的是,你以后接触的服务器绝大多数根本不装图形界面,远程连上去,屏幕上只有一行提示符等你打字,没有开始菜单,没有回收站。
命令行还有两个悄悄的好处:一是快,删一千个文件、批量改名、统计行数,鼠标点一天,命令一行;二是可重复,你今天敲的一条命令,可以原样存进脚本,明天自动跑,而鼠标操作没法“存下来重放”。所以讲义里那句“不会命令行,就不算会 Linux”不是吓唬人,是实话。
顺便打消一个顾虑:命令不需要背。常用命令来来回回就那么几十个,真正需要记的是“我想干什么,该去查哪个命令”,剩下的交给系统自带的说明书。下面几节就教你怎么查。
2.2 命令的固定格式:三段式,看一遍就懂
不管多复杂的命令,结构基本长这样:
# 命令名 [选项] [参数] ls -l /home # ↑ ↑ ↑ # 干什么 怎么干 对谁干拆开看三个部分:
- command(命令名):告诉系统你要干什么,通常是英文单词或缩写,
ls是 list,cp是 copy,mv是 move。看到不认识的命令,先猜它的英文原词,八九不离十。 - [-options](选项):控制“怎么干”。方括号表示可省略,短选项一般是一个减号加一个字母,比如
-l;长选项是两个减号加单词,比如--help。很多命令允许把短选项合起来写,ls -l -h和ls -lh是一回事。 - parameter(参数):告诉命令“对谁干”,可以是文件名、目录名、用户名,也可以零个、一个或多个,多个之间用空格隔开。
知道了格式,你看到任何一条命令都不至于懵:第一段是动作,中间减号开头的是修饰,剩下的都是对象。新手最容易犯的错是空格乱加或漏加,比如ls - l(减号后多了空格)会被理解成对名为-和l的两个东西操作,直接报错。多一个空格、少一个空格,在命令行里差别很大。
还有一条铁律:Linux 区分大小写。ls能跑,LS只会告诉你 command not found;Note.txt和note.txt是两个不同的文件。用惯了不区分大小写的系统的人,头几天会在这上面栽好几次。
2.3 忘了命令怎么办:--help 和 man 这两位随身说明书
系统里命令几百个,没人全记得住,但每条命令自带了说明书。
第一种查法,加--help:
# 大多数命令都支持 --help,快速看一眼用法 ls --help输出会告诉你这个命令支持哪些选项、每个选项干什么。缺点是排版比较随意,有的命令也不支持这个选项。
第二种查法,man,功能更专业,它是一整套手册:
# 查看 ls 命令的手册页 man ls # 命令和函数重名时,明确指定看第 1 节(标准命令) man 1 ls为什么会有man 1这种写法?因为手册是分节的,第 1 节放普通命令,第 2 节放系统调用,第 3 节放库函数,第 5 节放文件格式,第 8 节放管理员命令。有些名字既是命令又是库函数(比如printf),不指定节号,man会按节号顺序找到第一个,你可能看到的是命令而不是函数。入门阶段记住一句:查命令用法,写man 1 命令名最稳。
打开手册页后,键盘操作是这样的:
| 按键 | 作用 |
|---|---|
| 空格 | 向下翻一屏 |
| Enter | 向下滚一行 |
| b | 往回翻一屏 |
| f | 向前翻一屏 |
| /单词 | 在手册里搜索这个词 |
| h | 列出所有快捷键 |
| q | 退出手册 |
新手最常见的卡死场景:进了man页面,发现怎么打字都没反应,以为终端坏了。其实你只是在一个阅读器里,按q就出来了。这个“新鲜的程序把键盘抢走了”的感觉,后面还会遇到好几次,习惯就好。
2.4 两个能省一半时间的技巧:Tab 补全和 history
这两个技巧不写进教程,很多人学一个月都不知道,知道之后效率立刻不一样。
第一个,Tab 自动补全。敲命令或路径的前几个字母,按一下 Tab,系统自动帮你补全;如果有多个候选,连按两下 Tab,会把所有可能的选项列出来。
# 想进 /home 下的某个长目录,敲前几个字母后按 Tab cd /ho<Tab>它的价值不只是省打字,更重要的是帮你确认路径存在。如果按 Tab 毫无反应,说明你前面敲的这几个字母拼错了或者目录根本不在那儿,等于提前帮你排掉一次报错。
第二个,历史命令。按方向键上、下,可以翻你之前执行过的命令,找到后回车直接再跑一次,不用重敲。
# 把执行过的命令列出来,带行号 history配合行号还能快速重跑,比如!128就是重跑历史里第 128 条。入门阶段不用记这个,先用上下键就够了。养成习惯:重跑复杂命令时优先翻历史,而不是凭记忆重敲,能显著减少“上次明明跑通了这次怎么不行”的玄学。
3. 路径这棵树:为什么在 Linux 里找不到 C 盘
从图形界面过来的人,第一个文化冲击往往发生在这里:打开文件管理器,找不到 C 盘、D 盘,只有一堆名字奇怪的文件夹。这一章把“路径”这件事讲透,因为后面每一条命令都要跟路径打交道,路径搞不清,命令永远敲不对。
3.1 多个盘并列,还是一棵树只有一个根
在常见的个人电脑系统里,每个驱动器有自己的根目录,C 盘一个树、D 盘一个树,好几个树并排站着。所以你会自然地想“文件在哪个盘”。
Unix/Linux 不这么干。它只有一个根目录,写作/,所有分区、所有设备、所有目录都挂在这棵树上。你插一个 U 盘,不是多出一个 E 盘,而是这个 U 盘被“挂载”到树上某个现成的目录里,你从那个目录进去,看到的就是 U 盘的内容。系统里所有的东西,都从/开始往下走。
还有个容易踩的小细节:路径分隔符的方向。Windows 风格用反斜杠\,Unix/Linux 用正斜杠/。别小看这个,从别处抄来的命令里如果混了反斜杠,Linux 认不出来,会当成转义符,报错报得莫名其妙。
为什么统一成一棵树这么重要?因为统一之后,路径才有唯一写法。无论谁、在哪台机器上,/etc就是配置目录,/home就是用户家目录,不会出现“我这在 D 盘你那在 E 盘”的沟通成本。早期的类 Unix 系统各家目录命名其实很混乱,后来业界推出了一套文件系统层次结构标准,把根目录下每个文件夹的名字和作用统一规定下来,这套约定沿用至今。
3.2 绝对路径和相对路径:从根出发,还是从脚下出发
同一个文件,可以有两种描述方式,区别只在于“起点”是谁。
绝对路径:从根目录/开始,一路写到底。第一个字符一定是/。
# 从根开始,依次进入 home、进入用户目录、找到笔记文件 /home/student/notes/day1.txt只要文件没被移动,这个写法在任何目录下执行都指向同一个地方,所以脚本里、配置里基本都用绝对路径。
相对路径:从“你现在站的位置”开始算。它不以/开头。
# 当前就在 /home/student 下,直接写下一层 notes/day1.txt相对路径短,但它依赖你当前所在的位置,换个目录执行就指到别处去了。新手写脚本时用相对路径,然后换了个目录运行就报“文件不存在”,八成是这个问题。
这里有两个特殊符号必须记牢:
.表示当前目录本身..表示上一级目录
所以cd ..是回上一层,./run.sh是“执行当前目录下的 run.sh”。为什么执行脚本要写./?因为系统出于安全,默认不会在当前目录里找可执行文件,你写./等于明确告诉它“就是这个目录里的这个文件”。
另外还有个~,代表当前用户的家目录。~单独用是“我的家目录”,~someone是“某个用户的家目录”。新手最常看到它出现在提示符和cd ~里。
一句话总结判断方法:看第一个字符,是/就是绝对路径,是别的(包括.、..、~、字母)就是相对路径或特殊写法。
3.3 新手先记住这七个目录,就够开始干活了
根目录下一堆文件夹,不用一次背完,先认这七个,日常八成场景够用:
| 目录 | 放什么 | 新手什么时候会进去 |
|---|---|---|
/ | 根目录,一切起点,下面只放目录 | 基本不在这里操作 |
/bin、/usr/bin | 常用命令的可执行文件,ls、cp都在这儿 | 查某条命令在哪 |
/etc | 系统和软件的配置文件 | 改配置、看端口设置 |
/home | 普通用户的家目录,一人一间 | 你自己的东西都放这 |
/root | 管理员的家目录 | 一般不用碰 |
/tmp | 临时文件,谁都能写 | 临时试验,别存重要东西 |
/var | 经常变化的文件,日志就在/var/log | 排错看日志 |
再补几个迟早会遇到:/dev放设备文件,/mnt和/media是挂载点,/proc里的数据其实在内存里、不占磁盘,/boot放启动相关文件,/usr放应用程序和它的库、文档。
有个很实用的判断习惯:看到/etc就知道是配置,看到/var/log就知道是日志,看到/tmp就知道随时会被清。这个直觉建立起来,别人给你指个路径,你大概能猜出那是什么东西。
3.4 一切皆文件:鼠标、磁盘、网络连接都是“文件”
这一条是 Unix/Linux 设计里最有意思的地方,也是新手最不理解的地方。
在它眼里,普通文档是文件,程序是文件,目录是文件,连你的鼠标、硬盘、屏幕、网络连接,都被抽象成文件,用同一套方式打开、读取、写入。好处是统一:你操作硬盘和操作一个文本文件,用的是同一批命令、同一套权限,不用为每种设备学一套新东西。这就是“一切皆文件”的含义。
文件类型大致分五类:普通文件(文本、数据、可执行程序)、目录文件(目录本身也是一种特殊文件)、设备文件(字符设备和块设备)、管道文件(用于进程间通信)、链接文件(类似快捷方式,分软链接和硬链接)。用file命令可以看一个文件到底是什么类型:
# 看单个文件的真实类型 file note.txt # 配合通配符,一次看当前目录下所有文件的类型 file *注意file看的是文件内容判断出来的真实类型,不是靠扩展名猜。这点跟另一套系统的习惯很不一样:Linux 里文件可以没有扩展名,一个叫run的文件照样可以是可执行程序,一个叫data.txt的文件里面装的可能是二进制。所以别靠后缀名认文件,用file看。
4. 第一个能跑的例子:用 ls 把当前目录看个明白
前面讲了一堆概念,现在动手。这一章只用一个命令ls,把它玩出花来,因为这一个小命令里藏着选项、参数、通配符、重定向四个核心机制,全学会,后面换任何命令都是同一套思路。你只需要打开终端,跟着一步步敲。
4.1 最短的一行:先确认自己在哪,再看有什么
打开终端,第一件事不是急着敲命令,而是搞清楚“我现在站在哪”。敲:
# 打印当前所在目录的绝对路径(print working directory) pwd输出类似/home/student,说明你现在站在自己的家目录里。这一步非常关键,后面所有相对路径都是相对这个位置算的,不知道自己在哪,报错你都判断不出原因。
然后敲第一个正式命令:
# 列出当前目录下的内容(list) ls屏幕上会打出当前目录里的文件和目录名,可能是一串文件名,也可能是空的。到这一步,你已经完成了一次完整的命令行交互:输入命令、系统执行、输出结果、回到提示符等你下一步。
如果ls输出是空的,别慌,不代表命令坏了,只是这个目录里确实没有可见的东西,或者只有隐藏文件。下一节就解决这个疑问。
4.2 三个最常用参数:-a、-l、-h,组合起来威力翻倍
单独ls信息量太少,加上参数就不一样了。三个参数先记这三个:
# -a 显示所有文件,包括以 . 开头的隐藏文件 ls -a # -l 以长列表方式显示详细信息 ls -l # -h 把文件大小变成人看得懂的单位(K、M、G) ls -lh # 三个合用,等于“详细列表 + 人性化大小 + 带隐藏文件” ls -lah-a解决的是新手第一大困惑:明明记得存了个配置文件,ls就是看不见。因为 Linux 约定,以.开头的文件是隐藏文件,默认不显示,必须加-a。配置文件为了不碍眼,很多都以点开头,所以这不是文件丢了,是它躲起来了。
-l的输出信息量最大,值得逐列拆开看。跑一下,你会看到类似这样的两行:
ls -l # -rw-r--r-- 1 student student 1024 3月 5 10:20 note.txt # drwxr-xr-x 2 student student 4096 3月 5 10:21 docs从右往左看比较容易理解:最右边是文件名,docs是目录,note.txt是文件。再往左是最后修改时间,再往左是大小(字节,加-h后变成1.0K这种)。再往左两列是所有者(owner)和所属用户组(group),这台机器上都是student。再往左那个数字是链接数,入门阶段可以先忽略。
最左边那一串十个字符最重要:
- 第 1 个字符是文件类型:
-普通文件,d目录,l软链接,c字符设备,b块设备。所以看到d开头,就知道那是目录。 - 后面 9 个字符是权限,分成三组,每组 3 位,依次是所有者、用户组、其他用户的读(r)、写(w)、执行(x)权限。
-rw-r--r--的意思是:所有者能读能写不能执行,同组的人只能读,其他人也只能读。
这串字符就是下一章避坑的重点,这里先混个脸熟,知道它跟“谁能动这个文件”有关就够了。
-h是纯粹的体验优化,让1024变成1.0K,让1048576变成1.0M。小文件看不出差别,日志文件动辄几百兆的时候,没有它你数不动。
4.3 通配符:一次匹配一批文件,不用一个个写
文件名一多,一个个敲就是自虐。命令行支持通配符,用特殊字符代表一批文件名。还是拿ls练手:
# 找出当前目录下所有以 te 开头的文件 ls te* # 找出所有以 .txt 结尾的文件 ls *.txt # 只找文件名 3 个字符、后缀是 .c 的文件,? 代表任意一个字符 ls ?.c # 找 a、b、c 任意一个开头的文件 ls [abc]* # 找 a 到 f 范围内任意字母开头的文件 ls [a-f]* # 如果文件名本身带星号,加反斜杠转义,当普通字符处理 ls \*a三种通配符的分工:
| 通配符 | 含义 | 例子 |
|---|---|---|
* | 代表任意多个(包括零个)字符 | ls te*匹配test、tea.txt |
? | 代表任意一个字符 | ls ?.c匹配a.c,不匹配ab.c |
[ ] | 匹配方括号内任意一个字符,-表示范围 | ls [a-f]*匹配 a 到 f 开头的文件 |
有个坑要提前说:-只有在方括号里面才表示范围,跑到方括号外面就是个普通字符,ls a-f是找名字叫a-f的文件,不是找范围。另外?和*如果写在方括号里,也就失去通配符的作用了,变成普通字符。
通配符不是ls专属的,几乎所有接受文件名的命令都认,cp *.txt backup/就是批量复制,这个能力后面会反复用到。也正因为它威力大,配删除命令的时候要格外小心,第 5 章会细说。
4.4 把结果存进文件:输出重定向原来是这么回事
默认情况下,命令的结果是打到屏幕上。但很多时候你想把它存下来。这就是重定向:
# 把 ls 的结果写进 test.txt,文件不存在就创建,存在就覆盖 ls > test.txt # 用两个大于号是追加,不会覆盖原内容 ls -l >> test.txt # 存完用 cat 看一眼里面是什么 cat test.txt>和>>的区别就一句话:单个大于号覆盖,两个大于号追加。这个区别是新手最容易吃亏的地方:本来想往文件末尾加一行,手一抖写成>,前面攒了半天的内容全没了,而且没有回收站,也没有后悔药。我第一次这么干的时候,覆盖的是一份整理了两小时的笔记,从那以后写>之前都会先停一秒。
还有个小知识点:屏幕上看到的内容其实分两路,正常结果走“标准输出”,报错信息走“标准错误”。>默认只接走正常结果,所以有时候你明明重定向了,屏幕上还是冒出一堆报错,那是因为报错另走一路。入门阶段先记住这个现象存在,别以为是命令没生效。
到这儿,pwd、ls、cat加上选项、参数、通配符、重定向,你已经能完成“进目录看一眼、筛出一批文件、把结果存下来”这一整套动作了。剩下的命令,都是这个模子刻出来的。
5. 新手最容易翻车的几个地方:权限、路径和删除
这一章专门拦一下新手最常摔的跟头。每一条都按“你看到什么现象、为什么、怎么解决”来说,遇到时直接对号入座。
5.1 先把权限那串字母读懂:-rw-r--r--
上一章ls -l里那十个字符,得单独说清楚,因为后面五个坑里有三个跟它有关。
权限的设计背景很简单:这是一个多用户系统,很多人同时用一台机器,你的文件不能让所有人随便改。所以系统把访问者分成三类:所有者(创建文件的人)、用户组(一批被归到一起的人)、其他用户(剩下所有人)。每类人各有一套读、写、执行权限,加起来正好九位。
三种权限对文件和目录的含义还不太一样,这点特别容易混:
| 权限 | 对文件 | 对目录 |
|---|---|---|
| r 读 | 能看内容 | 能列出目录里有哪些文件 |
| w 写 | 能改内容 | 能在目录里新建、删除、移动文件 |
| x 执行 | 能当程序运行 | 能进入这个目录(cd进去) |
注意目录的x,它决定你“能不能进得去”,没有x权限,就算有r能看到文件名,也进不去、读不了里面的文件。这是个很典型的“现象解释不了,其实是权限”的场景。
改权限用chmod,入门先掌握数字写法就够:
# 644:所有者读写,其他人只读,普通文件最常用 chmod 644 note.txt # 755:所有者读写执行,其他人读和执行,脚本和目录常用 chmod 755 run.sh数字怎么来的:读 r=4、写 w=2、执行 x=1,三组各自相加。644就是“4+2、4、4”,即所有者读写、同组只读、其他人只读。这个换算练两次就记住了。
5.2 坑一:文件明明在,却怎么也看不见
现象:记得自己在这个目录建过一个配置文件,ls出来啥也没有,以为文件丢了,甚至怀疑是不是被系统删了。
原因:文件名以.开头,被当成隐藏文件,ls默认不列出来。这不是 bug,是约定俗成的规矩,配置文件为了不碍眼基本都这么干。
解决:ls -a或ls -lah就能看到。看到之后还想操作它,正常写文件名就行,点开头的文件在命令里不需要特殊处理,只有通配符*默认匹配不到它们,得写.*才行。养成习惯:找文件先用ls -lah看一眼全量,再下结论。
5.3 坑二:路径写错,命令一直说找不到文件
现象:敲cat notes/day1.txt,返回“No such file or directory”,但你确信文件就在那儿。
原因:八成是相对路径的起点不对。相对路径是相对“当前所在目录”算的,你以为自己在/home/student,实际可能在/home/student/docs,那notes/day1.txt自然找不到。还有一种可能是大小写写错了,Day1.txt和day1.txt是两个文件。
解决:三步走。先pwd确认当前位置,再ls确认这一层到底有什么,最后拿不准就直接写绝对路径/home/student/notes/day1.txt。另外,敲路径时多用 Tab 补全,补不出来基本就是你拼错了,等于提前发现错误。写脚本时尽量用绝对路径,能省掉一大半这类问题。
5.4 坑三:一遇到权限问题就 chmod 777
现象:程序跑不起来、文件存不进去,搜一下有人说“加个 777 就好了”,执行完确实好了,于是以后遇到权限问题一律 777。
原因:777是所有者、同组、其他人全都有读、写、执行权限,等于把文件完全敞开。它确实能解决报错,但代价是任何能登录这台机器的人都能改这个文件、甚至往里塞东西。这属于“把门拆了当钥匙用”,能进门,但门也没了。
解决:按最小需要给权限。普通文件给644,脚本和目录给755,确实需要同组协作才给到664、775。真遇到权限不够,先想清楚“到底是谁需要什么权限”,而不是直接拉满。反过来也一样:ls -l看到某文件权限是777,尤其它还跟配置文件、脚本有关,就该警惕了,这往往是有人图省事留下的隐患。
5.5 坑四:把重要东西放在 /tmp,或者站错位置就下手
现象:昨天放在/tmp里的文件今天没了;或者在一个以为没用的目录里执行了删除,回头发现删错了地方。
原因:/tmp是临时目录,系统会定期清理,重启也可能清空,任何人都能往里写,它天生就不适合放需要留存的东西。至于删错位置,多半是没有确认当前目录就执行了相对路径的删除操作。
解决:需要留存的文件一律放家目录/home下,/tmp只用来做临时试验。执行任何有破坏性的命令之前,先跑pwd和ls确认“我在哪、我要动的是哪些东西”,两个命令加起来不到两秒,能省掉很多事后追悔。这个习惯我从踩坑那年开始一直保留到现在,几乎是条件反射了。
5.6 坑五:照着教程复制命令,不看参数就回车
现象:从别处抄来一条命令,敲下去,结果不是报错就是动了不该动的东西。
原因:教程里的命令带了一堆参数,你只看到“这样能解决问题”,没看每个参数在干什么。尤其像rm -rf 目录名这种,-r是递归进子目录,-f是不问直接干,两个一组合,删起来是完全不留情面的;再比如重定向的>是覆盖,抄的时候没注意,就把原文件清了。
解决:抄命令前先查一下参数,man 1 命令名或者命令名 --help,重点看带减号的那几个字母分别是什么意思,尤其是-r、-f、-i这类跟删除、覆盖相关的。拿不准的命令,先在一个不重要的测试目录里跑一遍看效果,确认无误再用到正式地方。这条看着最啰嗦,但它是五个坑里唯一能同时防住其他四个的。
6. 下一步学什么:从会敲命令到能自己查文档
把这门讲义学完,你已经能看懂目录树、认出隐藏文件、用ls加通配符筛文件、把结果存进文件,也能读懂-rw-r--r--那一串字母的含义。接下来怎么走,我给一条顺序,别跳步。
先补三块立刻能用上的:一是文件操作四件套,cp复制、mv移动改名、rm删除、mkdir建目录,配合-i参数先跑熟;二是cd加pwd的组合,把“我在哪、我要去哪”变成本能;三是cat、less、head、tail这几个看文件内容的命令,less翻页、tail -f盯日志,排错时天天用。
再往下,按这个表推进比较稳:
| 阶段 | 学什么 | 学到什么程度算过关 |
|---|---|---|
| 第 1 周 | 路径、cd、ls、cp、mv、rm、mkdir | 不看教程能在目录树里自由进出、增删文件 |
| 第 2 周 | chmod、chown、ls -l读权限 | 看到权限串能说出谁能干什么,能按需给 644/755 |
| 第 3 周 | grep、find、管道 ` | ` |
| 第 4 周 | vi或vim的基本操作 | 能打开文件、改几行、保存退出 |
| 之后 | 进程管理、软件包管理、简单的 shell 脚本 | 能写几行脚本串起日常操作 |
有一件事比按表推进更重要:养成先查文档再问人的习惯。man和--help是你手边最快的答案来源,看英文手册费劲就先看选项说明那一段,看多了自然就顺了。我第一次学的时候图省事,遇到问题就到处搜现成命令,结果同样的权限问题反复栽了三次,直到被一位带我的前辈按住,让我把man chmod从头看一遍,才发现自己一直在用一个自己根本没理解的数字。
从那以后我每次要动权限、动删除、动重定向,都强制走一遍“先看参数说明、再在小目录试一次、最后才在正式位置执行”的流程。慢是慢了几十秒,但再没丢过东西。希望帮到你。
本文还有配套的精品资源,点击获取