初识linux基本命令+计算机基础科普

P3
在这里插入图片描述P4
在这里插入图片描述
CPU是如何工作工作的?加功的数据在哪里?是如何寻址的?
CPU的存储器是存储数据的
内存的最小存储单元是---8bit是一个字节。   数字编址
内存的编址必须容纳所有的地址空间 
 
控制器寻址

32位CPU指的是数据存储能力一次是32位二进制。也是就是CPU之前有32位并行的线,每根线只有两种状态,也就是0或者1,有电压无电压,32根线表示有2的32次方种变化,也就是能支持2的32次方个寻址。

在这里插入图片描述

在这里插入图片描述
k=1024
所以32位CPU最多使用4G内存

所以第一个存储单元就是000000.....000  一共32个0
第二个存储单元的地址就是00....10

运行内存

因为CPU只能跟内存打交道

程序是由  指令+数据 组成 为了运行  
1.程序员写好程序放在外部程序,如硬盘、想要运行必须装入程序和数据内存。
2.比如指令在1,2,3个内存单元   数据在678
首先运算器需要从内存中取出数据、
比如加法运算。

如果第一条指令数据还需要 还需要进一步加功 下一条指令在哪里 需要用到CPU的寄存器  
当然程序有很多执行方式
在这里插入图片描述
小框是PC 是一种指针
在这里插入图片描述比如需要第四个存储单元内和第八个存储单元数据做加法运算
都需要从内存种首先取出数据 然后再运算

CPU的缓存越大越贵,比内存快的多
通常情况下CPU的缓存很小  缓存越大 命中越高

CPU是由运算器,控制器,寄存器和缓存组成。

CPU快,内存慢,所以有缓存层的加入

P6  安装虚拟机
在这里插入图片描述
在这里插入图片描述虚拟机名称可以随便起名字
位置表示的是虚拟机的硬盘 因为是虚拟的硬盘 所以需要创建一个目录虚拟硬盘 硬盘支持稀疏格式  假装是120G 实际只有几兆  
硬盘是模拟的
在这里插入图片描述虚拟的有2个CPU 每个CPU有2he 注意不能大于物理机的数量
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述点击可以移除不需要的,添加需要的

在这里插入图片描述
镜像选择iso 还有清华大学 去下载镜像到本地  导入镜像就可以了
在这里插入图片描述

在这里插入图片描述下载需要的即可。
在这里插入图片描述在这里插入图片描述

在这里插入图片描述切换到桌面环境
在这里插入图片描述设置为中文
在这里插入图片描述

在这里插入图片描述

安装centos7

只看安装
桥接方式看下面的这个链接

VMware虚拟机下Centos7 桥接方式网络配置完整步骤

在这里插入图片描述在这里插入图片描述在这里插入图片描述

应用程序: 有一个典型的是shell程序 能在终端上给用户提供和主机交互的接口,通过该接口程序用户可以管理启动其他程序
library:真正打交道的是 库library,有些程序是不通过库来实现
内核 :不会与其打交道,是管控整个硬件和运行在硬件之上程序的组成部分
硬件
在这里插入图片描述
库其实就是公共功能性程序,需要多个程序引用,不需要重复书写。被有程序入口的程序调用执行,多数都在/Lib目录下

在这里插入图片描述
在这里插入图片描述
为什么执行ls就会出现呢
会自动在/bin,/usr/bin等下去寻找ls的可执行ls文件 自左而右的在目录下寻找ls命令 外部命令才有可执行文件 比如ls
内部命令没有的 比如cd
在这里插入图片描述
如何判断是内部还是外部命令 使用type
在这里插入图片描述
选项
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
帮助命令
在这里插入图片描述
在这里插入图片描述在这里插入图片描述其执行过程是查询数据库进行的
在这里插入图片描述
安装新的命令可以手动更新数据库makewhatis

在这里插入图片描述练习
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述站点 域名,别加www.
在这里插入图片描述

网络模式的区别

科普:网络模式的选择

桥接模式适用于ip地址不缺的情况 虚拟机和主机的ip再同一个网段 互相可以ping通 如果主机可以ping通虚拟机 虚拟机ping不通主机的话 说明主机开启了防火墙 关掉即可。可以创建一个虚拟机尝试下 ip和主机在一个网段

vmware 桥接 net 区别

VMnet0:用于虚拟桥接网络下的虚拟交换机

VMnet1:用于虚拟Host-Only网络下的虚拟交换机

VMnet8:用于虚拟NAT网络下的虚拟交换机

VMware NetworkAdepter VMnet1:Host用于与Host-Only虚拟网络进行通信的虚拟网卡

VMware NetworkAdepter VMnet8:Host用于与NAT虚拟网络进行通信的虚拟网卡

