前言
没错,迫于不知名的压迫,我再一次踏上了“写作”的道路。长话短说,今天呢...显然易见,就是要学习Linux命令的基础,以及“/”目录下文件的作用。
那么首先就有了一个疑问,我们究竟为什么要去学习Linux呢?显然易见,便宜...不,是免费!并且代码开源,其他相应的服务也无需缴费便可直接通过挂载的yum镜像文件进行安装,或者直接联网通过dnf的命令进行下载安装。当然,这些对于进行系统化学习的一部分人而言,这些简直就是"小case"了。但对于大众而言,那就是一个难题。
所以,我既然无奈来进行“创作”,那就随缘!质量如何:尽量......评论回复:先有再说,也大概率不会,因为小编我...也是个小白!既然如此,你们骂我,我也会坦然接受并改正(但大概率我没看见,因为在努力地摸鱼碎觉打游戏)。
看到了这里,你也是很有耐心的人。感谢你对于我刚才行为的包容,那么就来开始听我瞎编乱造的讲解吧!
Linux命令的本质
首先,想掌握好Linux系统,那么它的命令我们自然而然的也要掌握。然而想要掌握这些,先从以下底层原理、执行机制和设计哲学三个维度深入解析 Linux 命令的核心逻辑(没错,我借鉴了一下AI的言语):
一、用户与内核的桥梁
首先,系统的结构大部分是由硬件>内核>SHELL>应用(由内向外)。
硬件便是CPU,显卡,光驱之类的;内核便是硬件与软件的中介,负责资源分配、进程调度、内存管理和设备控制。SHELL便是作为用户交互界面,解释并执行命令(如Bash,伪终端Xshell
),通过缓冲区传递指令到内核。应用就是各种各样的软件了,插个小话题(也是从老师讲课偶尔听的),Windows系统的桌面是基于内核,而Linux的桌面却是基于应用。这样可以为硬件节省资源更好的运作,当然如果需要桌面,也可以在系统安装时进行勾选。
然而底层又分为用户空间与内核空间。在内核空间内,用户无法直接操作内核。而在用户空间里,用户可以运作普通的程序,且可以通过系统调用请求内核服务。而命令的作用,便是将用户的需求(如“创建文件”)转换为内核能理解的系统调用(如 open()
、write()
)。【希望没理解错。】
1、Shell:命令的解释器
Shell在其中主要担当的角色是命令行界面,服务于用户与内核之间,主要负责:解析命令(pwd [查看当前所在目录]);调用内置命令(如 cd
)或外部程序(如 /bin/ls
);管理输入输出、管道、重定向等。
它不仅是服务管理的一大基石,在远程管理(SSH)中 Shell 承担着重要角色,无需图形界面便可操作(自我理解...)在自动化与 DevOpsCI/CD 流程中,Shell 脚本用于编译、测试、部署(如 Jenkins Pipeline),且基础设施即代码(IaC)工具(如 Ansible)底层需要依赖于 Shell 命令(梅学过,但也可以看出Shell的意义之大)。并且还是故障修复的最后防线!在系统严重崩溃、网络中断或高级工具失效的极端场景下,Shell 便可提供直接操作底层系统的能力,无需依赖图形界面或其他高抽象层工具。(刚知道......)
2、命令的两种类型
类型 | 内置命令 | 外部程序 |
---|---|---|
存储位置 | 集成在 Shell 程序中 | 独立的可执行文件(如 /bin/ls ) |
执行速度 | 快速(无需创建新进程) | 较慢(需启动新进程) |
典型命令 | cd , echo , export |
ls |