RHCSA(五分钟学会Linux的基本操作!!!)

一、操作系统

        操作系统 (Operating System,简称 OS)是管理和控制计算机硬件与软件资源的计算机程序,是配置在计算机硬件上的第一层软件,任何其它软件都必须在操作系统的支持下才能运行。

二、Linux

开源: 把软件程序和源代码一起打包给用户

        使用自由,复制自由,修改自由,创造衍生品自由

低风险:

高品质:

1、Linux的诞生

1) Multics计划
        

         上世纪六十年代,人们还在用批处理计算机,也就是一次性给一批任务到计算机,然后等待结果,中途不能和计算机进行交互,而且准备作业需要耗费大量时间。于是1965年,贝尔实验室 (Bell),麻省理工学院 (MIT) 和通用电气(GE) 准备联手开发”分时多任务处理系统”,即300台以上终端机可以同时连接一台大型计算机进行作业,并取名为Multics(Multiplexed nformation and Computing System,多路信息计算系统)。但由于项目进度落后,资金短缺,1969年,贝尔实验室放弃了这个项目,决定退出 (后来Multics成功开发完成,尽管没有再被重视)

2) Unix的诞生与打飞机游戏

        一位工程师调回到贝尔实验室的工程师看到费时的批处理机器,十分怀念先进的Multics。Ken Thompson在研发Multics的时候,写了一个叫太空大战 (SpaceTravel) ,是飞机发射子弹那种类型的游戏,然而这个游戏只能运行在Multics上面,他很想要移植这个游戏继续玩。1969年8月,Thompson在库房发现了一台闲置的PDP-7,刚好此时休假并且妻儿都去加利福尼亚探亲度假去了,经过四个星期的努力,用BCPL (Basic CombinedProgramming Language,基本组合编程语言)汇编语言编写了一组内核程序,还包括内核工具程序,以及一个小的文件系统。完成之后,Thompson激动地把身边的同时叫过来,让他们来玩他的游戏。由于这个系统是由Multics简化而来,同事们就戏称这个系统为"UNiplexed Information and Computing Service”,即没路信息计算系统,缩写为Unics,取其谐音Unix。这时已经是1970年了,于是就将1970年定为Unix元年,现代计算机的计时也就是这个时候开始的。

3) Unix的发展

     

        Unix实在太好用了,这套系统在Bell实验室广为流传。但Unix是用汇编语言写的,高度依赖硬件,于是Thompson和Dennis Ritchie合作准备用更高级的语言改写,提高可移植性.Thompson改进了BCPL,称为B语言,然而这套语言在内存方面有限制,一筹莫展。又和Ritchie尝试了Pascal,发现编译出来的内核性能并不好。最终Ritchie决定再对B语言进行改进,成为了大名鼎鼎的C语言,重新改写了Unix。1974年7月,Bell实验室公开了Unix,引起了学术界的广泛讨论,并大量应用于教育目的。1978年学术界老大伯克利大学,推出了以Unix第六版为基础并加入改进的新Unix,并命名为BSD (Berkeley Software Distribution伯克利分发版),于是Unix的分支BSD系列就诞生了。由于Unix的高度可移植性与强大的性能,加上当时并没有版权的纠纷,所以让很多商业公司开始了Unix操作系统的开发。然而当时Bell属于AT&T,AT&T被《谢尔曼反托拉斯法》规定了不能销售除了电话机电报机等之外的商品,后来随着AT&T的分解,Bell可以卖出Unix了,第七版Unix明确提出“不可对学生提供源码”,Unix走向了商业化。高昂的授权费导致很多大学停止了对Unix的研究。

4) Minix操作系统

        Unix进行了商业化,教师们都用不起了,1987年,身为ACM和IEEE两会资深会员的荷兰数学与计算机科学系统教授Andrew s.Tanenbaum开发了Minix操作系统,是Unix的缩小版用于学生学习操作系统原理,很多技术大牛希望改进Minix,但遭到了AST教授的丑拒,他认为Minix就是为了教学,让学生一学期学完,并不想被加入杂乱的东西。