在这里插入图片描述在这里插入图片描述
虚拟机如果选择桥接 
在这里插入图片描述修改ip数据包包头的网络地址信息,将ip地址空间重新映射到另一组地址的方法。
虚拟网卡(中间这个芯片一样的东西给i),虚拟机,dhcp server,虚拟nat设备都链接在虚拟交换即VMNet8上面。

虚拟网卡vmware network adapter vmnet8只是为了保证主机和虚拟机之间的通信。
虚拟机的联网靠的是虚拟NAT设备。

在这里插入图片描述
点击DHCP 设置可以看到虚拟的DHCP server分配的ip地址段。
在这里插入图片描述打开电脑的网络和Internet设置
-更改适配器选项
可以看到有vmware默认提供的虚拟网卡VMnet8
即nat模式对应的虚拟网卡、
在这里插入图片描述

状态--查看详细信息
在这里插入图片描述在这里插入图片描述

之前的虚拟机时桥接模式,更改位NAT模式
在这里插入图片描述
重新查看ip地址在这里插入图片描述同理再把另一个虚拟机也改为nat模式 
在这里插入图片描述
在这里插入图片描述因为都是在同一个虚拟交换即vnet8上面,并且ip在一个地址段。
在这里插入图片描述
网络正常

在物理机Ping虚拟机
在这里插入图片描述

总结:
解决了本地地址稀缺的问题,同时又希望虚拟机联网的需求,所以个人安装的时候可以使用nat方式。

科普nat模式:
1.dns设置
在这里插入图片描述
可以在dns设置处设置在这里插入图片描述
自动检测dns服务器
在这里插入图片描述或者手动指定。
2、NAT网关设置
在这里插入图片描述也可以自己设置网关ip
同时也需要在虚拟机中设置网关Ip位为这里指定的网关ip

3、DHCP server设置
之前的ip是地址池自动获取。
可以手工分配 对网卡进行配置。
在这里插入图片描述

分配好的
手工配置--编辑网卡配置文件
在这里插入图片描述
默认的
在这里插入图片描述在这里插入图片描述在这里插入图片描述

在这里插入图片描述## HOST ONLY 模式

在Host-Only模式下,虚拟网络是一个全封闭的网络,它唯一能够访问的就是主机。其实Host-Only网络和NAT网络很相似,不同的地方就是Host-Only网络没有NAT服务,所以虚拟网络不能连接到Internet。主机和虚拟机之间的通信是通过VMware NetworkAdepter VMnet1虚拟网卡来实现的。

Host-Only模式:
同NAT一样,VMware Network AdepterVMnet1虚拟网卡的IP地址也是VMware系统指定的,同时生成的虚拟DHCP服务器和虚拟网卡的IP地址位于同一网段,但和物理网卡的IP地址不在同一网段。

Host-Only虚拟网卡IP地址
物理网卡IP地址
Host-Only的宗旨就是建立一个与外界隔绝的内部网络,来提高内网的安全性。这个功能或许对普通用户来说没有多大意义,但大型服务商会常常利用这个功能。如果你想为VMnet1网段提供路由功能,那就需要使用RRAS,而不能使用XP或2000的ICS,因为ICS会把内网的IP地址改为192.168.0.1,但虚拟机是不会给VMnet1虚拟网卡分配这个地址的,那么主机和虚拟机之间就不能通信了。

在这里插入图片描述在这里插入图片描述只是去掉了NAT联网设备而已。

物理主机提供虚拟网卡和虚拟交换机 保证物理机在虚拟机在同一个内网下。
保证物理主机可以通过虚拟网卡访问到虚拟主机
虚拟机不能访问物理主机、

在这里插入图片描述
仅主机模式下是138网段
在这里插入图片描述虚拟机之间可以互相ping通
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

可以看到虚拟机不可以ping通物理主机和网络
到物理主机中尝试
在这里插入图片描述
在这种情况下如果需要虚拟机联网
需要物理机网卡共享给虚拟网卡
在这里插入图片描述

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

查看vmnet1的ip地址
在这里插入图片描述地址不符合 本来是138更改
在这里插入图片描述在这里插入图片描述
在这里插入图片描述重新回到虚拟机测试

在这里插入图片描述
在这里插入图片描述

可以看到物理主机将网络共享给vmnet1时候,虚拟机可以访问物理主机和网络了。

[root@localhost Desktop]# touch WESTOS_class{1..2}_linux{1..6} redhat_version{1..8} 

建立了12个文件初夏

[root@localhost Desktop]# mkdir study /tmp/VERSION SINGLE /DOUBLE CLASS1 CLASS2   confdir

在这里插入图片描述

[root@localhost Desktop]# mv WESTOS_class{1..2}_linux{1..6} study

在这里插入图片描述

