linux 学习第二次测验

text.1

1.在CentOS中,检查已经安装ext4文件系统并已经挂载的分区/dev/sad5是否正常,若是故障,可自动修复的命令及参数是什么?

fsck -a /dev/sad5

2.请描述linux的哲学思想。

1.一切皆文件

2.由众多的功能单一的小程序组成,却可以实现复杂任务:

3.使用纯文本文件保存程序的配置信息;

提供用户身份验证

4.尽量不与用户交互

3.如何删除当前目录下超过30天未被访问的文件。

find  -atime +29 | xargs rm -rf

4.写出OSI参考模型各层名称及功能?

1)应用层:为应用程序进程(电子邮件、文件传输)提供网络服务

2)表示层:数据表示:

确保接受系统可以独处该数据、格式化数据、构建数据、协商用于应用层的数据传输语法、提供加密

把人能看懂的信息转化为计算机能看懂的信息

3)会话层:

主机间通信:点到点

建立、管理和终止在应用程序之间的会话

4)传输层

1.确保数据传输的可靠性

2.建立维护和终止虚拟电路

3.通过错误检测和恢复

4.信息流控制来保障可靠性

5.sed ‘/^[[:space:]]\*$/d‘ file

6.如何让history命令记录并显示命令执行的具体时间?

1.临时的显示

[[email protected] ~]# export HISTTIMEFORMAT="%F %T"

[[email protected] ~]# history

1  2017-06-08 19:03:43mount -o remount /mnt/b1

2  2017-06-08 19:03:43quotacheck -cumg /mnt/b1

3  2017-06-08 19:03:43df -h

4  2017-06-08 19:03:43mount

5  2017-06-08 19:03:43ls /mnt/b1

2.永久的显示

编辑/etc/bashrc文件

添加HISTTIMEFORMAT="%F %T"

export HISTTIMEFORMAT

保存并退出,exit退出当前的shell,再次登陆时就可以了

7.简述raid0,raid1,raid5三种工作模式的工作原理及特点。

磁盘阵列的类别:

外接式磁盘阵列:

最长被使用在大型的服务器上,具有热交换的特性,不过这类产品的价格都很贵。

内接式磁盘阵列:

价格便宜,需要较高的安装技术。硬件阵列能够提供在线扩容、动态修改阵列级别、自动数据恢复、驱动器漫游、超高速缓冲等功能。它能提供性能、数据保护、可靠性、可用性和可管理性的解决方案。阵列卡专用的处理单元来进行操作。

利用软件来仿真:

是指通过网络操作系统自身提供的磁盘管理功能将连接的普通SCSI卡上的多块硬盘配置成逻辑盘,组成阵列。软件阵列可以提供数据冗余功能,但是磁盘子系统的性能会有所降低,有的降低幅度还比较大,达30%左右。因此会拖累机器的速度,不适合大数据流量的服务器。

raid0:

条带卷

优点:整倍的提高硬件的容量

缺点:没有冗余容错能力,如果一个磁盘损坏,则所有的数据都无法使用

最少使用两块磁盘

raid1:

镜像卷

优点:具有很好的冗余容错能力

缺点:成本成倍的增加,磁盘的利用率仅为50%,

至少需要两块磁盘

raid5:

分布式奇偶校验得 独立磁盘结构

读、写性能提升

需要计算校验信息

可用空间:(N-1)*min(S1,S2,...)

有容错能力:允许最多1块磁盘损坏

最少磁盘数:3, 3+

8.列举几个linux系统中场常用的压缩和解压缩的命令。

gzip:

gzip, gunzip, zcat - compress or expand files

-d:解压缩

-#:以指定的压缩比进行压缩,1-9,9为最高级;默认6

-c:将压缩结果输出到标准输出,不会对原文件进行压缩;

gzip -c /PATH/TO/FILE > /PATH/TO/COMPRESS_FILE.gz

bzip2:

bzip2, bunzip2 - a block-sorting file compressor, v1.0.4

bzcat - decompresses files to stdout

-d:解压缩

-#:指定压缩比进行压缩,1-9,默认为6

-k:保留原文件不删除,创建新的压缩文件;

xz:

xz, unxz, xzcat - Compress or decompress .xz files

-d:解压缩

-#:指定压缩比进行压缩,1-9,默认为6

-k:保留原文件不删除,创建新的压缩文件;

9./etc/fstab文件中有一行

/dev/volgroup/logvol  / ext3  fefaults  1  1各字段的含义。

/dev/volgroup/logvol  挂载设备

/      挂载点

ext3   文件系统类型

