Linux文件编辑器vim输出输入重定向、管道以及进程

合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。正因基础的重要性,才又撸起了linux。

linux编辑工具:

VI

VIM

EMACS

vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。vim的这些优势主要体现在以下几个方面:

易用性 vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。

语法加亮 vim可以用不同的颜色来加亮你的代码。

可视化操作(ESC+V) 就是说vim不仅可以在终端运行,也可以运行于x window、mac os、windows。

对vi的完全兼容 某些情况下,你可以把vim当成vi来使用

vim  文件名

如果文件已存在,则此文件被打开且显示文件内容

如果文件不存在,则vim在第一次存盘时自动建立在硬盘上

vim的三种模式:

命令模式:控制光标移动,删除字符,段落复制(按ESC) 
编辑模式/插入模式:新增文字及修改文字

末行模式:保存文件,离开vi,以及其他设置

vim的基本使用

插入、定位、删除、复制、剪切、替换、取消、搜索、保存、退出

定位命令

0           数字0,将光标移动到该行的行首

$           将光标移动到该行的行末

H           将光标移动到该屏幕的顶端

M           将光标移动到该屏幕的中间

L           将光标移动到该屏幕的底端

gg          将光标移动到文章的首行

G           将光标移动到文章的尾行

w或W         将光标移动到下一单词

在命令模式下可以直接删除字符

在命令模式下键入v则进入块操作:

1、移动光标以选定操作块

2、c 剪切选定块  或  y 复制选定块

3、p 将选定内容贴在光标所在位置右手边

在vi中删除

x/<del>:删除一个字符

nx:删除下n个字符

dd:删除当前行

dw:删至词尾

ndw:删除后n个词

d$:删至行尾

nd$:删除后n行

在vi中剪贴

yy:选定光标所在行复制

yw:选定光标所在词复制

nyw:选定光标所在位置到之后n个单词复制

y$:选定光标所在位置到行尾的部分复制

p:贴在光标所在位置之右

P:贴在光标所在位置之左

命令模式,取消操作

u:取消上一个更动

U:取消一行内的所有更动

:e! :放弃所有更动,重新编辑

VIM编辑模式

i光标当前处插入

I光标当前行首插入

a光标之后插入

A光标所在行的行尾插入

o光标所在行之后新起一行插入

O光标所在行之前新起一行插入

末行模式在命令模式下输入“:”进入末行模式

:w [文件名] 保存当前文件

:q  如果未对文件做改动则退出

:wq :x  保存当前文件并退出

:q!  放弃存储并退出

:e 文件名 打开另一文件并开始编辑

:r 文件名 在当前光标插入文件内容

:r! 命令在当前光标插入命令执行结果

set nu  显示行号

set nonu 取消行号

/向下查询

?向上查询,在查找关键字后,可以用n继续下一个关键字查找

Vim使用技巧

:r 文件名  导入文件,导入到光标所在位置

:! which 命令

:r!r命令  联合使用,把执行的命令结果导入

定义快捷键:我们要给某一行进行注释的过程是I跳到首字符,i进入编辑模式,然后输入#号,esc退出

:map ^p I#<ESC>,(^p是ctrl +v+p一起按出来的),然后我们只要在任意位置按ctrl p就可以了

vim的替换

:起始行,终止行s/^/#/g

:起始行,终止行s/#//g

ab替换:输入a的内容,自动变成b的内容

ab wozaigongzuo wozaixuexi

重启后失效,永久存在,编辑家目录下的vim.rc,有可能空的或者不存在

输入、输出、重定向

输入:过滤器的数据来源

输出:过滤器的数据去向

重定向:标准输入、输出与错误输出,都可以用特定符号改变数据来源或去向

> , >>输出重定向符

>将屏幕上显示到文本中,刷新保存(文件的原内容会被覆盖)

>>将屏幕上显示到文本中,追加保存

< ,<< 输入重定向符

输出重定向

echo 单句输出

<  不用键盘输入,用其他输入

这里用wall来广播一下之前编辑的test文件,写法是# wall 0< /mu1/test 意思就是将test中的文件内容广播出去

<<  输入,直到end结束

管道操作

将前一个命令的输出结果作为后一个命令的输入数据源

进程

系统是通过进程来完成工作的,每一个进程都有一个独立的进程号,系统通过调用进程号来调度操控进程.

系统的原始进程是init ,init的PID总是1

一个进程可以产生另一个进程,除了init以外,所有的进程都有父进程

pstree   以树状的方式表现进程的父子关系