[root@localhost Desktop]# mv redhat_version{1..8} /tmp/VERSION

在这里插入图片描述

[root@localhost Desktop]# CP /tmp/VERSION/redhat_version{1,3,5,7} SINGLE

在这里插入图片描述

[root@localhost Desktop]# CP /tmp/VERSION/redhat_version{2,4,6,8} /DOUBLE

在这里插入图片描述

[root@localhost Desktop]# mv  study/WESTOS_class[1]_linux{1..6} CLASS1

在这里插入图片描述

[root@localhost Desktop]# mv  study/WESTOS_class[2]_linux{1..6} CLASS2

在这里插入图片描述

[root@localhost Desktop]# cp /etc/*[[:alpha:][:digit:]]*.conf confdir

在这里插入图片描述

[root@localhost Desktop]# rm -fr *

常见的设置:

1 .虚拟机管理

[kiosk@foundation0 Desktop]$ rht-vmctl    start     	desktop 		##打开虚拟机	
[kiosk@foundation0 Desktop]$ rht-vmctl    view    	desktop		显示虚拟机 
[kiosk@foundation0 Desktop]$ rht-vmctl    poweroff    	desktop 		##关闭虚拟机
Powering off desktop..
[kiosk@foundation0 Desktop]$ rht-vmctl 	  reset 	desktop		##重置虚拟机,当虚拟机出现任何解决不了的问题时来用此命令还原
[kiosk@foundation0 Desktop]$ rht-vmctl view desktop			##当虚拟机没有开启时不能直接显示 ,可以用开启虚拟机的方式解决
Error: unable to view desktop - not currently running.
[kiosk@foundation0 Desktop]$ rht-vmctl start desktop 			##当虚拟机已经运行时不能再次运行
Error: desktop not started (is already running)ht-vmctl

在这里插入图片描述

在这里插入图片描述

补充:rht-vmctl status desktop ##查看虚拟机的运行状态

manualrht-vmctl(翻译):redhat virtual machine controller

细节:终端字体变大(ctrl+shift+“+”–>保护眼睛);小( ctrl+"-")

(2)语言调整

需求:系统的创建如果没有设置字体,则无法输入中文,因此必须设置

1.Application ----->System Tools -----> Settings ------> Rejion&language -----> Input source ---->+ ---->Chinese ---->Pinyin
或者gnome-control-center —>命令控制中心—>命令行的形式进入[Settings]
在这里插入图片描述
在这里插入图片描述

(3)设置终端快捷键的开启

[Applications]----->[System Tools]---->[settings]------>[keyboard]---->[Shortcuts]---->+---->Name:随意  Command:gnome-terminal(开启终端的命令,最好是绝对路径)--->点击diasbled---->选则对应的快捷键(eg:ctrl+t)来替代,然后测试!

