Linux就该这么学丨必备Linux命令(二)
一、打包压缩与搜索命令(重要)
1、tar(对文件进行打包、压缩或解压);
1)tar -czvf etc.tar.gz /etc(把/etc目录通过gzip格式进行打包压缩,并命名为etc.tar.gz)
2)tar -xzvf etc.tar.gz -C /root/etc(把etc.tar.gz文件解压到指定目录/root/etc下)
3)参数:
(1)-c:穿件压缩文件
(2)-x:解压缩文件
(3)-t:查看压缩包文件内容
(4)-z:用Gzip压缩或解压
(5)-j:用bzip2压缩或解压
(6)-v:显示压缩或者解压的过程
(7)-f:目标文件名
(8)-p:保留原始文件的属性和权限
(9)-P:使用绝对路劲来压缩
(10)-C:指定解压到的目录
2、grep(文本中执行关键词搜索,并显示匹配结果)
1)grep -n boot /etc/haha.txt(查找/etc下hah.txt文件中boot关键词的行,并显示行号)
2)参数:
(1)-b:将可执行文件(binary)当做文本文件(text)来搜索
(2)-i:进显示找到的行数
(3)-n:显示行号
(4)-v:反向选择--仅列出没有“关键词”的行
3、find(按照指定条件来查找文件)
1)find / -name sda(全盘搜索名字为sda的文件)
2)参数:
(1)-name:匹配名称
(2)-perm:匹配权限(mode为完全匹配,-mode为包含即可)
(3)-user:匹配所有者
(4)-group:匹配所有组
(5)-mtime -n +n:匹配修改内容的时间(-n指n天以内,+n值n天以前)
(6)-atime -n +n:匹配访问文件的时间(-n指n天以内,+n值n天以前)
(7)-ctime -n +n:匹配修改文件的时间(-n指n天以内,+n值n天以前)
(8)-nouser:匹配所有者文件
(9)-nogroup:匹配所有组文件
(10)-newer f1 !f2:匹配比文件f1新但比f2旧的文件
(11)--type /d/c/p/l/f:匹配文件类型(后面字母参数一次表示块设备、目录、字符设备、管道、链接文件、文本文件)
(12)-size:匹配文件大小(+50KB为差查找超过50KB的文件,二-50KB为查找小于50KB的文件)
(13)-prune:忽略某个目录
(14)-exec ......{}\;:后面可跟由于进一步处理搜索结果的命令
二、管道符、重定向与环境变量
1、输入输出重定向
1)输入重定向:就是把文件导入到文件命令中
(1)命令 < 文件:将文件作为命令的标准输入
命令 << 分界符:将标准输入中读入,知道遇见分解符才停止
命令 < 文件1 > 文件2:将文件1作为命令的标准输入并将标准输出到文件2
2)输出重定向:就是把命令的结果写入到文件中
(1)man bash > redme.txt(将man bash屏幕输出的信息写入到redme.txt文件中)
(2)命令 > 文件:将标准输出重定向到一个文件中(清空原有文件数据)
命令 2> 文件:将错误输出重定向到一个文件中(清空原有文件数据)
命令 >> 文件:将标准输出重定向到一个文件中(追加到原有内容的后面)
命令 2>> 文件:将错误输出重定向到一个文件中(追加到原有内容的后面)
命令 >> 文件 2>&1或命令 &>>文件:将标准输出与错误输出共同写入到文件中(追加到原有内容的后面)
命令 &> 文件:将标准输出与错误输出共同写入到文件中(清空原有文件数据)
2、管道符(任意门)
1)命令A | 命令B(将命令A输出到屏幕的标准数据当做后一个命令的标准输入)
3、命令的通配符
1)ls -l /dev/sda*(匹配/dev目录下所有以sda开头的文件)
2)*:通配符(空值或者无穷多的信息)
?:匹配一个字符
[a-z]:匹配a-z的小写字母
[A-Z]:匹配A-Z的大写字母
[0-9]:匹配0-9的数字
[1,3,5]:匹配1,3,5的数字
4、常用的转义字符
1)反斜杠(\):是反斜杠后面的一个变量变为单纯的字符串
单引号(‘’):转义其中左右的变量为单纯的字符串
双引号(“”):保留其中的变量属性,不进行转义处理
反引号(``):把其中的命令执行后返回结果
5、重要的环境变量
1)HOME:用户的主目录(即家目录)
SHELL:用户在使用的shell解释器名称
HISTSIZE:输出的历史命令记录条数
HISTFILESIZE:保存的历史命令记录条数
MALL:邮件保存路径
LANG:系统语言、语系名称
RANDOM:生成一个随机数字
PSI:bash解释器的提示符
PATH:定义解释器搜索用户执行命令的路径
EDITOR:用户默认的文本编辑器