shell脚本问题汇总

一世执手 提交于 2019-12-16 01:45:05

1.Shell语言是什么类型的语言?

SHELL语言是指UNIX操作系统的命令语言,同时又是该命令语言的解释程序的简称。
Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。
它虽然不是Unix/Linux系统内核的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好Unix/Linux系统的关键。

2.Shell语言的执行方式有哪些?

  • bash script-name 或者 sh script-name;
      这是当脚本文件本身没有可执行权限(即文件权限属性x位为-号)时常使用的方法,或者脚本文件开头没有指定解释器时需要使用的方法。推荐使用这种方法
  • path/script-name或者./script-name;
    指在当前路径下执行脚本(脚本需要有执行权限),需要将脚本文件的权限改为可执行(即文件权限属性为x位)。具体方法为:chmod a+x script-name。然后通过执行脚本绝对路径或者相对路径就可以执行脚本了。
    注意:在生产环境中,运维人员由于忘记为该脚本设置可执行权限,然后直接使用,导致出错。因此,推荐第一种 bashscript-name。
  • source script-name或者. script-name。
    source或者“.”命令的功能是:读入脚本并执行脚本,即在当前Shell中执行source或“.”加载并执行的相关脚本文件的命令及语句,而不是产生一个子Shell来执行文件中的命令。
    注意:这是和其他几种执行shell方式的最大不同。

3.CLI全称是什么?

command-line interface
命令行界面(英语:command-line interface,缩写:CLI)是在图形用户界面得到普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后,予以执行。也有人称之为字符用户界面(CUI)。
通常认为,命令行界面(CLI)没有图形用户界面(GUI)那么方便用户操作。因为,命令行界面的软件通常需要用户记忆操作的命令,但是,由于其本身的特点,命令行界面要较图形用户界面节约计算机系统的资源。在熟记命令的前提下,使用命令行界面往往要较使用图形用户界面的操作速度要快。所以,图形用户界面的操作系统中,都保留着可选的命令行界面。

4.查询Linux系统版本的命令是什么?

1、# uname -a (Linux查看版本当前操作系统内核信息)
2、# cat /proc/version (Linux查看当前操作系统版本信息)
3、# cat /etc/issue 或 cat /etc/redhat-release (Linux查看版本当前操作系统发行版信息)
4、# cat /proc/cpuinfo (Linux查看cpu相关信息,包括型号、主频、内核信息等)
5、# getconf LONG_BIT (Linux查看版本多少位)
6、# lsb_release -a (CentOS 6.9版本需要安装lsb,CentOS 7.0以上直接可以使用,网上都说Linux都支持,我只验证过CentOS系统)

5.Linux系统下如何查询硬件信息?

(1)查看服务器型号、序列号

[root@Master ~]# dmidecode|grep "System Information" -A9|egrep  "Manufacturer|Product|Serial"

在这里插入图片描述

(2)查看主板型号

[root@Master ~]# dmidecode |grep -A16 "System Information$" 

在这里插入图片描述

(3)查看BIOS信息

dmidecode -t bios

在这里插入图片描述

注意:有权限才可以查看这些信息

(4)查看内存槽及内存条

dmidecode -t memory | head -45 | tail -23

在这里插入图片描述

(5)查看网卡信息

dmesg | grep -i Ethernet

(6) 查看pci信息,即主板所有硬件槽信息

lspci | head -10

在这里插入图片描述

2、查看CPU信息

(1)查看cpu型号

cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

在这里插入图片描述

(2)查看每个物理CPU中core的个数(即核数)

cat /proc/cpuinfo |grep "cores"|uniq 

在这里插入图片描述
更细致的讲解

6.DMI信息都有哪些?