5) GNU计划

        Richard M.Stallman看不惯版权收费,于1984年创立自由软件体系GNU (Gun is NotUnix) ,拟定了普遍公用版权协议 (General Public License,GPL) ,所有GPL协议下的自由软件都遵循着Copyleft (非版权) 原则: 自由软件允许用户自由拷贝、修改和销售,但是对其源代码的任何修改都必须向所有用户公开。GNU希望开发一个类似UNIX并且是自由软件的完整操作系统一一GNU系统。到90年代初,GNU项目开发出许多高质量的免费软件包括emacs编辑器bash shell程序、gcc系列编译程序、gdb调试程序。

7) Linux终于诞生了

        此时,IBM公司开发的MS-DOS操作系统、Apple公司开发的Mac操作系统,Unix操作系统Minix操作系统全都要收费。GNU尽管已经开发出最受期盼的GNU C编译器,开发的操作系统却进度缓慢,渴求诞生一款自由软件操作系统来证明自己存在的价值。与此同时,Linus利用圣诞的压岁钱和贷款购买了一台386兼容电脑,并从美国邮购了一套Minix系统软件,在等待邮寄到达的期间,Linus认真学习了有关lntel 80386的硬件知识。为了能通过Modem拨号连接到学校的主机上,他使用汇编语言并利用80386CPU的多任务特性编制出了相关程序。甚至为了将老式电脑的软件复制到新电脑上,为一些硬件编写了驱动程序。Linus逐渐认识到了Minix的诸多限制,产生了自己编写一个新的操作系统的想法。1991年4月,Linus花费了全部时间研究Minix-386系统,并尝试移植GNU的gcc、bash、gdb到新系统上。1991年4月13日,Linus在omp.os.minix上发布信息说自己成功将bash移植到了Minix上,而且已经爱不释手,离不开这个shell软件了。1991年7月3日,Linus在comp.os.minix上透露了正在进行Linux系统的开发,并已经开始考虑POSIX的兼容了。1991年8月25日,Linus在comp.os.minix上发布了What would you like to see in minix?”,透露出正在开发一个免费的386操作系统,新开发的系统会移植bash和gcc,并且声明他开发的操作系统没有用行Minix的源代码。1991年10月5日,Linus在comp.os.minix上发布消息,正式向外宣布Linux内核诞生 (Free minix-like kernel sources for 386-AT) 。Linux遵循GPL协议,也给GNU运动送上了一份最好的礼物。Linux提供内核,GNU提供外围软件,GNU/Linux就成了密不可分的体系。

2.计算机的结构

硬件:显示器、键盘、鼠标等

        输入设备:键盘、麦克风等

        主机:cpu、存储器等

        输出设备:打印机、显示器等

cpu:算术逻辑单元(程序的运算和逻辑判断)+控制单元(协调各周边组件和个单元之间的工作)

软件:操作系统。

运算器    控制器  输入、输出

3.Linux的内核

操作系统主要是通过操作系统内核实现的。

系统调用把应用程序的请求传给内核,调用相应的内核函数完成所需的处理,将处理的结果返回给应用程序。

SHELL

程序的终端

Bash(Bourne-Again SHELL)

终端

终端:是计算机网络中处于网络最外围的设备,主要是用于用户信息的输入和处理结果的输出

物理终端:键盘、鼠标、显示器。

虚拟终端:模拟终端(图形化界面)切换到重命令行的终端

                  伪终端

                  重命令行终端

进入:Ctrl+Alt+F3

退出:Ctrl+Alt+F2

4.Linux指令

1.命令格式

        命令名称   [命令参数]    命令对象

命令名称动词——要做的某件事

命令对象:一般要处理的文件、目录、用户

[命令参数]: 对命令进行调整

!!!指令严格区分大小写!!!

指令

        清屏:Ctrl+l

        重新启动:reboot、shutdown  -r  now

        关机:shutdown  -h  now、init 0、poweroff

        查看IP地址:ip a/ifconfig

        查看版本发行的信息:cat /etc/redhat-release

        查看内核版本信息: uname -r

        查看shell类型:cat /etc/shells

                                 chsh -l

          查看当前的默认shell类型:echo $SHELL

[root@localhost ~]
#:标识符,标识的是当前用户是 root

