基本指令(2):通配符,重定向,命令行管道

一、通配符

shell 复制代码
rm -rf ./*
# * ------ 通配符,指定路径下的所有文件(不包括隐藏文件)

二、重定向

在理解重定向前,先要有一个概念:Linux下一切皆文件,大部分硬件设备都可以看做有读写方法,只不过有些方法可以为空。

e.g.

shell 复制代码
echo "hello Linux"

显示器文件写入 hello Linux

shell 复制代码
cat

键盘文件读取数据,

1.1 输出重定向
shell 复制代码
echo "hello Linux" > file.txt
# > 为输出重定向符

hello Linuxfile.txt 进行文件写入(文件不存在时会自动创建)。

shell 复制代码
echo "" > file.txt
复制代码
> file.txt

以上两条指令,都可以做到

  1. 创建一个 file.txt 空文件。
  2. 清空 file.txt 文件。

<

使用 > 向文件中写入数据时,默认会先清除文件内容。

如果想要在文件内容末尾追加写入,则需要使用追加重定向 >>

1.2 输入重定向

假设在当前工作目录下,已创建 file.txt 。使用 nano ,先对其进行文件写入。

shell 复制代码
cat < file.txt
# < 为输入重定向符

三、命令行管道

file.txt 内写入十万行数据

shell 复制代码
i=0; while [ $i -le 100000 ]; do echo "hello $i"; let i++; done > file.txt

如何获取其中第80000 ~ 80010行数据?

head -80010 作为 tail -10 的输入。

shell 复制代码
head -80010 file.txt > temp.txt
tail -10 temp.txt

是否有办法,在不创建"临时文件"的情况下,获取到目标的十行数据?

需要用到命令行管道 |

shell 复制代码
head -80010 file.txt | tail -10
相关推荐
A小辣椒2 天前
TShark:Wireshark CLI 功能
linux
A小辣椒2 天前
TShark:基础知识
linux
AlfredZhao2 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao3 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334663 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪3 天前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠4 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush44 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5204 天前
Linux 11 动态监控指令top
linux
不会C语言的男孩4 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言