fefaults    指定加载该设备的文件系统是需要使用的特定参数选项,多个参数是由逗隔开来

ro       以只读模式加载该文件系统

sync      不对该设备的写操作进行缓冲处理

user      允许普通用户加载该文件系统

quota      强制在该文件系统上进行磁盘定额限制

1  该选项被”dump”命令使用来检查一个文件系统应该以多快频率进行转储,若不需要就是0;

1  该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,/   文件系统”对应该字段的值应该为1,其他文件系统应该为2。若该文件系统无需在启动

时扫描则设置该字段为0

10.vi编辑器是一个基于模式的全屏编辑器,请描述其具体有哪些工作模式?

末行模式、插入模式、编辑模式,可视化模式、替换模式

11.简述软连接与硬链接有什么区别?

硬链接:

数据块指针指向同一个数据块的文件;

不能跨文件系统创建硬链接

目录文件不能创建硬链接

每次创建硬连接都会增加inode的引用计数

符号链接(软链接)

用于存储被链接文件的路径的文件

可以跨文件系统创建

也可以对目录创建

每次都必须进行两组路径的查找

12.请解释机械式磁盘的以下术语:磁道,扇区,柱面。

磁道:当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道。

柱面:在有多个盘片构成的盘组中,由不同盘片的面,但处于同一半径圆的多个磁道组成的一个圆柱面。

扇区:磁盘上的每个磁道被等分为若干个弧段,这些弧段便是硬盘的扇区(Sector)。硬盘的第一个扇区,叫做引导扇区

13,CentOS系统提供的用户接口有哪些?常用的是什么?

CLI:bash

ksh

sh

GUI:GNOME

KDE

XFACE

14.

在RHEL系或CentOS系统的linux大型版本中,默认的用户账户和组账户认证库和解析库分别是那些文件?并描述

用户账户认证库的每个字段的含义。

用户账户的认证库:/etc/shadow

用户账户的解析库:/etc/passwd

组账户的认证库:/etc/gshadow

组账户的解析库:/etc/group

用户账户的认证库:/etc/shadow:

login name : encrypted password : date of last password change : minimum password age : maximum password age : password warning period : password inactivity period : account expiration date : reserved field

login name:用户的登录名;

encrypted password:加密了的密码

格式:$算法$salt$真正意义的加密密码

如果该位置为!,则表明用户的密码被禁用;如果 该位置为*,则表明该用户为系统用户,不能登录;如果该字段为空,则表明用户可以无需输入密码即可登录系统;不推荐使用;

date of last password change:

相对时间概念,相对于1970年1月1日到最后一次修改密码的那天的天数;

minimum password age:

在多长时间之内无法修改密码,默认值为0,意即:随时可以修改密码;如果是非0的其他数字,意思是在这么长的天数里不能改密码;

maximum password age:

在多长时间之后密码过期,默认为99999,意思是永久有效;

password warning period:

密码过期之前的友善提醒天数,默认为7天;

password inactivity period:

密码过期之后的宽限期,默认为-1,意思是永久宽限期;

account expiration date:

一个用户账户密码过期的日期,这是一个绝对的过期期限,XXXX/XX/XX;

reserved field:

保留字段,以备以后使用;

15.请写出基本正则表达式的元字符及其含义;

*: 0个货多个在*字符之前出现的那个普通字符

例如:例子:hel*o    可以表示helo、hello、helllo等等

.:匹配任意字符(只匹配单个字符)

例如:.7 可以表示已任何单个字符开始以结尾的字符串

^: 行首锚定或后面字符的非

例如:^you 匹配以you开头的行

$:行尾锚定

例如:you$    匹配以you结尾的行

[]:匹配字符集和

例如:[0-9]匹配0-9之间的莫个字符

\:转义字符,屏蔽一个元字符的特殊含义

\<\>:精确匹配符号

例如:\<you\> 精确匹配you这个单词

\{n\}:匹配前面字符穿线N次

例如:yo\{3\}u  重复字符o出现3次

\{n,\}:匹配前面的字符至少出现n次

例如:yo\{3,\}u  重复字符o至少出现3次、

\{n,m\}:匹配前面的字符出现n-m次

例如:yo\{3,5\}u  重复字符o至少出现3-5次

16.请说明在变量的赋值运算中,let VAR2=VAR1++ 和 let

VAR2=++VAR1两个赋值语句的区别?

let VAR2=VAR1++ : 先赋值再运算

let VAR2=++VAR1 : 先运算再赋值

17.在bash中,常用的声明数组的方式有哪些?

