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. android studio下生成jni头文件

    cd app/src/main javah -d jni -classpath ../../build/intermediates/classes/debug net.sourceforge.lame ...

  2. [原]linux下将网卡设置为混杂模式

    设置为混杂模式ifconfig eth2 promisc取消设置ifconfig eth2 -promisc ------------------------------------------ 下面 ...

  3. 添加Net4CollectionTypeFactory的原因

    .NET4.0已经实现了该功能 http://jahav.com/blog/nhibernate-using-net-4-iset/ NHibernate using .NET 4 ISet 0 Co ...

  4. 【CF908E】New Year and Entity Enumeration 位运算+DP

    [CF908E]New Year and Entity Enumeration 题意:给定$M=2^m-1$,我们称一个集合S是好的,当且仅当它满足:1.$\forall a\in S,a\  \ma ...

  5. Java8新特性之Lambda表达式

    lambda表达式是java8给我们带来的几个重量级新特性之一,借用lambda表达式,可以让我们的java程序设计更加简洁.最近新的项目摒弃了1.6的版本,全面基于java8进行开发,本文是java ...

  6. oracle中动态SQL使用详细介绍

    Oracle编译PL/SQL程序块分为两个种:通常静态SQL采用前一种编译方式,而动态SQL采用后一种编译方式,需要了解的朋友可以参考下     1.静态SQLSQL与动态SQL Oracle编译PL ...

  7. 0001python中特殊的for迭代zip函数

    >>> a = [1,2,3,4,5] >>> b = [9,8,7,6,5] >>> length = len(a) if len(a)< ...

  8. 【紫书】Undraw the Trees UVA - 10562 递归,字符串

    题意:给你画了一颗树,你要把它的前序输出. 题解:读进到二维数组.边解析边输出. 坑:少打了个-1. #define _CRT_SECURE_NO_WARNINGS #include<cstri ...

  9. 开启 NFS 文件系统提升 Vagrant 共享目录的性能

    Vagrant 默认的 VirtualBox 共享目录方式读写性能表现并不好,好在 Vagrant 支持 NFS 文件系统方式的共享,我们可以启用 NFS 提升性能 开启方法 首先要把虚拟机的网络设置 ...

  10. python requests模块的两个方法content和text

    requests模块下有两个获取内容的方法,很奇怪,都是获取请求后内容的方法,有什么区别呢?? 一.区别 content:返回bytes类型的数据也就是二进制数据 text:返回的就是纯文本(Unic ...