《Linux就该这么学》-新手必须掌握的Linux命令-概述
TIME 2022-12-03 13:20
本书精挑细选出读者有必要首先学习的数十个Linux命令
它们与系统工作、系统状态、工作目录、文件、目录、打包压缩与搜索等主题相关。
通过把上述命令归纳到本章中的各个小节,您可以分门别类地逐个学习这些基础的Linux命令,为今后学习更复杂的命令和服务做好必备的知识铺垫。
强大好用的SHELL
一台完整的计算机是由运算器、控制器、存储器、输入/输出等多种硬件设备共同组成的
而能让各种硬件设备各司其职且又能协同运行的东西就是系统内核
Linux系统的内核负责完成对硬件资源的分配、调度等管理任务,对系统的正常运行起着十分重要的作用。
人类是无法直接控制硬件的
硬件设备由系统内核直接管理,但由于内核的复杂性太高,在访问时存在较大的风险,因此用户不能直接访问内核。
虽然通过调用系统提供的API(应用程序编程接口)就能实现某个功能,但哪怕实现“将一条信息通过互联网传输给别人”这样简单的任务,都要手动调用几十次API接口,使用起来太不切实际。
而最外层的服务程序则是最贴近于用户端的,这些服务程序是集成了大量API接口的完整软件,例如微信、QQ就是这样的服务程序。
如果把整台电脑比喻成人类社会,那么服务程序就是一名翻译官
它负责将用户提出的需求转换成硬件能够接收的指令代码,然后再将处理结果反馈成用户能够读懂的内容格式。这样一来一回,用户就能使用硬件资源了。
Shell-壳
看到被一层层“包裹”起来的硬件设备,大家有没有感觉像一只蜗牛的壳呢?英文中的壳叫作Shell,我们在行业中也将用户终端程序称之为Shell,方便好记。
Shell就是终端程序的统称
它充当了人与内核(硬件)之间的翻译官,用户把一些命令“告诉”终端程序,它就会调用相应的程序服务去完成某些工作。
现在包括红帽系统在内的许多主流Linux系统默认使用的终端是Bash(Bourne-Again SHell)解释器
Bash解释器主要有以下4项优势:
1.通过上下方向键来调取执行过的Linux命令;
2.命令或参数仅需输入前几位就可以用Tab键补全;
3.具有强大的批处理脚本;
4.具有实用的环境变量功能
为什么说命令行模式优于图形化工具
必须肯定的是,Linux系统中有些图形化工具(比如逻辑卷管理器[Logical Volume Manager,LVM])确实非常好用,极大地降低了运维人员出错的概率,值得称赞。但是,很多图形化工具其实只是调用了命令脚本来完成相应的工作,或往往只是为了完成某种特定工作而设计的,缺乏Linux命令原有的灵活性及可控性。再者,图形化工具相较于Linux命令行界面会更加消耗系统资源,因此经验丰富的运维人员甚至都不会给Linux系统安装图形界面,在需要开始运维工作时直接通过命令行模式远程连接过去。不得不说,这样做确实挺高效的。
常见的执行Linux命令的格式如下
命令名称 [命令参数] [命令对象]
命令名称、命令参数、命令对象之间要用空格进行分隔,且字母严格区分大小写。
命令名称:就是语法中的“动词”,表达的是想要做的事情,例如创建用户、查看文件、重启系统等操作。
命令参数:用于对命令进行调整,让“修改”过的命令能更好地贴合工作需求,达到事半功倍的效果。就像买衣服一样,衣服的尺码总会感觉偏大或偏小,要么只能将就着穿,要么就再裁剪修改一下,而这种对命令进行“裁剪”的行为就是加参数。例如创建一个编码为888的用户、仅查看文件的前20行、重启系统前先提醒其他用户等。参数可以用长格式(完整的选项名称),也可以用短格式(单个字母的缩写),两者分别用“--
”与“-
”作为前缀
Linux命令参数的长格式与短格式示例
长格式 | man --help |
短格式 | man -h |
命令对象:一般指要处理的文件、目录、用户等资源名称,也就是命令执行后的“承受方”。例如创建一位叫小明的用户、查看一个叫工资表的文件、重启一个IP为192.168.10.10的系统等。
实例
在初学Linux系统时不会执行命令大多是因为参数比较复杂,参数值需要随不同的命令和实际工作情况而发生改变。
所以有读者现在可能会想,既然Linux系统中有那么多命令,我怎么知道某个命令是干嘛用的?
在日常工作中遇到了一个不熟悉的Linux命令,我又怎样才能知道它有哪些可用参数呢?
接下来,我们就拿man这个命令作为本书中的第一个Linux命令教给读者去学习,如何在执行Linux命令。
在命令行终端中输入man man命令来查看man命令自身的帮助信息
敲击回车键后,返回以下信息
按q键,退出对话模式
Linux系统中的命令、参数、对象都是严格区分大小写的。
例如
一定要正确的区分大小写,并且有的命令名称后面还要配合加命令参数才能正常使用
键入man -h 则会打印出该命令的帮助信息
简单的说一下命令行前面的这一串字符分别代表什么意思
[root@456 ~]#
root:就是当前登录系统的用户名
@:很简单,就是“在”的意思
456:主机名,当前系统的主机的名称
~:当前所在的目录,~符号表示的就是root用户的根目录,即/root
Tab键,命令自动补全
在Bash解释器的快捷键中,Tab键绝对是使用频率最高的,它能够实现对命令、参数或文件的内容补全。
例如,如果想执行reboot重启命令,但一时想不起来该命令的完整拼写,则可以这样输入:
[root@456 ~]# re<Tab键><Tab键> #先输入了两个字母re,随后敲击了两下Tab键。
read readlink realpath rename resize2fs restorecon #由于以re开头的命令不止一个,所以系统将所有以re开头的命令全部显示了出来。
readarray readonly reboot renice resizecons return
readelf readprofile recode-sr-latin reset resizepart rev
[root@456 ~]# reb<Tab键> #接着在re后面继续键入b后,再敲击Tab键
[root@456 ~]# reboot #由于此时没有以reb开头的其他命令,所以系统就显示出了完整的reboot重启命令
对于文件名也是一样的操作,只需要输入前面的一部分名称,且不存在多个以这部分名称开头的文件名,系统就会自动补全。不仅速度快,而且避免了手动输入有可能出错的问题。
例如我们在/根目录下,想要进入boot目录
[root@456 /]# ls #用ls命令查看当前目录里面的文件及文件夹
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var #返回的结果,当前/根目录有这些文件及文件夹
[root@456 /]# cd b<Tab键><Tab键> #这里假如我们要进入boot目录,我们在cd命令后面键入b按两次<Tab键>
bin/ boot/ #这里会返回以b开头的选项
[root@456 /]# cd bo<Tab键> #这里我们继续在b后面键入o然后再按<Tab键>
[root@456 /]# cd boot/ #按<Tab键>后 ,则会自动补齐目录名
原理同上
Ctrl组合键
Ctrl+c组合键
当同时按下键盘上的Ctrl和字母c的时候,意味着终止当前进程的运行。
假如执行了一个错误命令,或者是执行某个命令后迟迟无法结束,这时就可以冷静地按下Ctrl+c组合键,命令行终端的控制权会立刻回到我们手中。
Ctrl+d组合键
当同时按下键盘上的Ctrl和字母d的时候,表示键盘输入结束。
这个还没搞懂什么意思,普通的键入命令不管用,vi编辑模式下面也不管用
Ctrl+l组合键(小写的L,不是大写的i)
当同时按下键盘上的Ctrl和字母l的时候,会清空当前终端中已有的内容(相当于清屏操作)。
从现在开始,本书后面的内容都是重磅内容。本书将会带领读者掌握大约150个常用的Linux命令,以及50多个热门的命令。这50多个热门的命令是以Linux命令大全网(www.linuxcool.com)的查询阅览量为基础筛选出来的。当然,将这些命令全都放到第2章讲完肯定不现实,所以刘遄老师根据10多年来的运维经验优先筛选出了10多个高频使用的基础命令。由于后面的章节中会反复用到这些命令,因此大家需要好好学习并掌握它们,这样才能在后面章节的学习中做到游刃有余。加油!
返回目录:Linux系统学习笔记
点击数:4