例如:
填入快捷键名称到name选项(以后按这个键就会开启shell,常用F12
填入命令gnome-terminal到command中
点击disable输入快捷键
在这里插入图片描述
在这里插入图片描述

常见的命令:

(4)命令行提示符

[kiosk@foundation1 ~]$:用户名(当前打开shell的用户)+分隔符+机器名(默认主机名的简写形式)+当前的工作目录 身份提示符

身份提示符:#表示超级用户(root),$表示普通用户

行提示符:光标闪动的地方
"[kiosk@foundation1 ~]$"这一部分修改方式!
变量:命令行提示符。。

[root@foundation63 ~]# echo $PS1    ##$PS1就是每次回车命令行提示符麻
[\u@\h \W]\$
U就是当前用户,h是短主机名,空格,W就是工作目录PWD的最里面的目录,w就是全路径,可以通过PS1=[\u@\h \w]\$ 进行更改
’

[root@foundation63 ~]# hostname 
foundation63.ilt.example.com
[root@foundation63 ~]# hostname -s   ##其中h就是短主机名
foundation63

命令行输入:vim ~/.bashrc
进入修改环境个性化设置文件bashrc

shift + g 到文件末尾加入一行内容:export PS1='[\u@\h \w]\$: '       ##注意要用单引号!
如现在在用的(提示符变黄):
export PS1='\e[33;1m[\w]\e[0m\$: '

具体环境变量PS1中的属性下文中有显示,设置完毕后保存退出。

命令行输入:source ~/.bashrc
执行刚修改的初始化文件,使之立即生效



1. 设置ps1变量的显示
    PS1(是数字1而不是字母l),每个版本bash的PS1变量内的特殊符号可能有些小的差异,你可以先man bash 一下。下面是FC4环境下默认的特殊符号所代表的意义:
    \d :代表日期,格式为weekday month date,例如:"Mon Aug 1"
    \H :完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux
    \h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略
    \t :显示时间为24小时格式,如:HH:MM:SS
    \T :显示时间为12小时格式
    \A :显示时间为24小时格式:HH:MM
    \u :当前用户的账号名称
    \v :BASH的版本信息
    \w :完整的工作目录名称。家目录会以 ~代替
    \W :利用basename取得工作目录名称,所以只会列出最后一个目录
    \# :下达的第几个命令
    \$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$
    默认的PS1内容为: PS1='[\u@\h \W]\$ ' ,所以默认的提示符就是: [root@linux ~]#。

在这里插入图片描述

(5)控制台的开启

图形界面和非图形界面二者之间的切换

应用:可以解决死机的问题,运维人员通常在此黑窗口执行命令(电脑可能不配置显卡)
进入虚拟控制台,在linux系统中一共有五个虚拟控制台,虚拟控制台之间彼此独立,分别为	Ctrl+Alt+F(2~6) ;
当由虚拟控制台回到图形界面用Ctrl+Alt+F(1|7)  ##注意:前提是图形界面是开启的。

Ctrl+Alt+F(1|7) ------>进入图形界面桌面(纯文本)
Ctrl+Alt+F(2~6) ------->进入虚拟控制台(黑窗口,终端),用户名和密码的登陆!

补充:运行级别

init 0        -->关机
 
init 1        -->单用户模式
 
init [2-4]    -->无图模式(常用 init 3),进入虚拟控制台(黑窗口,终端)
 
init 5        -->Linux的X11图形界面,进入图形界面桌面(纯文本)
 
init 6        -->重启

应用:界面卡死的流程!

如下:就是进入了虚拟控制台
在这里插入图片描述

(6)屏幕管理

ctrl+L--->(终端命令的清屏)

(7)在当前终端中,通过快捷键打开其它终端

ctrl+shift+t----->打开终端显示在同一个界面显示

ctrl+shift+n---->分页打开一个新的终端

注意:以上两种方式的前提必须是已经打开一个terminal!

小科普:有时候不小心划动了什么所有的工作界面都消失了,但是显示都在运行中,这时候可以ctrl+alt+上|下来把刚才的工作界面全部恢复出来。

(8)命令参数

-参数                ##单词缩写
--参数               ##单词的全拼

(9)命令的帮助

   1)查看命令用途
whatis 命令    ##查看命令的用途

   2)查看命令的用法(基本)
命令 --help    ##查看命令的基本用法,适用于多数命令
[]          ##标示选项可以加也可以不加
...         ##标示选项加入的个数任意
<>       ##标示选项是必须要加入的
Userage:    ##标示命令用法
Opetions:    ##对参数的作用做说明

[root@foundation63 ~]# date --help 
Usage: date [OPTION]... [+FORMAT]                      #	这里有基本语法
  or:  date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]     #	这是设置时间的语法

FORMAT controls the output.  Interpreted sequences are:

  %%   a literal %
  %a   locale's abbreviated weekday name (e.g., Sun)
  %A   locale's full weekday name (e.g., Sunday)
  .........................................
  举例:
  [root@foundation63 ~]# date +%Y%m%d
  20190502

3)man查看命令或文件的说说明手册(更详细!)

   man:manual(手册)

进入man的使用方法:

上下键                             ##以行为单位递进,向上或向下一行
pageup|pagedown         ##按页查询,向下一个屏幕或者向上一个屏幕
d|u                                    ##向下或者向上半个屏幕
G|gg                                 ##跳转页面到man最下面或最上面
/关键字                            ##搜索关键字,关键字会高亮显示,搜索方向:n向下匹配,N向上
:q                                   ##退出帮助页面

**(10)退出终端:exit | ctrl+d

(11)退出当前用户:logout

(12)什么是shell?**

  Linux严格意义上是一个操作系统,我们称为核心,但我们一般的用户是不能直接使用核心的,
  而是通过外壳程序。也就是shell,对比Windows,图形界面就是外壳程序。shell的简单定义就
  是命令行解释器,功能是将使用者的命令翻译给核心处理,同时将核心处理的结果翻译给使用者。可以看*出shell主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。*

在这里插入图片描述这是我们就可以理解为什么说外壳程序包裹着我们的操作系统,外壳程序仅仅对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。

原文链接:https://blog.csdn.net/a15929748502/article/details/82623257

	传统意义上的shell指的是命令行式的shell,以后如果不特别注明,shell是指命令行式的shell。
	文字操作系统与外部最主要的接口就叫做shell。shell是操作系统最外面的一层。shell管理你与操作系统之间的交互:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果。
	shell提供了你与操作系统之间通讯的方式。这种通讯可以以交互方式(从键盘输入,并且可以立即得到响应),或者以shell script(非交互)方式执行。shell script是放在文件中的一串shell和操作系统命令,它们可以被重复使用。本质上,shell script是命令行命令简单的组合到一个文件里面。
	Shell基本上是一个命令解释器,类似于DOS下的command。它接收用户命令(如ls等),然后调用相应的应用程序。较为通用的shell有标准的Bourne shell (sh)和C shell (csh)。
	交互式shell和非交互式shell
	交互式模式就是shell等待你的输入,并且执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,shell也终止了。
	shell也可以运行在另外一种模式:非交互式模式。在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾,shell也就终止了。

