一.什么是Linux
Linux操作系统是一套免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年第一次释出,它主要受到Minix和Unix思想的启发,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、oracle linux等。
Linux的基本思想有两点:第一,一切都是文件;第二,每个文件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。
linux是指Linux内核(kernel),系统核心程序,相当人的大脑,负责系统程序和硬件分配及调度;操作系统是一个用来和硬件打交道并为用户程序提供一个有限服务集的低级支撑软件。一个计算机系统是一个硬件和软件的共生体,它们互相依赖,不可分割。计算机的硬件,含有外围设备、处理器、内存、硬盘和其他的电子设备组成计算机的发动机。但是没有软件来操作和控制它,自身是不能工作的。完成这个控制工作的软件就称为操作系统,在Linux的术语中被称为“内核”,也可以称为“核心”。
Linux内核的主要模块(或组件)分以下几个部分:存储管理、CPU和进程管理、文件系统、设备管理和驱动、网络通信,以及系统的初始化(引导)、系统调用等。
计算机的组成部分:计算器(CPU).寄存器(内存ram).控制器 输入设备(键盘鼠标硬盘).输出设备(显示器硬盘)
内存越大,CPU处理越快.将硬盘中的内容先缓存到内存中,再由cpu处理.
二.什么是shell
shell:解释器
1.对外提供操作和系统沟通接口 2.对内实现对内核进行保护 3.rhel8中默认使用的shell是bash
(1)shell的含义: 首先shell的英文含义是“壳”; 它是相对于内核来说的,因为它是建立在内核的基础上,面向于用户的一种表现形式,比如我们看到一个球,见到的是它的壳,而非核。 Linux中的shell,是指一个面向用户的命令接口,表现形式就是一个可以由用户录入的界面,这个界面也可以反馈运行信息;
(2)shell在Linux中的存在形式: 由于Linux不同于Windows,Linux是内核与界面分离的,它可以脱离图形界面而单独运行,同样也可以在内核的基础上运行图形化的桌面。 这样,在Linux系统中,就出现了两种shell表现形式,一种是在无图形界面下的终端运行环境下的shell,另一种是桌面上运行的类似Windows 的MS-DOS运行窗口,前者我们一般习惯性地简称为终端,后者一般直接称为shell ;
(3)shell如何执行用户的指令 shell有两种执行指令的方式,第一种方法是用户事先编写一个sh脚本文件,内含shell脚本,而后使用shell程序执行该脚本,这种方式,我们习惯称为shell编程。 第二种形式,则是用户直接在shell界面上执行shell命令,由于shell界面的关系,大家都习惯一行行的书写,很少写出成套的程序来一起执行,所以也称命令行。
三.shell行提示符的含义
shell类型:常见的Shell 有 sh、bash、csh、tcsh、ash 等。rhel8中默认使用的shell为bash,bash=GNU Bourne-Again Shell ,bash 由 GNU 组织开发,保持了对 sh shell 的兼容性,是各种 Linux 发行版默认配置的 shell
(一)shell打开方式
1.右键打开
2.Application---->favorites---->terminal
3.gnome-terminal
(二)shell命令行提示符
[root@localhost Desktop]#
[1][2] [3] [4] [5]
[1]:运行shell的用户
[2]:分割符
[3]:系统主机短名称当前主机去掉域名部分的短名称
[4]:当前目录名称
[5]:身份提示符 #表示当前用户为超级用户,$当前用户为普通用户
四.shell中的快捷键
(一).shell中的快捷键使用
ctrl>+<shift>+<T> | 一个terminal中开启多个窗口 |
<ctrl>+<shift>+<N> | 重新打开一个terminal |
<ctrl>+<c> | 取消命令执行 |
<ctrl>+<d> | 关闭shell |
<ctrl>+<shift>+<鼠标选中>+<c> | 复制选中字符 或(鼠标选中为复制) |
<ctrl>+<shift>+<v> | 粘贴 或(鼠标滚轮下按为粘贴) |
ctrl +a | 命令行光标移至首位 |
ctrl+e | 命令行光标移至尾位 |
ctrl+u | 删除光标前面内容 |
ctrl+k | 删除光标后面内容 |
自定义开启shell的方式
(二).shell中如何执行命令
1.命令执行格式
命令 参数 对象
命令就是程序,参数表示命令的特殊功能,对象就是操作目标
2.命令执行的方法
有些命令可以单独执行,参数可以加多个
-a -b -c = -abc = -cba = -acb
-s = --size -s 表示单词的缩写 --size 单词的全拼
命令必须在行提示符之后输入,否则命令无法执行;当命令行被占用通常使用<ctrl>+<c>结束占用命令行的程序来释放命令行
五.命令行获得帮助
(一).whatis rm 查看命令的基本用途
查看过程中出现rm: nothing appropriate.
1.表示要查看内容没有帮助
2.系统帮助数据未更新用mandb命令更新
(二).rm --help 查看命令的基本用法
[] | 内容可加可不加 |
... | 内容个数任意 |
<> | 必须在命令执行时加入的元素 |
(三).man date 命令用法详解 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的最前 |
六.Linux命令行历史调用
(一).我们当前使用的shell可以记录系统中执行过的历史命令
history 查看历史命令
history -c 清空当前历史命令 (永久清空历史需要清空文件.bash_history)
(二).历史命令的调用
上键|下键 | 逐行调用 |
!数字 | 调用指定行历史 |
!字符 | 调用以此字符开头的最近历史 |
<ctrl>+<R> | 开启历史搜索模式,命令行显示会变为:(reverse-i-search)`':输入关键字,会显示含有此关键字的最近一条历史 |
七.<TAB>
补齐系统中存在的命令,文件,和某些命令的参数,当按一次tab没有效果,表示以此字符开头的信息不唯一可连续按2次,那么会把以此字符开头的所有内容显示.如果第2次仍然不显示表示没有以此字符开头的指令