美文网首页
嵌入式day11

嵌入式day11

作者: 小土豆dy | 来源:发表于2019-08-06 21:36 被阅读0次

    shell简介

    英文单词shell可直译为“贝壳”。“贝壳”是动物作为外在保护的一种工具。Linux中的shell就是Linux内核的一个外层保护工具,并负责完成用户与内核之间的交互。


    命令是用户向系统内核发出控制请求,与之交互的文本流。

    shell是一个命令行解释器,将用户命令解析为操作系统所能理解的指令,实现用户与操作系统的交互。

    当需要重复执行若干命令,可以将这些命令集合起来,加入一定的控制语句,编辑成为shell脚本文件,交给shell批量执行。

    选择shell

    目前流行的shell主要有几种:

    • Bourne Shell(简称sh)

    • C Shell(简称csh)

    • Korn Shell(简称ksh)

    • Bourne Again Shell:能够提供环境变量以配置用户shell环境,支持历史记录,内置算术功能,支持通配符表达式,将常用命令内置简化。

    shell命令格式

    username@hostname:direction$

    username:用户名,显示当前登录用户的账户名;

    hostname:主机名,显示登录主机名;

    direction:目录名,显示当前所处的路径,当在根目录下显示"/",当前在用户主目录下显示为“~”;

    一条命令的三要素之间用空格隔开;

    若将多个命令在一行书写,用分号(;)将命令隔开;

    如果一条命令不能在一行书写完,在行尾使用反斜杠(\)标明该条命令结束;

    使用Tab键补全命令

    查询命令历史

    history [numberline]

    显然history只能记录有限条的历史命令,默认保留500条命令

    Bash Shell 将历史命令容量保存在环境变量HISTSIZE中。

    echo $HISTSIZE显示历史命令容量

    HISTSIZE=number修改历史命令容量

    通配符

    当需要命令处理一组文件,用户不必一一输入文件名,可以使用shell通配符。

    通配符 含义 实例
    * 匹配任意长度的字符串 1*.txt代表12.txt,1344.txt等
    匹配一个长度的字符 1?.txt代表12.txt ,13.txt等
    [...] 匹配其中指定的一个字符 1[ort].txt代表1o.txt,1r.txt,1t.txt
    [-] 匹配指定的一个字符范围 1[a-z].txt代表1a.txt,1b.txt到1z.txt
    [^...] 除了其中指定的字符,均可匹配 1[^otr].txt除了1r.txt,1o.txt,1t.txt外

    管道

    管道可以把一系列命令连接起来,意味着第一个命令的输出将作为第二个命令的输入,通过管道传递给第二个命令,第二个命令的输出又将作为第三个命令的输入,以此类推。就像通过使用“|”符连成一个管道。

    输入/输出重定向

    输入/输出重定向是改变shell命令或程序的标准输入/输出目标,重新定向到新的目标。

    linux中默认的标准输入定义为键盘,标准输出定义为终端窗口。

    用户可以为当前操作改变输入或输出,迫使某个特定命令的输入或输出来源为外部文件。

    重定向符 含义
    >file 将file文件重定向为输出源,新建模式
    >>file 将file文件重定向为输出源,追加模式
    <file 将file文件重定向为输入源
    2>/&> 将由命令产生的错误信息输入到文件中

    命令置换

    命令置换是将一个命令的输出作为另一个命令的参数

    command1 `command2`
    

    其中,命令2的输出将作为命令1的参数。

    echo

    echo命令用于在标准输出———显示器上显示一段文字,一般起到提示作用。echo命令的一般语法格式:echo [-n] information

    选项-n表示输出文字后不换行。提示信息字符串可以加引号,也可以不加。

    /etc/passwd文件

    /etc/passwd文件是系统能够识别的用户清单。当用户登录时,系统查询这个文件,确定用户的 UID并验证用户口令

    /etc/group文件

    包含了UNIX组的名称和每个组中成员列表

    每一行代表一个组,包含4个字段;

    adduser配置文件

    /etc/adduser.conf

    pstree

    将所有行程以树状图显示,树状图将会以pid(如果有指定)或是以init这个基本进程为根,如果有指定使用者id,则树状图会只显示该使用者所拥有的进程。

    文件系统类型

    磁盘文件类型:指本地主机中实际可以访问到的文件系统

    网络文件系统:是可以远程访问的文件系统

    专有/虚拟文件系统:不驻留在磁盘上的文件系统

    目前Ext4是Linux系统广泛使用的一种文件格式。在Ext3基础上,对有效性保护、数据完整性、数据访问速度、向下兼容性等方面做了改进。

    最大特点是日志文件系统:可将整个磁盘的写入动作完整地记录在磁盘的某个区域上,以便在必要时回溯追踪。

    SCSI与IDE设备命名

    sata硬盘的设备名称是“/dev/sda”

    IDE硬盘的设备名称是“/dev/hda”

    如果很在意系统的高性能和稳定性,应该使用SCSI硬盘

    Linux分区的命名方式

    字母和数字相结合

    前两个字母表示设备类型

    • hd 代表IDE硬盘

    • sd 代表SCSI或SATA硬盘

    第三个字母说明具体的设备

    a表示第一个硬盘

    b表示第二个硬盘


    交换分区

    将内存中的内容写入硬盘或从硬盘中读出,称为内存交换

    交换分区最小必须等于计算机的内存

    可以创建多于一个的交换分区

    尽量把交换分区放在硬盘分区的起始位置

    链接文件

    硬链接:是利用Linux中为每个文件分配的物理编号————inode建立链接。因此,硬链接不能跨越文件系统

    软链接:是利用文件的路径名建立链接。通常建立软链接使用绝对路径而不是相对路径,以最大限度增加可移植性。

    需要注意的是,如果是修改硬链接的目标文件名,链接依然有效;如果修改软链接的目标文件名,则链接将断开;对于一个已存在的链接文件执行移动或删除操作,有可能导致链接的断开。假如删除目标文件后,重新创建一个同名文件,软链接将恢复,硬链接不再有效,因为文件的inode已经改变。

    配置IP地址

    配置IP地址的方法有两种:

    • 配置静态IP:在主机进入网络之前,事先为主机设置固定的IP地址;

    • 配置动态IP:选择DHCP网络服务,在主机进入网络之后,动态随机获取IP地址。

    动态IP地址获取

    sudo dhclient

    动态IP的获取过程

    • 客户端寻找DHCP服务器

    • 服务器提供可分配的IP地址

    • 客户端接受IP地址租借

    • 服务器确认租借IP

    网络重启

    sudo /etc/init.d/networking restart

    IP地址存放地点

    interfaces配置文件:/etc/network/interfaces

    DNS客户端配置文件

    resolv.conf配置文件:/etc/resolv.conf中


    相关文章

      网友评论

          本文标题:嵌入式day11

          本文链接:https://www.haomeiwen.com/subject/dwjgdctx.html