(13)什么是内核(kernal)?

内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。内核的分类可分为单内核和双内核以及微内核。严格地说,内核并不是计算机系统中必要的组成部分。

  • 内核,是一个操作系统的核心。是基于硬件的第一层软件扩充,提供操作系统的最基本的功能,是操作系统工作的基础,它负责管理系统的进程、内存、内核体系结构设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。
    [2]
    现代操作系统设计中,为减少系统本身的开销,往往将一些与硬件紧密相关的(如中断处理程序、设备驱动程序等)、基本的、公共的、运行频率较高的模块(如时钟管理、进程调度等)以及关键性数据结构独立开来,使之常驻内存,并对他们进行保护。通常把这一部分称之为操作系统的内核。

(14)linux系统的文件架构

linux系统是一个倒树型结构,最大的目录是/,叫做根目录
通俗的说:linux的结构是一棵树,根目录"/"是根,其他目录和文件都挂在树上(总目录)
windows系统中的文件夹 , 类似linux系统中的目录;二者的文件含义一样
其实linux系统就是对文件的管理

/bin 系统有很多放置可执行文件的目录,但/bin比较特殊。因为/bin放置的是在
单人维护模式下还能够被操作的指令。 在/bin下面的指令可以被root与一般
帐号所使用,主要有:cat, chmod, chown, date, mv, mkdir, cp, bash等等常
用的指令。

/boot 这个目录主要在放置开机会使用到的文件,包括Linux核心文件以及开机菜
单与开机所需配置文件等等。
Linux kernel常用的文件名为:vmlinuz,如果
使用的是grub2这个开机管理程序, 则还会存在/boot/grub2/这个目录喔!

/dev 在Linux系统上*,任何设备与周边设备都是以文件的型态存在于这个目录当
中的。* 你只要通过存取这个目录下面的某个文件,就等于存取某个设备啰
~ 比要重要的文件有/dev/null, /dev/zero, /dev/tty, /dev/loop, /dev/sd等等

/etc 系统主要的配置文件几乎都放置在这个目录内,例如人员的帐号密码档、
各种服务的启始档等等。一般来说,这个目录下的各文件属性是可以让一般
使用者查阅的, 但是只有root有权力修改.另外 FHS 还规范几个重要的目录
最好要存在 /etc/ 目录下喔:/etc/opt(必要):这个目录在放置第三方协力
软件 /opt 的相关配置文件

/lib 系统的函数库非常的多,而/lib放置的则是在开机时会用到的函数库, 以及
在/bin或/sbin下面的指令会调用的函数库而已

/media media是“媒体”的英文这个/media下面放置的就是可移除的设
备啦! 包括软盘、光盘、DVD等等设备都暂时挂载于此。

/mnt 如果你想要暂时挂载某些额外的设备,一般建议你可以放置到这个目录中。
就用来暂时挂载用了。

/opt 这个是给第三方协力软件放置的目录。如果你想要自行安装额外的软件(非原本的distribution提供的),那么也能够将你的软件安装到这里来。

/run FHS 规定系统开机后所产生的各项信息应该要放置/run 下面。 由于 /run 可以使用内存来仿真,因此性能上会好很多!

/sbin下面的为开机过程中所需要的,里面包括了开机、修复、还原系统所需要的指令。 至于某些服务器软件程序,一般则放置到/usr/sbin/当中。至于本机自行安装的软件所产生的系统可执行文件(system binary), 则放置到/usr/local/sbin/当中了。常见的指令包括:fdisk, fsck, ifconfig, mkfs等等。

/srv srv可以视为“service”的缩写,是一些网络服务启动之后,这些服务所需要
取用的数据目录。 常见的服务例如WWW, FTP等等。举例来说,WWW服
务器需要的网页数据就可以放置在/srv/www/里面。 不过,系统的服务数据
如果尚未要提供给网际网络任何人浏览的话,默认还是建议放置到 /var/lib
下面即可。

/tmp 这是让一般使用者或者是正在执行的程序暂时放置文件的地方。 这个目录
是任何人都能够存取的,所以你需要定期的清理一下。当然,重要数据不可
放置在此目录啊!

