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

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

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

管道、重定向、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

保存退出

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

相关推荐

“三次握手,四次挥手”你真的懂吗?

记得刚毕业找工作面试的时候,经常会被问到:你知道“3次握手,4次挥手”吗?这时候我会“胸有成竹”地“背诵”前期准备好的“答案”,第一次怎么怎么,第二次……答完就没有下文了,面试官貌似也没有深入下去的意...

面试官问:三次握手与四次挥手是怎么完成的?

作者|饶全成来源|码农桃花源记得刚毕业找工作面试的时候,经常会被问到:你知道“3次握手,4次挥手”吗?这时候我会“胸有成竹”地“背诵”前期准备好的“答案”,第一次怎么怎么,第二次……答完就没有...

三次握手和四次挥手的高阶面试题,建议收藏

昨天村长的讲解,真是一语点醒,这样的解释胜过死记硬背。但对于学习者,如果不能有直观感受,可能还是觉得不接地气,今天介绍两个工具,一个是网络抓包工具Wireshark,一个是linux命令tcpdum...

三次握手和四次挥手到底是个什么鬼东西

之前总有是有面试官喜欢问,你知道什么是三次握手么?什么是四次挥手么?为什么握手需要三次,挥手需要四次呢?今天我们就来详细的聊一下这个。1.什么是TCPTCP协议,简单称呼一下的话,那就是传输控制协议,...

加深理解TCP的三次握手与四次挥手

在了解三次握手和四次挥手之前,先要知道TCP报文内部包含了那些东西。熟悉了解TCP报文对日后学习网络和排除方面有很大的帮助,所以,今天为了加深对三次握手的理解,从新去认识TCP报文格式。TCP报文格式...

三次握手 与 四次挥手_三次握手四次挥手大白话

三次握手:①首先Client端发送连接请求报文②Server段接受连接后回复ACK报文,并为这次连接分配资源。③Client端接收到ACK报文后也向Server段发生ACK报文...

动画讲解TCP的3次握手,4次挥手,让你一次看明白

专注于Java领域优质技术,欢迎关注作者:老钱占小狼博客TCP三次握手和四次挥手的问题在面试中是最为常见的考点之一。很多读者都知道三次和四次,但是如果问深入一点,他们往往都无法作出准确回答。本篇尝试...

linux下实现免密传输文件或登录到其他服务器

使用scp传输文件到其他服务器的时候,提示需要输密码,如下:[root@18csetup]#scpLINUX.X64_180000_db_home.zip192.168.133.120:/u0...

Linux如何通过salt免密SCP传输上百台机的脚本?看chatGPT的回答

如何通过salt免密SCP传输上百台机的shell脚本”,下面是chatGPT给出的结果。scp批量免密脚本给出的详细shell脚本如下:#!/bin/bash#源文件路径和目标路径SRC_...

Linux/Mac scp命令上传文件_将hdfs上的文件下载到本地的命令是

语法scp[可选参数]file_sourcefile_target参数说明:-1:强制scp命令使用协议ssh1-2:强制scp命令使用协议ssh2-4:强制scp命令只使用IPv4寻...

Linux常用功能——文件远程传输_linux 远程传输文件

scp是securecopy的简写,是linux系统下基于ssh登陆进行安全的远程文件拷贝命令,用于在Linux下进行远程拷贝文件的命令。和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器...

使用 scp 命令定时拉取服务器备份文件

我们的服务器,每周五必须要做下备份,但总是忘记执行备份这件事情,或者是服务器备份做了,但没有做异地备份。所以通过定时任务自动备份,备份成功之后,在其它服务器上面通过定时任务scp命令自动拉取备份文...

windows下最轻便的FTP/SCP文件管理器

这次推荐的工具叫做winscp,这个工具如果是IT从业人员,又是做服务端相关工作的话,可能无人不知,如果是刚入门,推荐立马上手试试。如果看了觉得有用,欢迎收藏、点赞、关注。官方网站:https://w...

我不是网管 - Linux中使用SCP命令安全复制文件

SCP是linux发行版中的命令行工具,用于通过网络安全地跨系统复制文件和目录。SCP代表安全复制,因为它使用ssh协议复制文件。拷贝时,scp命令建立ssh连接到远程系统。换句话说...

WinSCP软件双系统(Win-Linux)文件传输教程

WinSCP软件是windows下的一款使用ssh协议的开源图形化SFTP客户端,也就是一个文件传输的软件,它有什么优点吗,咱们嵌入式开发中经常会将windows中的文件复制到linux系统当中,比较...

取消回复欢迎 发表评论: