余晖落尽暮晚霞,黄昏迟暮远山寻
本站
当前位置:网站首页 > 编程知识 > 正文

linux基础20课03,03.管道、重定向、vim编辑器 晓桂科技

xiyangw 2023-05-14 11:55 15 浏览 0 评论

管道、重定向、vim编辑器 多操作几次自然而然就记住了

一. 管道

linux基础20课03,03.管道、重定向、vim编辑器 晓桂科技

将一个命令的输出(结果)作为输入给另一个命令处理,管道可以有多个

# stat 1 | tail -3

# tail -5 /etc/passwd |head -1

# cat /etc/passwd |wc -l

wc 统计有多少行,字符等

-l lines,行数

-L 字符串最大长度(不包含结束符)

-c/-m 字符(linux系统中的字符串有一个结束符‘\0’)

-w 单词

# cat /etc/passwd |grep root |wc -l

grep 查找内容

# cd /etc

# grep root * --表示在当前目录的所有文件里查找有root关键字的行

处理字符串命令:

cut --切割

-d --分割符

-f --列 ,负数也可以

sort --排序

-n --按照数字大小排序,从小到大

-r -n --按照数字大小排序,从大到小

uniq --重复的次数

-c --重复次数

tr --删除或替换字符串(替换的可以是字母、数字、符号等)

-d --删除

# cat /etc/passwd | head -1 | cut -d":" -f2

# cat /etc/passwd | head -1 | cut -d":" -f1,2

# cat /etc/passwd | head -1 | cut -d ":" -f -2

# cat /etc/passwd | cut -d":" -f3 | sort -n

# cat /etc/passwd |cut -d":" -f7 | uniq -c

# cat /etc/passwd | head -1 | tr ":" "," --将":"替换成","

# cat /etc/passwd | head -1 | tr -d ":"

# cat /etc/passwd | head -1 | tr ":" "\n"

# cat /etc/passwd | head -1 | tr ":" "A"

# cat /etc/passwd | head -1 | tr "root" "ROOT"

二. 重定向

0 标准输入(stdin) ----- 终端 --------标准输出(stdout) 1

错误输出(stderr)

2

/dev/stdin 标准输入设备(键盘)

/dev/stdout 标准输出设备

/dev/stderr 标准输出设备

# ls /proc/self/fd/

0 1 2 3 --0,1,2系统自动创建

标准输入:指你键盘的输入

标准输出:指结果里正确的输出,一般的设备是屏幕,可以用> 或者 1> 来重定向

错误输出:指结果里错误的输出,一般的设备是屏幕,可以用 2> 来重定向

将本来输出到屏幕的内容输出到其他地方

# ls > 1.txt --重定向到某个文件(标准输出)

# ls abc 2> 1.txt --重定向到某个文件(标准出错)

# ls &> 1.txt --&,表示1,2,清空内容再写入

# ls 1.txt aaa > 1.txt 2>&1 --2>&1与&>作用一样

# ls abc &>> 1.txt -->>,追加内容

# ls install.log.syslog fdsafasf 1> 1.txt 2> 2.txt

# cat 1.txt > /dev/null --/dev/null类似一个黑洞设备

# echo 123 > 1.txt --覆盖之前的内容

# echo 456 >> 1.txt --追加内容

# wc -l < 1.txt --将文件的内容重定向出来

2

# cat > 1.txt

hello

hello --ctrl+d结束

# cat 1.txt

hello

hello

# cat > 123.txt << EOF --EOF是end of file的缩写,就是一个标记

> 111

> 222

> EOF

# cat >> 123.txt << HAHA --相比于上一条,这是追加内容,而且标记不一定要用EOF,只要前后一致成对出现就可以

> 333

> 444

> HAHA

三. vim编辑器的使用

vi vim (增强版vi,现在基本各种linux版本都带有vim)

vi 有三种模式:

1,一般普通模式:

2,编辑模式: i I o O a A r R

3,命令行模式: : / ?

一般普通模式:

移动光标的方法

h 向左箭头键(←) 光标向左移动一个字符

j 向下箭头键(↓) 光标向下移动一个字符

k 向上箭头键(↑) 光标向上移动一个字符

l 向右箭头键(→) 光标向右移动一个字符

ctrl+b 向上翻页 = page up

ctrl+f 向下翻页 = page down

+ 光标移动到非空格符的下一行

- 光标移动到非空格符的上一行

0 行首

$ 行尾

G 文件最后一行

gg 文件第一行

n<Enter> 移动n行

查找

/xxx或者?xxx 查找某个单词

n 向下接着找

N 向上接着找

替换(switch)

:n1,n2s/old/new/g 从n1到n2行将old替换成new,g表示替换所有的(global)

:1,$s/old/new/g 将整个文件的old替换成new

:%s/old/new/g 将整个文件的old替换成new

:%s#old#new#g 将整个文件的old替换成new

:1,$s/old/new/gc c=确认(confirm)

复制粘贴和删除

x,X x向后删除一个字符,X向前删除一个字符

dw 删除一个单词 word

dd 删除一行 delete

ndd 删除n行

dG 删除光标所在行到文件最后一行的内容

d$ 删除光标所在处,到该行的最后一个字符

d0 删除光标所在处,到该行的最前面一个字符

yy 复制一行 yank

nyy 复制n行

p,P 粘贴 paste

u 还原,撤销 undo

ctrl+r 重做

插入模式:

i,I 光标所在处插入

o,O 下一行插入

a,A 光标所在下一个字符处插入

r,R r替换一个字符,R会一直替换光标所在的文字,直到按下ESC为止

