linux 标准输出,Linux怎么学
Linux标准输入输出与重定向详解|果断收藏
linux中的>、>>、<、<<、2>、2>>、2>&1、&>、&<,总归要面对的
为了更好的理解这个问题,我们需要追本溯源。
执行一个shell命令行时通常会自动打开三个标准文件
(1)、标准输入文件(stdin)
通常对应终端的键盘。
(2)、标准输出文件(stdout)。
(3)、标准错误输出文件(stderr)。
(2)和(3)这两个文件都对应终端的屏幕。
进程将从标准输入文件中得到输入数据。
将正常输出数据输出到标准输出文件[显示器]。
将错误信息送到标准错误文件中[显示器]。
下图所示:
0、1、2表示一个文件描述符
但是,有时候我们不想把一些进程处理后信息输出到显示器。
这时我们就引出了重定向。
改变标准输入/输出的方向
三种重定向:
1、重定向标准输出,包括两种。
(1)、>(覆盖),等价1>
将命令执行的结果输出到指定文件,非显示器。
(2)、>>(追加),等价1>>
将命令执行的结果追加到指定文件,非显示器。
2、重定向标准输入,包括两种。
(1)、<
将命令中接收的输入途径,由键盘改为指定文件。
(2)、<<[Here Document]
命令序列传递到一个交互程序或者命令中。
3、重定向标准错误,包括两种。
(1)、2>(覆盖)
将命令执行的结果输出到指定文件。
(2)、2>>(追加)
将命令执行的结果追加到指定文件。
1、重定向标准输出和重定向标准错误到同一个文件中
有以下的几种方式
(1)、2>&1
(2)、>&
(3)、&>
2、两个特殊文件
(1)、/dev/nul
过滤标准错误信息
意思就是不想显示结果就输出到这里面。
(2)、/dev/zero
创建指定长度的文件
案例1:
测试> and>>
案例2:
测试< and<<
测试<
测试<<
案例3:
测试2> and 2>>
案例4:
测试重定向标准输出和重定向标准错误到同一个文件中
(1)、>&
(2)、&>
与上面的案例类似,不做解释
(3)、2>&1
案例5:
使用/dev/nul文件
有时候我们使用命令,不想将输出的信息显示到界面
这时我们可以使用&>/dev/nul[常用]
简单测试修改demo用户密码
linux nohup命令
linux系统下nohup命令是什么呢?下面是具体介绍:
1、nohup命令简介:nohup命令运行由 Command参数和任何相关的 Arg参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup命令运行后台中的程序。要运行后台中的 nohup命令,添加(表示”and”的符号)到命令的尾部。
无论是否将 nohup命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out文件中。如果当前目录的 nohup.out文件不可写,输出重定向到$HOME/nohup.out文件中。如果没有文件能创建或打开以用于追加,那么 Command参数指定的命令不可调用。如果标准错误是一个终端,那么把指定的命令写给标准错误的所有输出作为标准输出重定向到相同的文件描述符。
2、nohup命令功能:
不挂断地运行命令。
3、语法:
nohup Command [ Arg… ] [ ]
退出状态:该命令返回下列出口值:
126可以查找但不能调用 Command参数指定的命令。
127 nohup命令发生错误或不能查找由 Command参数指定的命令。
否则,nohup命令的退出状态是 Command参数指定命令的退出状态。
4、nohup命令及其输出文件:
nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思( n ohang up)。
该命令的一般形式为:nohup command
5、使用nohup命令提交作业:
如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件:
nohup command myout.file 21
在上面的例子中,输出被重定向到myout.file文件中。
使用 jobs查看任务。
使用 fg%n关闭。
另外有两个常用的ftp工具ncftpget和ncftpput,可以实现后台的ftp上传和下载,这样就可以利用这些命令在后台上传和下载文件了。
###################错误提示############
nohup应对的就是突然断网或者关闭终端时屏蔽发送给后台任务的 SIGHUP信号进而使任务不中断继续运行。
exit或者 logout命令正常退出的话根本用不着 nohup,你的运行的命令都不会被中断。不信你可以 command后 exit,再次登录,ps查看一下命令肯定还在后台跑。
简单来说,如果你使用的是 exit或者 logout命令正常登出,系统只会向前台任务发送 SIGHUP信号,到后台的任务时不会收到 SIGHUP信号的。如果你强行关闭的窗口或者断网了,系统会向你的前后台任务都发送 SIGHUP信号,此时如果使用了 nohup去运行任务,nohup会屏蔽 SIGHUP信号,任务也就不会被中断了。
6、nohup命令的用法:
nohup/root/start.sh
在shell中回车后提示:
[~]$ appending output to nohup.out
原程序的的标准输出被自动改向到当前目录下的nohup.out文件,起到了log的作用。
当shell中提示了nohup成功后还需要按终端上键盘任意键退回到shell输入命令窗口,然后通过在shell中输入exit来退出终端。
linux sort命令
linux系统sort命令怎么用?让我们一起来了解下。
基本介绍:sort命令用于将文本文件内容加以排序,并将排序结果标准输出。sort命令可针对文本文件的内容,以行为单位来排序,语法:sort [options] [file(s)]。
入门测试:
sort将文件中的的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出:
[root@linux~]# cat sort.txt
AA:10:1.1
CC:30:3.3
DD:40:4.4
BB:20:2.2
FF:60:6.6
FF:60:6.6
EE:50:5.5
[root@linux~]# sort sort.txt
AA:10:1.1
BB:20:2.2
CC:30:3.3
DD:40:4.4
EE:50:5.5
FF:60:6.6
FF:60:6.6
代码说明及拓展:
-b忽略每行前面开始出的空格字符
-c检查文件是否已经按照顺序排序
-d排序时,处理英文字母、数字及空格字符外,忽略其他的字符
-f排序时,将小写字母视为大写字母
-i排序时,除了040至176之间的ASCII字符外,忽略其他的字符
-m将几个排序号的文件进行合并
-M将前面3个字母依照月份的缩写进行排序
-n依照数值的大小排序
-o输出文件将排序后的结果存入制定的文件
-r以相反的顺序来排序
-t分隔字符指定排序时所用的栏位分隔字符
-k指定需要排序的栏位
今天的分享就是这些,希望能帮助大家。