[首页]
[文章]
[教程]
首页
Web开发
Windows开发
编程语言
数据库技术
移动平台
系统服务
微信
设计
布布扣
其他
数据分析
首页
>
其他
> 详细
学习笔记第二十二节课
时间:
2018-04-20 23:23:28
阅读:
287
评论:
0
收藏:
0
[点我收藏+]
shell介绍
shell是一个命令解释器,提供用户和机器之间的交互。
用户配置的最后一个段 就是shell
创建的普通的用户 它的shell是bin bash
每个用户都可以有自己的shell sentos7 的shell 是bash
除此之外还有 zsh ksh ,用起来和bash 很像,但是有细节上的差异。
仓库里面提供的也有zsh 和ksh的rpm包,可以去yum安装它。
-
shell还有自己特定的语法,比如逻辑判断等。
命令历史
敲过的命令是又一个文件保存着的。
可以cat 看一下之前敲过的命令。
可以用history 查看之前的命令 最大存储1000条。
是由环境变量配置的,echo $HISTSIZE
有时候敲命令出现1004 或者更多,是因为这些命令还没有写到环境变量中去。
history -c 可以把当前内存里面的历史清空 但是配置文件里面的是没有清空的。
敲的命令是退出终端才会保存到配置文件中去。
HISTSIZE环境变量需要到etc/profile 当中进行修改。
比如觉得1000太少,可以修改为5000
保存退出后,再去查看还是1000 需要重启终端或者 运行source /etc/profile 才会生效。
history去查看,只有id号和命令, 其实也可以显示出时间。
HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S " 指定这个变量的格式。
echo $ HISTTIMEFORMAT 格式已经更换了。
这个环境变量仅仅是在当前终端生效的,去从新复制个渠道去查询是空的,也就是在另一个渠道,系统默认这个环境变量是不存在的。需要去定义它。
再次history 查看 就显示时间和日期了。
想让这个生效,还可以编辑etc/profile 把这个环境变量写到下面。
然后 sorce一下。
再从新打开一个渠道,就发现已经生效了。
想让记录的命令 永久保存,不被删除,可以给它增加一个隐藏权限 a权限。增加后只能追加不能删除掉,用户所有的命令都会记录下来。但是有特殊的情况,如果没有正常退出终端的话 会记录不完整。
!!两个叹号是上一条命令 也就是你最后输的一条命令。
!+数字 是重复执行 你所输入数字的命令。
!+字符串,就可以倒着往上数使用 最近的一次 使用 的字符串的命令。
命令补全和别名
tab 补全 不仅可以补全命令 还可以补全文件和目录名。
当文件 或者命令名 开头一样 后面的不一样 需要两次tab
在sentos7里面可以补全参数 但是默认是没有的,需要yum 安装。
yum install - y bash-completion
这个时候还是不行的 需要重启一下才能生效。
reboot 重启。 然后就可以自动补全了。
alias 别名 给命令重新起名字 比如 这个重启网络服务的命令很长,我们可以给他重起个名字,简单一点。
取消别名的命令是unalias +别名
alias都有哪些 可以直接alias 把这些都列出来,
这些alias都在哪里 用户家目录下.bashrc里面有三个, 其他的都在etc/profile.d/下。
通配符
之前有用过 *就是通配的意思,
比如当前目录下有几个txt文件,就可以用
来把它们都列出来。也可以
txt 也可以
在两边
txt*
也可以在后面 比如 1* ,1开头的不管是目录还是文件都会列出来。
还有? 表示一个任意一个字符。 (bb.txt没有列出来 因为是两个字符)
还有[ ] 里面可以写一个范围,比如ls【0-3】.txt 只要这个范围内任意一个满足方括号内的条件,就会被列出来。 也可以写如数字 加上大写
还有{} 和[ ]差不多, 但是要加个逗号。
输入输出重定向
>是把前面的命令输出 给输入到后面的文件里面去。
比如cat 1.txt>2.txt 会把1.txt删除掉重写。
>> 是追加, 不会删除之前命令的内容。
2> 会把这个命令产生的错误信息给指定输入到一个文件里去。
比如运行一个有问题的错误命令。他会提示没有命令,用2> 就会把这个错误的命令 写到一个文件里, cat查看 就会看到这个错误命令。
2>> 错误追加重定向。 (linux的追加就是在文件里 再后面加一些内容)
>+2>=&> 也就是这两个可以结合起来。可以把错误 正确的输出信息 定向到一个文件里去
做个实验:
同样也可以追加。
也可以这样写 比如 ls [123].txt abc.txt >1.txt 2>a.txt
这样就可以分开,
这样就可以把正确和错误区分开, 以后写shell脚本用的比较多。
< 输入重定向。 可以把右边的文件内容 输入重定向 一个文件或者命令里面。
比如把1.txt 输入重定向到一个命令里面去。
这里要注意 输入重定向只能是一个输入到一个命令 不能是文件。
学习笔记第二十二节课
原文:http://blog.51cto.com/13645927/2105978
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年09月23日 (328)
2021年09月24日 (313)
2021年09月17日 (191)
2021年09月15日 (369)
2021年09月16日 (411)
2021年09月13日 (439)
2021年09月11日 (398)
2021年09月12日 (393)
2021年09月10日 (160)
2021年09月08日 (222)
最新文章
更多>
2021/09/28 scripts
2022-05-27
vue自定义全局指令v-emoji限制input输入表情和特殊字符
2022-05-27
9.26学习总结
2022-05-27
vim操作
2022-05-27
深入理解计算机基础 第三章
2022-05-27
C++ string 作为形参与引用传递(转)
2022-05-27
python 加解密
2022-05-27
JavaScript-对象数组里根据id获取name,对象可能有children属性
2022-05-27
SQL语句——保持现有内容在后面增加内容
2022-05-27
virsh命令文档
2022-05-27
教程昨日排行
更多>
1.
list.reverse()
2.
Django Admin 管理工具
3.
AppML 案例模型
4.
HTML 标签列表(功能排序)
5.
HTML 颜色名
6.
HTML 语言代码
7.
jQuery 事件
8.
jEasyUI 创建分割按钮
9.
jEasyUI 创建复杂布局
10.
jEasyUI 创建简单窗口
友情链接
汇智网
PHP教程
插件网
关于我们
-
联系我们
-
留言反馈
- 联系我们:wmxa8@hotmail.com
© 2014
bubuko.com
版权所有
打开技术之扣,分享程序人生!