首先我们知道什么是流(stream),流物理设备的输入输出、存储设备上的文件的输入输出都映射到逻辑上的数据流,这是用来消除设备直接差异而抽象的一个概念。
通常情况下每个程序在启动的时候都会定义3个流:stderr、stdout、stderr,分别用来输入、输出、诊断和错误信息的输出,通常他们会被连接到用户终端(tty(4)),但是也可以修改到其他的文件和设备(重定向)。这取决于双亲进程的选择和设置。
Linux的本质是一切皆是文件,输入输出设备也是使用文件的形式存在和管理的,内核启动的时候默认会打开三个I/O设备文件:stdin、stdout、stderr,分别得到的描述符是0,1,2,并且他
file介绍
file命令用来探测文件的类型
用法
-b:列出辨识结果时,不显示文件名称;
-c:详细显示指令执行过程,便于排错或分析程序执行的情形;
-f<名称文件>:指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称;
-L:直接显示符号连接所指向的文件类别;
-m<魔法数字文件>:指定魔法数字文件;
-v:显示版本信息;
-z:尝试去解读压缩文件的内容。
file源码编译安装
github库
以安装5.25为例
wget https://github.com/file/file/archive/FILE5_25
介绍
xargs 是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。
xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据。
xargs 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。
xargs 默认的命令是 echo,这意味着通过管道传递给 xargs 的输入将会包含换行和空白,不过通过 xargs 的处理,换行和空白将被空格取代。
xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令。
之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了
ssh介绍
SSH是一种网络协议,用于计算机之间的加密登录。
如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。
命令参数
-1:强制使用ssh协议版本1;
-2:强制使用ssh协议版本2;
-4:强制使用IPv4地址;
-6:强制使用IPv6地址;
-A:开启认证代理连接转发功能;
-a:关闭认证代理连接转发功能;
-b:使用本机指定地址作为对应连接的源ip地址;
-C:请求压缩所有数据;
-F:指定ssh指令的配置文件;
-f:后台执行ssh指令;
-g:允许远程主机连接主机的转发端口;
-i:指定身份文件;
crond介绍
crond是linux下周期性执行某项任务或等待处理某些事情的一个守护进程。
crond是系统默认安装切默认启动的服务。crond每分钟回去检查是否有要执行的任务,有就去执行。
linux下的任务调度分为两种,系统任务调度和用户任务调度。而配置调度任务的文件就叫做crontab文件.
系统任务调度 系统需要周期性执行的任务例如日志清理等,系统任务调度的crontab文件为/etc/crontab。
cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
用户任
Centos7修改软件源
这里以Centos7为例子,6同样的方法url里相应7修改为6即可
配置remi源
remi源依赖epel源,安装epel源
yum install epel-release
安装remi源
rpm -ivh https://rpms.remirepo.net/enterprise/remi-release-7.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-remi
启用remi源
/etc/yum.repos.d/remi.repo,在[remi]下边的enabled=0改为enabled=1
同时也安装了各版本的php
不小心删除了libc.so.6
升级系统软件说依赖更高glibc库,然后升级过程中错误删除了libc.so.6。。导致所有的命令均无法执行。
例如执行ll,有如下提示
ll
sh: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
libc.so.6介绍
glibc是GNU发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。
sh bash这些都是依赖与glibc库的,所