$:标识符,标识的当前的用户是普通用户。

        切换用户:su - rhcsa

        返回:$ exit

[root@localhost ~]
root:管理员,超级管理员,根用户@:分隔符
localhost:本意标的是当前这合主机,也是这台主机的主机名。

~:当前用户的家目录。root用户的家目录:/root

普通用户的家目录:/home/rhcsa

家目录:存放个人数据的地方

ls (list directory contents):用于显示指定工作目录下的内容(文件及子目录)

/根:文件系统的根。一切皆文件。

路径:绝对路径——以根开始的路径。/home/rhcsa

           相对路径——不从根开始的路径。rhcsa

root

普通用户

su (switch):用于变更其他使用者的身份。

如果从root切换到普通用户,则不需要输入密码。但是如果从普通用户去切换到root,则需要输入密码。一般使用的时候需要加上“—”的选项去获取对应身份的环境变量和身份权限。

用exit退出

pwd(print work directory)显示工作目录

cd (change directory):切换当前目录

切换到home目录下并打印当前工作目录

切换到mnt下并打印当前工作目录

cd —:表示切换到上一次的目录

cd ~:切换到当前用户的家目录

ls (list directory contents)列出当前工作目录下的内容

        -l: 是以长格式的形式显示文件的目录的信息(权限所有者、大小、创建时间) ls -l =ll

        -a :显示所有文件及目录(开头的隐藏文件)

        -A:不列出(当前目录)和..(父目录)

        -h 在-l基础上使用h,以人类可读的方式显示当前目录中文件和目录的大小

2. Linux系统的目录结构

filesystem hierarchy standard文件系统层级标准,定义了在类Unix系统中的目录结构和目录内容,即让用户了解到已安装软件通常放置于哪个目录下。

Linux目录结构的特点

        1.使用树形目录结构来组织和管理文件
        2.整个系统只有一个根目录 (树根) ,Linux的根目录用”/“表示
        3.其他所有分区以及外部设备 (如硬盘、光驱等)都是以根目录为起点,挂接在目录树的0某个目录中的,通过访问挂载点目录,即可实现对这些分区的访问。

/bin 软连接(快捷方式),符号链接,binaries(二进制文件),可执行的应用程序。

/boot:存放的是系统启动时所需的文件

/dev:存放的时Linux的外部设备(光驱)。

/etc:存放的是系统管理所需要的配置文件。

/home:普通用户的家目录。

/root:root用户的家目录。

/lib:library(库)存放系统最基本的动态链接共享库(32位)

/lib64:library(库)存放系统最基本的动态链接共享库(64位)

/media:挂载点目录,让用户去临时去挂在别的文件系统。系统默认挂载点目录

/mnt:挂载点目录,手动去挂载点目录。

/opt:optional(可选),主机给额外安装软件所摆放的目录。

/sbin:超级用户的二进制文件的缩写,存放的是系统管理员所使用的系统管理程序。(超级管理员自己能用到的一些命令)

/srv:第三方服务,存放的是一些服务启动后需要提取的数据。

/tmp:temporary(临时):存放的是一些临时文件。

/usr:unix shared resouce(共享资源),用户很多应用程序和文件都存放在该目录中。

/var:变量的缩写,存放的不断扩充的东西。(日志文件)

/run:临时文件系统,存放的是系统启动以来的信息(守护进程)

/sys:

/proc:进程的缩写。程序——是由源代码生成的可执行文件

                                  进程——程序执行后形成了进程,它占用内存资源。

Block 块设备

bus  总线(地址、控制、数据)

固件

/sys 内核或者操作系统

三.文件管理

1.文件的类型7种:一切皆文件

        d   目录文件
         l    软链接文件<——>快捷方式
         -    普通文件
         b    块设备文件
         c    字符设备文件
         p    管道文件
         s    套接字文件

2.怎么查看帮助文档

help

        help 命令   help cd

--help

        

man

        manual

        man 命令

        空格是下一页,b上一页,/单词,n上一个关键字,N下一个关键字。

在线命令

        区段1:用户指定,查看命令的帮助

        区段2:系统调用

        区段3:程序库的调用

        区段4:设备、查看特殊文件的帮助

        区段5:文件格式

        区段6:游戏:查看游戏的帮助

        区段7:

        区段8:系统指令

        区段9:内核内部的指令。

