linux shell重定向(输入输出重定向)讲解

Linux之shell输入输出重定向 之前我们讲解shell的变量、环境变量以及各种命令的时候,命令执行结果输出每次都是显示到屏幕上给用户看,其实还有更多的方式。今天我们就专门讲讲输入和输出重定向。 输出重定向 将命令的标准输出写入文件或黑洞/dev/null 可以使用>或1>将一个命令的输出覆盖写入到一个文件,如果这个文件不存在,系统会自动创建,如果文件已存在,内容会被完全覆盖。 [root@aliyun-hk1 li... 阅读详情

linux shell的重定向是个什么东西呢,顾名思义就是重新定位方向,定位什么方向呢,那就是输入和输出的方向,也就是说linux shell的重定向就是改变输入和输出的方向

接下来我讲一下输入跟输出

输入一般是指你通过键盘输入数据,然后shell将你输入的数据进行解释编译然后交给内核运行,这就是标准输入方向,也就是键盘跟程序的关系

反之,输出就是计算机将运算出来的结果通过shell等中间代理将运行的结果反映在外面的显示屏上,这就叫做输出,是从程序到显示屏的关系

文件描述符

linux下一切皆为文件,包括你输入输出用的硬件设备都是文件,linux会给每个打开的文件分配一个ID,也叫作文件描述符,

image-20211212085230782

Linux 程序在执行任何形式的 I/O 操作时,都是在读取或者写入一个文件描述符。一个文件描述符只是一个和打开的文件相关联的整数,它的背后可能是一个硬盘上的普通文件、FIFO、管道、终端、键盘、显示器,甚至是一个网络连接,其中stdin,stdot,stderr都是默认开启的,可以直接对他们进行操作

输出重定向

我们平时一般的输出结果都是直接显示在显示屏上的,也就是输出带显示屏的,但是有些时候我们为了方便整理输出内容,比如说某网站的运行日志,你说你直接把输出内容通过shell显示出来,这个内容你平时又不会去用到,只有当有问题出现时,你才会想起来要找到其几天的输出结果,而这时候你又因为只对这些输出结果进行了输出而没有进行存储,导致你没地方可以查看,这样就很难受是吧,所以我们就想着把这些输出内容全部存储到一个文件里面,当我们什么时候想要查看的时候,就将这个文件里面的内容打印出来

所以总结一下:我们为什么要进行输出重定向?因为有一些输出结果我们暂时不想然它们直接显示在显示屏上,而是将它们存储起来,这就是输出重定向

标准输出重定向:
command > file  //将执行command命令的输出结果以覆盖的形式重新定位输出到file文件里面
command >> file  //将执行command命令的输出结果以叠加的形式重新定位输出到file文件里面
错误输出重定向:
command 2> file  //将执行command命令的错误的输出结果以覆盖的形式重新定位输出到file文件里面
command 2>> file //将执行command命令的错误的输出结果以叠加的形式重新定位输出到file文件里面
正确错误输出同时重定向:
command >file 2>&1  //将执行command命令的输出的正确和错误结果以覆盖的形式重新定位输出到file文件里面
command >>file 2>&1  //将执行command命令的输出的正确和错误结果以叠加的形式重新定位输出到file文件里面
command >file1 2>file2  //将正确的输出结果以覆盖方式保存在file1,将错误的输出信息以覆盖的方式保存在file2
command >>file1 2>file2  //将正确的输出结果以叠加方式保存在file1,将错误的输出信息以叠加的方式保存在file2

注意事项

  • 重定向符 > 表示覆盖,>> 表示叠加
  • 这里的2>&1中的’&'符号代表转义的意思,就是将后面的那个转义成文件描述符的意思
  • 标准输出如果没有指明,那默认就为1,即command > file中本来应该写成command 1> file的,只是这里他把这个1给省略了而已
  • 文件描述符必须紧挨着重定向符号

输入重定向

输入重定向又是一个什么操作呢,我们可以知道一般输入的数据都是键盘键入的,而这个输入重定向就是不让读取键盘输入的数据,而是我们指定读取输入的数据

标准输入重定向:
command < flie //将file中的内容已覆盖的形式作为command的输入数据进行执行
command << end  //一直读取键盘的命令,知道遇到结束符才停止读取数据,这里的结束符也就是"end",当然这个end结束符是可以自定义的
command <file1 >file2  //将file1中的内容作为command的输入,将标准输出的结果保存到file2文件中

注意事项

  • 标准输出如果没有指明,那默认就为0,即command < file中本来应该写成command 0< file的,只是这里他把这个0给省略了而已
  • 输入重定向符号<<,这个符号的作用是使用特定的分界符作为命令输入的结束标志,而不使用 Ctrl+D 键
  • <<之后的分界符可以自由定义,只要再碰到相同的分界符,两个分界符之间的内容将作为命令的输入(不包括分界符本身)

写在后面

这里要注意一个点,就是这个文件描述符不止有0 1 2,只是bash在打开一个文件的时候他会默认给它分配一个文件描述符,而0 1 2这三个就是它的默认描述符,但是这个描述符是人为可以改变的,比如说linux的sh什么之内的,具体哪些shell的默认描述符是什么我也忘了,有兴趣可以自行百度一下,这个其实对后面我们反弹shell的操作是很有影响的
然后这篇文章其实是我写的那篇linux shell下面的一个分支,但是因为我个人感觉这个东西还是挺重要的,所以我单独拿出来写了

第18届全国大学生智能汽车竞赛四轮车控制策略深度解析:从舵机PID到速度闭环 本文深度解析了第18届全国大学生智能汽车竞赛中四轮车的核心控制策略。从舵机PID方向控制的基础原理与机械校准入手,详细阐述了误差计算、PD控制等关键环节;进而深入探讨了基于编码器的速度闭环控制,包括增量式PI算法与速度决策逻辑。文章结合实战经验,提供了方向环与速度环的协同调参思路与避坑指南,旨在帮助参赛者构建稳定、高效的智能车控制系统。 阅读详情

相关推荐

从安装到出图:一份给振动测试新手的LMS Test.Lab 2021完整避坑手册(含许可证更新和常见弹窗解决)

本文为振动测试新手提供LMS Test.Lab 2021的完整使用指南,涵盖安装配置、许可证更新、数据采集到频域后处理的全流程。特别针对常见弹窗错误提供解决方案,并详细讲解Colormap时频图分析技巧,帮助用户快速掌握振动数据分析核心技能。

weixin_29268331的博客 990

linux网络叠加教程,Linux使用讲解:Linux命令输出头、通过2条命令叠加,获取头和内容...

Linux命令输出头在使用Linux命令时,如果命令中有管道“|”,则输出的信息中,头(标题)信息丢失,要想看每一列代表什么意思很不方便。$ ps axuwUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.0 0.2 37888 5952 ? Ss ...

weixin_33644009的博客 388

Python解析骑行fit文件:从数据缺失到完整记录

本文详细介绍了如何利用Python解析和处理骑行FIT文件,解决数据缺失问题。通过使用fitparse库读取二进制FIT文件,并结合Garmin FitCSVTool进行格式转换,指导读者一步步诊断数据完整性、设计心率修补方案,并最终生成完整的骑行记录文件。该方法为骑行爱好者提供了灵活的数据修复与自定义分析能力。

weixin_29062255的博客 456

【Shell脚本12】Shell 输入/输出重定向

先将要输出到stderr的内容重定向到stdout,此时会产生一个stdout的拷贝,作为程序的stderr,而程序原本要输出到stdout的内容,依然是对接在stdout原身上的,因此第二步重定向stdout,对stdout的拷贝不产生任何影响。换言之 2>1 代表将stderr重定向到当前路径下文件名为1的regular file中,而2>&1代表将stderr重定向到文件描述符为1的文件(即/dev/stdout)中,这个文件就是stdout在file system中的映射。

qq11771258的博客 1213

AI漫剧实战:MiniMaxH3本地部署+ComfyUI工作流,6G显存出长视频

随着AI视频生成技术的普及,创作者开始追求在有限硬件条件下的本地化部署。本地部署不仅降低使用成本,更能获得对生成流程的完全可控性,这为高频次的内容生产提供了基础。以开源工作流引擎ComfyUI为依托,通过量化模型与显存优化,即便是6G显存的中端显卡也能流畅运行MiniMaxH3视频生成模型,输出60秒级别的AI漫剧片段。本文从视频生成原理出发,讲解模型选择、节点搭建、参数调优与提示词结构化设计,并延伸到剧本拆分、角色一致性控制、后期合成及平台变现路径,为AI漫剧创作者提供一套低成本、可复制的工程化方案。无论

weixin_29051149的博客 161

S32的进阶之路->3,S32DS新建/删除/导入工程

右击工程名,点击Delect进行工程删除。选中Delect project contents on disk则会彻底删除工程,不选中Delect project contents on disk工程文件会保存在工作空间中。在Improt Projects中选择工程所在文件夹,选中所需要导入的工程,勾选Copy projects into workspace。选中目标示例工程,点击Finish,完成创建工程。导入已有工程,右击右击Project Explorer空白处,选择Import。

LC_8575的博客 2227

shell编程之重定向

1.重定向 重定向指的是将原来从标准输入设备(键盘)输入的数据,该由从其他文件或设备输入;或将原来应该输出到标准输出设备(显示器)的内容,输出到其他文件或设备。 2.文件标识符和标准输入输出 系统在启动一个进程的同时会为该进程打开三个文件:标准输入(stdin),标准输出(stdout)和标准错误输出(stderr),分别用文件标识符0,1,2来标识。如果要为进程打开其他的输入输出,则需要从整数3开始标识。默认情况下,标准输入为键盘,标准输出和错误输出为显示器。 3.I/O重定向 I/O重定向是重定向中比较

鸡排小农的博客 4007

无人自行车平衡控制:最小二乘法动态零点拟合实践

本文探讨了无人自行车平衡控制中动态零点的重要性及实现方法。通过最小二乘法拟合车头角度与ROL值的线性关系,解决了固定零点在转向时导致的稳定性问题。实践表明,动态零点拟合能显著提升系统平衡稳定性并降低能耗。

uran的专栏 661

linux下shell脚本实现多行输出在屏幕上只显示出一行输出,后面的输出覆盖前面的输出的效果

echo -ne "内容\r"可以实现 -n,不换行;-e和\r配合,光标移至行首。不换行,覆盖原内容。

绮梦寒宵的博客 1万+

微电网系列: 位移因数DPF&&功率因数PF&&过激&&欠激

文中对比了位移因数(DPF,仅基波相位)与功率因数(PF,含谐波影响)的差异,指出PF=DPF×DF(畸变因数)。过激/欠激状态对应无功功率控制:过激(容性,电流超前,抬升电压)与欠激(感性,电流滞后,抑制电压)。PCS(如光伏逆变器)需逆向调节电网无功状态,过激时发出容性无功,欠激时吸收感性无功,以维持电压。

云纳星辰怀自在 1174

Auto.js实现视频号点赞自动化

摘要:本文介绍了一个微信视频号自动化点赞的实现方案。通过定位点赞图标和数量容器,点击点赞按钮后检测点赞数变化,若发现取消点赞则自动补点。核心代码包括:1)获取点赞容器和图标;2)记录点赞前后数量;3)判断是否误取消并补点;4)循环执行点赞和滑动页面操作。该方案解决了滑动页面可能导致误取消点赞的问题,实现了自动化批量点赞功能。文章强调仅供学习参考,提醒勿滥用该技术。

