SHELL(bash)脚本编程八:技巧

2017-02-28
阅读 4 分钟
6k
至此,我们介绍了linux系统中常用命令的使用方法,简述了bash程序的使用方法和工作流程。在使用bash编写脚本程序时,熟练掌握这些工具的用法,往往能够达到事半功倍的效果。

SHELL(bash)脚本编程七:源码简析

2017-02-15
阅读 13 分钟
8.1k
bash是用C语言写成的,其源码中只使用了少量的数据结构:数组,树,单向链表,双向链表和哈希表。几乎所有的bash结构都是用这些基本结构实现的。

SHELL(bash)脚本编程六:执行流程

2017-01-25
阅读 4 分钟
10.9k
在交互模式下,输入来自终端。bash使用GNU Readline库处理用户命令输入,Readline提供类似于vi或emacs的行编辑功能(如Ctrl+a、Ctrl+e等等)。当敲击键盘时,字符会存入Readline的编辑缓冲区,Readline会处理输入的变化并及时地将结果显示到终端上。Readline还要保持命令提示符(prompt)的稳定(比如提示符的颜色)。在将编辑...

SHELL(bash)脚本编程五:内置命令

2017-01-18
阅读 5 分钟
4.4k
这两个内置命令执行效果相同。表示在当前环境下(不启动子进程)执行其后的文件。因为是在当前环境中执行文件内容,该文件并不需要具备可执行权限,执行完毕后,在文件内部声明的变量或定义的函数可以在当前环境中直接使用。

SHELL(bash)脚本编程四:其他扩展

2017-01-17
阅读 5 分钟
4.6k
默认时,在交互式shell环境下,bash允许对历史命令进行记录和扩展。环境变量HISTSIZE的值定义了记录历史命令的条数,HISTFILE的值指明了交互式shell启动时需要加载的历史命令的配置文件。在交互式shell退出时(exit),当前环境下执行过的命令会保存在此配置文件中。当不带任何选项执行内置命令history时,将输出所有记录...

SHELL(bash)脚本编程三:重定向

2017-01-16
阅读 5 分钟
8.3k
和许多编程语言一样,bash也支持字符的转义,用来改变字符的原有含义,使得一些元字符(如&)可以出现在命令中。bash中有三种类型的引用,相互之间稍有不同:第一种是反斜线(\),用来转义紧随其后的一个字符

SHELL(bash)脚本编程二:语法

2017-01-11
阅读 12 分钟
19.7k
token 是指被shell看成一个单一单元的字符序列bash中包含三种基本的token:保留关键字,操作符,单词。保留关键字是指在shell中有明确含义的词语,通常用来表达程序控制结构。包括:

SHELL(bash)脚本编程一:变量

2017-01-09
阅读 12 分钟
7.6k
当我们通过ssh等工具登录系统时,便获得一个shell(一个bash进程),bash在启动过程中会加载一系列的配置文件,这些配置文件的作用就是为用户准备好bash环境,大部分环境变量都是在这些文件中被设置的。

linux基础命令介绍十五:推陈出新

2016-12-28
阅读 23 分钟
7k
ip是iproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具,例如ifconfig、route等,使用权限为超级用户。OPTIONS是修改ip行为或改变其输出的选项。OBJECT是要获取信息的对象。包括:

linux基础命令介绍十四:定时任务

2016-12-26
阅读 9 分钟
13.8k
在计算机的使用过程中,经常会有一些计划中的任务需要在将来的某个时间执行,linux中提供了一些方法来设定定时任务。 1、at 命令at从文件或标准输入中读取命令并在将来的一个时间执行,只执行一次。at的正常执行需要有守护进程atd(关于systemctl请看这一篇): {代码...} 如果不使用管道|或指定选项-f的话,at的执行将会...

linux基础命令介绍十三:启动流程

2016-12-21
阅读 11 分钟
5.2k
固件(firmware)是指设备最底层的,让设备得以运行的程序代码。简单理解就是:固定在硬件上的软件。计算机中的许多设备都拥有固件(如硬盘、鼠标、光驱、U盘等),在计算机启动过程中,最先读取的就是位于主板上的固件,这个固件当前有两种类型:传统的BIOS和新的通用性更强的UEFI。

linux基础命令介绍十二:磁盘与文件系统

