34.free,vmstatswap命令

free功能说明:显示内存状态。free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。
语法&#xff1a; free [-bkmotV][-s <间隔秒数>]
参数&#xff1a;
-b  以Byte为单位显示内存使用情况。-k  以KB为单位显示内存使用情况。
-m  以MB为单位显示内存使用情况。-o  不显示缓冲区调节列。
-s<间隔秒数> 持续观察内存使用状况。-t  显示内存总和列。
-V  显示版本信息。

vmstat报告虚拟内存统计信息。vmstat 命令报告关于内核线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息。由vmstat命令生成的报告可以用于平衡系统负载活动。系统范围内的这些统计信息&#xff08;所有的处理器中&#xff09;都计算出以百分比表示的平均值&#xff0c;或者计算其总和。

vmstat [ -f ] [ -i ] [ -s ] [ -I ] [ -t ] [ -v ] [ PhysicalVolume... ] [ Interval [ Count ] ]

swap提供调页空间管理界面。swap 命令提供特征显示、调页空间增加和调页空间除去功能。

语法&#xff1a;swap [ -adevice] | [ -ddevice ] | [ -s ] | [ -l ]。

35.什么是设备&#xff1f;

除了cpu和主存外&#xff0c;计算机系统的每个部分都可以看作一个外围设备&#xff0c;由三部分构成&#xff1a;存储介质&#xff0c;驱动设置和控制电路

36.设备管理的目标是什么&#xff1f;设备的独立性&#xff1f;

目标&#xff1a;(1)选择和分配i/o设备以便进行数据传输操作。

(2)控制i/o设备和cpu&#xff08;内存&#xff09;之间的数据交换。

(3)为用户提供一个友好的透明接口&#xff0c;把用户和设备特性分开&#xff0c;使得用户在编制应用程序时不必涉及具体设备。

(4)提高设备和设备之间&#xff0c;cpu和设备之间以及进程与进程之间的并行操作程度&#xff0c;以便操作系统获得最佳效率。

独立性&#xff1a;

Linux操作系统将所有的外围设备都作为文件来处理&#xff0c;应用程序独立于使用的具体设备。

37.linux下设备的分类

Linux设备分为字符设备&#xff0c;块设备&#xff0c;网络设备和杂项设备四种

38.linux 设备的命名主要有哪些&#xff1f;

在Linux系统中&#xff0c;每个设备都被当成一个文件来对待。举例来说&#xff0c;IDE接口的硬盘的文件名即为/dev/hd[a-d]&#xff0c;其中&#xff0c;括号内的字母为a-d当中的任意一个&#xff0c;也即有/dev/hda,/dev/hdb,/dev/hdc, 及/dev/hdd这四个文件的意思。

这种中括号【】形式的表示法在后面的章节当中会使用得很频繁&#xff0c;请特别留意。另外先提出来强调一下&#xff0c;在Linux这个系统当中&#xff0c;几乎所有的硬件设备文件都在/dev这个目录内&#xff0c;所以你会看到/dev/hda,/dev/fd0等的文件名。

那么打印机与软盘呢&#xff1f;分别是/dev/lp0,/dev/fd0。好了&#xff0c;其他的接口设备呢&#xff1f;下面列出几个常见的设备与其在Linux当中的文件名&#xff0c;如下表所示。

设备

设备在Linux内的文件名

IDE硬盘

/dev/hd[a-d]

SCSI/SATA/USB硬盘

/dev/sd[a-p]

U盘

/dev/sd[a-p]&#xff08;与SATA相同&#xff09;

软驱

/dev/fd[0-1]

打印机

25针:/dev/lp[0-2]
 USB:/dev/usb/lp[0-15]

鼠标

USB:/dev/usb/mouse[0-15]
 PS2:/dev/psaux

当前CDROM/DVDROM

/dev/cdrom

当前鼠标

/dev/mouse

磁带机

IDE:/dev/ht0
 SCSI:/dev/st0

需要特别留意的是硬盘&#xff08;IDE、SCSI、USB都一样&#xff09;&#xff0c;每个磁盘驱动器的磁盘分区&#xff08;partition&#xff09;不同时&#xff0c;其磁盘文件名还会改变。

