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系统提 ...
随机推荐
- SharpGL学习笔记(五) 视口变换
视口变换主是将视景体内投影的物体显示到二维的视口平面上. 在计算机图形学中,它的定义是将经过几何变换, 投影变换和裁剪变换后的物体显示于屏幕指定区域内. 前面我们讨论过的透视投影, 正射投影, 它们都 ...
- gerrit_bash_commands.sh
https://github.com/tomwys/gerrit-bash-commands gerrit_bash_commands.sh # Author: Tomasz Wysocki < ...
- LeetCode 12 Integer to Roman (整数转罗马数字)
题目链接: https://leetcode.com/problems/integer-to-roman/?tab=Description String M[] = {"", ...
- Junit3和Junit4使用区别
在项目经常会用到单元测试,这里对Junit在开发中的使用标准及使用方法进行简单的介绍. 1.包目录的定义以及相关jar包的添加 2.Junit3和Junit4分别对测试类的编写 所测试的源代码: pa ...
- openvpn 多机房互联
Server端安装配置 一.安装 1.下载及相关依赖包安装 wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.06.tar.gz ...
- 2018 青岛ICPC区域赛E ZOJ 4062 Plants vs. Zombie(二分答案)
Plants vs. Zombies Time Limit: 2 Seconds Memory Limit: 65536 KB BaoBao and DreamGrid are playin ...
- 计算机从加电到系统(Linux)启动完成
0x0 背景 在我参加的面试和我面试别人.或者参加别人对别人的面试的事后经常遇到的一个问题就是:请从计算机加电开始描述一下计算机启动到操作系统正式启动起来的全过程.这是一个考验对计算机体系结构和基本知 ...
- CentOS 安装PostregSQL9.2 同时出现pg安装错误
错误: Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /usr/local/bin ...
- like to do vs like doing
I like to eat apple 表示我喜欢吃苹果这种食物. I like eating apple 表示我喜欢吃苹果这种食物 或者 表示我喜欢吃苹果这个过程. like to do,表达的是倾 ...
- http访问tomcat server的一个流程
Tomcat Server处理一个http请求的过程 假设来自客户的请求为: http://localhost:8080/wsota/wsota_index.jsp 1) 请求被发送到本机端口8080 ...