man cat

man ls

info

快捷键

Ctrl+c :停止当前的程序(系统会向程序发送一个 SIGINT 信号,在默认设置下,SIGINT信号会导致程序终止。)

Ctrl+d:类似输入exit 命令,退出某某进程,窗口

ctrl + shift + = 放大终端窗口的字体显示

ctrl + - 缩小终端窗口的字体显示

清屏:ctrl+l或者clear
补全命令:tab,按一下或者两下

指令

date 

hwclock(显示和设置时间)

hwclock  -r     读取硬件时钟并打印结果

hwclock   --show()      硬件时间

hwclock -w                系统时间同步给硬件时间

hwclock    -s                  硬件时间同步到系统时间

只写cal查看当前月份日历

查看指定月份2024年10月份日历

查看2023年整年的日历

timedatectl(设置系统时间)

timedatectl  选项  参数

设置所在时区

timedatectl set-timezone Asia/Shanghai

- 标记位——文件类型

- 普通文件

d 目录文件

l 链接文件

        软连接                硬链接

        文件:元数据 inode (索引节点----唯一标识) 类比身份证号   

                        硬链接  hard link 和软连接(符号链接 symbolic link)

硬链接特性:1.必须有原始文件

                      2.在同一个文件系统里面创建

                      3.不能对目录进行创建

软连接特点:

                      1.对不存在的目录和文件进行创建

                       2.对存在的目录和文件进行创建

                      3.可以快文件系统创建的

                      4.删除软连接的时候对原文件没有任何影响

ln  -s 原始文件  软连接文件

                   用户数据

B  block  块设备文件 类似硬盘

C  字符设备文件  

P  (pipiline)管道设备文件

S  (sockect)套接字文件  IP地址+端口号

-       rw-       ---       ---        . 1 root root 1073 Oct 21 09:52 anaconda-ks.cfg

        A          B        C         D

A :该文件的所有者对文件的权限。

B :该文件的所属组的对文件的权限。

C :其他人对文件的权限。

D :扩展权限

d        rwx        r-x        r-x        .

r : 读取的权限

w:对文件内容进行更改的权限

x:对文件的执行权限。

-:没有任何权限

drwxr-xr-x.   3 root root   19 Oct 21 09:51 home
home是目录文件,所有者 (root) 对它具有完全的权限,所属组的用户和其他用户都可以读取和执行该目录,但只有所有者才能对其进行写操作。

lrwxrwxrwx.   1 root root    7 Aug 10  2021 lib -> usr/lib
sbin是软连接文件,所有者 (root)、所属组用户和其他用户对它具有读、写和执行权限。它连接到名为 “usr/sbin” 的目录(或文件)。

第二列:硬链接的引用次数

第三列:该文件的所有者

第四列:当前文件的所属组

Oct 21 09:52 :修改时间     

 Access:访问时间(用户读取文件内容的时间)      Modify:修改时间(修改文件内容的时间)

change :改变时间(用来标记文件元数据发生变化的时候)文件名,文件大小,文件类型等。

Birth :创建时间(创建文件的时间)。

File:名字      

Touch修改文件的时间戳

如果touch一个已经存在的文件,则会把它除了创建时间之外的剩下时间全部进行修改。

如果touch一个不存在的文件,则会创建该文件

 touch [OPTION]... FILE...

3.从命令行管理文件

1.创建
Mkdir(make directory)(创建目录)

格式:mkdir [OPTION]... DIRECTORY...

-p:创建目录时,如果该目录的父目录不存在则先创建父目录
-v:显示创建了哪些文件

级联目录:

Tree目录:

目录:路径映射的文件

Rm

 rm - remove files or directories

rm [OPTION]... [FILE]...

alias:起别名的方法

加上斜杠无-i的选项,防止删除错误

-f, --force
              ignore nonexistent files and arguments, never prompt

忽略提示信息强制删除

联合使用:-f -r 强行删除—— -

删除根目录!!!建议大家别轻易尝试哦!!!

暂时就更新到这里,请看下回讲解!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值