Linux,全称GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。Linux操作系统因为自由与开放的特性,加上强大的网络功能,已经成为当前发展迅速的网络操作系统,在互联网操作系统中承担着越来越重要的角色。下面对linux操作系统作以介绍。
基本思想
Linux的基本思想有两点:第一,一切都是文件;第二,每个文件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。
完全免费
Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。
完全兼容POSIX1.0标准
这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。
多用户、多任务
Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现代电脑最主要的一个特
点,Linux可以使多个程序同时并独立地运行。
良好的界面
Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。
'支持多种平台
Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。
下面是linux操作系统下架构图:
由上图可看到linux系统由硬件、内核、系统调用、以及应用组成。
Linux内核在其中起着至关重要的作用,从技术层面上讲,从图中也可以看出,内核是硬件与软件之间的中间层。作用是将应用层的请求传递给硬件,作为底层的驱动程序,对系统中各种设备和组件进行寻址。从应用层讲,应用程序与硬件没有联系,只与内核有联系,内核是应用程序知道的层次中的最底层。同时内核也是个资源管理程序,负责系统程序和硬件分配及调度。
为了方便调用内核,Linux将内核的功能接口制作成系统调用。系统调用看起来就像C语言的函数。你可以在程序中直接调用。用户不需要了解内核的复杂结构,就可以使用内核。系统调用是操作系统的最小功能单位。一个操作系统,以及基于操作系统的应用,都不可能实现超越系统调用的功能。
shell是一个特殊的应用。很多用户将它称为命令行 。在没有图形界面之前,shell充当了用户的界面,当用户要运行某些应用时,通过shell输入命令,来运行程序。shell也有很多种,最常见的是bash, 另外还有sh,csh,tcsh,ksh。它们出现的年代不同,所支持的功能也有差异。在RHEL8中默认使用的shell是bash。
一个shell对应一个终端,终端过去可以理解为是一个硬件设备,用于输入并显示输出。随着图形化界面的普及,终端可以理解为一个图形化的窗口。你可以在这个窗口中输入或者输出文本,这个文本可以传递给shell进行分析解释,然后进行执行。
在RHEL8中shell的打开方式有以下几种:
1.右键打开
2.点击Application---->Favorites---->Terminal
3.使用gnome - terminal 命令打开shell
4.当shell已经开启时需要一个新的shell,在shell中可以用ctrl+shift+N打开
5.可以在设置中设定任意快捷键执行gnome - terminal
在这里执行shift+ctrl+X即执行gnome-terminal的命令,在已经存在的shell界面中可以再添加一个shell界面。
shell中快捷键的使用
ctrl+shift+T 在一个terminal中可以打开多个窗口
ctrl+shift+N 重新打开一个terminal
ctrl+c 取消命令执行
ctrl+d 关闭shell
ctrl+shift+鼠标选中+c 复制选中字符
ctrl+shift+v 粘贴
shell中如何执行命令
shell中执行命令的格式:
命令 参数 对象
命令执行的方法
有些命令可以单独执行,参数可以加多个,- a - b -c = - abc = - cba = - acb (顺序不定)
命令必须在行提示符之后输入否则命令无法执行
当行命令符被占用时通常使用ctrl+c结束占用命令行的程序来释放命令行
whatis rm ##查看命令的基本用途
注意:当执行whatis 命令出现nothing appropriate 时大多数情况是因为系统的帮助数据库未更新。如何解决此问题需要在root用户下执行mandb命令。当你使用的用户是普通用户时请执行以下操作:1. su - root 2. mandb 。
rm --help ##查看命令的基本用法
[ ] ##内容可加可不加
… ##内容个数任意
<> ##必须在命令时加入的元素
man rm #命令用法详解 man是manual的缩写
man -k passwd #passwd 关键字有多少级别的man
#man的级别
#1. 命令
#2. 系统调用
#3. 函数库调用
#4. 特殊文件(设备文件等)
#5. 文件
#6. 游戏
#7. 特殊的包
#8. 系统管理命令
#9. 内核信息规则
man rm #进入到rm命令的帮助
q #退出
/关键字 #搜索关键字,n 向下匹配,N向上匹配’
G #快速移动到man的最后面
g #快速移动到到man的最前面
我们当前使用的shell可以记录记录系统中执行过的历史命令。
history ##查看历史命令
history -c ##清空当前历史命令 注意:永久清空历史需要清空文件 .bash_history
历史文件的调用
上键|下键 # #逐行调用
!数字 # #调用指定行历史
!字符 # #调用以字符开始的最近历史
ctrl+R # #开启历史搜索模式,命令行显示会变为:(reserve -i-search),输入关键字,会显示含有此 关键字的最近一条历史
补齐系统中存在的命令,文件,和某些命令的参数。
当按1次tab没有效果时,表示以此字符开头的信息不唯一,可连续按2次,那么会把以此字符开头的所有内容显示。如果2次仍然不显示,表示没有以此字符开头的指令。