分享前端工程化、AI 应用、Agent 开发与大模型实践! 2575

11. Shell 输入输出重定向

Shell 默认的输入为键盘输入, 默认输出则是终端的Shell 窗口. 但是有时候我们希望某些命令输出的内容不显示,或者想将输出的结果写入其它文件, 这就用到了输出重定向. 输出重定向不常用, 所以就不做描述了. 1. Linux 下的标准输入输出 Linux 下一切皆文件, 输入输出也不例外.虽然标准输入时键盘输入, 标准输出为终端显示器,但是在linux 中标准输入输出也对应着响应的文件...

Java 程序源 1万+

Linux Kernel入门到精通系列讲解 - 总目录

在学习Linux Kernel之前,需要先准备开发环境,方便后续进行开发。可以根据自身情况,选择性阅读该章节。学习该章节之前,你应该了解一下网络概念,明白为什么要讲这些,才能更有方向的去理解学习。Linux ARM平台开发系列讲解(设备树篇) 4.1.1 设备树的原理详解。本项目完全开源,仅供学习使用,如需其他用途,请与本人联系。),本章节你可以学习到。摄像头V4L2子系统、Linux kernel常用的子系统等,ARM架构、RISCV架构、Uboot等。

DSMGUOGUO的博客 1万+

反弹shell讲解之基础重定向讲解篇

