嵌入式day11

2019-08-06  本文已影响0人  小土豆dy

shell简介

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


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

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

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

选择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分区的命名方式

字母和数字相结合

前两个字母表示设备类型

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

a表示第一个硬盘

b表示第二个硬盘


交换分区

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

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

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

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

链接文件

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

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

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

配置IP地址

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

动态IP地址获取

sudo dhclient

动态IP的获取过程

网络重启

sudo /etc/init.d/networking restart

IP地址存放地点

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

DNS客户端配置文件

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


上一篇下一篇

猜你喜欢

热点阅读