原创blog,转载请注明出处

Shell是命令解释器

[root@localhost ~]# cat /etc/shells 

查看本系统共支持哪些shell



1 tab 命令补全

这个差点儿每次都能用到,比方我有个文件叫file.txt,假设这个文件夹下仅仅有一个文件名称以f开头,则我输入f然后tab就会自己主动补全出file.txt

2  两个快捷键

CTRL+L 清屏

CTRL+U 清除一行中(光标前的部分)

3 命令别名

alias:查看当前的别名

定义一个新的别名,这里定义删除文件夹的别名xrm

当然。这样定义不过暂时定义,并没有写入到文件里。每次重新启动后都要又一次alias

能够讲自己定义的别名写道配置文件~/.bashrc中

解除一个别名用unalias

4.输入输出重定向

就是把输出的内容写道另外一个地方。或者从一个地方获得一个输入

输出重定向:

[root@localhost ~]# ls -l >> /dev/null

将输出的内容重定向到/dev/null中,这里能够理解/dev/null为一个黑洞,重定向到这里的东西都不会打印出来

符号 >> 是清空原内容,然后写入

符号 > 是在原内容的末尾追加

输入重定向

符号 <

/dev/tty 这个文件经常使用来重定向到一个终端,对输入来说十分实用

read password < /dev/tty 从终端读取密码

比方我要广播file.txt中的内容

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSGVsbG9fSHdj/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

错误输出重定向,仅仅有在遇到错误的时候才进行重定向

经常使用的处理是生成相关的log文件

比如。在备份server文件的时候。往往是选在下半夜server訪问量非常少的时候,这个时候你还在梦乡呢,所以,对错误的信息进行重定向非常重要。

这样第二天你上班仅仅要看看错误的文件就能够知道哪里出问题了

cp –R /usr /backup/ 2> /bak.error

5 管道

管道就是把一个输出作为还有一个输入。经常使用在分步处理

比如

ls -/etc |more;对文件内容分页浏览
ls –l/etc | grep init;用命令运行结果里提取
ls –l /etc | grep init | wc –l;当中wc用于计算有多少行

这里简单解说下wc命令

wc命令用来统计多少行。多少个单词。多少个字符

wc #会依次输出 行数,单词数,字符个数

wc -l #行数

wc -w#单词数

wc -c #字符个数

6 命令连接符

&& 前一个命令运行成功,后一个命令才会运行

|| 前一个命令运行失败。后一个命令才会运行



 7 命令替换符号

在键盘tab上边的那个·。注意不是引號

遇到命令替换符号,会把命令替换符号内的语句当成命令运行,然后把运行结果返回给上一层

8 读取文件的开头或者结尾

head -n 文件前几行

tail  -n file 文件后几行

tail -f file 持续观察一个文件的结尾。适合动态观察log文件

当然,我们也能够配合grep,仅仅查看包括指定字符的log信息

[root@localhost ~]#tail -f file | grep --line-buffered your_pattern 

最后,附上之前写的awk,grep,sed的链接

grep命令具体解释-9个经典的使用场景

sed命令具体解释

awk命令高速入门

