make && make install 2>&1 | tee ./qtemake.log

本文解析了Linux命令行中的2>&1语法,解释了如何将错误输出重定向到与标准输出相同的目的地,并通过实例展示了其用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在移植QTE4.7.2的时候,发现教程中最后安装的命令是make && make install 2>&1 | tee ./qtemake.log 。不懂其中的“2>&1”含义,于是搜之。

2>&1    是将标准出错重定向到标准输出
> 是输出重定向的意思。
> 是以覆盖的方式重定向
>> 是追加的方式重定向。

1代表标准输出,2代表错误信息输出.


&1 就代表的是标准输出。

最后一个& 符号,是后端执行的意思。

我找个例子,你耐心研究一下:

ls han
ls: 无法访问han: 没有那个文件或目录

执行
~$ ls han >1.txt 2>&1

在shell中没有任何显示

此时再执行~$ cat 1.txt 
ls: 无法访问han: 没有那个文件或目录

说明错误信息被重定向到1.txt 这个文件中了。

如果不加这个&
 ls han >1.txt 2>1


又会多出来一个 1 文件。

cat 1
ls: 无法访问han: 没有那个文件或目录

看到了把。&1 代表逻辑上的标准输出。 不加& ,那就会产生名为的1的文件

前置环境准备1. 相关软件包准备rhel软件包openssl软件包https://openssl-library.org/source/old/index.htmlopensshhttps://www.openssh.com/上传相关软件包2. 配置yum源mkdir /soft mkdir /mnt/filemkdir /etc/yum.repos.d/bakmv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bakcat > /etc/yum.repos.d/base.repo << EDF[base]name=bashbaseurl=file:///mnt/fileenabled=1gpgcheck=0EDFmount -o loop /soft/rhel-server-7.9-x86_64-dvd.iso /mnt/file/yum clean allyum makecache3. 查询当前系统、openssh、openssl版本cat /etc/redhat-releasessh -V4. 安装依赖包yum -y install gcc gcc-c++ glibc make autoconf openssl-devel pcre-devel pam-devel rpm-build5. 禁止selinux##重点,禁止selinux 否则重启后会登录失败##sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/configsetenforce 06. 解压软件包cd /soft/tar -zxf openssh-9.8p1.tar.gz tar -zxf openssl-1.1.1w.tar.gz 升级opensslmv /usr/bin/openssl /usr/bin/openssl.bakmv /usr/include/openssl /usr/include/openssl.bakmv /usr/lib64/libssl.so /usr/lib64/libssl.so.bakcd /soft/openssl-1.1.1w/./config --prefix=/usr --shared && make && make installopenssl version升级openssh a. 编译安装opensshservice sshd stoprpm -e `rpm -qa|grep openssh` --nodepsrpm -qa |grep opensshrm -rf /etc/ssh#编译安装opensshcd /soft/openssh-9.8p1/./configure --prefix=/usr --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl --with-zlib --with-md5-passwords --with-pam --with-tcp-wrappers && make && make install b. 修改ssh配置文件cat >> /etc/ssh/sshd_config << EDFport 22PermitRootLogin yesPermitEmptyPasswords noEDFcp contrib/redhat/sshd.init /etc/init.d/sshdcp contrib/redhat/sshd.pam /etc/pam.d/sshd.pam c. ssh服务chkconfig --add sshdchkconfig sshd onchkconfig sshd --listservice sshd startservice sshd restartssh -V版本回退方法yum remove -y openssh && yum install -y openssh openssh-clients openssh-serverservice sshd restart【注】:建议清理已保存的公私钥配置文件,rm -rf /etc/ssh/ssh_host 改为离线环境,交互式脚本,扫描软件路径,列出相关软件包,交互式输入openssl版本,交互式输入openssh版本,交互式输入挂载镜像版本,每个步骤都需检查,根据检查结果交互执行下一步,显示详细日志
最新发布
08-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值