博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell介绍、命令历史、补全、别名、通配符、输入/输出重定向
阅读量:6692 次
发布时间:2019-06-25

本文共 1353 字,大约阅读时间需要 4 分钟。

hot3.png

shell介绍

    shell是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具。

    用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传输给系统内核,接着内核再去支配计算机硬件去执行各种操作。 

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

    centos7默认的shell版本是bash,它是sh的增强版本。还有其他的版本,比如;zsh、ksh等。

命令历史

    我们执行过的命令linux都会有记录,预设可以记录1000条历史命令执行命令history就可以查看

    history -c 清空内存里的命令历史

    这些历史命令会保存在用户家目录的 .bash_history文件中

    命令历史是由环境变量HISTSIZE配置的,

    我们可以在配置文件 /etc/profile修改命令历史保存记录

   执行命令 source /etc/profile 使它生效,

    查看命令历史时加上运行命令的时间: HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S"

    也可以在配置文件/etc/profile 中增加这一行在HISTSIZE=5000下面

  

    增加权限,永久保存 chattr +a ~/.bash_history

    !是与命令历史有关的一个特殊字符,这个字符常用的应用有3个:

!!:执行上一条命令

!n:n是一个数字,这样表示执行命令历史中的第n条命令

!字符串:例如输入 !ca 就会执行以ca开头的最近一次执行的命令

命令补全和别名

    tab键敲一下可以伴我们补全命令、一个文件名或一个路径 敲两下可以把所有文件名和命令都列出来

    参数补全狐妖安装bash-completion 重启系统生效

    alias 命令可以给一条命令做别名,这样可以把一条很长的、不好记的命令做一个比较短,好记的别名代替

    用户家目录的 .bashrc文件中存放了一些有别名的命令

    还有其他的一些在/etc/profile.d/目录下

    直接执行alias命令可以查看目前系统预设的别名

    给命令设置别名的命令格式为:alias 命令别名='具体命令'

    unalias命令 取消自定义别名

通配符

    在bash下,可以使用*来匹配零个或多个字符 ls *.txt

    ?来匹配一个字符 ls ?.txt 

    用中括号[ ]确定范围  可以使用[0-9] 或[123]/[a-zA-Z]

输入输出重定向

    输出重定向: 经常用于把命令输出的结果输入到文件里面,而不是屏幕上   

  例:cat 1.txt > 2.txt  把前面命令 cat 1.txt输出的内容输入到2.txt文件里,原来2.txt里的内容会删除

    追加重定向 >>  例:cat 1.txt >> 2.txt  它不会删除2.txt里原来的内容,而是把 cat 1.txt输出的内容添加上2.txt

    错误重定向 2> 会把一个命令参数的错误信息输入到指定的文件里去 ,同时删除指定文件原来的内容。

    错误追加重定向 2>> 同样不会删除源文件的内容

    &> 把正确和错误的信息都输入到这顶的文件里面 相当于重定向和错误重定向集合

    输入重定向用于改变命令的输入,不常使用

转载于:https://my.oschina.net/u/3867258/blog/1837372

你可能感兴趣的文章
Linux终极shell-zsh的完美配置方案!——oh-my-zsh
查看>>
MYSQL 函数、自定义函数 function
查看>>
Python爬虫之简单爬虫框架实现
查看>>
python isinstance内建函数的使用
查看>>
老师不能把你怎样,但外面的世界可以!
查看>>
css居中div的几种常用方法
查看>>
css3
查看>>
根据某个元素做相对定位
查看>>
C# Window编程随记——ClickOnce程序部署
查看>>
小白系列-免费广告路由器web认证设置(2)
查看>>
Top 16 Java 应用类 - 这些功能再也不用自己写了
查看>>
面试题之矩阵与转置矩阵相乘
查看>>
linux光盘、U盘的挂载与卸载
查看>>
linux sudo命令
查看>>
LeetCode-最长回文子串
查看>>
【HDOJ】3400 Line belt
查看>>
JVM Guide
查看>>
大数模版
查看>>
HDU4044 GeoDefense(树形dp+分组背包)
查看>>
Microsoft .Net Remoting系列专题之三:Remoting事件处理全接触
查看>>