总结自己使用shell命令行经常使用到的8个小技巧的更多相关文章

  1. 几种在shell命令行中过滤adb logcat输出的方法

    我们在Android开发中总能看到程序的log日志内容充满了屏幕,而真正对开发者有意义的信息被淹没在洪流之中,让开发者无所适从,严重影响开发效率.本文就具体介绍几种在shell命令行中过滤adblog ...

  2. 自学Linux Shell2.1-进入shell命令行

    点击返回 自学Linux命令行与Shell脚本之路 2.1-进入shell命令行 进入文本命令行界面(CLI)两种方法: 控制台终端 图形化终端 1. 通过Linux控制台终端访问CLI 按下Ctrl ...

  3. Hadoop HDFS的shell(命令行客户端)操作实例

    HDFS的shell(命令行客户端)操作实例 3.2 常用命令参数介绍 -help 功能:输出这个命令参数手册 -ls                  功能:显示目录信息 示例: hadoop fs ...

  4. Shell 命令行,写一个自动整理 ~/Downloads/ 文件夹下文件的脚本

    Shell 命令行,写一个自动整理 ~/Downloads/ 文件夹下文件的脚本 在 mac 或者 linux 系统中,我们的浏览器或者其他下载软件下载的文件全部都下载再 ~/Downloads/ 文 ...

  5. HDFS shell命令行常见操作

    hadoop学习及实践笔记—— HDFS shell命令行常见操作 附:HDFS shell guide文档地址 http://hadoop.apache.org/docs/r2.5.2/hadoop ...

  6. Shell 命令行实现将一个站点页面全部下载到本地并替换其中链接的脚本

    Shell 命令行实现将一个站点页面全部下载到本地并替换其中链接的脚本 不知道为什么,我总想用 Shell 脚本来实现把一个站点内容给下载下来.但是下载什么站点我确不知道.今天尝试了一下利用 curl ...

  7. Shell 命令行,实现对若干网站状态批量查询是否正常的脚本

    Shell 命令行,实现对若干网站状态批量查询是否正常的脚本 如果你有比较多的网站,这些网站的运行状态是否正常则是一件需要关心的事情.但是逐一打开检查那简直是一件太糟心的事情了.所以,我想写一个 sh ...

  8. Shell 命令行 从日志文件中根据将符合内容的日志输出到另一个文件

    Shell 命令行 从日志文件中根据将符合内容的日志输出到另一个文件 前面我写了一篇博文Shell 从日志文件中选择时间段内的日志输出到另一个文件,利用循环实现了我想要实现的内容. 但是用这个脚本的同 ...

  9. Shell 命令行统计 apache 网站日志访问IP以及IP归属地

    Shell 命令行统计 apache 网站日志访问IP以及IP归属地 我的一个站点用 apache 服务跑着,积攒了很多的日志.我想用 shell 看看有哪些人访问过我的站点,并且他来自哪里. 因为日 ...

随机推荐

  1. 【POJ2774】Long Long Message (SA)

    最长公共子串...两个字符串连在一起,中间放一个特殊字符隔开.求出height之后,枚举height,看两个后缀是不是分布于两段字符串..如果是,这个值就可以作为答案.取最大值即可. ; var c, ...

  2. root Android 模拟器

    参考文档:http://blog.csdn.net/xbalien29/article/details/22661479 本文以2.3.3版本系统为目标. 一 准备工作 首先我们需要准备3样工具:su ...

  3. Object.keys(obj)

    对象.keys 很明显是获得对象的key的一个数组 数组的key arr = ['a', 'b', 'c']; console.log(Object.keys(arr)); // console: [ ...

  4. nodeJS学习(6)--- Sublime Text3 配置Node.js 开发环境

    参考:http://www.bubuko.com/infodetail-798008.html http://www.cnblogs.com/bluesky4485/p/3928364.html 1. ...

  5. 适配IPhone X的技巧

    #define TabbarHeight ([[UIApplication sharedApplication] statusBarFrame].size.height>20?83:49) // ...

  6. TJOI2015题解

    (转载前请标明出处,谢谢) 打算来做一波TJOI2015,来写题解啦! Day1: T1:[bzoj3996] 题目链接:http://www.lydsy.com/JudgeOnline/proble ...

  7. CentOS下VNC使用

    1. 介绍 本文主要介绍了VNC Server的配置和使用 2. 安装 CentOS中默认就有安装VNC,可以通过命令rpm查看 [Jerry@localhost ~]$ rpm -qa | grep ...

  8. JavaScript变量提升和函数声明预解析

    1.首先理解函数作用域 在JavaScript中,变量的定义并不是以代码块作为作用域的,而是以函数作用作用域的.也就是说,如果变量是在某个函数中定义的,那么它在函数以外的地方是不可见的.而如果该变量是 ...

  9. SQLite中特殊的INSERT语句

    SQLite中特殊的INSERT语句   在SQLite中,INSERT是基本语句,用来向表中插入数据.但是当表中存在字段存在唯一.非空.检查.主键等约束时,插入的数据很容易和约束冲突,造成插入操作失 ...

  10. 书写一个程序,把变量n的初始值设置为1957,然后利用除法运算和取余运算把变量n的每一位数字都抽出来并打印

    class number { void num(){ int a,b,c,d; int n=1957; a=n/1000; b=n/100%10; c=n/10%10; d=n%10; System. ...