shell登陆加载的文件, 快捷命令, tee管道, nohup和&
1. login shell和nologin shell的理解:
字面意思, 需要登陆的shell和不需要登陆的shell. 正确解释为: 加载用户环境配置的shell
和不加载用户环境配置的shell. nologin shell登陆时只加载/etc/bashrc和 ~/.bashrc两个文件;
而login shell登陆时会加载4个, 系统级和用户级分别两个, 如2中所列文件.
结合su - 命令的使用理解. -为加载用户环境, 没有-即不加载用户环境.
2.和用户登陆shell有关的(要加载的)文件如下:
系统级的有: /etc/profile 和 /etc/bashrc
用户级的有: 家目录 ~/.bash_profile 和 ~/.bashrc
3. 用户退出shell有关的两个文件:
都在用户家目录下: ~/.bash_logout 和 ~/.bash_history
4. 补充shell里的几个快捷操作(shell脚本中或窗口中): ^代表ctrl键
!! 表示上次执行的命令; !$ 表示上次命令的最后一个参数; ^d 退出shell并关闭
^R 然受输入内容, 会从历史命令中去模糊匹配命令;
^a 移动光标到命令开始处; ^e 移动光标到命令结尾处;
^u 删除光标之前内容; ^k 删除光标之后的内容; ^y 粘贴出删除的内容, 可无限次粘贴
^s 锁定shell界面; ^q 解除shell界面的锁定;
nohup 免疫关闭shell窗口时的结束命令; & 后台运行命令; jobs 可查看当前所有的后台任务
^z 可使一个前台运行的命令转到后台运行.
实列: vim 一个文件, 在命令模式下, 使用^z 可使当前的vim转为后台,shell界面回到目录; 然后键入
fg+序号 可再次把转为后台的vim切到前台来. 序号可使用jobs命令查看;
补充: nohup和&的区别: &一方面会使程序在后台运行, 一方面会使程序免受退出时的结束命令
影响; nohup会使程序免受关闭shell窗口的结束命令影响; 所以通常我们需要让程序一直后台运行
可使用: nohup command &
输入重定向>和输出重定向<: cat << EOF >>file2 \n123 \nEOF 注: \n代表换行
EOF就是个标识符, EOF标签对中的内容输出给cat命令, 再由cat输入到file2文件中;
>>表示追加, > 表示覆盖写. 上面的命令不要放到一行.
5. alias设置别名: alias xy='cd' # 直接窗口输入会在本次登陆中生效, 退出即失效, 也可把该
命令写入shell登陆要加载的任意文件中都可以.
6. 管道符和tee管道
date > qzq.txt # 把date的输出覆盖写入qzq.txt中
date | tee qzq.txt # 同上
date | tee -a qzq.txt # tee可理解为一个三通管道, 可以把date的输出给管道符后, 再输入到qzq.txt中
-a 参数有无都行, a表示追加写的意思, 没有表示覆盖写. tee会同时写入文件和输出到屏幕上.
shell登陆加载的文件, 快捷命令, tee管道, nohup和&的更多相关文章
- Java提高篇——JVM加载class文件的原理机制
在面试java工程师的时候,这道题经常被问到,故需特别注意. 1.JVM 简介 JVM 是我们Javaer 的最基本功底了,刚开始学Java 的时候,一般都是从“Hello World ”开始的,然后 ...
- JVM加载class文件的原理
当Java编译器编译好.class文件之后,我们需要使用JVM来运行这个class文件.那么最开始的工作就是要把字节码从磁盘输入到内存中,这个过程我们叫做[加载 ].加载完成之后,我们就可以进行一系列 ...
- angularLoad(用以异步加载js文件)
angularLoad(用以异步加载js文件) 使用方法: 1.执行命令 下载 lib npm install angular-load --save 2.index.html引用js <scr ...
- flask模板应用-加载静态文件:添加Favicon,使用CSS框架,使用宏加载静态资源
加载静态文件 一个Web项目不仅需要HTML模板,还需要许多静态文件,比如CSS.JavaScript文件.图片和声音声.在flask程序中,默认需要将静态文件存储在与主脚本(包含程序实例的脚本)同级 ...
- cordova程序加载pdf文件的2种方法(ios/android)
前言 公司目前的前端架构是微信端由vue全家桶负责h5网站的单页应用,android端和ios端则选择cordova打包成apk和app.其中,有一个业务逻辑是点击某个链接进入pdf的展示,h5的方案 ...
- spring boot 加载配置 文件
在springboot启动的过程中,默契情况下会在classpath路径下加载application.properties当做系统配置文件,但有时候我们想要替换成另一个文件,可以 通过以下方式: ...
- windows/tomcat 修改java虚拟机JVM以utf-8字符集加载class文件的两种方式
1.情景展示 做了这么长时间的java开发,但是,你知道JVM是以怎样的编码加载.解析class文件的吗? 我们知道,通常情况下,我们会将java文件的字符集修改成utf-8,这样,理所当然地就认 ...
- centos下nginx无法加载php文件,404
前提:html文件可以正常加载,php安装正常,nginx配置正确.仍然无法加载php文件,明明文件是存在,却报404,而不是直接输出文件 原因是:未启动php-fpm,未开启9000端口 首先查看是 ...
- Android系统加载Apk文件的时机和流程分析(1)--Android 4.4.4 r1的源码
本文博客地址:https://blog.csdn.net/QQ1084283172/article/details/80982869 Android系统在启动时安装应用程序的过程,这些应用程序安装好之 ...
随机推荐
- RabbitMQ Win10安装
RabbitMQ是消息对列,主要是用于做消息代理.本质上说,它接受来自生产者的信息,并将它们传递给消费者.在两者之间, 它可以根据你给它的路由,缓冲规则有选择地进行传递消息.采用Erlang语言开 ...
- http服务需要pycurl模块这样去监控服务
最近运维还是比较空闲,写篇自己的心得体会.做过运维的应该都做过http服务了.像一些电子商城,或者是一些互联网公司,web的服务之类是至关重要的,近期看了刘天斯大哥的书觉得自己运维平台应该也可以这样去 ...
- Error:Cannot build artifact 'ssm:war exploded' because it is included into a circular dependency (artifact 'ssm:war exploded', artifact 'apinb-master:war exploded')
打开 File->Project Structure –> Artifacts(ctrl+alt+shift+s) ,这里会有4个,我已经删除了,把 ssm:war 和 ssm:war e ...
- 关于Oracle数据库的rownum应用
它是Oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,以此类推,这个伪字段可以用于限制查询返回的总行数,而且rownum不能以任何表的名称作为前缀. 如以下语句将无法 ...
- linux命令--查找与帮助
一.搜寻命令 1.whereis命令 whereis是搜索系统命令的命令,也就是说,whereis 命令不能搜索普通文件, 而只能搜索系统命令. 命令名称:whereis 英文原意:locate th ...
- CSS置换元素和非置换元素
置换元素: 1. 一个内容 不受CSS视觉格式化模型控制,CSS渲染模型并不考虑对此内容的渲染,且元素本身一般拥有固有尺寸(宽度,高度,宽高比)的元素,被称之为置换元素. 2. 置换元素就是浏览器根 ...
- RK3399安装Qt
更新软件源.升级软件 sudo apt-get update sudo apt-get upgrade 安装Qt sudo apt-get install qt5-default sudo apt-g ...
- 深入理解 Java 异常
- 如何解决eclipse远程服务器上面的Rabbitmq连接超时问题?
1.嗯,问题呢,就是一开始安装好RabbitMQ,练习了一下RabbitMQ的使用,但是呢,过了一段时间,我来复习的时候,发现运行出现下面的错误了.后来想想,是自己学习微服务的时候,修改了/etc/h ...
- (六十三)c#Winform自定义控件-箭头(工业)-HZHControls
官网 http://www.hzhcontrols.com 前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kww ...