第二部份:FHS建议可以存在的目录
/home 这是系统默认的使用者主文件夹(home directory)。在你新增一个一般使
用者帐号时, 默认的使用者主文件夹都会规范到这里来。比较重要的是,
主文件夹有两种代号喔:~:代表目前这个使用者的主文件夹 ~kiosk :则
代表 kiosk 的主文件夹!

/lib 用来存放与 /lib 不同的格式的二进制函数库,例如支持 64 位的 /lib64 函数
库等

/root 系统管理员(root)的主文件夹。之所以放在这里,是因为如果进入单人维
护模式而仅挂载根目录时, 该目录就能够拥有root的主文件夹,所以我们会
希望root的主文件夹与根目录放置在同一个分区中。

/proc 这个目录本身是一个“虚拟文件系统(virtual filesystem)”喔!他放置的数
据都是在内存当中,
例如系统核心、行程信息(process)、周边设备的
状态及网络状态等等。因为这个目录下的数据都是在内存当中, 所以本身
不占任何硬盘空间啊!

/sys 这个目录其实跟/proc非常类似,也是一个虚拟的文件系统,主要也是记录
核心与系统硬件信息较相关的信息。 包括目前已载入的核心模块与核心侦
测到的硬件设备信息等等。这个目录同样不占硬盘容量喔!

FHS结构(面试)

linux是一个倒树型结构,最大的目录名称叫“/” (根目录)

#####linux系统中的二级目录#####

/bin         ##二进制可执行文件,系统"常规"命令
/boot        ##启动目录,存放系统开机启动文件,内核,初始化程序(文件)
/dev         ##系统设备管理文件-->光驱、内存条、硬盘(看得见模的着的)
/etc         ##大多数系统配置文件存放路径->系统的运行方式-->案例演示:用户名的改变
/home/子目录  ##普通用户家目录-->普通用户一进入bash中的默认位置
/lib         ##函数库-->命令运行所必须的函数!
/lib64/      ##64位函数库
/media       ##临时挂载点-->    光驱(不常用)
/mnt         ##临时挂载点-->一般是手动挂载点(redhat的镜像文件的挂载-->软件的安装)
/run         ##自动临时设备挂载点-->U盘-->(/run/media/用户/U盘的名字/)
/opt         ##第三方软件安装路径
/proc        ##系统硬件信息和系统"进程信息"(开启一个软件-->资源管理器的id-->此目录查询子目录)
/root        ##超级用户家目录
/sbin        ##系统"管理"命令,通常只有root可以执行(useradd)
/srv         ##系统数据目录
/var         ##系统数据目录,经藏变化的数据文件。比如日志等。
/sys         ##内核相关数据
/tmp         ##临时文件产生目录(一般关机前最好删除)
/usr/        ##用户相关信息数据(unix system resource)

/usr里面放置的数据属于可分享的与不可变动的(shareable,static), 如果你知道如何通过网络进行分区的挂载(例如NFS服务器),那么/usr确实可以分享给区域网络内的其他主机来使用喔!
usr是Unix Software Resource的缩写, 也就是“Unix操作系统软件资源”所放置的目录,而不是使用者的数据

  • /usr/bin/ 所有一般用户能够使用的指令都放在这里! 不是系统启动就需要用到的
  • /usr/local/ 系统管理员在本机自行安装自己下载的软件。用来存储本地应用程序、即第三方程序

/var 的意义与内容:
如果/usr是安装时会占用较大硬盘容量的目录,那么/var就是在系统运行后才会渐渐占用硬盘容量的目录

  • /var/cache/ 应用程序本身运行过程中会产生的一些暂存盘;
  • /var/lib/程序本身执行的过程中,需要使用到的数据文件放置的目录。在此目录下 各自的软件应该要有各自的目录。 举例来说,MySQL的数据库放置到/var/lib/mysql/
  • /var/log/ 重要到不行!这是登录文件放置的目录!里面比较重要的文件
    如/var/log/messages
    在这里插入图片描述

在这里插入图片描述在这里插入图片描述
alias
在这里插入图片描述想要永久有效–需要在环境变量定义

which查看命令完整路径
在这里插入图片描述

在这里插入图片描述

whereis 比which更详细 有手册页
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述history
在这里插入图片描述

在这里插入图片描述

登出的时候文件才会保存命令,和history查的不一样
该文件在对应用户的家目录下的.bash_history 只保留$HISTSIZE条命令

history
在这里插入图片描述
删除第27行命令
在这里插入图片描述
执行第24行的命令
在这里插入图片描述
有意思!!!!!!!!!
在这里插入图片描述
就是按下ESC键 然后按. 就可以直接使用上一个参数哦 使用!$也可以
在这里插入图片描述
在这里插入图片描述

(15)对linux系统中的文件进行管理

1.文件建立

touch filename
在这里插入图片描述
touch filename

