-
文件目录管理命令
touch:用于创建空白文件或设置文件的时间,语法格式为:“touch [参数] 文件名称”。
参数
|
作用
|
-a
|
仅修改“读取时间”(atime)
|
-m
|
仅修改“修改时间”(mtime)
|
-d
|
同时修改atime与mtime
|
mkdir
:
用于创建空白的目录,英文全称为:“make directory”,语法格式为:“mkdir [参数] 目录名称”。
参数
|
作用
|
-p
|
递归创建出具有嵌套叠层关系的文件目录
|
cp
:
用于复制文件或目录,英文全称为:“copy”,语法格式为:“cp [参数] 源文件名称 目标文件名称”。
如果目标文件是目录,则会把源文件复制到该目录中;
如果目标文件也是普通文件,则会询问是否要覆盖它;
如果目标文件不存在,则执行正常的复制操作。
参数
|
作用
|
-p
|
保留原始文件的属性
|
-d
|
若对象为“链接文件”,则保留该“链接文件”的属性
|
-r
|
递归持续复制(用于目录)
|
-i
|
若目标文件存在则询问是否覆盖
|
-a
|
相当于-pdr(p、d、r为上述参数)
|
mv
:
用于剪切或重命名文件,英文全称为:“move”,语法格式为:“mv [参数] 源文件名称 目标文件名称”。
剪切操作不同于复制操作,因为它会把源文件删除掉,只保留剪切后的文件。如果在同一个目录中将某个文件剪切后还粘贴到当前目录下,其实本质就是对文件进行了重命名操作。
rm
:
用于删除文件或目录,英文全称为:“remove”,语法格式为:“rm [参数] 文件名称”。
参数
|
作用
|
-f
|
强制执行
|
-i
|
删除前询问
|
-r
|
删除目录
|
-v
|
显示过程
|
dd
:
用于按照指定大小的数据块个数来复制文件或转换文件,语法格式为:“dd if=参数值 of=参数值 count=参数值 bs=参数值”。
参数
|
作用
|
if
|
输入的文件名称
|
of
|
输出的文件名称
|
bs
|
设置每个“块”的大小
|
count
|
设置要复制“块”的个数
|
硬盘里第一个扇区大小占用了512个字节,其中446个字节ibm信息 主机电脑记录;剩余64个字节 分别16个字节写分区信息;最后2个字节做为结束符
# dd if=/dev/sda of=backup bs=512 count=1 #分区表备份
# dd if=/dev/cdrom of=RHEL-server-8.0-x86_64-LinuxProbe.Com.iso #把光驱设备中的光盘制作成iso格式的镜像文件
file
:
用于查看文件的类型,语法格式为:“file 文件名称”。
tar
:
用于对文件进行打包压缩或解压,语法格式为:“tar 参数 文件名称”。
参数
|
作用
|
-c
|
创建压缩文件
|
-x
|
解开压缩文件
|
-t
|
查看压缩包内有哪些文件
|
-z
|
用Gzip压缩或解压
|
-j
|
用bzip2压缩或解压
|
-v
|
显示压缩或解压的过程
|
-f
|
目标文件名
|
-p
|
保留原始的权限与属性
|
-P
|
使用绝对路径来压缩
|
-C
|
指定解压到的目录
|
z gzip .tar.gz
j bzip2 .tar.bz2
-
管道符、重定向、环境变量
标准输入重定向(STDIN,文件描述符为0):默认从键盘输入,也可从其他文件或命令中输入。
标准输出重定向(STDOUT,文件描述符为1):默认输出到屏幕。
错误输出重定向(STDERR,文件描述符为2):默认输出到屏幕。
输入重定向中用到的符号及其作用
输入重定向是指把文件导入到命令中。
符号
|
作用
|
命令 < 文件
|
将文件作为命令的标准输入
|
命令 << 分界符
|
从标准输入中读入,直到遇见分界符才停止
|
命令 < 文件1 > 文件2
|
将文件1作为命令的标准输入并将标准输出到文件2
|
# wc -l anaconda-ks.cfg
44 anaconda-ks.cfg
# wc -l < anaconda-ks.cfg
44
输出重定向中用到的符号及其作用
重定向则是指把原本要输出到屏幕的数据信息写入到指定文件中。
符号
|
作用
|
命令 > 文件
|
将标准输出重定向到一个文件中(清空原有文件的数据)
|
命令 2> 文件
|
将错误输出重定向到一个文件中(清空原有文件的数据)
|
命令 >> 文件
|
将标准输出重定向到一个文件中(追加到原有内容的后面)
|
命令 2>> 文件
|
将错误输出重定向到一个文件中(追加到原有内容的后面)
|
命令 >> 文件 2>&1
或
命令 &>> 文件
|
将标准输出与错误输出共同写入到文件中(追加到原有内容的后面)
|
# uptime
13:06:01 up 257 days, 23:41, 1 user, load average: 0.05, 0.03, 0.05
# uptime > a
# cat a
13:06:34 up 257 days, 23:41, 1 user, load average: 0.10, 0.04, 0.05
管道符
把前一个命令原本要输出到屏幕的信息当作是后一个命令的标准输入
把前一个命令原本要输出到屏幕的信息当作是后一个命令的标准输入
# grep /sbin/nologin /etc/passwd | wc -l #统计出不能登录系统的账户
# echo username | passwd --stdin root #快速重置用户密码
-
通配符
通配符就是通用的匹配信息的符号,比如星号(*)代表匹配零个或多个字符,问号(?)代表匹配单个字符,中括号内加上数字[0-9]代表匹配0~9之间的单个数字的字符,而中括号内加上字母[abc]则是代表匹配a、b、c三个字符中的任意一个字符。
通配符
|
含义
|
*
|
任意字符
|
?
|
单个任意字符
|
[a-z]
|
单个小写字母
|
[A-Z]
|
单个大写字母
|
[a-Z]
|
单个字母
|
[0-9]
|
单个数字
|
[1,3,5]
|
匹配带有1,3,5的值
|
[[:alpha:]]
|
任意字母
|
[[:upper:]]
|
任意大写字母
|
[[:lower:]]
|
任意小写字母
|
[[:digit:]]
|
所有数字
|
[[:alnum:]]
|
任意字母加数字
|
[[:punct:]]
|
标点符号
|
-
转义符
为了能够更好地理解用户的表达,Shell解释器还提供了特别丰富的转义字符来处理输入的特殊数据。
反斜杠(\):使反斜杠后面的一个变量变为单纯的字符。
单引号(''):转义其中所有的变量为单纯的字符串。
双引号(""):保留其中的变量属性,不进行转义处理。
反引号(``):把其中的命令执行后返回结果。
# echo `free| grep Mem: | awk '{print $4}'` #查看当前内存值
-
环境变量
变量=`命令`
变量=$(命令) #5/6系统中写法