反弹shell讲解linux 反弹shell先了解一些基本的linux知识重定向简单重定向示例升级重定向(混合输出): linux 反弹shell 先了解一些基本的linux知识 首先,我们先了解一些linux执行的定义: 在linux中 ::: 0 代表着标准输入 标准输入默认是键盘输入 1 代表着标准输出 标准输出默认是显示输出 ...

weixin_44270509的博客 646

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

全面理解Linux输入输出重定向

全面理解Linux输入输出重定向         本教程通过视频方式讲解shell操作,理解感念,教程通俗易懂,比起看一大堆文档要舒服的多。本次教程主要讲解  Linux Shell 中支持输入输出重定向,用符号来表示。0、1和2分别表示标准输入、标准输出和标准错误信息输出,例如 2>error.txt 表示将错误信息输出到文件error.txt中。Linux下还有一个特殊的文件/dev/nul

李晨光原创IT博客 466

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Shell 编程之输入输出重定向

一、标准输入输出 设备 设备文件名 文件描述符 类型 键盘 /dev/stdin 0 标准输入 显示器 /dev/stdout 1 标准输出 显示器 /dev/stderr 2 标准错误输出 二、输出重定向 类型符号作用 标准输出重定向 ...

supermouse的博客 486

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Shell重定向输入输出