2016-12-15
阅读 19 分钟
9.3k
本篇讲述磁盘管理相关的命令。计算机中需要持久化存储的数据一般是保存在硬盘等辅助存储器中。硬盘一般容量较大,为了便于管理和使用,可以将硬盘分成一到多个逻辑磁盘,称为分区;为使分区中的文件组织成操作系统能够处理的形式,需要对分区进行格式化(创建文件系统);在linux中,对于格式化后的分区,还必须经过挂载(...

linux基础命令介绍十一:软件包管理

2016-12-15
阅读 6 分钟
4.5k
linux中软件包的管理随着系统发行版本的不同而不同,RPM和DPKG为最常见的两类软件包管理工具,分别应用于基于rpm软件包的linux发行版和基于deb软件包的linux发行版。本文只描述RPM的使用方法,另一种命令不同,但用法类似,就不做介绍了。

linux基础命令介绍十:文本流编辑 sed

2016-12-05
阅读 7 分钟
7.1k
sed的工作过程是这样的:首先,初始化两个数据缓冲区模式空间和保持空间;sed读取一行输入(来自标准输入或文件),去掉结尾的换行符(\n)后置于模式空间中,然后针对模式空间中的字符串开始执行‘sed命令’,每个命令都可以有地址与之相关联,地址可以看成是条件,只有在条件成立时,相关的命令才被执行;所有可执行命令都处...

linux基础命令介绍九:进程与内存

2016-11-30
阅读 17 分钟
5.2k
计算机存在的目的就是为了运行各种各样的程序,迄今我们介绍的绝大多数命令,都是为了完成某种计算而用编程语言编写的程序,它们以文件的形式保存在操作系统之中(比如/bin下的各种命令);但静态的程序并不能“自发的”产生结果,只有在操作系统中为其指定输入数据并运行起来,才能得到输出结果。而操作系统中程序运行的最...

linux基础命令介绍八:文本分析 awk

2016-11-23
阅读 6 分钟
8.1k
awk的工作过程是这样的:按行读取输入(标准输入或文件),对于符合模式pattern的行,执行action。当pattern省略时表示匹配任何字符串;当action省略时表示执行'{print}';它们不可以同时省略。每一行输入,对awk来说都是一条记录(record),awk使用$0来引用当前记录:

linux基础命令介绍七:网络传输与安全

2016-11-20
阅读 14 分钟
5.2k
wget是一个非交互的下载器,支持HTTP, HTTPS和FTP协议,也可以使用代理。所谓'非交互'意思是说,可以在一个系统中启动一个wget下载任务,然后退出系统,wget会在完成下载(或出现异常)之后才退出,不需要用户参与。

linux基础命令介绍六:网络

2016-11-15
阅读 18 分钟
5.1k
本文将讲述网络相关命令,作者假定读者具备TCP/IP协议栈的基础知识。对于相关命令及其输出只介绍它的基本的使用方法和大概的描述,具体协议将不作详细解释。

linux基础命令介绍五:文本过滤 grep

2016-11-08
阅读 4 分钟
10.2k
grep按行检索输入的每一行,如果输入行包含模式PATTERN,则输出这一行。这里的PATTERN是正则表达式(参考前一篇,本文将结合grep一同举例)。

linux基础命令介绍四:文本编辑 vim

2016-11-08
阅读 4 分钟
4.3k
本文介绍vim(版本7.4)的一般用法 vim是功能强大的文本编辑器,是vi的增强版。 {代码...} 使用vim编辑一个文件的最常用命令就是: {代码...} 其中file可以是一个新文件,也可以是原有文件。这样的命令执行后将打开编辑器,显示文件file的内容。如图所示: 如果是一个新文件,底部左边会显示"file" [新文件]的字样,右边显...

linux基础命令介绍三:文件搜索及其它

2016-11-02
阅读 12 分钟
3.9k
其中expression包括三种:options、tests和actions。多个表达式之间被操作符分隔,当操作符被省略时,表示使用了默认操作符-and。当表达式中不包含任何actions时,默认使用-print,也就是打印出搜索到的所有文件,用换行分隔。其实可以将三种表达式均视为选项,表示对搜索的某种限制(如-maxdepth表示搜索路径的最大深度)...

linux基础命令介绍二:输入与输出

2016-10-27
阅读 14 分钟
7.5k
在第一篇介绍命令行接口时,我们是这样描述CLI的:是一种通过在终端窗口中键入文本命令来实现与计算机交互的接口。这里简要说明一下终端的概念,历史上,控制台与终端都是硬件。其中控制台(console)是计算机本身就有的设备,一台计算机只有一个控制台。计算机启动的时候,所有的信息都会显示到控制台上。而终端(terminal...

linux基础命令介绍一:用户与文件

2016-10-24
阅读 13 分钟
4.3k
linux系统是一个多用户多任务的分时操作系统,但系统并不能识别人,它通过账号来区别每个用户。每个linux系统在安装的过程中都要为root账号设置密码,这个root即为系统的第一个账号。每一个用这个账号登录系统的用户都是超级管理员,他们对此系统有绝对的控制权。通过向系统管理员进行申请,还可以为系统创建普通账号。...

CLI简介与linux命令初步

2016-10-19
阅读 2 分钟
7.2k
人们所使用的计算机是由许多看得见摸得着的硬件和运行于其上的软件所组成的,但使用者并不能直接操作硬件,只能通过操作系统这个计算机中最重要的软件来和计算机交互。当前各种操作系统实现的人机交互接口中,最重要的两种为:CLI和GUI。GUI或者说graphical user interface(图形用户接口),允许用户使用鼠标和键盘操纵屏...