DMI又称为(Desktop Management Interface)桌面管理接口,就是帮助收集电脑系统信息的管理系统,用来让系统保存自身及外围设备相关数据。通过DMI可以在操作系统级查询到包括 CPU、内存、I/O扩展槽等在内的系统配置信息(不用进入BIOS)。DMI通常将上述信息存储在BIOS中一个4KB大小的DMI数据区中,这一数据区通常被称为MIFD(Management Information Format Database)。DMI信息的收集必须在严格遵照SMBIOS规范的前提下进行。SMBIOS和DMI是由行业指导机构Desktop Management Task Force (DMTF)起草的开放性的技术标准,其中,DMI设计适用于任何的平台和操作系统。是由行业指导机构(Desktop Management Task Force[DMTF])起草的开放性技术标准,  DMI充当了管理工具和系统层之间接口的角色。它建立了标准的可管理系统更加方便了电脑厂商和用户对系统的了解。DMI的主要组成部分是Management Information Format (MIF)数据库。这个数据库包括了所有有关电脑系统和配件的信息。通过DMI,用户可以获取序列号、电脑厂商、串口信息以及其它系统配件信息。  DMI被设计为一个能够在任何平台和操作系统下实现的接口规范,它允许操作人员在该数据区中手工添加一些BIOS不能探测到的诸如使用者姓名、销售商和计算机编号等额外的控制信息,因此我们也可以在不需要对BIOS进行操作的情况下使用DMI对MIFD数据库中的系统配置情况进行修改以适应不同环境下的系统要求。

7.linux系统下查看内存信息的命令是什么?

  • free 查看内存的专用工具
    在这里插入图片描述
    total:总计物理内存的大小。
    used:已使用多大。
    free:可用有多少。
    Shared:多个进程共享的内存总额。
    Buffers/cached:磁盘缓存的大小。
  • top 一般用来查看系统进程也能查看系统内存
    在这里插入图片描述
  • Linux 查看内存的详细信息:
    在这里插入图片描述
    在这里插入图片描述

8.linux系统下查看硬盘信息的命令是什么?

(1)统计磁盘整体情况,包括磁盘大小,已使用,可用。命令“df”
在这里插入图片描述(2)命令"df -lh"使用这个命令会更清楚磁盘使用情况
在这里插入图片描述(3)命令"df -a"是全部的文件系统的使用情况
在这里插入图片描述
(4)命令"df -i"显示inode信息
(5)命令"df -k"已字节数显示区块占用情况
(6)查看当前目录df -h,统计每个目录下磁盘的整体情况
(7)查看指定目录
  在命令后直接放目录名,比如查看“usr”目录使用情况:df -h /usr/,统计了指定目录一使用情况,及分配的最大空间
  在这里插入图片描述

9.SCSI的英文全称是什么?

小型计算机系统接口(SCSI,Small Computer System Interface)是一种用于计算机及其周边设备之间(硬盘、软驱、光驱、打印机、扫描仪等)系统级接口的独立处理器标准。SCSI标准定义命令、通信协议以及实体的电气特性(换成OSI的说法,就是占据物理层、链接层、套接层、应用层),最大部分的应用是在存储设备上(例如硬盘、磁带机);但,其实SCSI可以连接的设备包括有扫描仪、光学设备(像CD、DVD)、打印机……等等,SCSI命令中有条列出支持的设备SCSI周边设备。理论上,SCSI不可能连接所有的设备,所以有“1Fh - unknown or no device type”这个参数存在。

10.USB的英问全称是什么?

USB,是英文Universal Serial Bus(通用串行总线)的缩写,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在PC领域的接口技术。

11.GUI的英文全称是什么?

GUI的全称为Graphical User Interface,图形化界面或图形用户接口,是指采用图形方式显示的计算机操作环境用户接口。与早期计算机使用的命令行界面相比,图形界面对于用户来说更为简便易用。GUI的广泛应用是当今计算机发展的重大成就之一,它极大地方便了非专业用户的使用人们从此不再需要死记硬背大量的命令,取而代之的是通过窗口、菜单、按键等方式来方便地进行操作。而嵌入式GUI具有下面几个方面的基本要求:轻型、占用资源少、高性能、高可靠性、便于移植、可配置等特点。

12.GUI和CLI的区别是什么?

  • GUI(图形用户界面)
    Graphical User Interface(图形用户接口)
    用图形的方式,来显示计算机操作的界面,这样方便更直观。
  • CLI
    Command line User Interface(命令行用户接口)

    最常见的DOS命令操作。
    需要记忆一些常用的命令,操作不直观。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!