Linux就该这么学2


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

详细配置mail.rc的参考网址

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这个命令转换为全局变量。

你可能感兴趣的:(Linux就该这么学2)