init 是第一级的,Linux系统上所有运行的东西都可以称之为一个进程。每个用户任务、每个系统管理守护进程,都可以称之为进程。Linux用分时管理方法使所有的任务共同分享系统资源.分时,也就是时间片。

进程状态分为:创建态-就绪态-行动态-结束。

然而我们的系统能够多任务的主要原因就是时间片。一个进程,比如说TELNET的进程,一个进程,比如说TELNET的进程,然后TELNET这个进程就进入就绪态,等待时间片。当CPU分给他的时间片的时间到了的话,他就开始运行,进入运行态.当时间片用玩以后,他就进入阻塞态,然后进入就绪态,等下次CPU分配的时间片。然后又进入运行态.当这个程序运行完了以后,就进入结束态。这就是简单的进程状态流程。

linux的进程树是这样的:KERNEL-0号进程-1号进程(INIT)-子进程

ps 【选项】

-l 长列表

-a 显示同一终端下的所有程序

-A 显示所有进程

-e 等于“-A”

e  显示环境变量

f  显示程序间的关系

-H 显示树状结构

r  显示当前终端的进程

T  显示当前终端的所有程序

u  指定用户的所有进程

-au 显示较详细的资讯

aux 查看系统所有的进程

第一个F表示这个进程的标志FLAG,4表示用户为超级用户

第二个S 表示这个进程的状态STAT,STAT有这几种状态

ps显示中的STAT,可以为:

R:正在运行。

S:进程睡眠中,通常可以因事件发生而被唤醒。

T:进程已停止。

D:进程睡眠中,除非发生指定事件,否则不会被唤醒。

Z:僵尸进程,例如未能被父进程回收的子进程。通常是一个系统bug或非法操作。

< :高优先级进程。

N:低优先级进程。

UID 这个就是使用者识别码 (ID),当 UID 是0 时,代表这个账号是系统管理员!

PID 这个进程的ID

PPID为父进程的ID

C  CPU使用的资源百分比

PRI  PRIORITY(优先级)的缩写,PRI的值越小,他的优先级越高

NI  NICE值等下我们也会详细介绍

ADDR 这个是核心功能,指出该进程在内存的哪一部分,如果是运行的进程,一般是 - ,-是个标志

SZ用掉的内存大小

WCHAN当前进程是否正在运行,若为- 表示正在运行,若为 WAIT 就是等待

TTY 登陆者使用的终端

TIME 用掉的CPU时间

CMD 所执行的命令(也就是用什么命令产生的这个进程)

ps -ef     显示所有进程信息,连同命令行

kill  控制进程

语法:kill 【参数】-PID

-l  信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称

-a  当处理当前进程时,不限制命令名和进程号的对应关系

-p  指定kill 命令只打印相关进程的进程号,而不发送任何信号

-s  指定发送信号

-u  指定用户

发送指定的信号到相应进程。不指定型号将发送SIGTERM(15)终止指定进程。如果任无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9) ,将强制结束进程,使用ps命令或者jobs 命令可以查看进程号。root用户将影响用户的进程,非root用户只能影响自己的进程。

只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略。

下面是常用的信号:

HUP    1    终端断线

INT     2    中断(同 Ctrl + C)

QUIT    3    退出(同 Ctrl + \)

TERM   15    终止

KILL    9    强制终止

CONT   18    继续(与STOP相反, fg/bg命令)

STOP    19    暂停(同 Ctrl + Z)

init进程是不可杀的

时间: 2024-10-21 18:38:09

Linux文件编辑器vim输出输入重定向、管道以及进程的相关文章

linux 从入门到跑路&ndash;重定向 管道

linux 从入门到跑路 重定向 管道 Linux给程序提供三种I/O设备 标准输入(STDIN)-0默认接受来自键盘的输入 标准输出(STDOUT)-1默认输出到终端窗口 标准错误(STDERR)-2默认输出到终端窗口 I/O重定向:改变默认位置 重定向 重定向会覆盖原文件内容 > 把STDOUT重定向到文件 2> 把STDERR重定向到文件 &> 把所有输出重定向到文件 set –C 禁止将内容覆盖已有文件,但可追加 set +C 允许覆盖 >| file 强制覆盖 #

Linux系列教程(十)——Linux文本编辑器vim

