一、shell 基础

shell是个命令解释器,提供用户和机器之间的交互

每个用户都可以拥有自己特定的shell

centos7默认Shell为bash(Bourne Agin shell)

除了bash,还有zsh.ksh等

二、命令历史

敲过的命令在/root/.bash_history里储存着,最多可以储存1000条。

可以用history命令查看

history -c 可以清除内存里,history里的命令历史,但是不能清除配置文件/root/.bash_history里的命令

echo $HISTSIZE                 查看环境变量,查看最多可以储存多少命令。

/etc/profile                   里面可以改变环境变量

source /etc/profile            刷新profile文件,使环境变量立即生效

HISTTIMEFORMAT="%Y%m%d %H:%M:%S"           使history临时显示历史命令的输入时间

若想一直生效,在/etc/profile中加入  HISTTIMEFORMAT="%Y%m%d %H:%M:%S"一行

source /etc/profile          刷新一个profile文件即可

永久保存/root/.bash_history      不想被别人破坏或删除

chattr + a /root/.bash_history   给这个用户加入a权限

如果不正常退出,用exit或者logout。则历史命令保存的不全

!!                执行最后一条命令

!n                 n表示数字。执行哪一条历史命令

!命令              执行最后一次输入的指定命令

三、命令补全即别名

tab键,如果只有一个开头,按一下自动补全。如果是两个以上,按两下则自动补全

yum install -y bash-completion         下载一个自动补齐参数的包(需要从新启动生效)

alisa别名

alisa                         查看系统内所有的alisa命令

alisa+别名='命令'             创建alisa别名

unalisa+别名                  取消自己创建的alisa别名

四、通配符

* 不分字符和个数

? 一个任意的字符

[] 里面可以写一个范围。例如0-3或者123,13只显示1和3.

{} 相当于方括号的13,但是中间要加 ,

五、输入输出重定向

>  把前面命令的输出直接出入到后面的文件中,覆盖后面文件原有的内容

cat 1.txt > 2.txt

>> 把前面命令的输出追加到后面的文件中

cat 1.txt >> 2.txt

2> 错误重定向

2>> 错误追加重定向

&> = > 和 2>

&>> = >> 和 2>>

写shell脚本时,可以把错误和正确的分开,以检查脚本











本文转自 小新锐 51CTO博客,原文链接:http://blog.51cto.com/13407306/1982609,如需转载请自行联系原作者

Linux笔记(shell基础,历史命令,命令补全/别名,通配符,输出重定向)的更多相关文章

  1. Linux之shell基础

    Shell基础 一.shell概述 1) shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动.挂起.停止甚至是编写一些程序 ...

  2. Linux 中 10 个有用的命令行补全例子

    在 Linux 系统中,当你输入一个命令,再按两次 TAB 键,就会列出所有以你输入字符开头的可用命令.这并不新鲜,可能你已经知道了.这个功能被称作命令行补全bash completion.默认情况下 ...

  3. centos命令自动补全增强

    CentOS默认没有像Ubuntu系统一样命令参数补全功能,例如yum install无法补全.通过安装bash-completion安装命令参数补全增强. CentOS6 默认情况下,CentOS6 ...

  4. kubectl命令自动补全

    kubectl这个命令行工具非常重要,与之相关的命令也很多,我们也记不住那么多的命令,而且也会经常写错,所以命令自动补全是非常有必要的,kubectl命令行工具本身就支持complication,只需 ...

  5. kubernetes系列(小知识):kubectl命令自动补全

    kubectl命令自动补全 linux系统 yum install -y bash-completion source /usr/share/bash-completion/completions/d ...

  6. kubectl 命令自动补全

    kubectl 命令自动补全 在linux上 # yum install -y bash-completion # source /usr/share/bash-completion/bash_com ...

  7. 解决centos7命令无法补全

    背景 偶然发现本地虚拟机centos 7.7配置firewalld-cmd命令行无法补全,手敲命令太多,着实麻烦 解决方案 安装linux命令行补全工具,还能够补全命令参数 yum install b ...

  8. Docker 命令自动补全?要的

    前言 不知道这个小伙伴有多久没用过 Docker 了, 突然对我说 Docker 命令怎么发生变化了 docker run ... #变成了 docker container run ... 他说,本 ...

  9. 命令自动补全模块rlcomplete

    rlcomplete定义了针对readline模块的命令自动补全函数.         当在unix平台下导入这个模块之后(前提是readline模块可用),一个Complete的实例会自动生成,并且 ...

  10. CentOS 6.5上安装python2.7、pip以及Python命令行补全和yum冲突解决

    目前CentOS6.5上自带的python版本为2.6,升级到python2.7会碰到很多问题.本文将介绍如何安装python2.7.pip以及python命令行补全. 一.如何安装python2.7 ...

随机推荐

  1. MyBatis(六):SqlSession执行源码分析

    SqlSession执行源码分析 针对以下代码 public class MybatisUtils { private static SqlSessionFactory sqlSessionFacto ...

  2. 微信小程序 使用include导入wxml文件注意的问题

    (1)使用inlucde的时,要注意将最后的终止符 / 添加上去,否则不能正常的导入界面内容 <include src="header.wxml"/> (2)引入文件注 ...

  3. Python——详解__str__, __repr__和__format__

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是Python专题的第10篇文章,我们来聊聊Python当中的类. 打印实例 我们先从类和对象当中最简单的打印输出开始讲起,打印一个实例 ...

  4. Git mergetool 插件

    首先你喜欢使用git命令行操作,可以上网下载Kdiff3安装到你的电脑,然后按下面的操作就可以使用这个工具了. 1. 安装Kdiff3 软件.(最好使用默认路径) 2. 添加kdiff3到git me ...

  5. ThinkPHP3.2.3集成微信分享JS-SDK实践

    先来看看微信分享效果:在没有集成微信分享js-sdk前是这样的:没有摘要,缩略图任意抓取正文图片 在集成微信分享js-sdk后是这样的:标题,摘要,缩略图自定义 一.下载微信SDK开发包下载地址:ht ...

  6. go中的error小结

    go中的error error和panic error接口 go中err的困局 推荐方法 总结 参考 go中的error go中的错误处理,是通过返回值的形式来出来,要么你忽略,要么你处理(处理也可以 ...

  7. AJ学IOS 之tableView的下拉放大图片的方法

    AJ分享,必须精品 一:效果 tableview下拉的时候上部分图片放大会 二:代码 直接上代码,自己研究吧 #import "NYViewController.h" //图片的高 ...

  8. 大数据篇:Spark

    大数据篇:Spark Spark是什么 Spark是一个快速(基于内存),通用,可扩展的计算引擎,采用Scala语言编写.2009年诞生于UC Berkeley(加州大学伯克利分校,CAL的AMP实验 ...

  9. 第三章:shell变量知识进阶

    特殊变量:位置变量大于9的时候,需要加上(),例如$(10)$*获取脚本的所有参数,如果不加""和$@是一样的效果,如果加上"",则表示所有参数组成一个字符串$ ...

  10. TeamViewer11 万全免费

    下载地址:百度网盘 c4xm TeamViewer 是一款简单易用且功能强大的远程控制软件,它能穿越内网,摆脱路由器或防火墙的限制,任何一方都不需要拥有固定IP地址.让不懂技术的朋友也能远程控制电脑, ...