从键盘读取用户输入的数据,然后再把数据拿到Shell程序中使用;Shell程序产生的数据,这些数据一般都是呈现到显示器上供用户浏览查看;标准输入是数据默认从键盘流向程序,如果改变了它的方向,数据就从其它地方流入,这就是输入重定向。标准输出是数据默认从程序流向显示器,如果改变了它的方向,数据就流向其它地方,这就是输出重定向。Linux Shell 重定向分为两种,一种输入重定向,一种是输出重定向;Linux wc 命令可以用来对文本进行统计,包括单词个数、行数、字节数。

F-T-er 1091

Shell 脚本系统学习 · 第4篇:输入输出重定向详解

Linux Shell输入输出重定向完全指南 摘要:本文详细讲解Linux Shell中的输入输出重定向操作。内容包括:标准输入/输出/错误的概念;输入重定向<的使用;输出重定向>和>>的区别;错误输出重定向2>;同时重定向标准输出和错误输出的方法;/dev/null特殊设备的作用。文章还提供了完整的重定向操作符汇总表,帮助读者快速掌握Shell脚本中高效稳定的IO操作技巧。通过学习,读者可以灵活控制命令的输入来源和输出方向,提升脚本编写能力。

小先森 1328

linux pgm用法,Linux shell编程:shell输入输出重定向介绍和用法完全解读

上一篇Linuxshell编程教程请查看:shell引用机制解读和用法在本章中我们将详细讨论Shell的输入/输出重定向,大多数Unix系统命令从你的终端获取输入并将结果输出发送回你的终端,命令通常从标准输入读取输入,而标准输入就是你的终端,类似地命令通常将其输出写入标准输出,该标准输出也是你的终端。1、输出重定向通常用于标准输出的命令的输出可以很容易地转移到文件中,这种功能称为输出重定向。如果将...

weixin_34443284的博客 661

linux命令-shell输入输出重定向

linux命令-shell输入输出重定向 linux命令中 command > file 表示将输出重定向到file command < file 表示将输入重定向到file command >> file 将输出以追加的方式重定向到file n>&m 文件描述符n等同于文件描述符m 常用的命令 重定向输入和输出 command1 < infile ...

loycine的博客 380

Linux shell 重定向

在 Linux 和其他類 Unix 系統中,重定向符號用於將命令的輸入和輸出從預設位置(通常是終端)重定向到其他位置(如文件或其他命令)。

liupaul85的专栏 497

Linux重定向

反弹shell顾名思义将shell反弹到攻击者主机,实际攻击中通过漏洞注入或诱骗执行命令将bash反弹的命令放到受害者主机,也就是下面一行代码,他利用了重定向功能,在本机将stdout和 stderr合并重定向到自己的主机,再将自己的输入也让其接受也就是输入重定向到tcp的连接,可以想象有一条电话线先实现输出从里面走,再将输入也指向这条线 ,最终把自己主机的输入输出用电话线送给受害者。输出重定向即将输出的内容更改路径,例如本来输出显示在屏幕的,重新定向让其输出到一个文件或其他。

2301_79597815的博客 1280

什么是Linux Shell?

什么是Linux Shell?概念:Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。是在Linux内核与用户之间的解释器程序,现在Linux通常指/bin/bash解释器来负责向内核翻译以及传达用户/程序指令,shell相当于操作系统的“外壳”Shell的使用方式交互式---命令行--人工干预。智能化程度高--逐条解释执行,效率底非交互...

朱海燕的博客日记 2万+

Shell脚本13 -- 重定向

重定向是指将标准输入、标准输出或标准错误流从默认位置定向到其他位置。输入重定向:从文件而不是键盘获取输入。输出重定向:将输出保存到文件而不是显示在屏幕上。

CrossProblems的博客 1024

shell中输入输出重定向,>、>>、<、<<、>/dev/null、2>&1、<<end、<<EOF等

转载自:https://www.jb51.net/article/106373.htm 其他参考:www.runoob.com/linux/linux-shell-io-redirections.html 实际上,输入输出重定向中的3个标准文件描述符,输入0、正常输出1、错误输出2,这三个值经常被省略。 举例: ls > shell_out 等价于: ls 1> sh...

YLREHC的博客 761

Shell脚本:Linux Shell脚本学习指南(第三部分Shell高级)一

Shell通常是Unix/Linux操作系统使用的一种脚本语言。

sinat_41942180的博客 1564
上一篇: BUUCTF刷题[Secret File]&[LoveSQL]&[Ping Ping Ping]
下一篇: 一篇文章搞懂linux用户与用户组
Pysnow
博客等级 码龄5年 44粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Pysnow

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值