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应用技巧的更多相关文章

  1. 【shell 大系】Linux Shell常用技巧

    在最近的日常工作中由于经常会和Linux服务器打交道,如Oracle性能优化.我们数据采集服务器的资源利用率监控,以及Debug服务器代码并解决其效率和稳定性等问题.因此这段时间总结的有关Linux ...

  2. Shell 小技巧

    Shell 小技巧 ${} 的使用 截断变量 去掉左边 使用 # (最短匹配)或 ## (最长匹配)方法为 ${var#<模式>} var=DUMMY echo ${var#*M} # M ...

  3. Linux Shell常用技巧(目录)

    Linux Shell常用技巧(一) http://www.cnblogs.com/stephen-liu74/archive/2011/11/10/2240461.html一. 特殊文件: /dev ...

  4. Linux常用命令(第二版) --Shell应用技巧

    Shell应用技巧 小技巧: 1.命令补全功能: <Tab>键 2.清屏: Ctrl+l 3.删除光标前所有内容: Ctrl+u 4.命令历史记录: history 这时:  !histo ...

  5. Shell 常用技巧

    Shell 常用技巧 echo $RANDOM | cksum | cut -c - openssl rand -base64 | cksum | cut -c - date +%N | cut -c ...

  6. 6条shell小技巧,让脚本显得不再业余【转】

    如何能让自己的shell显得不那么业余?下面6点实践一定有用. 画外音:本篇文章源自Google的一篇实践,抽取了部分1分钟能读完的内容,加入了一些分析. 一.以下面的语句开场 set -o noun ...

  7. Linux_CentOS常用命令和shell命令技巧

    Linux_CentOS常用命令 关机 init 重启 init 列出当前目录的下的文件 ls //列出当前目录下的文件 ll //列出当前目录下的文件信息 等同ls -l 命令 切换目录 cd 目录 ...

  8. [转帖]Linux Shell常用技巧(五)

    Linux Shell常用技巧(五) https://zhuanlan.zhihu.com/p/73451771 1. 变量:在awk中变量无须定义即可使用,变量在赋值时即已经完成了定义.变量的类型可 ...

  9. [转帖]拿小本本记下的Linux Shell常用技巧(一)

    拿小本本记下的Linux Shell常用技巧(一) https://zhuanlan.zhihu.com/p/73361101 一. 特殊文件: /dev/null和/dev/tty Linux系统提 ...

随机推荐

  1. linux编码问题小节

    今天又碰到了难缠的python编码问题,首先主要还是linux操作系统中的编码问题. 无论怎么样,我都没办法在linux的vim中利用中文输入法打出中文? vim中的set encoding,set ...

  2. ssh免密码登录之ssh-keygen的用法

    A服务器:192.168.100.2 B服务器:192.168.100.3 要达到的目的:A服务器ssh登录B服务器不需要输入密码 1.在A服务器下使用ssh-keygen命令生成公钥/私钥密钥对,执 ...

  3. 【CF840D】Destiny 分治(线段树)

    [CF840D]Destiny 题意:给你一个长度为n的序列,q次询问,每次指定l r k,求[l,r]中出现次数$>\frac {r-l+1} k$的所有数中最小的那个数. $n,q\le 3 ...

  4. Adobe edge animate制作HTML5动画可视化工具(一)

    Edge Animate for mac是Adobe最新出品的制作HTML5动画的可视化工具,简单的可以理解为HTML5版本的Flash Pro.在之后的文章中,我会逐一的介绍这款新的HTML5动画神 ...

  5. php base64转图片

    1.解析base64数据成图片 The problem is that data:image/bmp;base64, is included in the encoded contents. This ...

  6. C#控制台窗口居中显示(转)

    private struct RECT { public int left, top, right, bottom; } [DllImport("kernel32.dll", Se ...

  7. 如何写好PPT

    怎样写好ppt? 阿里巴巴矢量图标库 优品PPT SmartArt PPT美化大师

  8. angularjs中的单选框绑定数据注意事项

    这里说的是angularjs 1.x 在实现单选框时,我们完全可以用html自带的<input type="radio"/>,但是配合angularjs 中的双向绑定, ...

  9. Docker,docker-machine,docker-composer

    https://docs.docker.com/engine/installation/mac/ Docker值得关注的特性文件系统隔离:每个进程容器运行在一个完全独立的根文件系统里.资源隔离:系统资 ...

  10. iOS-Foundation框架—结构体(转载)

    一.基本知识 Foundation—基础框架.框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础. 如果要想使用foundation框架中的数据类型,那么包含它的主头文 ...