通过前面几篇博客我们终于结束了Linux常用命令的介绍,Linux常用命令主要包括以下: ①.Linux文件和目录处理命令 ②.Linux链接命令和权限管理命令 ③.Linux文件搜索命令 ④.Linux帮助和用户管理命令 ⑤.Linux压缩和解压缩命令 ⑥.Linux网络和关机重启命令 学习命令,我们不需要记住每一条命令的详细语法格式,学完之后我们只需要知道某个命令能干什么.这样我们在实际应用中,遇到需要实现某个功能,我们脑海只要能想起来适用于某个命令就行,至于详细格式我们可以通过查资料.当我

文件编辑器 vim

文件编辑器 vim 文件编辑工具 vim的三种 模式 命令模式 扩展模式 其他模式 vim简介 vi:Visual 文本编辑器 文本:ASCII Unicode 文本编辑种类: 行编辑器:sed 全屏编辑器:nano,vi,vim 打开文件 /etc/passwd 默认为配置文件,系统可以判断加颜色 vim [OPTION]...FILE +n 打开文件后,让光标处于第n行的行首,+默认行尾 +/PATTERN让光标处于第一个被PATTERN匹配到的行的行首 -b file 二进制方式打开文件

[Linux学习笔记] Linux文本编辑器Vim/Vi

文本编辑器Vim: Vim/Vi是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器. 它的作用是建立.编辑.显示文本文件. Vim/Vi没有菜单,只有命令. 插入命令 命令 作用 a 在光标后附加文本 A 在本行行末附加文本 i 在光标前插入文本 I 在本行开始插入文本 o 在光标下插入新行 O 在光标上插入新行 定位命令 命令 作用 h 方向左键. 左移一个字符 j 方向下键. 下移一行 k 方向上键. 上移一行 l 方向右键. 右移一个字符 $ 移至行尾 0 移至行

linux学习记录-命令替换-通配符-重定向-管道

命令替换:$(command),`command` touch ./file-$(date +%F-%H-%M_%S).txt bash支持的引号有三种: ``:命令替换 "":弱引用,可以实现变量替换 '':强引用,不完成变量替换 文件名通配 globbing * 任意长度的任意字符 ? 任意长度单个 [] 匹配指定范围内的任意单个字符 [^] 匹配范围外的 > 覆盖 >> 追加输出 -C 禁止对已经存在文件使用覆盖重定向 强制覆盖输出,则使用>| +C 关闭

linux 文本编辑器Vim/Vi详细介绍

二:文本编辑器Vim/Vi(早起叫Vi后期升级版Vim) vim/vi是一个功能强大的全屏幕文本编辑器,是linux/unix上最常用的文本编辑器, 它的作用是建立.编辑.显示文本文件. vim/vi 没有菜单,只有命令 ----官方:www.vim.org 三种模式: vi filename 命令模式 按i.a.o 插入模式 :set nu 编辑模式(设定行号,这种就是编辑模式下,:号开头) 常用命令: 一组:插入命令 命令 作用 a 在光标后附加文本 A 在本行行末附加文本 i 在光标前插入

Linux 第八天: (08月09日) Linux文本编辑器vim

sed 行编辑器 stream EDitor sed -n 不输出模式空间内容的自动打印sed -e 多点编辑sed -f /PATH/TO/SCRIPTFILEsed -i 原处编辑 script单地址 # 指定的行/pattern/ 所能匹配到底每一行 地址范围#,##,+#/pat1/,/pat2/#,/pat1/~ 步进1~2 奇数行2~2 偶数行 sed d 删除模式空间匹配的行sed p 显示模式空间中的内容sed a \text 在行后追加文件, 支持\n多行追加sed i \te

Linux之编辑器vim配置

Linux下编程一直被诟病的一点是: 没有一个好用的IDE, 一个好用的IDE是何等的重要啊, 估计很多人就是卡在这个门槛上了, "工欲善其事, 必先利其器"嘛, 我今天教大家把vim改装成一个简易IDE, 说它"简易"是界面上看起来"简易", 但功能绝对不比一个好的IDE差, 该有的功能都有, 不该有的功能也有, 下面开始介绍今天的工作. 本文会教你: 1. 中文帮助手册的安装 2. 语法高亮 3. 在程序中跳来跳去: Ctags 的使用 4.

26期20180628 shell 命令操作 通配符 输出输入重定向

6月28日任务 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向 shell介绍 Shell脚本只是一个表现,所谓的shell是一个命令解释器,用户和机器的一个交互 Shell我们主要使用的是bash shell 另外还有zsh ksh等 yum list |grep zsh yum list |grep ksh history查看历史命令 -c 是清空内存的命令历史 其实所有的历史命令都存在一个文件里 /root/.bash_histro