39.设备管理要做哪些工作&#xff08;分配、控制、驱动、回收&#xff09;&#xff1f;

设备管理要负责设备的分配&#xff0c;控制&#xff0c;驱动和回收四个方面的工作。

40.设备管理中&#xff0c;设备驱动程序的功能、处理方式及特点

设备驱动程序的主要功能&#xff1a;

1、将接收到的抽象要求转换为具体要求。

2、检查用户I/O请求的合法性&#xff0c;了解I/O设备的状态&#xff0c;传递有关参数&#xff0c;设置设备的工作方式。

     3、发出I/O命令&#xff0c;启动分配到的I/O设备&#xff0c;完成指定的I/O操作。

4、及时响应由控制器或通道发来的中断请求&#xff0c;并根据其中断类型调用相应的中断处理程序进行处理。

5、对于设置有通道的计算机系统&#xff0c;驱动程序还应能够根据用户的I/O请求&#xff0c;自动地构成通道程序。

设备驱动程序的处理方式&#xff1a;

1、为每一类设备设置一个进程&#xff0c;它专门执行这类设备的I/O操作。

2、在整个系统中设置一个I/O进程&#xff0c;专门负责对系统中所有各类设备的I/O操作

3、不设置专门的设备处理进程&#xff0c;而是只为各类设备设置相应的设备处理程序&#xff08;模
块&#xff09;&#xff0c;供用户进程或系统进程调用。

设备驱动程序的特点&#xff1a;

1、驱动程序主要是在请求I/O的进程与设备控制器之间的一个通信程序。

2、驱动程序与I/O设备的特性紧密相关。

3、驱动程序与I/O控制方式紧密相关。

4、由于驱动程序与硬件紧密相关&#xff0c;因而其中的一部分程序必须用汇编语言书写。

41.列举7条与设备管理相关的命令并简述其功能

1 stty

[语法]:stty [-a] [-g] [选项]

[说明]:本命令设置终端&#xff0c;无参数时报告终端设置&#xff0c;本命令功能十分强大&#xff0c;应谨

慎使用&#xff0c;下面仅介绍部分常用功能

• -a 显示当前终端所有设置

• -g 以能作为 stty 命令参数的方式显示终端设置以下是终端常用设置&#xff0c;

在设置前加-表示清除设置:

1&#xff0e;控制方式,ispeed 0 110 300 600 1200 1800 2400 4800 9600

19200 38400&#xff0c;本命令设置终端输入波特率&#xff0c;若为 0 则使用缺省波

特率。例如 stty ispeed 9600 ospeed 0 110 300 600 12001800

2400 4800 9600 19200 38400 本命令设置终端输出波特率

2&#xff0e;输入方式

ingbrk(-ignbrk) 忽略(不忽略)中断(BREAK)

brkint(-brkint) 设置(清除)信号INTR 为中断信号

inlcr(-inlcr) 将换行转换(不转换)成回车

icrnl( -icrnl) 将回车转换(不转换)成换行

igncr(-ignrc) 忽略(不忽略)回车

iuclc( -iuclc) 将大写字母转换(不转换)成小写字母

3&#xff0e;输出方式

olcut(-olcut) 将小写字母转换(不转换)为大写字母

onlcr(-onlcr) 输出时将换行符转换(不转换)为回车换行

ocrnl(-ocrnl) 输出时将回车符转换(不转换)为换行符

4&#xff0e;本地方式

echo (-echo) 设置(清除)回显

stwrap(-stwrap) 截断(不截断)大于79 个字符的行

echoctl(-echoctr) 将控制键回显为^

2 tty

[语法]:tty

[说明]:显示出终端的设备名

[例子]:tty

3 lp

[语法]:lp 文件...

[说明]:将文件送打印机打印

[例子]:lp myfile 将文件 myfile 送打印机输出

4 lpstat

[语法]:lpstat [选项] [打印任务号]

[说明]:显示打印机状态&#xff0c;选项的意义如下&#xff1a;

