《从终端到内核:Linux 指令体系的入门与技术解构(第二篇)》
前引:在数字化基础设施的底层架构中,Linux 操作系统以其开源性、稳定性与可定制性,成为服务器集群、嵌入式设备、云计算平台乃至人工智能训练环境的核心支撑。而指令行(Command Line Interface,CLI)作为与 Linux 内核交互的原生入口,不仅是系统管理、程序开发与自动化运维的效率利器,更是理解操作系统资源调度逻辑的技术窗口。对于初学者而言,Linux 指令体系并非零散命令的堆砌,而是一套遵循 “参数 - 选项 - 目标” 逻辑的结构化交互语言 —— 从最基础的
ls
目录遍历到grep
文本过滤,从chmod
权限控制到systemctl
服务管理,每一条指令的背后都映射着 Linux “一切皆文件” 的设计哲学与分层架构思想。本文将以技术解构的视角,剥离指令学习的复杂性,帮助初学者建立从语法规则到实际应用的完整认知框架,逐步掌握通过终端高效操控系统的核心能力!冷知识:
Linux操作的特点:纯命令,Windows等只是将命令图形化界面了
如果因为程序或者指令异常,无脑Ctrl+C即可退出
指令就是可执行程序,本质都是文件(which指令可验证)因此会存放在一个位置
如何从root切换为普通账号?
创建普通账号:useradd -m username(普通用户名)
设置普通用户密码:passwd username(普通用户名)
root与普通账号不断切换:su - root/username(普通用户名)
验证当前账户:whoami回车
目录
【一】man指令
man 参数(函数、基本命令等)
【二】cp指令
(1)cp -f
(2)cp -i
(3)cp -r
【三】echo指令
(1)echo
(2)echo >
(3)echo >>
【四】cat 指令
(1)cat -b
(2)cat -n
(3)cat -s
【五】more指令
(1)more -n
【六】less指令
(1)less -i
(2)less -N
【七】head指令
(1)head -n
【八】tail
(1)tail -n
【九】head+tail管道
【十】date指令
(1)date
(2)date +s%
(3)date ...
【十一】cal指令
(1)cal -3
(2)cal -j
(3)cal -y
【十二】find指令
(1)find -name
(2)find ...
【十三】nano指令
【十四】grep指令
(1)grep
(2)grep -i
(3)grep -n
(4)grep -v
【十五】mv指令
(1)mv -f
(2)mv -i
(3)mv
【一】man指令
Linux的命令有很多参数,我们不可能全记住,可以通过查看联机⼿册获取帮助
语法:man [选项] 命令
注意:选项默认为1,如果要退出查询界面,单机按键 q 即可
man 参数(函数、基本命令等)
查看某个命令的说明,例如:
如果输入某个参数,会默认从该选项1~9一直向下寻找,如果走完选项还找不到就会报错:
1是普通的命令
2是系统调⽤,如open,write之类的(通过这个,⾄少可以很⽅便的查到调⽤这个函数,需要加什么 头⽂件)
3是库函数,如printf,fread4是特殊⽂件,也就是/dev下的各种设备⽂件
4略
5是指⽂件的格式,⽐如passwd,就会说明这个⽂件中各个字段的含义
6是给游戏留的,由各个游戏⾃⼰定义
7是附件还有⼀些变量,⽐如像environ这种全局变量在这⾥就有说明
8是系统管理⽤的命令,这些命令只能由root使⽤,如ifconfig
9略
如果要查看C语言的函数等,可以指定第3个选项,例如:
【二】cp指令
作用:cp [选项] 源⽂件或⽬录 ⽬标⽂件或⽬录(复制⽂件或⽬录)
(1)cp -f
作用:强⾏复制⽂件或⽬录,不论⽬的⽂件或⽬录是否已经存在
(2)cp -i
作用:覆盖⽂件之前先询问⽤⼾
(3)cp -r
递归处理,将指定⽬录下的⽂件与⼦⽬录⼀并处理。若源⽂件或⽬录的形态,不属于⽬录或符 号链接,则⼀律视为普通⽂件处理
【三】echo指令
基本作用:输出字符串/写入文件
(1)echo
作用:echo 字符串,直接打印字符串的内容,例如:
(2)echo >
作用:输入重定向,向文件写入内容(每次 > 都会清空文件,重新写入)
(3)echo >>
作用:追加重定向,向文件写入内容(保留上次写入内容,持续写入)
【四】cat 指令
基本作用:输出文件内容
(1)cat -b
作用:对⾮空输出⾏编号,空⾏不做编号
例如:
[whb@bite-alicloud test]$ cat -b temp.txt
1 hello bite
2 hello bite
3 hello bite
4 hello bite
5 hello bite
6 hello bite
7 hello bite
...
(2)cat -n
作用:对输出的所有⾏编号
例如:
[whb@bite-alicloud test]$ cat -b temp.txt
1 hello bite
2 hello bite
...
(3)cat -s
作用:不输出多⾏空⾏
hello bite
hello bite
hello bite
hello bite
hello bite
hello bite
hello bite
hello bite
【五】more指令
作用:向后翻滚式的查看文件内容
(1)more -n
作用:指定输出行数(通过回车可以继续查看,按 q 可以退出)
【六】less指令
作用:less与more类似,但使⽤less可以随意浏览⽂件,⽽more仅能向前移动,却不能向后移动,⽽ 且less在查看之前不会加载整个⽂件
(1)less -i
作用:忽略搜索时的⼤⼩写
(2)less -N
作用:显⽰每⾏的⾏号
【七】head指令
作用:head⽤来显⽰档案的开头⾄标准输出中,默认head命令打印其相应⽂件的开头10⾏
(1)head -n
作用:显⽰的⾏数
【八】tail
作用:tail命令从指定点开始将⽂件写到标准输出,⽤于显⽰指定⽂件末尾内容,不指定⽂件时,作为输⼊信息进⾏处理,默认是10行
(1)tail -n
作用:从尾部开始显示行数
【九】head+tail管道
管道简而言之就是利用 head 和 tail 截取一段数据:head -n 文件 | tail -n
例如:现在有20行文件内容,提取中间5~10行文件内容
管道:先把左边head读取的数据写进中间的 | (管道),然后tail再从中间读取
连续多次管道也是可以的:
【十】date指令
作用:打印时间/时间戳
(1)date
(2)date +s%
打印时间戳:
(3)date ...
%Y:完整年份
%m:月份
%d:日
%F:相当于 %Y %m %d
%H:时
%M:分
%S:秒
%X:相当于 %H %M %S
【十一】cal指令
作用:输出日历
(1)cal -3
作用:显⽰系统前⼀个⽉,当前⽉,下⼀个⽉的⽉历
(2)cal -j
作用:显⽰在当年中的第⼏天(⼀年⽇期按天算,从1⽉1号算起,默认显⽰当前⽉在⼀年中的天数)
(3)cal -y
作用:显⽰当前年份的⽇历
【十二】find指令
作用:
find
是 Linux 系统中用于实时搜索文件和目录的强大命令,它能根据文件名、类型、大小、修改时间、权限等多种条件精确查找文件
(1)find -name
可以指定路径查找:
或者直接查找:
(2)find ...
其它选项可以通过查找文档进行学习,确实是太复杂了!
【十三】nano指令
作用:写入文档
使用 nano 向文档写入内容:
保存退出:Ctrl+o保存、回车、Ctrl+x退出
【十四】grep指令
作用:在⽂件中搜索字符串,将找到的⾏打印出来
(1)grep
查找指定关键字内容:
(2)grep -i
作用:不区分大小写进行查找内容
(3)grep -n
作用:顺便对输出的内容标上行号
(4)grep -v
作用:反向选择,即选择不包含指定内容的内容
【十五】mv指令
作用:移动⽂件或者将⽂件改名
1.视mv命令中第⼆个参数类型的不同(是⽬标⽂件还是⽬标⽬录),mv命令将⽂件重命名或将其 移⾄⼀个新的⽬录中
2. 当第⼆个参数类型是⽂件时,mv命令完成⽂件重命名,此时,源⽂件只能有⼀个(也可以是源⽬ 录名),它将所给的源⽂件或⽬录重命名为给定的⽬标⽂件名
3. 当第⼆个参数是已存在的⽬录名称时,源⽂件或⽬录参数可以有多个,mv命令将各参数指定的源 ⽂件均移⾄⽬标⽬录中
(1)mv -f
作用:如果⽬标⽂件已经存在,不会询问⽽直接覆盖(相当于是将当前文件/目录移动到指定位置)
例如:
(2)mv -i
作用:若⽬标⽂件(destination)已经存在时,就会询问是否覆盖!
例如:A目录有一个文件path1,现将B目录的文件path1用 mv -i 移动到 A 目录,出现同名会询问 是否覆盖
(3)mv
作用:重命名文件