1.declare命令

declare -i NAME:将NAME声明为整型变量;

declare -x NAME:将NAME声明为环境变量;

declare -a NAME:将NAME声明为索引数组(如果支持);

declare -A NAME:将NAME声明为关联数组(如果支持);

declare -a NAME=("value1" "value2" "value3" ...)

declare -a NAME=([0]="value1" [1]="value2" [5]="value3" ...)

2.直接声明数组:

直接为数组赋值:

ARRAY_NAME=("value1" "value2" "value3" ...) 声明稠密数组;

ARRAY_NAME=([0]="value1" [1]="value2" [5]="value3" ...) 声明稀疏数组;

定义数组的元素而创建数组:

ARRAY_NAME[0]=value1

ARRAY_NAME[1]=value2

例:

1.数组取值:

adobe=(‘Flash‘ ‘Flex‘ ‘Photoshop‘)

echo ${adobe[0]}

# 打印

# Flash

2.数组长度:

使用“@”这个特殊的下标,可以将数组扩展成列表,然后就可以使用bash中的获取变量长度的操作符“#”来获取数组中元素的个数了:

adobe=(‘Flash‘ ‘Flex‘ ‘Photoshop‘)

echo ${#adobe[@]}

# 打印

# 3

3.获取数组的一部分

adobe=(‘Flash‘ ‘Flex‘ ‘Photoshop‘ ‘Dreamweaver‘ ‘Premiere‘)

echo ${adobe[@]:1:3}

# 打印

# Flex Photoshop Dreamweaver

echo ${adobe[@]:3}

# 打印

# Dreamweaver Premiere

4.链接两个数组

adobe=(‘Flash‘ ‘Flex‘ ‘Photoshop‘ ‘Dreamweaver‘ ‘Premiere‘)

adobe2=(‘Fireworks‘ ‘Illustrator‘)

adobe3=(${adobe[@]} ${adobe2[@]})

echo ${#adobe3[@]}

# 打印

# 7

18.bash的常用特性

1.引用  2.命令的别名  3.快捷键  4.命令补全

5.命令行的展开

6.命令的执行状态结果】

7.通配符

8.命令历史

9.变量

10.IO重定向

11.管道

12.bash的配置文件

13.转义功能

19.请解释硬件设施的设备号的含义?

major:主设备号,区分设备的类型,用于标明设备所需的驱动程序;

minor:次设备号,区分同种类型下的不同设备,是特定设备的访问入口;

20.bash有买那些配置文件?简述其作用。

配置文件的作用:使得我们赖以生存的配置信息可以长期有效,只要不修改配置文件中的内容, 每一次打开shell都会使曾经的配置生效;

profile类:

全局:对所有用户都生效的配置文件;

/etc/profile

/etc/profile.d/*.sh

注意:在RHEL或CentOS系列的操作系统中,通常情况下,如果一个配置文件内容很多,格式复杂,我们会将其切割成多个片段,将切割出来的片段统一的存放在"程序名称.d"目录中;在这样目录中所保存的片段文件,大多以统一的文件后缀名来命名;

用户个人:仅仅只是针对某个用户有效的配置文件;

~/.bash_profile

profile类配置的文件的作用:

1.用于定义用户的环境变量;

2.用于运行脚本或执行命令;

bashrc类:

全局:

/etc/bashrc

用户个人:

~/.bashrc

bashrc类配置的文件的作用:

1.用于定义本地变量;

2.用于定义命令的别名;

3.定义umask;

注意:只有超级用户root可以修改全局类的配置文件;普通用户只能修改其家目录中的个人配置文件;

交互式登录的shell进程,会按照顺序加载下列配置文件:

/etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc

非交互式登录的shell进程,会按照顺序加载下列配置文件:

~/.bashrc --> /etc/bashrc  --> /etc/profile.d/*.sh

注意:所有在命令行中执行的命令的操作,只要没涉及到文件的修改的,一般都只是针对当前的shell生命周期有效;只要shell进程结束,所有的设置均失效;

时间: 2024-11-08 11:17:19

linux 学习第二次测验的相关文章

linux学习第一月测验

1.yum源的配置与使用(5分)1) 创建一个本地yum源[base]Mount /dev/cdrom /mntname=local_basebaseurl=file:///mnt/gpgcheck=0 2) 安装开发包组 yum grouplistyum groupinstall development tools 2.复制/etc/ssh/sshd_config 到/tmp/中并更名为sshd_config.bak.将/tmp/sshd_config.bak文件中所有以非#号开头与包含空白字

LINUX学习第二章

过了10天时间,学习了Linux系统精讲课程,期间因为有其他学习上的事情需要处理,导致学习速度比较慢.接下来的学习时间需要加快速度,全身心地投入了. 2-0单用户模式 root密码重置 reboot----3秒内随便按一个健进入一个界面----选中第二行按下e ----进入另一个界面,在最后一行的最后加一个 1然后按回车----再按b----顺利进入1模式下 指令 runlevel 查看模式 指令 passwd 更改密码 设置新密码后reboot重启 2-1救援模式 另一种修改root密码的方式

linux学习第二天 (Linux就该这么学)

2018年11月10日,今天是学习的第二天 今天学习了安装vmware workstation12的安装及怎么安装 redhat7系统,在新建虚拟机时注意要选择"稍后安装操作系统"要vmwark workstation会以最精简安 装系统 后就没有相关命令 安装时选择内存推荐有两种方案1G和2G,并开启虚拟化功能,网络选择为 "仅主机模式"方便日后实验,安装系统时注意事项:SOFTWARE SELECTION 选项为"Server with GUI&quo

Linux学习第二节课(2019.9.7)

昨晚课程由于加班没有参加到上课,第二天补听了课程,再来写博客.第二节课,老刘跟我们第一章讲了如何安装虚拟机,安装linux系统,RPM和YUM仓库各种关系.然后老刘给我们讲一个"灰常恐怖的gui故事"来引入第二章的内容,讲述shell的作用,最后讲述了命令的长格式和短格式以及常用命令的ehco(echo 老刘真帅).date.reboot.poweroff.wget命令.目前还是能跟得上老刘的课程,要继续努力,复习预习,争取早日考过rhce. ---------------------

Linux学习第二周作业

1.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示. Linux上的文件管理类命令: cp命令:复制文件或目录 单源复制:cp [OPTION]...[-T] SRC DEST 多源复制:cp [OPTION]...SRC...DIRECTORY cp [OPTION]...[-T] SRC DEST 其常用选项为:-i 交互式,提醒目标存在,是否覆盖. -r,-R:递归复制源目录下所有目录与文件 -a 归档复制,保留所有的文件的元数据,相当于-dR --preserv=

linux学习第二周;rpm包管理;yum管理;定制yum库

rpm安装(无法解决包之间依赖性问题): rpm -ivh # 安装包(需要给出包绝对路径) rpm -V #用作包校验,包无变化则不执行操作,包被改变则显示包改变的属性 rpm -e # 卸载包 rpm -qi rpm -ql rpm -qf rpm -K yum安装(可解决包之间依赖性问题): 定制yum库: 1.先移走/etc/yum.repos.d/文件里默认的互联网yum源 2.cd  /etc/yum.repos.d/ 3.vim  base.repo #后缀为.repo,名字随便起

Linux学习第二节课

七.用户空间与内核空间 1.用户空间不能直接访问硬件,需要通过操作系统来从而实现: 2.用户控件和内核控件为了安全,它们之间是相互隔离的,即使用户空间程序崩溃,内核也不受影响: 3.CPU在用户空间和内核空间来回切换进行工作运算的行为叫作上下文切换,脚本程序可以通过task绑定cpu线程等措施来减少上下文切换的次数实现减少消耗, 从而提升速度: 4.用户空间中如果程序直接调用操作系统会比较繁琐难懂,因此用操作系统或某些软件提供的功能库调用操作系统会更方便.简单. 八.Linux哲学思想 一切都是

人生新篇章,Linux学习第二篇

1,Linux发行版的系统目录名称命名规则及用途 一. 系统目录名称命名规则:A.系统目录也是一种目录,所以首先它要符合一般目录的命名规则,而因为目录也是文件(Linux哲学思想:一切皆文件),所以也就是要符合文件的命名规则: 在同一路径下,两个文件不能同名 文件名最长255个字节 包括路径在内文件名称最长4095个字节 除了斜杠"/"和NUL,所有字符都有效.(但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引号来引用它们) 字母大小写敏感(这点与文件系统类型有关,例如标准Li

linux学习第二周;vim文本编辑器

扩展模式下: r file绝对路径  # 将file文件内容写入当前光标下一行 w filename  # 将当前vim打开的文件当前内容写入到filename中(新建文件filename,将内容写入) w!file1  # 强制将vim打开的文件当前内容写入到file1中,即覆盖file1中原来的内容(file1已存在) !command  # 临时执行command命令(该命令不能是别名) r!command  # 将command执行结果写入当前光标下面(该命令不能是别名) 原文地址:ht