创建/查看/编辑文本文件

news2024/11/28 6:36:21

创建/查看/编辑文本文件

在这里插入图片描述

将输出重定向到文件和程序

标准 输入/输出/错误

运行的程序需要从某个位置读取输入并将输出写入某位置。从shell提示符运行的命令通常会从键盘读取输入,并将输出发送到其终端窗口。

进程通过使用文件描述符的通道编号获取输出并发送输出。所有进程开始时至少三个文件描述符。标准输入0 从键盘读取输入。标准输出1发送到终端,标准错误2发送至终端。如果需要打开连接至其他文件的单独链接,则可能使用更大文件描述符。
在这里插入图片描述

输出重定向到文件

> file  #重定向stdout覆盖文件
>> file #重定向stdout附加到文件
2 > file #重定向stderr覆盖文件
2> /dev/null #将stderr重定向到/dev/null,从而将其丢弃
>file 2>&1   #重定向stdout和stderr覆盖同一个文件
&>file 

>>file 2>&1   #重定向stdout和stderr附加同一个文件
&>>file 

重定向实例

保存时间戳

[root@servera ~]# date > /tmp/timestamp
[root@servera ~]# cat /tmp/timestamp
Sun Jul 16 06:44:01 EDT 2023

将某日志文件最后10行复制到另一个文件

[root@servera log]# tail -n 10 /var/log/boot.log  > /tmp/last-10-msg
[root@servera log]# cat /tmp/last-10-msg
         Starting Enable periodic update of entitlement certificates....
         Starting Dynamic System Tuning Daemon...
         Starting Network Manager Wait Online...
         Starting Hostname Service...
[  OK  ] Started Enable periodic update of entitlement certificates..
[  OK  ] Started OpenSSH server daemon.
[  OK  ] Started Permit User Sessions.
[  OK  ] Started Command Scheduler.
         Starting Terminate Plymouth Boot Screen...
         Starting Hold until boot process finishes up...

以下命令会生成所悟消息,将错误重定向到文件

[root@servera ~]# cat /etc/notexist 2> /tmp/errors
[root@servera ~]# cat /tmp/errors
cat: /etc/notexist: No such file or directory

构建管道

管道时一个或多个命令的序列,使用|分隔。管道将一个命令的标准输出连接到下一个命令的标准输入。

[root@servera ~]# ls -t /usr/bin | head -n 5 > /tmp/five-last-changed-files
[root@servera ~]# cat /tmp/five-last-changed-files
unversioned-python
lsgpio
lsiio
page_owner_sort
powernow-k8-decode

此管道中head 将ls -t输出内容的前5行并重定向到文件中

当重定向与管道组合时,shell会先设置整个管道,然后重定向输出/输入。如果在管道中使用输出重定向,输出将转至文件,而不是流向管道中下一个命令。


[root@servera ~]# ls / > /tmp/output | less

[root@servera ~]# cat /tmp/output
bin
boot
dev
etc
home
lib
lib64
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var

tee命令克服了这个现在,将标准输入复制到标准输出中,还能将标准输出重定向到指定为命令参数的文件。

[root@servera ~]# ls -l | tee /tmp/output |less

如果在管道尾使用tee命令,可以保存命令最初输出并同时输出到终端

[root@servera ~]# ls -t / | head -n 5 | tee /tmp/changed-files
tmp
etc
run
root
boot
[root@servera ~]# cat /tmp/changed-files
tmp
etc
run
root
boot

从shell提示符编辑文本文件

更改shell环境

shell变量对于特定的shell会话是唯一的。如果打开了两个终端,或通过两个独立的登录会话登录同一远程服务器。运行shell,每个shell都有自己的一组变量值。

使用以下语法将值分配给shell变量:

VARIABLENAME=value
[root@servera ~]# COUNT=40
[root@servera ~]# first_name=rkun
[root@servera ~]# file1=/tmp/abc
[root@servera ~]# _ID=RH123

这样的更改仅仅影响在其中运行命令的shell,而不影响其他shell。

可以使用set命令列出当前设置所有shell值

