博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2018-1-10 Linux学习笔记
阅读量:7045 次
发布时间:2019-06-28

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

8.1 shell介绍

shell是一个命令解释器,提供用户和机器之间的交互,它支持特定的语法,比如逻辑判断,循环等.

每个用户都可以有自己特定的shell,CentOS7默认的shell为bash(Bourne Agin Shell),此外还有zsh,ksh等shell.

8.2 命令历史

我们敲过的命令,linux是会有记录的,预设可以记录1000条历史命令。这些命令保存在用户的家目录中的.bash_history文件中。有一点需要你知道的是,只有当用户正常退出当前shell时,在当前shell中运行的命令才会保存至.bash_history文件中。

echo $HISTSIZE #查看系统设置历史命令数目,HISTSIZE是在etc/profile中定义的,设置完需重新进终端才会生效(或者是执行source /etc/profile也会生效)
history #查看之前的命令
history -c #清空内存中的命令历史
HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S" #设置history查看的历史命令加上使用时的日期和时间
永久保存历史命令 chattr +a ~/.bash_history
!! #执行上一条指令
!n #n为数字,表示执行命令历史中第n条指令
!word #表示执行命令历史中最近一次以word为开头的指令

8.3 命令补全和别名

(1)命令补全

tab键按一次 --> 补全一个命令/路径/文件名。
tab键按两次 --> 系统则会把所有的指令或者文件名都列出来
CentOS7默认不支持命令参数补全,安装bash-completion才支持(装完需重启系统才生效)
(2)别名
通过alias可以把一个常用的并且很长的指令别名一个简洁易记的指令,其语法:
alias 命令别名='具体的命令'
例如,alias kh='pwd'
用unalias解除别名功能
直接敲alias则会看到目前系统预设的alias.

每个用户都有自己配置别名的文件~/.bashrc(即家目录下的.bashrc文件),用户自定义的alias都放在这里.

alias别名除了在家目录下~/.bashrc中定义的,其他的都在/etc/profile.d/目录下的配置文件中定义.

8.4 通配符

在bash下,可以使用 来匹配零个或多个字符,而用 ? 匹配一个字符。

ls .txt #列出当前目录中所有以.txt结尾的目录和文件
ls ?.txt #列出当前目录中所有以.txt结尾的且名字只有一个字符的目录和文件
ls [0-9a-z].txt #列出当前目录中所有以.txt结尾的且名字为0-9中任意一个或a-z中任意一个的目录和文件
ls {1,2,3,a,b,c}.txt #列出当前目录中所有以.txt结尾的且名字为1,2,3,a,b,c中任意一个的目录和文件

8.5 输入输出重定向

cat 1.txt > 2.txt #将1.txt的内容替换2.txt的内容

cat 1.txt >> 2.txt #将1.txt的内容追加到2.txt内容的末尾
ls aaa.txt 2>err #2>表示错误重定向,此行命令表示将执行ls aaa.txt产生的错误信息重定向err文件中去
ls aaa.txt 2>>err #2>>表示错误重定向,此行命令表示将执行ls aaa.txt产生的错误信息追加重定向err文件中去
wc -l < 1.txt #其中<表示输入重定向,此行命令表示统计1.txt文件内容的行数
疑难点:
(1)
&>相当于> + 2>
表示将执行一条命令正确和错误的输出内容都重定向到某处
(2)
command > 1.txt 2>&1
将执行command命令正确和错误的输出内容都重定向到1.txt中
&1 表示标准正确输出目标,因为前面已经定义了 >1.txt 标准正确输出到了1.txt,所以&1就是1.txt

转载于:https://blog.51cto.com/13517946/2059656

你可能感兴趣的文章
Scala学习笔记——样本类和模式匹配
查看>>
【python下使用OpenCV实现计算机视觉读书笔记1】输入输出
查看>>
windows上通过secureCRT和putty创建密钥登录
查看>>
Hive快捷查询:不启用Mapreduce job启用Fetch task
查看>>
Java面试题
查看>>
CentOS下MySQL主从同步配置
查看>>
jQuery替换内容
查看>>
空暇时候思考2(&#39;\0&#39;等价于数字0还是字符0)
查看>>
英语词汇周计划(1-1)group 1
查看>>
FreeRTOS基础知识
查看>>
3.从AbstractQueuedSynchronizer(AQS)说起(2)——共享模式的锁获取与释放
查看>>
关于逻辑或的一个小小应用注意点
查看>>
(一)Redis笔记——简介 、key 、数据类型
查看>>
第四篇:Web框架 - Django
查看>>
第九篇:随机森林(Random Forest)
查看>>
crontab命令详解
查看>>
高可用架构的6大常规方案【转】
查看>>
编程中的匈牙利命名法
查看>>
nj06---包
查看>>
Batch normalization:accelerating deep network training by reducing internal covariate shift的笔记
查看>>