shell应用技巧
Shell 应用技巧
Shell是一个命令解释器,是在内核之上和内核交互的一个层面。

Shell有很多种,我们所使用的的带提示符的那种属于/bin/bash,几乎所有的linux系统缺省就是这种shell,很方便做一些管理,通常使用这种shell。
bash应用技巧
命令补齐
命令补齐允许用户输入文件名或命令名起始的若干个字母后,按<Tab>键补齐文件名,命令名,若以此开头的文件名或命令名不唯一,则按一下tab键没反应,按第二下列出所有。若唯一则直接补全。
命令历史
命令历史允许用户浏览先前输入的命令并重新调用他们,用history命令可以显示命令列表,!+命令数字可执行,按方向键 ↑和↓可以找到以前执行过的命令
Clear清屏 ctrl+l(快捷键)
Ctrl+u 删除光标前所有字符

命令别名
命令别名定义:
范例:alias copy=cp
alias xrm=“rm -r”
命令直接写,有选项参数的带双引号
查看别名信息:alias
删除别名信息:unalias copy
可以使操作更简单容易
alias直接列出别名
每个用户自己定义的别名只能自己使用。
输入/输出重定向
同标准I/O一样,shell对于每一个进程预先定义3个文件描述字(0,1,2,)。分别对应于:
0 (STDIN) 标准输入 键盘
1 (STDOUT)标准输出 显示器
2 (STDERR)标准错误输出 显示器
重定向表示输入不是从键盘,输出不是从显示器,标准错误输出不是从显示器
>或>> 输出重定向
范例:ls -l /temp>/tmp.msg 重定向到根目录下tmp.msg中
Date >> /tmp.msg
错误输出重定向
范例:cp -R /usr/backup/usr.bak 2>/bak.error
所谓重定向,就是把原本显示在显示器上的内容输出到文件中。
date查看系统当前时间
>会将文件内容清空,这可能不是我们想要的。
于是我们可以用>>可以追加
输入重定向是指不是从键盘输入,而是从其他地方输入
错误输出重定向
范例:cp -R /usr/backup/usr.bak 2>/bak.error
Usr(unix系统资源,十分重要,有时需要备份,此条命令执行备份,若出错将2写入bak.error,成功什么都不做)
2是什么鬼?
其实0> 0>> 1< 这是输入,输出重定向的标准写法,0,1都可省略。
2> 此时2不可省略,若省略则和输出重定向一样了
管道
管道:讲一个命令的输出传送给另一个命令,作为另一个命令的输入
使用方法:命令1|命令2|命令3.....|命令n
范例:
ls -l /etc | more 分页浏览前边命令执行的结果,空格翻页,回车翻行,q退出
ls -l /etc | grep init 提取与关键词相关的行,并将其列出来
ls -l /etc | grep init | wc -l 在目录etc下包含init的文件有多少个
管道的作用就是让几个简单的命令发挥很大的作用
wc -l 文件名 显示此文件有多少行
命令连接符
;
用;间隔的各命令按顺序依次执行,比如在写系统的计划任务时,让几个命令在后台依次执行。编译内核时就是敲那几个命令,几个命令间隔时间长,此时便可用;使之依次执行,再加个错误判断,将错误写到日志里。
&&
Command1 && comand2
成功 执行
失败 不执行
前后命令的执行存在逻辑与关系,只有&&前面的命令执行成功后,它后面的命令才被执行
||
Command1 || command2
成功 不执行
失败 执行
前后命令的执行存在逻辑或关系,只有||前面的命令执行失败后,他后面的命令才被执行
命令替换符
命令替换:讲一个命令的输出作为另一个命令的参数
格式为:命令1 ‘命令2’(键盘数字一左边的小撇)
范例:ls -l ‘which touch’
shell应用技巧的更多相关文章
- 【shell 大系】Linux Shell常用技巧
在最近的日常工作中由于经常会和Linux服务器打交道,如Oracle性能优化.我们数据采集服务器的资源利用率监控,以及Debug服务器代码并解决其效率和稳定性等问题.因此这段时间总结的有关Linux ...
- Shell 小技巧
Shell 小技巧 ${} 的使用 截断变量 去掉左边 使用 # (最短匹配)或 ## (最长匹配)方法为 ${var#<模式>} var=DUMMY echo ${var#*M} # M ...
- Linux Shell常用技巧(目录)
Linux Shell常用技巧(一) http://www.cnblogs.com/stephen-liu74/archive/2011/11/10/2240461.html一. 特殊文件: /dev ...
- Linux常用命令(第二版) --Shell应用技巧
Shell应用技巧 小技巧: 1.命令补全功能: <Tab>键 2.清屏: Ctrl+l 3.删除光标前所有内容: Ctrl+u 4.命令历史记录: history 这时: !histo ...
- Shell 常用技巧
Shell 常用技巧 echo $RANDOM | cksum | cut -c - openssl rand -base64 | cksum | cut -c - date +%N | cut -c ...
- 6条shell小技巧,让脚本显得不再业余【转】
如何能让自己的shell显得不那么业余?下面6点实践一定有用. 画外音:本篇文章源自Google的一篇实践,抽取了部分1分钟能读完的内容,加入了一些分析. 一.以下面的语句开场 set -o noun ...
- Linux_CentOS常用命令和shell命令技巧
Linux_CentOS常用命令 关机 init 重启 init 列出当前目录的下的文件 ls //列出当前目录下的文件 ll //列出当前目录下的文件信息 等同ls -l 命令 切换目录 cd 目录 ...
- [转帖]Linux Shell常用技巧(五)
Linux Shell常用技巧(五) https://zhuanlan.zhihu.com/p/73451771 1. 变量:在awk中变量无须定义即可使用,变量在赋值时即已经完成了定义.变量的类型可 ...
- [转帖]拿小本本记下的Linux Shell常用技巧(一)
拿小本本记下的Linux Shell常用技巧(一) https://zhuanlan.zhihu.com/p/73361101 一. 特殊文件: /dev/null和/dev/tty Linux系统提 ...
随机推荐
- Android SAX、DOM、Pull解析xml文件剖析与案例讲解
XML介绍 XML(Extensible Markup Language) 即可扩展标记语言,与HTML一样,都是SGML(Standard Generalized Markup Language,标 ...
- [原]openstack-kilo--issue(四) WARNING: nova has no endpoint in ! Available endpoints for this service:
本博客已经添加"打赏"功能,"打赏"位置位于右边栏红色框中,感谢您赞助的咖啡. 在安装kilo的时候出现了一个报错 nova endpoints WARNING ...
- mysql查询语句集
1. mysql 查询出某字段的值不为空的语句 1.不为空 select * from table where id <> ""; select * from tabl ...
- 深入浅出WPF之Binding的使用(一)
在WPF中Binding可以比作数据的桥梁,桥梁的两端分别是Binding的源(Source)和目标(Target).一般情况下,Binding源是逻辑层对象,Binding目标是UI层的控件对象:这 ...
- listctrl查找定位 使用测试过还很好用
35.listctrl查找定位 使用测试过还很好用 // 简单的查找函数// FindString(CListCtrl& , 查找内容 , 开始位置 , 到达底部时是否从头查找) int F ...
- 使用iLO远程管理HP系列服务器
iLO是Integrated Ligths-out的简称,是HP服务器上集成的远程管理端口,它是一组芯片内部集成vxworks嵌入式操作系统,通过一个标准RJ45接口连接到工作环境的交换机.只要将服务 ...
- 【CF802C】Heidi and Library (hard) 费用流
[CF802C]Heidi and Library (hard) 题意:有n个人依次来借书,第i人来的时候要求书店里必须有种类为ai的书,种类为i的书要花费ci块钱购入.而书店的容量只有k,多余的书只 ...
- gcd 多线程结束通知
另外,GCD还有一些高级用法,例如让后台2个线程并行执行,然后等2个线程都结束后,再汇总执行结果.这个可以用dispatch_group, dispatch_group_async 和 dispatc ...
- OC开发_Storyboard——MapKit
一.Core Location 1.基本对象 @propertys: coordinate, altitude, horizontal/verticalAccuracy, timestamp, sp ...
- Java 多线程 线程的五种状态,线程 Sleep, Wait, notify, notifyAll
一.先来看看Thread类里面都有哪几种状态,在Thread.class中可以找到这个枚举,它定义了线程的相关状态: public enum State { NEW, RUNNABLE, BLOCKE ...