[root@servera ~]# set | head -n 5
BASH=/bin/bash
BASHOPTS=checkwinsize:cmdhist:complete_fullquote:expand_aliases:extquote:force_fignore:histappend:hostcomplete:interactive_comments:login_shell:progcomp:promptvars:sourcepath
BASHRCSOURCED=Y
BASH_ALIASES=()
BASH_ARGC=()

使用变量扩展检索值

使用变量扩展来指代已设置的变量值。为比哪里名称前加入$

[root@servera ~]# echo $COUNT
40

使用环境变量配置程序

shell提供了一个环境,用来在该shell中运行程序。

使用shell中定义的任何变量设置为环境变量,方法使用export命令导出。

[root@servera ~]# EDITOR=vi
[root@servera ~]# export EDITOR

重要的环境变量PATH包含一个含有程序的目录的冒号分隔列表

[root@servera ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

当运行ls等命令,shell会从这些目录找到可执行文件ls的位置

取消变量命令

unset

取消导入但不取消设置

export -n 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/763942.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

红队打靶:billu_b0x打靶思路详解(vulnhub)

目录 写在开头 第一步:主机发现和端口扫描 第二步:Web渗透 第三步:利用文件包含进行代码审计 第四步:图片马上传与反弹shell 第五步:敏感文件提权 总结与思考 写在开头 我的博客等级终于到三级了,…

Python接口自动化搭建过程,含request请求封装

开篇碎碎念 接口测试自动化好处 显而易见的好处就是解放双手😀。 可以在短时间内自动执行大量的测试用例通过参数化和数据驱动的方式进行测试数据的变化,提高测试覆盖范围快速反馈测试执行结果和报告支持持续集成和持续交付的流程 使用Requestspytes…

Attention Is All Your Need

q,k,v是一个东西(自注意力) 由于位置编码通过sin和cos得到,在+-1之间抖动,因此为了与embedding相加scale匹配,所以embedding除以根号dk 注意力机制:注意力函数 quary(不同的q) 和 k 的相似度决定了value对应的权重(不同的权重)相加得到 (不同的)输出 英文积累…

宠物赛道又出爆品!TikTok播放破千万!

在欧美国家,养宠的风潮已经持续百年。美国作为全国第一大的宠物市场,其家庭的养宠率高达70%。有关数据显示,美国目前26-41岁人群比例占比最大,已达到32%,42-57岁人群比例下降到24%。 养宠人群逐渐呈现年轻化&#xff0…

参数名的映射,小心使用strict=False

从vgg16-397923af.pth里读取的数值应该和加载预训练模型后model.load_state_dict参数一致。 而我的不一致! 原因:在载入参数到模型键值的不匹配,所以使用了strictFalse。 解决办法: 进行参数名的映射,将不匹配的参数名…

不看不知,道,一键ai绘画软件也能生成这么好看的图片

结构: 前阵子,我朋友发了几张男生的照片在朋友圈,我还以为是她脱单了,赶紧给她送上了祝福。 她收到我的祝福后,笑嘻嘻地跟我解释说:“那几张图是我用AI绘画软件生成的,是不是很看起来很真呀&a…

一款剧情特别优秀的ARPG 游戏《FC魔神英雄传》

文章目录 介绍游戏发行游戏玩法 游戏剧情详细介绍游戏开始阶段剧情任务汇总:草原阶段冰川阶段海边阶段丛林阶段沙漠阶段湖泊阶段草原2阶段海边2阶段冰川2阶段山脉阶段 世界地图汇总 道具系统装备系统战斗系统战斗规则魔法技能魔法学习方式 游戏优点游戏缺点该游戏值…

接口测试 使用 rest-assured 进行接口测试

目录 前言 正文 1.HTTP 状态码 2.节点值验证 3.格式化打印 json 4.参数化 5.响应时间 6.JSON Schema Validation 前言 使用Rest-Assured进行接口测试是一个很好的选择。Rest-Assured是一个基于Java的开源库,专门用于简化和增强RESTful接口的测试。它提供了…

我在VScode学Java类与对象(Java的类与对象、this关键字)第一辑

我的个人博客主页:如果’真能转义1️⃣说1️⃣的博客主页 关于Java基本语法学习---->可以参考我的这篇博客:《我在VScode学Java》 关于我在VScode学Java(Java方法method) 类是描述了一组有相同特性(属性&#xff09…

python_selenuim获取csdn新星赛道选手所在城市用echarts地图显示

文章目录 ⭐前言⭐selenuim获取新星赛道选手主页💖 获取参赛选手主页思路分析💖 获取参赛选手ip属地思路分析💖 echarts可视化展示 ⭐结束 ⭐前言 大家好,我是yma16,本文分享python_selenuim获取csdn新星赛道选手所在…

Requests —— Requests模块获取响应内容

Requests模块获取响应内容 响应包括响应行、响应头、响应正文内容,这些返回的响应信息都可以通过Requests模块获取。这些 获取到的响应内容也是接口测试执行得到的实际结果。 获取响应行 获取响应头 获取其它响应信息 代码示例: # 导入requests模块…

特征工程和多项式回归

特征工程的定义 特征工程(Feature Engineering)特征工程是将原始数据转化成更好的表达问题本质的特征的过程,使得将这些特征运用到预测模型中能提高对不可见数据的模型预测精度。 特征工程简单讲就是发现对因变量y有明显影响作用的特征&#…

【kubernetes系列】Kubernetes之配置dashboard安装使用

Kubernetes之配置dashboard 概述 Dashboard 是基于网页的 Kubernetes 用户界面。 你可以使用 Dashboard 将容器应用部署到 Kubernetes 集群中,也可以对容器应用排错,还能管理集群资源。 你可以使用 Dashboard 获取运行在集群中的应用的概览信息&#x…

MybatisPlus-2

springmybatismybatisplus 创建mapper接口&#xff0c;继承BaseMapper<obj>&#xff0c;obj为你需要操作的数据表创建对应的实体类配置数据源 4.设置配置文件 <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.spri…

华为OD机试真题 Java 实现【拔河比赛】【2023 B卷 100分】,附详细解题思路

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷&#…

JavaWeb 速通Servlet(上)

目录 一、Servlet快速入门 1.为什么需要Servlet&#xff1f; 2.什么是Servlet? 3.Servlet开发说明 : 4.入门案例 : 二、 Servlet生命周期 1.浏览器请求Servlet的流程分析&#xff08;重要&#xff09; : 2.生命周期 : 1 初始化阶段 2 处理请求阶段 3 终止阶段 三、Serv…

归并排序C语言

基本思想 归并排序&#xff08;MERGE-SORT&#xff09;是建立在归并操作上的一种有效的排序算法,该算法是采用分治法&#xff08;Divide andConquer&#xff09;的一个非常典型的应用。将已有序的子序列合并&#xff0c;得到完全有序的序列&#xff1b;即先使每个子序列有序&a…

火焰图性能监测

准备工作——安装perf 我是在github的codespace上搞的&#xff0c;可以按下面的方式安装perf&#xff1a; sudo apt install linux-tools-generic sudo apt install linux-cloud-tools-azure参考在WSL2中使用perf性能剖析工具 测试程序——简单的C程序 弄一个无限循环的C程…

SpringMVC的数据响应-19

新的上面也是相当于放到域当中了 sel表达式&#xff0c;取你键值对的名称&#xff0c;使用前创造jsp文件 这个地域里面放什么都行 上面的内容也是ModelandView弄个文件记下来 1、新的方法&#xff0c;你在参数这里可以加一个ModelandView 往里面放点数据和视图名称 这种方法也能…

【hadoop】centos7.6+hadoop3.1.1搭建分布式hadoop环境——包含各类问题解决方案

本文针对centos7.4即以上版本的hadoop环境搭建&#xff0c;因为这部分搭建是个很复杂且很容易出错的内容&#xff0c;所以在结合了多种搭建方案后给出最适宜当前版本的搭建。 目录 一、准备阶段环境要求软件版本要求配置部署环境 二、部署阶段部署ZooKeeper安装ZooKeeper并配置…