创建、查看和编辑文本文件

21 篇文章 0 订阅
21 篇文章 0 订阅

将输出重定向到文件程序

标准输入、输出和错误

一个运行的程序(或称为进程)需要从某位置 读取输入并将输出 写入某位置
shell 命令通常会从键盘输入,在终端窗口输出,进程使用称为 file descriptors 的通道来处理输入和输出,所有进程至少使用三种 file descriptors:
stdin     Standard input (channel 0 通道0):读取键盘输入                                         仅读取
stdout   Standard output (channel 1):将正确输出发送到 terminal                            仅写入
stderr   Standard error (channel 2):将错误输出发送到 terminal                              仅写入
如果程序打开连接至其他文件的单独连接,则可能使用更大编号的文件描述符

 将输出重定向到文件

I/O 重定向可更改进程获取其输入或输出的方式

从文件读取或向文件写入信息(而不是从键盘读取和输出到 terminal)

仅重定向stdout不会阻止stderr错误消息显示在终端上。如果文件不存在,则会创建文件。如果文件确实存在,但是所需的重定向没有附加到文件,则该文件内容将被覆盖。也可以使用重定向到 /dev/null 来丢弃错误输出,而不在 terminal 显示

>    覆盖

>>  附加

重定向举例

构建管道

管道包含多个命令,用竖线字符 ( | ) 分隔,管道将第一个命令的 标准输出 连接到下一个命令的 标准输入

 

 # head将ls -t 输出的前十行 重定向到 /tmp/ten-last-changed-files文件中

管道、重定向和 tee

当重定向与管道组合时,重定向的优先级高于管道,第一个命令不会在屏幕上显示任何输出, 但 tee 命令 可用于解决这个问题

# ls命令的输出只会转移至文件,less不会在终端上显示任何内容

# ls命令的输出重定向到 /tmp/saved-output文件  ,并且将输出传递到 less 显示

从 Shell 提示符进行编辑

使用 VIM 编辑文件

Linux 的一个重要原则是信息和配置通常都存储在基于文本的文件中,文 本文件的优点在于易于查看和编辑
Vim 是随 Linux 和 UNIX 系统的 vi 编辑器的改进版本。Vim 对于有经验的 用户而言具有很高的可配置性和效率,其包含分屏编辑、颜色格式和突出 、显示编辑文本等功能

Vim 模式

Vim模式分为:命令模式、扩展命令模式、编辑模式和可视模式
vim 以 command 命令模式启动, i 进入 edit 插入模式, Esc 退回 command 模式
v 进入 VISUAL可视 模式
shift+v 选择多行 进入VISUAL LINE模式
ctrl+v 选择块 进入VISUAL BLOCK模式
: 进入 extended 自动扩展模式,执行保存、退出等工作
:w 保存文件, :wq 保存退出, :q! 强制退出
在 command 模式下, u 撤销, x 删除单个字符 , y 复制(), p 粘贴

使用 Shell 变量

Bash shell 可以设置变量,甚至将变量导出成为环境变量,从而自动带入启动的程序
变量相当于一个容器,可以用来保存各种不同类型的值,如数字、字符串、布尔值等。
shell 变量对于 shell 会话是唯一的。如果打开了两个终端运行两个shell,那么每个shell都有自己的一组shell变量值

为变量赋值

变量名称可以包含大写或小写字母、数字和下划线字符 _

以上变量赋值只对当前 shell 有效

set 命令可以查看当前所有变量 # 将所有变量输出通过管道传输到 less 命令中

查询和取消变量值

通过 echo $variable_name 获得变量值(在变量名称前加 $ )

 

查询和取消变量值

使用 unset 命令取消变量赋值

使用 Shell 变量配置 Bash值

有些 shell 变量可以在 Bash 启动时设置,但可以进行修改来调整 shell 的行为 ,例如影响 history 命令的两个变量 HISTFILE 和 HISTFILESIZE

环境变量

环境变量是操作系统提供的一种机制,用于存储和传递与操作系统环境相关的信息。它们是具有特定名称和对应值的变量。环境变量在操作系统级别上起作用,可以被所有用户、进程和程序访问和使用。它们包含了一些重要的配置信息,如系统路径、语言设置、用户偏好等。

shell 提供了一个环境,可以从中运行程序
不是环境变量的 Shell 变量只能由 shell 使用。环境变量不仅可以由 shell 也可以从该 shell 运行的程序使用
环境变量 PATH,shell 会在其中目录中查找程序
#含有程序目录的冒号分隔的列表

 

使用 export -n variable_name 取消环境变量赋值,  export 命令可以将变量导出成为环境变量

自动设置变量

 bash 启动时,会从 /etc/profile、/etc/bashrc 、~/.bash_profile 和 ~/.bashrc 中导入环境变量(运行的确切脚本取决于基于 shell 启动方式, 是交互式登录 shell、交互式非登录 shell 还是 shell 脚本)
如果要更改启动时影响所有 交互式shell  提示符的用户账户,编辑(vim) ~/.bashrc 文件

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值