查看文件的时间戳:stat filename
Access: 2019-07-27 20:45:32.203353882 +0800------------------->文件最后一次被读取的时间(access time---->cat时变化)
Modify: 2019-07-27 20:45:32.220354009 +0800------------------->文件最后一次内容被修改的时间(modify time)
Change: 2019-07-27 20:45:32.233354106 +0800------------------->文件属性最后一次发生变化时间(名字/权限属性等–status time)

2.目录建立

mkdir	directory
mkdir -p dir1/dir2/dir3
-p建立递归目录时,当上层目录不存在自动建立	

在这里插入图片描述
在这里插入图片描述
rmdir只能删除空目录
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述

在这里插入图片描述在这里插入图片描述
快捷键~~

在这里插入图片描述
more,less
more 分屏查看
less

在这里插入图片描述head -n 20 xxx == head -20 xxx 都是查看前二十行文件内容

stat 显示文本状态
在这里插入图片描述

在这里插入图片描述元数据:描述属性信息的 上述查询的都是元数据
数据:文本的内容

更改是数据更改,数据改变了元数据也一定改变
改动是元数据更改

3.文件删除

rm file
rm -f file	标示强制删除不提示
rm -fr * 删除全部

在这里插入图片描述
.目录删除

rm -fr dir
在这里插入图片描述

4.vim

vim file -->按[i]进入insert模式-->书写内容-->按[esc]退出insert模式-->:wq退出保存

说明:如果直接输入vim file,file不存在,则file文件会自动建立;vim不能编辑目录

####vim异常退出######