[Esc] 退出编辑模式,回到一般模式中

指令模式:

:w 存档(write)

:q! quit,退出,!,强制

:qa 退出所有的窗口

:wq! 保存并退出

:x 保存并退出

ZZ 保存并退出

:w [filename] 另存为

:r [filename] 将另外一个文件读入到正在编辑的文件

:n1,n2 w [filename] 将n1到n2的内容储存成filename文件

:n n是数字,快速定位到n行($)

vim 1.txt +100 打开1.txt光标直接到100行

:set nu 显示行号

:set nonu 取消行号

:set ic(ignorecase 的缩写) 忽略大小写

:set noic(noignorecase 的缩写) 不忽略大小写

区块选择:

v 字符选择

V 行选择

ctrl+v 区块选择

y 将反白的地方复制

d 将反白的地方删除

p 粘贴

n > 右移

n < 左移

多窗口功能:

:sp [filename] 水平多窗口 sp = splite 分割

:vsp [filename] 垂直多窗口 v = vertical splite

ctrl+w+w 在不同的窗口之间切换

vim环境设定:

/etc/vimrc 全局配置文件

~/.vimrc 用户的配置文件 --手动创建

作业:

创建一个文件命名为test.txt,把/etc/passwd文件的内容全部导入test.txt中

把test.txt文件中的第10行到15行删除

第1到第9行复制到文件的最后

把所有的:号替换成*号,所有的bin替换成sbin

保存退出

很多命令 是要多操作几次才能记住的,其实命令也不多的,经常用习惯就好了,不难的

相关推荐

辞旧迎新,新手使用Containerd时的几点须知

相信大家在2020年岁末都被Kubernetes即将抛弃Docker的消息刷屏了。事实上作为接替Docker运行时的Containerd在早在Kubernetes1.7时就能直接与Kubelet集成使...

分布式日志系统ELK+skywalking分布式链路完整搭建流程

开头在分布式系统中,日志跟踪是一件很令程序员头疼的问题,在遇到生产问题时,如果是多节点需要打开多节点服务器去跟踪问题,如果下游也是多节点且调用多个服务,那就更麻烦,再者,如果没有分布式链路,在生产日志...

Linux用户和用户组管理

1、用户账户概述-AAA介绍AAA指的是Authentication、Authorization、Accounting,即认证、授权和审计。?认证:验证用户是否可以获得权限,是3A的第一步,即验证身份...

linux查看最后N条日志

其实很简单,只需要用到tail这个命令tail-100catalina.out输入以上命令,就能列出catalina.out的最后100行。...

解决linux系统日志时间错误的问题

今天发现一台虚拟机下的系统日志:/var/log/messages,文件时间戳不对,跟正常时间差了12个小时。按网上说的执行了servicersyslogrestart重启syslog服务,还是不...

全程软件测试(六十二):软件测试工作如何运用Linux—读书笔记

从事过软件测试的小伙们就会明白会使用Linux是多么重要的一件事,工作时需要用到,面试时会被问到,简历中需要写到。对于软件测试人员来说,不需要你多么熟练使用Linux所有命令,也不需要你对Linux...

Linux运维之为Nginx添加错误日志(error_log)配置

Nginx错误日志信息介绍配置记录Nginx的错误信息是调试Nginx服务的重要手段,属于核心功能模块(nginx_core_module)的参数,该参数名字为error_log,可以放在不同的虚机主...

Linux使用swatchdog实时监控日志文件的变化

1.前言本教程主要讲解在Linux系统中如何使用swatchdog实时监控日志文件的变化。swatchdog(SimpleWATCHDOG)是一个简单的Perl脚本,用于监视类Unix系统(比如...

syslog服务详解

背景:需求来自于一个客户想将服务器的日志转发到自己的日志服务器上,所以希望我们能提供这个转发的功能,同时还要满足syslog协议。1什么是syslog服务1.1syslog标准协议如下图这里的fa...

linux日志文件的管理、备份及日志服务器的搭建

日志文件存放目录:/var/log[root@xinglog]#cd/var/log[root@xinglog]#lsmessages:系统日志secure:登录日志———————————...

运维之日志管理简介

日志简介在运维过程中,日志是必不可少的东西,通过日志可以快速发现问题所在。日志分类日志分类,对不同的日志进行不同维度的分析。操作系统日志操作系统是基础,应用都是在其之上;操作系统日志的分析,可以反馈出...

Apache Log4j 爆核弹级漏洞,Spring Boot 默认日志框架就能完美躲过

这两天沸沸扬扬的Log4j2漏洞门事件炒得热火朝天:突发!ApacheLog4j2报核弹级漏洞。。赶紧修复!!|Java技术栈|Java|SpringBoot|Spring...

Linux服务器存在大量log日志,如何快速定位错误?

来源:blog.csdn.net/nan1996jiang/articlep/details/109550303针对大量log日志快速定位错误地方tail/head简单命令使用:附加针对大量log日志...

Linux中查看日志文件的正确姿势,求你别tail走天下了!

作为一个后端开发工程师,在Linux中查看查看文件内容是基本操作了。尤其是通常要分析日志文件排查问题,那么我们应该如何正确打开日志文件呢?对于我这种小菜鸡来说,第一反应就是cat,tail,vi(或...

分享几款常用的付费日志系统,献给迷茫的你!

概述在前一篇文章中,我们分享了几款免费的日志服务器。他们各有各的特点,但是大家有不同的需求,有时免费的服务器不能满足大家的需要,下面推荐几款付费的日志服务器。1.Nagios日志服务器Nagio...

取消回复欢迎 发表评论: