layout: post
title: Linux就该这么学2
date: 2020-11-14
author: XiaoJia849
categories:
- 后端部
tags: 后端,Linux
- 后端
- Linux
输入重定向——把文件导入到命令中
输出重定向——把原本要输出到屏幕的数据信息写到指定文件中
输入重定向:标准输入重定向。STDIN,可从键盘,其他文件或命令中输入。
输出重定向最常使用,分为:标准输出重定向,错误输出重定向
输出重定向:
Man bash > readme.txt 把屏幕中的内容输出到readme.txt文件内。
覆盖写入:echo “WELcome” > readme.txt——把双引号内内容覆盖readme.txt的原本内容
追加写入:echo “WELcome” >>readme.txt——把双引号内内容追加到readme.txt
把命令的所有报错信息写入文件,使用SHELL脚本。
Ls -l xxxxx 2>/root/stdeer.txt
把ls -l xxxxx 2的所有提示信息输入到/root/stdeer.txt
/root/stdeer.txt是一个只读文件。
输入重定向:
Wc -l < readme.txt 这个是统计文本行数
输出readme.txt这个文件内容的行数
管道命令符
| 管道符
A | B 把A命令原本要输入到屏幕的数据当作是后一个命令的标准输入。
grep “/sbin/nologin” /etc/password | wc -1
这个是找到在 /etc/password 里“/sbin/nologin”出现的次数
重置用户root的密码:
echo “linuxprobe” | password –stdin root
发送邮件
echo “Content” | mail -s “Subject” 用户名
发送邮件
更改内容
关于发送邮件的详细过程如下:
1.安装
- sendmail:yum install -y sendmail
- mail:yum install -y mailx
- 安装mutt:yum install -y mutt
2.修改配置文件
vim /etc/mail.rc
在此文件下补充以下内容
set ssl-verify=ignore 无需ssl确认
set nss-config-dir=/etc/pki/nssdb
set from=邮箱
set smtp=smtps://smtp.qq.com:465 如果是qq邮箱就这么写
set smtp-auth-user=邮箱,同上
set smtp-auth-password=IMAP/SMTP服务密码
set smtp-auth=login
启动sendmail : systemctl restart sendmail
echo "邮件内容" | mail -s "邮件名" 目标邮箱
用这一条命令是表示,我从我的本地账户(mail.rc配置的邮箱)发送邮件到目标邮箱
命令行的通配符
*匹配0个或者多个
?匹配单个字符
[0-9]匹配0-9之间的单个数字的字符
[abc]匹配abc中的任意一个字符
ls -l /dev/sda* 展示所有sda开头的文件的信息。
常用转义字符\ ‘’ “” ``
$$是显示当前进程号,第一个 $ 表示显示内容
\$$ 的第一个 $ 没有特殊含义
$的使用当要执行某命令也可以这么写
执行某命令
重要的环境变量
命令在linux内执行的步骤:
第一步:判断用户是否以绝对路径或者相对路径的方式输入命令
第二步:检查输入命令是否为别名命令
可以用alias命令创建属于自己的命令别名
-
alias 别名 =命令 运用此别名
-
unalias 别名 释放此别名
第三步:Bash解释器判断用户输入的是内部命令还是外部命令
内部命令:解释器内部的指令,直接执行
外部命令:由下一步执行,用 type 命令名称 判断用户输入的是内部命令还是外部命令
判断命令属于内部或者外部
cat是bin里的,说明是内部命令
第四步:系统在多个路径中查找用户输入的命令文件,而定义这些路径的变量叫PATH
查看path不能将当前目录(.)添加到PATH,因为:如果黑客在共用目录/tmp中存放了和ls或者cd命令同名的木马文件,用户如果在公共目录下执行了这些命令,就有可能中招。
设定解释器搜索所执行的命令的路径——PATH变量
注意:不同用户下的同一变量代表的意义不同
root用户下 xiao用户下随便使用一个命令就可以创建这样的变量,例如WI=/home/workdir cd $WI就可以跳转到这个目录。
但是这种变量的作用范围有限,不可以被其他用户使用。但是可以使用export WI 把WI这个命令转换为全局变量。
网友评论