-a [打印机表]显示打印机表中指定的打印机可否接收打印请求

-c [打印机类名]显示打印机种类及在该打印机种类下的成员

-d 显示系统预设的打印机

-p [打印机表]显示打印机表中打印机状态

-r 显示lp 请求程序表( lp request scheduler)

-s 打印系统统计表-t 打印所有状态信息-u [用户]显示由用户发出的打印请求

-v [打印机名表]显示每个打印机名称&#xff0c;是对应于该打印机设备文件的路

径名

[例子]:lpstat -t 打印所有状态信息

5 cancel

[语法]:

cancel 打印任务号 cancel 打印机名  cancel -u 用户名[打印机]

[说明]:本命令可按打印机名&#xff0c;打印任务&#xff0c;用户来取消打印任务

[例子]:cancel -u mary 取消用户 mary 的所有打印请求

6 enable

[语法]:enable 打印机表

[说明]:本命令可激活一个或多个打印机

7 disable

[语法]:disable [-cw] 打印机表

[说明]:使一个或多个打印机不能打印

-c 立即取消正在打印的打印请求        -w 等正在打印的内容打完后&#xff0c;才禁止打印机

8 sync

[语法]:sync

[说明]:将磁盘缓冲区内容写回磁盘

9 mount

[语法]:mount [-r] 设备目录

[说明]:将设备安装到目录下 -r 以只读方式安装

10 umount

[语法]:umount 设备

[说明]:将已安装的文件系统卸下

11 tar

[语法]:

tar -c[vwfbL] [设备][块] 文件...   tar -r[vwfbL] [设备][块] 文件...

tar -t[vfL] [设备][文件...]        tar -u[vwfbL] [设备][块] 文件...

tar -x[lmovwfL] [设备] [文件...]

[说明]:将多个文件归档&#xff0c;命令中各参数的意义为&#xff1a;

r 附加方式归档   x 抽取文件   t 显示文件

u 附加方式归档&#xff0c;同时删除旧版文件   c 建立新档案文件

v 显示所处理的文件名   w 处理文件前&#xff0c;要求用户确认  f 文件名使用指定文件名作为档案文件

bn 每次读写n 块&#xff0c;缺省值为 1&#xff0c;最大值为20m 将新的文件修改时间设为获取时的时间

o 获取出来的文件以下达 tar 指令的UID 和 GID 存储

12 df

[语法]:df [-t] [文件系统]

[说明]:显示剩余 i 节点和块数&#xff0c;使用 -t 选项&#xff0c;还显示总块数和 i 节点数

[例子]:df -t

13 du

[语法]:du [-ars] [目录]

[说明]:显示磁盘空间专用情况

• -r 提供无法打开的文件信息

• -s 仅显示指定目录所占空间的总和

-a 显示文件大小及目录总空间&#xff0c;其后可根文件名作参数

42.linux 日志管理有什么功能&#xff1f;

在任何操作系统中&#xff0c;日志系统对于系统安全来说都是非常重要的&#xff0c;它记录了系统每天发生的各种各样的事件&#xff0c;包括哪些用户曾经或正在使用系统&#xff0c;可以通过日志来检查系统和应用程序发生错误的原因。日志还能在系统受到******后&#xff0c;记录下***者留下的痕迹&#xff0c;通过这些痕迹&#xff0c;系统管理员可以发现******的手段及特点&#xff0c;从而能够进行相应的处理&#xff0c;为抵御下一次***做好准备。日志主要的功能有审计和监测&#xff0c;另外&#xff0c;利用日志还可以实时监测系统状态&#xff0c;监测和追踪侵入者等。

43.怎样启动和重启日志管理进程&#xff1f;

1. 启动syslog日志进程

启动syslog日志守护进程syslogd的命令格式如下&#xff1a;

/sbin/syslogd [选项]

该命令常用的参数及含义如下表所示。

参数

含义

-a  socket

添加日志监听的用户定义的套接口

-d

使用调试模式

-f  conf_file

指定syslogd的配置文件

-h

记录远程主机返回的日志

-l  hostlist

