shell+vim——05
ln --->link 链接, 链接有两种:
软连接 ln -s 源文件 目标文件 :相当于创建了一个快捷方式,源文件损坏后这个链接也就失效了
ln -s a.text a.text.soft //给a.text 创建一个名为 a.text.soft 的软链接
硬连接 ln 源文件 目标文件
ln a.text a.text.hard //给a.text 创建一个名为 a.text.soft 的硬链接
#硬连接相当于cp -p +同步跟新 ,-p就是拥有原来文件所有的属性
重定向与管道符
作用:将命令的执行结果输出到指定的文件中,而不是直接显示在屏幕上
0 标准输入 键盘 stdin 仅读取
1 标准输出 终端 stdout 仅写入
2 标准错误 终端 stderr 仅写入
3+ filename 其他文件 读/写
在linux中构建了一个带有编号标记的通道(文件描述符)的进程结构来管理打开文件
通过进程连接到文件,进行文件数据的操作
类型1:重定向标准输入,将命令的执行结果输出到指定的文件家中
- 1>(也可以省略写为 > )代表覆盖写
- 1>>(也可以省略写为 >> )代表追加写
类型2:重定向标准错误,将错误信息写入指定文件中
- 2> 代表覆盖写
- 2>> 代表追加写
类型3:重定向标准输入和标准错误,将标准输出和标准错误输出写入指定的文件中
- &> 代表覆盖写
- &>> 代表追加写
举例子:
- 我用的是root登录,来到一个文件夹中,随便啥文件夹都可以 执行 命令 ll > message.txt 你会发现执行的结果都在message中了
- 执行ls > message.txt 你会发现执行的结果仍然在message.txt 中,但是原来的内容被覆盖掉了
- 执行 find / -user student(我事先有一个student的用户) 就会出现一堆执行结果,有错误输出和正常输出
- 执行 find / -user studnet > message.txt 你会发现,屏幕上只是打印了标准错误输出,正常输出写入了message.txt 文件中
- 执行 find / -user studnet 2> message.txt 你会发现,屏幕上只是打印了标准输出,标准错误输出写入了message.txt 文件中
- 执行 find / -user studnet &> message.txt 你会发现所有的输出都写入了文件中
管道符:传送 符号 | (将管道前面的输出结果作为后面语句的条件执行)
举栗子:加入在当前目录下 ls 命令会打印许多内容 那么我们就可以使用 ls | more,就可以将打印的结果分页展示
Vim文本编辑器
vi/vim vim是 vi 的一个升级版本
vim特点:可拓展性比较高,支持多种语言的脚本,支持文件类型的插件,支持文本的各种骚气操作
直接在终端中输入 vim 或者 vi 都可以查看一下当前vim的一些信息
vim filename 就可以使用vim对这个文件进行一些骚操作了,打开后有三种模式:
命令模式:此模式用于文件导航,复制粘贴,剪切,可以使用简单的命令,撤销,恢复
输入模式:正常的文本编辑模式,进行文本的常规操作,还可以替换文本
末行模式:保存,退出,搜索,替换
使用vim打开文件的默认模式是命令模式,这个时候你对文件是无法操作的,按o键会给你换行切换到输入模式,按i键会直接给你切换到输入模式,按Esc键又可以回到命令模式,然后 输入 : 就可以到末行模式 在末行模式或者命令中输入 :w 就可以保存对文件的修改,同样在这两种模式下输入 :w 就可以对文件进行保存,:q,就可以退出,但是如果你改动了文件没有保存 :q 时无法退出了,这个时候就需要强制退出 :q!
末行模式和输入模式之间不能互相切换,只有通过命令模式进行中转
shell+vim——05的更多相关文章
- SHELL/VIM删除重复行(去重)text handle
vim 删除重复行 - 国内版 Binghttps://cn.bing.com/search?FORM=U227DF&PC=U227&q=vim+%E5%88%A0%E9%99%A4% ...
- 我的Shell + VIM配置
1. 安装powerline-shell 下载powerline-shell # cd /opt/ # git clone https://github.com/milkbikis/powerline ...
- Linux Shell Vim 经常使用命令、使用技巧总结
前言 本文总结了自己实际开发中的经常使用命令,不定时更新,方便自己和其它人查阅. 如有其它提高效率的使用技巧.欢迎留言. 本文地址 http://blog.csdn.net/never_cxb/art ...
- shell -vim
编辑文件 vim vim 1.txt 点击i进入编辑模式 如果发现按上下左右有问题的且出现乱码的话,可能是编码格式不对导致的,在crt或者是xshell设置一下编码格式就行. 保存是点击ecs先退到预 ...
- 【转】shell 教程——05 第一个Shell脚本
打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用php写shell 脚本,扩展名就用php好了. 输入一些代码: #!/bin/bash ...
- 008-linux shell vim使用
一.概述 vi: Visual Interface 可视化接口 vim: VI iMproved VI增强版 全屏编辑器,模式化编辑器 vim模式: 编辑模式(命令模式) 输入模式 末行模式 模式转换 ...
- Linux - 简明Shell编程05 - 条件语句(Case)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash var=$1 # 将脚本的第一 ...
- Shell - 简明Shell入门05 - 条件语句(Case)
示例脚本及注释 #!/bin/bash var=$1 # 将脚本的第一个参数赋值给变量var case $var in right) echo "Right!";; wrong) ...
- Shell - 简明Shell编程
本文是对Shell脚本编程的总结和回顾,所有涉及的脚本均已做了基本的调试和验证. [toc] 测试环境信息 [root@CentOS7 ~]# uname -a Linux CentOS7 3.10. ...
随机推荐
- 使用js来执行全屏
当用户按下F11事件,浏览器为触发自身全屏功能,这个过程我们一般是不可控制的,即使是监听了F11的键盘事件,退出全屏的时候,我们也捕捉不到退出全屏触发的事件.所以,我们就用程序自己去实现F11的功能, ...
- 转:Windows任务计划实现自动执行ArcGIS相关功能
今天一不小心点开了Windows任务计划,以前咩有怎么用过,发现还挺好用,于是想到了以前用户的一些问题 1:用户环境使用ArcSDE服务连接,每次运行到一定的负载量(可能是几天),就会很慢,用户就喜欢 ...
- Java类与对象初始化的过程(一道经典的面试题)
本文不再以ClassLoader的视角解释这些问题. 首先,Java代码有个特点,就是成员变量可以在前面的方法中使用,在后面定义.这一特性,很多人说Java了不起,可是为什么呢?Java为何能够这样呢 ...
- Bucking the stigma (留学生请摘掉有色眼镜看社区大学)
Many Chinese students second-guess the benefits of attending a US community college. 很多中国学生对去美国社区大学学 ...
- java——栈和队列 面试题
(1)栈的创建 (2)队列的创建 (3)两个栈实现一个队列 (4)两个队列实现一个栈 (5)设计含最小函数min()的栈,要求min.push.pop.的时间复杂度都是O(1) (6)判断栈的push ...
- Python-Django框架学习笔记——第一课:Hello World
Python Django 有诗云: 孤山寺北贾亭西,水面初平云脚低. 几处早莺争暖树,谁家新燕啄春泥. 乱花渐欲迷人眼,浅草才能没马蹄. 最爱湖东行不足,绿杨阴里白沙堤. 今天在信阳游玩,有幸来到信 ...
- Cydia Tweak--Cydia Substrate
http://www.jianshu.com/p/8982e9670fc6 Cydia Substrate.MobileHooker MSHookMessageEx MSHookFunction Mo ...
- 2018.7.20 编程题: 写一个Singleton出来。
编程题: 写一个Singleton出来. Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在. 一般Singleton模式通常有几种种形式: 第一种形式: 定义 ...
- Git配置和常用命令
Git配置 git config --global user.name "hunng" git config --global user.email "huangthin ...
- js实现弹窗一个ip在24小时只弹出一次的代码
function cookieGO(name) { var today = new Date(); var expires = new Date(); expires.setTime(today.ge ...