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. 解决:SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间提示问题

    提示信息如下 “/”应用程序中的服务器错误. SqlDateTime 溢出.必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间. 问题现象: 问 ...

  2. jQuery Sizzle选择器(三)

    在Sizzle的入口方法Sizzle()中看到的一个根据浏览器来初始化document各个方法的函数setDocument(),接下来主要看一下这个方法都做了什么. 但之前有必要看一下它用到的一些Si ...

  3. jQuery("dom").get()的源码分析

    该方法是绑定在jQuery.prototype上的一个静态方法,目的是取出jQuery对象中的某个或全部DOM元素. 使用方法: $("someDOM").get(index); ...

  4. 如何查看当前项目Laya的引擎版本

    打开项目后在调试控制台输入 Laya.version

  5. VC消息传递(对话框间传递参数)

    以下用一个自创的对话框类(MyMessageDlg)向视图类(MessageTestView)发送自定义消息为例,说明这两种不同方法的自定义消息的 消息传递的方法一:使用ON_MESSAGE使用ON_ ...

  6. 7.18 python进程间数据共享

    # 管道# 数据共享 Manager# 进程池和回调函数 ! # !/usr/bin/env python # !--*--coding:utf-8 --*-- # !@Time :2018/7/18 ...

  7. java cocurrent ConcurrentHashMap、读写锁、Condition、线程池、Barrier、CountDownLatch、Callable、BlockingQueue

    Java并发学习笔记 - yang_net - 博客频道 - CSDN.NET               Java并发学习笔记 - yang_net - 博客频道 - CSDN.NET 并发小结:高 ...

  8. Rikka with Parenthesis II---hdu5831(括号匹配)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5831 给你一个只包含‘(’‘)’的字符串,然后让我们交换两个字符一次,问是否能得到一个合法的匹配:必须 ...

  9. Frogger--poj2253

    http://poj.org/problem?id=2253 题意:The frog distance (humans also call it minimax distance) between t ...

  10. 洛谷P4424 寻宝游戏 [HNOI/AHOI2018]

    正解:思维题 解题报告: 传送门! 这题就是很思维题,,,想到辣实现麻油特别难,但难想到是真的TT 这题主要是要发现一个性质:&1无意义,&0相当于赋值为0,|1无意义,|1相当于赋值 ...