使用指定的简单主机名记录日志的主机名域

-p  socket

使用指定的套接口启动syslogd进程

-r

接收并记录网络日志

2. 重启syslogd日志守护进程

可以在终端提示符下输入如下的命令&#xff1a;

[root&#64;myhost root]# service syslogdrestart或

[root&#64;myhost root]# kill -HUP &#96;cat/var/run/syslogd.pid&#96;

说明&#xff1a;在该命令中&#xff0c;/var/run/syslogd.pid文件存放了当前syslogd守护进程的pid&#xff0c;整个命令的执行步骤是&#xff0c;先使用cat /var/run/syslogd.pid获取当前系统的syslogd守护进程的pid&#xff0c;然后使用kill命令传递-HUP信号给该pid指定的进程&#xff0c;对其进行重启操作。

44.怎样清空日志文件&#xff1f;

随着系统的运行时间不断延长&#xff0c;日志文件也会越来越大&#xff0c;从而消耗大量磁盘空间。如果通过先删除已有的日志文件&#xff0c;再重建同名日志文件的方法来清空日志&#xff0c;就需要先停止创建日志文件的服务进程&#xff0c;从而可能导致服务进程出错。此时&#xff0c;可以通过echo命令在不必停止服务进程的情况下清空日志文件。具体的方法是在终端提示符选下输入如下命令&#xff1a;

[root&#64;myhost root]# echo “” > log_file

其中log_file代表需要清空的日志文件。例如&#xff0c;要清空日志文件/var/log/messages&#xff0c;可以使用如下命令&#xff1a;

[root&#64;myhost root]# echo “” > /var/log/messages

45.配置Linux日志文件的格式是什么&#xff1f;

syslog有两个重要的文件&#xff0c;一个是守护进程/sbin/syslogd&#xff0c;另一个是syslogd的配置文件/etc/ /syslog.conf。通常多数的syslog信息被写到/var/log目录下的日志文件message.*中。一个典型的syslog.conf记录包括生成日志的程序名称、日志的设备名、日志的优先等级以及一段文本信息。

1. 启动syslog日志进程

2. 重启syslogd日志守护进程

3.syslogd的主配置文件

系统日志syslog的主配置文件是/etc/syslog.conf。syslog记录的内容及其记录存放的日志文件由该文件指定&#xff0c;可以通过修改syslog.conf文件的方法来配置syslogd。该文件的基本语法格式如下&#xff1a;

设备(facility).优先级(priority)动作

1&#xff09;日志设备facility

日志设备facility表示日志消息的来源&#xff0c;指明了发出消息的设备或程序&#xff0c;见下表&#xff1a;

设备

说明

kern

内核日志

uucp

uucp系统日志

user

用户程序日志

news

新闻组服务日志

mail

邮件系统日志

daemon

系统守护进程日志

syslog

syslog守护进程日志

auth

安全管理日志

lpr

打印服务日志

cron

cron守护进程日志

authpriv

私有授权系统日志

ftp

ftp守护进程日志

local0~local7

本地日志

2&#xff09;优先级priority

日志优先级priority表明日志消息的紧急程度。如果在syslog.conf文件中的一行出现多对“设备.优先级”&#xff0c;各项之间使用分号隔开。syslog日志系统中常用的日志优先级如下表所示&#xff0c;其中紧急程度由上到下逐级递减。

日志优先级

说明

emerge

发生严重事件&#xff0c;并可能导致系统崩溃

alert

严重错误&#xff0c;将导致程序关闭&#xff0c;并可能影响其他程序

crit

错误消息&#xff0c;可能导致程序关闭

err

程序中存在错误

warning

程序中存在潜在问题的警告

notice

程序运行中出现了不正常的现象&#xff0c;需要检查

info

关于程序当前状态的报告信息

debug

编程人员或测试人员使用的调试信息

其中紧急程度遵循向上匹配的原则。例如&#xff0c;“err”优先级表示所有高于或等于err等级的日志消息都将被处理&#xff0c;即所处理的日志消息包括“err”、“crit”、“alert”和“emerge”等级的消息。如果只希望精确匹配某个确定的紧急程序&#xff0c;而不使用向上匹配原则&#xff0c;则需要使用等号进行设定。例如&#xff0c;“kern.&#61;alert”表示只对内核产生的alert日志信息进行处理。

在syslog.conf文件的配置行中&#xff0c;也支持通配符“*”和“none”&#xff0c;其中“*”表示匹配全部&#xff0c;“none”表示全部忽略。例如&#xff0c;记录守护进程产生的所有日志消息可以使用“daemon.*”&#xff0c;而忽略内核产生的所有日志消息则可以使用“kern.none”。

3&#xff09;动作

syslog.conf文件配置行中的动作&#xff0c;用于设定syslogd如何处理对应的日志消息。处理的办法&#xff0c;可以设定将日志信息写入文件或显示到终端设备上&#xff0c;或者通过邮件直接发送给指定的用户&#xff0c;或者发送到另一台远程主机的syslog系统。

4. 测试syslog.conf文件

syslog.conf文件修改后&#xff0c;使用者按照syslog.conf文件中的设置&#xff0c;使用logger命令发出指定类型的日志消息&#xff0c;检测配置文件是否正确。logger命令的格式如下&#xff1a;

logger [选项] msg

该命令常用的参数及含义如下表所示。

参数

含义

-p  fac.pr

logger命令发送消息时使用fac.pri指定的设备和优先级

-f  conf_file

logger命令使用conf_file指定的syslogd配置文件

-i

记录发送消息的logger程序的pid

-s

将logger程序发送的日志消息送往标准错误输出

-u  socket

将logger程序发送的日志投递到指定的socket套接口

-d

使用UDP协议传输日志消息

5. 清空日志文件

6. 查看日志

/var/log/boot.log文件记录了与启动和终止守护进程相关的信息。/var/log/messages文件记录了系统除邮件、新闻组、本地安全认证、守护进程以及cron程序日志以外几乎全部的日志信息。这些日志文件时使用文本方式记录的&#xff0c;所以可以使用查看文本文件的工具来查看&#xff0c;如cat、more、tail和less等。

46.简介linux shell 的概念&#xff0c;功能&#xff0c;在操作系统中的层次关系及类型

在Linux系统中&#xff0c;shell是操作系统的外壳&#xff0c;为用户提供使用操作系统的接口&#xff0c;它是命令语言、命令解释程序和程序设计语言的统称。shell是用户和操作系统之间的一个接口。shell是一个命令解释器。shell还是一个解释型的程序设计语言。

Shell在操作系统中的层次关系如下图&#xff1a;

212846765.jpg%5C%22

47.bash有哪些特别的功能&#xff0c;分别有哪些命令要完成&#xff1f;

1&#xff09;交互式处理

2&#xff09;命令补全功能

3&#xff09;查阅历史记录—history命令

系统提供的history命令可以列出完整的系统在该用户登录时执行过的所有命令&#xff0c;并以命令执行的先后顺序列出记录的号码。如果要查看最近执行的命令&#xff0c;则可以使用“history n”命令&#xff0c;其中&#xff0c;n表示需要查看的最近执行的命令的条数。

4&#xff09;别名&#xff08;alias&#xff09;功能

Linux中的别名功能是指提供给用户使用自定义的简单字符串&#xff0c;来替换复杂的命令选项&#xff0c;或是替换连续多个命令的连续组合的功能&#xff0c;从而使得用户可以自定义符合自己习惯的操作命令。

如果希望查看当前Linux系统中使用的别名命令&#xff0c;可以直接输入“alias”命令。如果需要取消特定的别名命令&#xff0c;可以使用unalias命令。

5&#xff09;后台处理

要在RedHat Linux 9中要执行后台程序&#xff0c;只要在输入命令的时候&#xff0c;在命令后面加上“&”符号。系统就会开始以后台的方式执行该命令&#xff0c;屏幕将显示该后台运行程序的进程PID&#xff0c;然后shell将回到命令提示符状态&#xff0c;以等待用户的下一个命令的输入。

当前某个任务在前台运行之后&#xff0c;就无法使用“&”将它投入后台运行&#xff0c;但是可以先使用“Ctrl&#43;z”组合键暂停该程序&#xff0c;然后在命令提示符下输入“bg”命令&#xff0c;即可将该任务投入后台执行。如果要查看目前系统中正在运行的后台程序&#xff0c;可以使用jobs命令。

6&#xff09;输入/输出重定向

一般情况下&#xff0c;程序的输入对象都是标准输入&#xff0c;输出是标准输出。在Linux中提供了输入&#xff08;<和<<&#xff09;和输出&#xff08;>和>>&#xff09;的重新定向功能&#xff0c;它可以将程序的输入和输出由标准设备重定向到文件、打印机或其他装置&#xff08;/dev/null&#xff09;。

这里重定向&#xff08;>和<&#xff09;是改写重定向&#xff0c;就是会删除原来的文件&#xff0c;而重定向&#xff08;>>和<<&#xff09;是追加重定向&#xff0c;就是新的内容将被添加到文件原来内容的后面。

7&#xff09;管道

48.Linux bash的管道重定向功能如何实现&#xff0c;有什么功能&#xff1f;

管道功能可以将多个命令集成到一起&#xff0c;以执行一个较为复杂的工作&#xff0c;除了第一个和最后一个命令之外&#xff0c;每个命令的输入都是前一个命令的输出&#xff0c;而每个命令的输出也将成为下一个命令的输入。例如&#xff1a;

[root&#64;myhost root]# ls –l /usr/bin | grep lib|less

以上的命令执行的过程是先列出/usr/bin目录的所有内容&#xff0c;然后通过管道&#xff08;|&#xff09;将ls命令的结果传给grep命令&#xff0c;当成其标准输入&#xff0c;接着grep会由此输入中查找含有lib的字符串文件&#xff0c;最后将搜索的结果再通过管道传给less命令。

49.linux shell 有哪些特殊的符号&#xff1f;

在Linux下有一些符号会被shell特殊对待&#xff0c;这些符号可以用来指定特殊的范围或功能&#xff0c;除了前面介绍的外&#xff0c;例如>、>>、<、<<、|和!&#xff0c;还有以下可以在shell中使用的特殊字符。

1&#xff09;通配符&#xff08;*和?&#xff09;

“*”和“?”是Linux系统中最常用的两个通配符&#xff0c;在字符串查找的时候&#xff0c;通配符可以代替任意的字符。其中“?”可以代替一个任意字符&#xff0c;“*”可以代替任意多个字符。

2&#xff09;命令取代符&#xff08;&#96;&#xff09;

命令取代符“&#96;”在Esc键下方&#xff0c;与“~”符号在同一个键上。两个“&#96;”符号包围的命令&#xff0c;是该命令行中首先被执行的命令。例如&#xff0c;“echo &#96;date&#96;”命令&#xff0c;首先执行date命令&#xff0c;然后使用echo来显示date命令的结果&#xff0c;而不是显示字符串date

3&#xff09;命令分隔符&#xff08;;&#xff09;

如果需要执行一连串的命令&#xff0c;可以一次输入这些命令&#xff0c;而在命令间使用“;”分隔&#xff0c;Linux的shell会一次解释并执行这些命令。

4&#xff09;注释符&#xff08;#&#xff09;

注释符“#”通常使用在Linux的shell脚本程序或应用程序的配置文件中&#xff0c;使用“#”开头的行为注释行&#xff0c;shell在解释该脚本程序的时候不会执行该行。对于有经验的程序员来说&#xff0c;注释行的使用可以增加程序的可读性&#xff0c;也可以使日后的维护更加简单。

50.怎么创建和执行shell 程序&#xff1f;

分三步&#xff1a;

(1)利用文本编辑器创建脚本内容。对于后缀名&#xff0c;可有可无&#xff0c;建议有.sh后缀名。

(2)使用“chmod”命令设置脚本的可执行属性&#xff1a;sudo chmod &#43;x filename.sh

(3)执行脚本&#xff1a;./filename.sh