首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
数字电路
» Shell 功能、配置和插件(2)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
Shell 功能、配置和插件(2)
发短消息
加为好友
yuyang911220
当前离线
UID
1029342
帖子
9914
精华
0
积分
4959
阅读权限
90
在线时间
286 小时
注册时间
2014-5-22
最后登录
2017-7-24
论坛元老
UID
1029342
性别
男
1
#
打印
字体大小:
t
T
yuyang911220
发表于 2016-9-19 11:17
|
只看该作者
Shell 功能、配置和插件(2)
update
,
alias
命令别名命令别名是一个比较有用的东西,特别适应用于
简化命令输入
。比如,你要更新cocoapods时,在shell输入以下命令行
pod update --verbose --no-repo-update但每次都输入这么长的命令行,多么麻烦啊。所以,这时使用命令别名来简化命令行的输入:
alias pod_update='pod update --verbose --no-repo-update'下次你只需要输入pod_update就可以更新cocoapod
你可以使用alias命令来
显示所有命令别名
list all alias .png
任务控制(job control)使用shell登陆系统后,想要一边复制文件、一边查找文件、一边进行编译代码、一边下载软件,当然可以通过开启多个shell来完成,但如果想只在一个shell来完成以上多个任务时,此时可以使用shell的一个特性
任务控制
。
在学会如何使用命令来控制任务之前,先了解两个概念:
前台(foreground)
和
后台(background)
。
前台
就是出现提示符让用户操作的环境,而
后台
就是不能与用户交互的环境,你无法使用 ctrl-c 终止它,可使用 bg/fg 呼叫该任务。
下面介绍一些命令如何控制任务:
1. 将任务放在后台运行:命令行 + &
job control 1.png
注意一下上面打印信息,[1]表示job number(任务编号),7089表示PID(进程号)。在后台执行的命令,如果有stdout和stderr,数据依旧输出到屏幕上,可以通过数据重定向传输到文件中,就不会影响前台的工作。
job control 2.png
2. 将任务丢到后台暂停:ctrl-z在shell中执行find / -print命令,然后按下ctrl-z将任务丢到后台暂停:
job control 3.png
由上面打印可知,任务find / -print暂停执行,并将任务放在后台,返回一个job number[2]
3. 查看后台所有任务状态:jobs -l输入jobs -l 查看后台所有的任务状态:
job control 4.png
仔细查看打印信息,有没有留意到在PID 7417和7431之前有-和+两个符号,-表示最近第二个被放到后台的任务号码,+表示最近被放到后台的任务号码。
4. 将后台的任务拿到前台处理:fg %jobnumber输入fg会默认取出+的任务,然后迅速按下ctrl-z
job control 5.png
看上面打印的
PID
是7431,确实如此。再次输入jobs -l来查看后台所有任务的信息
job control 6.png
这次输入fg %1来讲后台的任务拿到前台处理。
5. 将后台的任务变成运行中:bg %jobnumber输入jobs -l查看任务状态:
job control 7.png
然后输入bg %2; jobs -l将后台任务变成运行,并查看任务状态,然后不断地输入打印信息,这时需要关闭终端才能
kill
这个shell进程的子进程。
6. 管理后台当中的任务:kill -signal %jobnumber有时,任务在后台运行或暂停,这时我想结束这个任务,怎样办呢?你可以使用kill命令将任务结束。
输入find / -print命令,并按下ctrl-z暂停任务:
job control 8.png
输入kill -9 %1;jobs -l结束任务并显示任务状态:
job control 9.png
shell scriptshell script是利用shell的功能所编写的一个
程序
,这个程序使用纯文本文件来保存一些shell的命令,并遵循shell的语法规则,搭配数据重定向、管道、和正则表达式等功能来组合各种工具,实现简单重复任务的自动化。
通配符除了完整的字符串之外,shell还支持许多的通配符来帮助用户查询和命令执行。我简答地列出常用的几个通配符:
符号含义*表示0到无穷多个任意字符?表示有一个任意字符[]表示有一个在中括号内的字符。例如[abc]表示有个字符,可能是abc其中一个[-]表示在编码顺序内的所有字符。例如[1-7]表示有个字符,范围1到7其中一个[^]表示反向选择。例如表示有一个字符,只要不是a,b,c的其他字符都可以
收藏
分享
评分
继承事业,薪火相传
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议