当vim异常退出时会生成.file.swp文件
当再次打开此文件时会出现以下情况:
         [O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
    只读打开	          继续编辑        恢复数据    删除swap文件  退出    退出
无论按[O] (E) (R) (Q) (A) 任何一个都不会删除.swp文件
那么再次打开hello文件是还会出现以上界面直到按(D),.swp文件被删除
vim恢复正常工作

或者:直接rm -fr .file.swp

[O]pen Read-Only,只读打开 
[E]dit anyway, 继续编辑
[R]ecover, 恢复数据  
[D]elete it,删除file.swp文件 
[Q]uit,退出
[A]bort;退出
只有按下D,swp文件才会被删除,vim才会正常工作
vim编辑状态需要在英文输入法下才可以,否则不起作用

在这里插入图片描述

5.文件的复制

cp 源文件 目的地文件
在这里插入图片描述
file复制到file1中,且file1原内容被覆盖。
在这里插入图片描述下面讲解多源复制
在这里插入图片描述

在这里插入图片描述
复制的时候 如果目标目录下没有 直接创建一个相同的log目录 并把log目录下的所有文件也拷贝过去–递归复制目录

解释一下-d 不跟踪文件链接所指向的源文件
如果目标是一个软连接 拷贝软连接 cp xx软连接 xx目录下 会发现拷贝的是有内容的
如果cp -d xx xx目录下 会发现文件是黑色的 -d表示不去询问文件的源文件 因为追溯不到源文件 所以找个文件就是黑色的

-a 表示拷贝文件的所有属性
也可以拷贝具体的属性 查看帮助文档啦
在这里插入图片描述

cp -r 源文目录 目的地目录 ##不会询问
在这里插入图片描述

把westos复制到wes中.
cp  	源文件1 源文件2    目的地目录	##目的地目录必须存在
cp -r 	源目录1 源目录2	   目的地目录	##目的地目录必须存在

若两个文件之间进行复制,后者的内容会被前者所覆盖
若两个目录之间进行复制,必须使用cp -r dir dir 命令

在这里插入图片描述

6.文件移动

在这里插入图片描述

mv 源文件 目的地文件 ##重命名
在这里插入图片描述
file1内容被覆盖。相当于重命名。

mv 源目录 目的地目录 不要加-r 和cp的区别
在这里插入图片描述
移动123到wes中,且桌面上没有文件123了。
在这里插入图片描述

rm

在这里插入图片描述

7.文件查看

cat file ##查看文件的内容
在这里插入图片描述
cat -b file ##-b显示行号不包含空行
cat -n file ##-n显示行号包含空行
在这里插入图片描述
head file ##查看文件前10行
head -n 3 file ##查看文件前3行
tail file ##查看文件后10行
tail -n 3 file ##查看文件后3行
在这里插入图片描述

8.关于路径的命令

1.显示路径
pwd
在这里插入图片描述

9.切换路径

cd 目录名称	##进入到指定目录中

在这里插入图片描述
Desktop–>wes
cd - ##当前目录和当前目录值前所在目录之间的切换
在这里插入图片描述
wes–>Desktop
cd ~ ##进入当前用户家目录
在这里插入图片描述
cd ~user ##进入user家目录
cd … ##进入当前目录的上级目录
cd . ##进入当前目录

注意:‘.’场景,自己经历过的,创建了一个“~”目录,然后竟然将家目录删除!

10.查看

ls -l	file	##文件属性

在这里插入图片描述
ls dir ##目录中保函的内容
ls -d dir ##列出目录本身
ls -l filename|directory ##列出文件或目录里面内容的属性(inode 文件被记录的次数)
ls -a dir ##所有文件包含隐藏的
ls -S dir ##查看并且按照大小排序
ls -s file|dir##查看文件大小
ls -R ##递归显示目录中的内容(子目录的内容)—类似于tree命令
1

11.文件查看

cat		##输出文件全部内容
less		##分页浏览
head 	file	##查看文件前10行
head -n 3 file	##查看文件前3行
tail 	file	##查看文件后10行
tail -n 3 file	##查看文件后3行
tail -f	file	##监控文件后10行内容的变化

12.文件大小统计

wc
wc -l	##行数
wc -w	##单词数
wc -m	##字符数
wc -c	##字节数

在这里插入图片描述
file文件有8行,7个单词,59个字符。
在这里插入图片描述

13.系统中历史的调用

history ##查看历史
!数字 ##调用此行历史比如"!5"时执行历史中地5条命令
!test ##执行以test关键字开头的最近一条历史
ctrl +r +关键字 ##调用历史中最近一条含有此关键字的历史
示例:
(reverse-i-search)':-s (reverse-i-search)-s’: ls -s 1 ##会调用最近一条命令中含有test
在这里插入图片描述

14.在系统中获得帮助

1.查看命令用途
whatis 命令 ##查看命令的用途

2.查看命令的用法
命令 --help ##查看命令的基本用法,适用于多数命令
在这里插入图片描述

15.变量

在这里插入图片描述

16.系统中的通用配置符号

*   任意字符
? 匹配单个字符(1位)   只能是1位!
 [[:alpha:]]	##单个字母	
[[:lower:]]	##单个小写字母
[[:upper:]]	##单个大写字母
[[:digit:]]	##单个数字
[[:punct:]]	##单个符号(特殊--@#&一类)
[[:space:]]	##单个空格
[[:alnum:]]	##单个数字或字母
[[:punct:][:upper:]]	##单个符号或单个大写字母
[1-9]		#1位,这位是1-9的任意数字
[!3-5]		#1位,不是3-5的数字
[^3-5]		#1位,不是3-5的数字
[a-z]		#1位,a-z的任意字母   不区分大小写!!!!!!!!
{1..3}		#3个,1 2 3
{1..3}{a..c}     9个--1a 2a 3a 1b 2b 3b 1c 2c 3c----笛卡尔坐标系

在这里插入图片描述

在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
p和a之间不是正常的数字或者字母
在这里插入图片描述
在这里插入图片描述
1.
在这里插入图片描述
2.在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
可能是目录 需要加-r选项
拷贝到目标目录下 所以需要首先创建目标目录

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
删除中间是大写字母的
在这里插入图片描述
删除中间是数字或空格的
在这里插入图片描述
复制/etc/中以.conf结尾的文件复制到桌面上。
在这里插入图片描述
移动file1至file6到test目录中
在这里插入图片描述
删除除过file7,file8之外的文件,注意file10是两位数字,不可以被删掉!!!!!!!!!!!
在这里插入图片描述
在这里插入图片描述区别:
在这里插入图片描述
在这里插入图片描述
图1:cp时,精确匹配出错–>因为要求源文件存在,但是实际情况并不存在!

图2:cp时,模糊匹配没有出错—>原因:此源文件不一定存在!

同理:
rm dir2/file{0…3} 会报错
但是结果还是会把dir2目录里面的文件删除掉
rm dir2/file[0…3] 正常删除
思考:如果不想考虑源文件存不存在的问题—>有则删,无则略过!
rm -f dir2/file{0…3}

echo $?
0
不会提示报错

在这里插入图片描述

touch WESTOS_class{1..2}_linux{1..6}
 
mkdir study;mv WESTOS* study/
 
touch redhat_version{1..8}
 
mkdir /mnt/VERSION
 
mv redhat_version* /mnt/VERSION/
 
mkdir SINGLE;cp /mnt/VERSION/redhat_version{1,3,5,7} SINGLE/
 
mkdir DOUBLE;cp /mnt/VERSION/redhat_version{2,4,6,8} DOUBLE/
 
mkdir CLASS{1..2}; mv study/WESTOS_class1_linux? CLASS1/
 
mv study/WESTOS_class2_linux? CLASS2/
 
mkdir confdir;cp /etc/*[[:digit:]]*.conf confdir
 
rm -fr confdir/ study/ /mnt/VERSION/ DOUBLE/ SINGL/CLASS{1..2}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值