输出即把相关对象通过输出设备(显示器等)显示出来,输出又分正确输出和错误输出
一般情况下标准输出设备为显示器,标准输入设备为键盘。
命令 >> 文件 2>&1 和 命令 &>>文件 两个命令作用相同
系统有个常见用法 ls &>/dev/null 正确输出或错误输出结果都不要。(null可以理解为黑洞或垃圾站)
命令>>文件1 2>>文件2 正确日志和错误日志分开保存
例:nohup java -jar /usr/sbin/lb-agent.jar >>/var/log/lb-agent.log 2>&1 &
将jar执行的结果写入到lb-agent.log中
在命令最后加上&符号,表示让这个进程到后台去执行,这样立刻返回到提示符状态,我们可以接着做下面的事。如:command &。
这种“后台”进程在shell一直打开的情况下是没有问题的,如果我们关了shell窗口甚至退出ssh登录或vnc登录,那么进程自动就结束了。所以如果想退出窗口乃至退出登录仍然保持程序运行,再加上nohup,形如:nohup command 1>output 2>&1 &《Linux就该这么学》学习更多linux知识。
㈡ linux 终端打印内容输出到文件
方法:利用tee命令可将linux终端的打印内容输出到文件
示例:ifconfig | tee ifconfig.log
运行结束后可在ifconfig.log文件中查看打印的内容
㈢ linux怎么在代码里将每次的操作结果写入到文件中
用 > 把输出转向就可以了
例子:
[lhd@hongdi ~]$ ls > ls.txt
[lhd@hongdi ~]$ cat ls.txt
1.gtkrc-2.0
2009
a
amsn_received
a.tar.gz
说明: > 是把输出转向到指定的文件,如文件已存在的话也会重新写入,文件原内容不会保留
>> 是把输出附向到文件的后面,文件原内容会保留下来。
更多更详细的Linux知识可参考《Linux就该这么学》。
㈣ 如何用echo命令将linux输出的东西写入到文件中
echo "PATH=\"$PATH\""
需要输出引号的地方前面加转义符即可。
㈤ linux命令输出到屏幕的同时保存到文件
tee用于把命令结果打印在屏幕上并同时保存到文件。
tee用法
描述:从标准输入中读取并同时写入到标准输出和指定的文件上
选项:
-a,--append:不覆盖,而是追加输出到指定的文件中
-i,--ignore-interrupts:忽略中断信息
若指定的输出文件为'-',则再次输出到标准输出上
实例:
tee Example.txt #将标准输入中输入的内容同时输出到Example.txt和标准输出上
实践:
例如 ifconfig | tee ifconfig.log
查看iconfig.log
注:
标准输入一般有键盘和其它文件,标准输出有屏幕等。tee只能进行标准输入的输出,对于错误输入是不能输出的。
在调试脚本时,想要每个命令的执行过程都输出到屏幕或者文件中,以便后续查看,如何操作呢?首先脚本第一行要写为“#!/bin/bash -x”,这样会把每个命令的执行记录都输出到屏幕,若还要输出到指定文件,要用到tee,但tee只能进行标准输入,对于标准输入和错误输入要用到下式:
./filename.sh 2>&1 | tee output.log 或者直接 bash -x ./filename.sh 2>&1 | tee output.log
今天调试一个bash,要把屏幕的输出结果存到log文件中,开始输入$bash -x ./test.sh > log 结果发现log里只存放了程序的执行结果,后来在cu的一篇帖子里http://bbs.chinaunix.net/viewthread.php?tid=264380&highlight=bash得到了启发,bash -x的调试信息是输出到2号流中的,所以解决方案为bash -x ./test.sh 2>&1 | tee log 想起以前要存放执行make的结果时也遇到类似问题,总结如下:
1、管道符的“I”的作用只是把前一个程序的标准输出流(stdout)的数据作为后一个程序的标准输入流stdin的数据,如不进行重定向,则其他输出流的信息是无法传给后面的程序的
2、屏幕得到的信息不一定是从程序的标准输出来的,也包括标准错误输出流stderr中的信息
3、有些程序(特别是象bash、make这样执行了其他程序的程序)的设计者为了省事,把一些正常情况的信息也放在stderr中输出(即使程序本身并无错误),而stdout用来输出被调用程序的执行时信息,造成了用户的误解简单编写了一下脚本,通过ssh登陆在命令行下运行正常,可是将脚本添加到crontab中就不正常。想记录一下输出信息,分析一下错误原因。将脚本通过使用>info.log 重定向输出,结果发现一些在命令行下可以看到的文本信息没有记录到info.log文件中,研究了一下,那些输出估计是输出到了标准错误上。
研究了一下通常添加命令后面几个输出含义
■ >/dev/null 输出到空设备,表示丢掉输出信息。
■ 2>&1将输出到标准错误的信息输出到标准输出设备(通常是屏幕)有3个默认的i/o,
■ 0是标准输入,一般是键盘
■ 1是标准输出,一般是屏幕
■ 2是标准错误,有时候屏幕上可以看到,但是重定向的文件中看不到的就是它了
㈥ Linux将输出的内容放到文件中存储
我们在上面的例子中可以看到,我们使用输出转向,命令在终端上的输出转向到了文件中,但如果我希望能同时在终端上看到输出信息怎么办?
㈦ Linux怎样将标准输出写进文件
启动 linux 系统,打开终端。
1
例如,现在我们想把 /home/zxb 目录下...
2
为了验证效果,我们首先进入 /home/zxb...
3
然后,我们打开 myfile.txt 文件查看其...
4
要将 Linux 的标准输出写进文件,其命...
5
不过,用上面命令格式将标准输出写进文...
6
例如,我们现在想将根目录所有文件的详...
7
下面是追加后的myfile.txt文件内容。这...
㈧ linux中printf后的内容怎么保存到文件中
可以运用Linux
输出重定向>和>>来将输出的数据保存到文件,直接在命令后加>xxx。
输出重定向的用法:
标准输出的控制
语法:命令>
文件将命令的执行结果送至指定的文件中。
例如:
ls
-l
>
list
将执行“ls
-l”
命令的结果写入文件list
中。
语法:命令>!
文件将命令的执行结果送至指定的文件中,若文件已经存在,则覆盖。
例如:
ls
-lg
>!
list
将执行“ls
-
lg”
命令的结果覆盖写入文件list
中。
语法:命令>&
文件将命令执行时屏幕上所产生的任何信息写入指定的文件中。
例如:
cc
file1.c
>&
error
将编译file1.c
文件时所产生的任何信息写入文件error
中。
语法:命令》
文件将命令执行的结果附加到指定的文件中。
例如:
ls
-
lag
>>
list
将执行“ls
-
lag”
命令的结果附加到文件list
中。
语法:命令》&
文件将命令执行时屏幕上所产生的任何信息附加到指定的文件中。
例如:
cc
file2.c
>>&
error
将编译file2.c
文件时屏幕所产生的任何信息附加到文件error
中。
㈨ 请问linux把shell的信息全部输出到文本文件的命令是什么
user 创建新的用户账户
alias 设置命令的别名
bzips .bz2的文件压缩程序
cal 月历显示
cat 将所有内容输出到标准输出设备
chfn 更改finger命令显示的信息
chgrp 变更文件与目录的所属组
chmod 更换文件或目录的权限
chown 更换文件或目录的拥有者或所在组
clear 清除画面上的信息
col 滤除控制字符
cp 复制文件或目录
crontab 设置定时器
date 设置显示系统时间及日期
dd 由键盘输入文件中的数据,然后依照指定格式来转换数据,再输出至所指定的文件或屏幕上
df 显示磁盘文件系统的使用状况
dmesg 显示开机信息
显示目录或文件所占磁盘空间
e2fsck 检查ext2文件系统
echo 文字显示
edquota 编辑quota
egrep 查找文件中符合条件的字符串
exec shell执行命令后即交出控制权
export 设置显示环境变量
fdisk 磁盘分割(分区)
fg 前台执行程序或命令
fgrep 查找文件中符合条件的字符串
file 识别文件类型
find 查找文件或目录
finger 显示用户信息
free 查看内存状态
fsck 检查文件系统并试着修复错误
ftp 传输文件
grep 搜索文件中符合条件的字符串
groupadd 创建组
groupdel 删除组
groupmod 改变组识别码或名称
gunzip 文件解压缩
gzip 文件压缩
halt 关闭系统
help shell创建命令内容
history 列出所有使用过的命令
hostname 查询及设置主机名称
id 显示用户ID及所属的组ID
ifconfig 显示或设置网络上状态
insmod 加载模块
jobs 显示正在后台执行的工作
kill 删除执行中的程序或工作
last 列出目前与过去登录系统的用户相关信息
less 显示文件内容
lilo 安装内核加载、开机管理程序
linuxconf 设置Linux系统
ln 连接文件或目录
locate 寻找文件
login 登录系统
logout 注销系统
ls 列出目录内容
lsmod 显示已加载系统的模块名称
mail E-mail管理程序
make 编译系统核心或模块
man 在线查询命令
m 复制MS-DOS文件
mdel 删除MS-DOS文件
mdeltree 删除MS-DOS文件及包含的子目录文件
mdir 显示MS-DOS目录
mkbootdisk 创建目前系统的引导盘
mkdir 创建目录
mke2fs 创建ext2文件系统
mkfs 创建各种文件系统
more 一页一页地显示文件内容(文本文件)
miunt 挂入文件系统
mouseconfig 设置鼠标相关参数
mv 移动或更名现有的文件或目录
netconfig Red Hat Linux用来设置网络功能的图形接口程序
netstat 显示目前系统的网络状态
nice 变更程序执行时的优先等级
nohup 在用户注销系统后继续以后台的方式执行指定的命令
open 查找第一个可使用的虚拟终端,并执行位于“--”符号后的命令
passwd 提供管理员及用户管理或变更密码
patch 利用修补文件来修改源文件
pine 邮件处理程序,它可收发电子邮件及浏览新闻组
ping 使用ICMP对远程主机发出要求响应的信息,以侦测远程主机的网络功能是否正常
ps 显示程序执行的状况
pwd 显示目前的工作目录
quota 查询磁盘空间限制以及使用情形
quotacheck 检查磁盘使用空间及限制
quotaoff 关闭磁盘使用空间限制
quotaon 开启磁盘使用空间限制
reboot 停止系统运作并重新开机
renice 重新调整程序执行的优先级
repquota 显示磁盘空间限制状况
rm 删除文件或目录
rmdir 删除目录
rpm 管理Red Hat Linux套件
set 设置Shell的执行方式
setup 设置公用程序,可设置的选项包括:登录认证方法、键盘配置、
鼠标配置、开机启动服务、声卡本配置、时区设置和 X Window配置等
shutdown 系统关机
startx 启动 X Window
stat 显示inode内容
su 变更用户身份
sync 将内存缓冲区内的数据写入磁盘
tail 列出文件内容最后部分
talk 和其他用户交谈
tar 文件备份
telnet 登录远程主机
top 显示及管理执行中的程序
traceroute 显示封包到远程主机间的详细路径
umask 在创建文件时预设的权限屏蔽
umount 卸载文件系统
unalias 删除别名
uname 显示系统信息
uncompress 将.Z文件解压缩
unzip 将.Zip文件解压缩
useradd 创建用户账号
userdel 删除用户账户
vi 编辑文本文件
w 显示目前登录系统的用户信息
wall 将信息传送至每位终端用户
whereis 查找文件,预设whereis去查找的文件包括:/bin、/etc、/sbin、
/usr/bin、/usr/etc、/usr/games、/usr/include、/usr/lib、
/usr/local、/usr/man、/usr/sbin、/usr/src、/usr/local/bin、
/usr/local/etc、/usr/local/game、/usr/local/lib 和/usr/local/man>
which 在环境变量¥PATH 设置的目录中,搜索符合条件的文件
who 显示目前登录系统的用户信息
whoami 显示用户名称
whois 搜索并显示用户信息
write 可传送信息给另一位登录的用户
Xconfigurator 设置 Xfree86
xf86config 设置XFree86
zip 压缩程序