Linux 第三天 管道符、重定向与环境变量学习

接第二天最后一个命令必考
tar命令(读音他儿)
tar czvf 压缩包 源文件
c 打包 z压缩gzip j bzip2(两个压缩格式) v 显示过程 f 压缩包名称 ; .tar.gz .tar.bz2 -C解压路径
tar xzvf 压缩包 源文件 x解压 z压缩格式 v过程信息 f 压缩包名称 有顺序关系 f必须放到最后面
grep命令用于在文本中执行关键词搜索,并显示匹配的结果,格式为“grep -n(第几行) 关键词 文件名称
find命令用于按照指定条件来查找文件,格式为“find [查找路径] 寻找条件 操作”
find / 根目录 (全盘搜索的意思)
-name 匹配名称
-perm 匹配权限(mode为完全匹配,-mode为包含即可)
-user 匹配所有者
-group 匹配所有组
-mtime -n +n 匹配修改内容的时间(-n指n天以内,+n指n天以前)
-atime -n +n 匹配访问文件的时间(-n指n天以内,+n指n天以前)
-ctime -n +n 匹配修改文件权限的时间(-n指n天以内,+n指n天以前)
-nouser 匹配无所有者的文件
-nogroup 匹配无所有组的文件
-newer f1 !f2 匹配比文件f1新但比f2旧的文件
–type b/d/c/p/l/f 匹配文件类型(后面的字幕字母依次表示块设备、目录、字符设备、管道、链接文件、文本文件)
-size 匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件)
-prune 忽略某个目录
**-exec …… {}**; 后面可跟用于进一步处理搜索结果的命令(算是中转站
find / -user linuxprobe -exec cp -rf {} /root ;(考试原题)
···········································································································································································
管道符 重定向与环境变量

               输入重定向5%
                      <
 重定向                               
                                         标准输出     >           >>
               输出重定向95%                       清空写入     追加写入(保留文件原内容)
                      >                   错误输出
                                           2>

命令 > 文件 将标准输出重定向到一个文件中(清空原有文件的数据)
命令 2> 文件 将错误输出重定向到一个文件中(清空原有文件的数据)
命令 >> 文件 将标准输出重定向到一个文件中(追加到原有内容的后面)
命令 2>> 文件 将错误输出重定向到一个文件中(追加到原有内容的后面)
命令 >> 文件 2>&1 或 命令 &>> 文件 将标准输出与错误输出共同写入到文件中(追加到原有内容的后面 (重定向是命令与文件之间的处理方法,管道符是命令与命令之间的处理方法)
“命令A | 命令B 统计文本行数的命令则是wc -l
找出被限制登录用户的命令是grep “/sbin/nologin” /etc/passwd;[root@linuxprobe ~]# grep “/sbin/nologin” /etc/passwd | wc -l 33 .
[root@linuxprobe ~]# echo “linuxprobe” | passwd –stdin root
Changing password for user root.
passwd: all authentication tokens updated successfully.
通配符 [ ]
就来匹配所有在/dev目录中且以sda开头的文件: (dev里都是硬件 系统文件)
[root@linuxprobe ~]# ls -l /dev/sda*
只想查看文件名为sda开头,但是后面还紧跟其他某一个字符的文件的相关信息,该怎么操作呢?这时就需要用到问号来进行通配了。
[root@linuxprobe ~]# ls -l /dev/sda?
除了使用[0-9]来匹配0~9之间的单个数字,也可以用[135]这样的方式仅匹配这三个指定数字中的一个,若没有匹配到,则不会显示出来:[root@linuxprobe ~]# ls -l /dev/sda[0-9]
通配符多个可以【0-9】【0-9】
转义字符 :如果参数中有空格的话用双引号引起来,作为一个整体,效果是一样的
KaTeX parse error: Expected 'EOF', got '#' at position 28: …t@linuxprobe ~]#̲ echo "Price is…PRICE"
Price is $5 $$ 单引号是全局转义的意思成为纯粹的字符, 双引号是作为一个整体的意思,反引号 是进行里面内容的执行,执行结果返回给对应的变量。
环境变量
1以路径的形式来执行
2命令的别名来执行 alias 新命令=原始命令,新命令和原始命令互不冲突,可以同时使用。
3解释器的内部命令
4进行多路径查找命令并执行
PATH 用于定义查找命令所对应的路径
变量名称 作用
HOME 用户的主目录(即家目录)
SHELL 用户在使用的Shell解释器名称
HISTSIZE 输出的历史命令记录条数
HISTFILESIZE 保存的历史命令记录条数
MAIL 邮件保存路径
LANG 系统语言、语系名称
RANDOM 生成一个随机数字
PS1 Bash解释器的提示符
PATH 定义解释器搜索用户执行命令的路径
EDITOR 用户默认的文本编辑器
su是用于切换用户身份的命令,将在第5章跟大家见面)如果工作需要,可以使用export命令将其提升为全局变量,这样其他用户也就可以使用它了:
[root@linuxprobe workdir]# su linuxprobe
Last login: Fri Mar 20 20:52:10 CST 2017 on pts/0
[linuxprobe@linuxprobe ~]$ cd W O R K D I R [ l i n u x p r o b e @ l i n u x p r o b e   ] WORKDIR [linuxprobe@linuxprobe ~] echo W O R K D I R [ l i n u x p r o b e @ l i n u x p r o b e   ] WORKDIR [linuxprobe@linuxprobe ~] exit
[root@linuxprobe ~]# export WORKDIR
[root@linuxprobe ~]# su linuxprobe
Last login: Fri Mar 20 21:52:10 CST 2017 on pts/0
[linuxprobe@linuxprobe ~]$ cd W O R K D I R [ l i n u x p r o b e @ l i n u x p r o b e w o r k d i r ] WORKDIR [linuxprobe@linuxprobe workdir] pwd
/home/workdir
变量名称=值
export 变量命令–全局变量
【】 没 通配上不显示 {} 没通配上 显示报误
作业:
1.把 ls 命令的正常输出信息追加写入到 error.txt 文件中的命令是什么?
答:ls >> error.txt
2.请简单概述管道符的作用。
答:把前面命令的输出值作为后面命令的输入值,完成多个命令组合的使用。
3.Bash 解释器的通配符中,星号(*)代表几个字符?
答:零个或多个。
4.PATH 变量的作用是什么?
答:设定解释器搜索所执行的命令的路径。
5.使用什么命令可以把名为 LINUX 的一般变量转换成全局变量?
答:export LINUX。

猜你喜欢

转载自blog.csdn.net/qq_43348307/article/details/82958537