主要介绍touch、mkdir、cp、mv、rm、dd、filr、tar、grep、find命令
touch
格式:touch [选项] [文件]
作用:用于创建空白文件或设置文件的时间
有难度的操作主要是设置文件内容的修改时间(mtime)、文件权限或属性的更改时间(ctime)和文件的读取时间上。
参数 | 作用 |
---|---|
-a | 仅修改读取时间(atime) |
-m | 仅修改修改时间(mtime) |
-d | 同时修改atime和mtime |
[root@localhost ~]# ls -l anaconda-ks.cfg
-rw-------. 1 root root 1906 11月 3 20:59 anaconda-ks.cfg
[root@localhost ~]# touch -d "2019-11-07 15:31" anaconda-ks.cfg
[root@localhost ~]# ls -l anaconda-ks.cfg
-rw-------. 1 root root 1906 11月 7 15:31 anaconda-ks.cfg
mkdir
格式:mkdir [选项] [目录]
作用:用于创建空白的目录
可结合-p参数来递归创建出具有嵌套关系的文件目录
[root@localhost ~]# mkdir 123
[root@localhost ~]# cd 123
[root@localhost 123]# mkdir -p 1/2/3/4/5/6
[root@localhost 123]# cd 1
[root@localhost 1]# cd 2
[root@localhost 2]#
cp
格式:cp [选项] [源文件] [目标文件]
作用:用于复制文件或目录
参数 | 作用 |
---|---|
-p | 保留原始文件的属性 |
-d | 若对象为链接文件,则保留该链接文件的属性 |
-r | 递归持续复制(仅作用于目录) |
-i | 若目标文件存在则询问是否覆盖 |
-a | 相当于-pdr |
[root@localhost ~]# touch install.log
[root@localhost ~]# cp install.log x.log
[root@localhost ~]# ls
x.log install.log
mv
格式:mv [选项] [源文件] [目标路径|目标文件名]
作用:剪切文件或将文件重命名
对同一个目录的一个文件进行剪切操作,其实就是对他进行重命名
[root@localhost ~]# mv x.log y.log
[root@localhost ~]# ls
y.log install.log
rm
格式:rm [选项] [文件]
作用:用于删除文件或目录
当删除文件时,系统为不停询问你,如果不想系统询问,可加 -f 参数来强制删除
删除目录需要加入 -r 参数
[root@localhost ~]# rm install.log
rm:是否删除普通空文件 "install.log"?y
[root@localhost ~]# rm -f y.log
[root@localhost ~]# ls
dd
格式:dd [参数]
作用:根据指定大小和个数的数据块来复制文件或转换文件
这个命令是比较重要而且非常具有特色的命令。
参数 | 作用 |
---|---|
if | 输入的文件名称 |
of | 输出的文件名称 |
bs | 设置每个块的大小 |
count | 设置要复制块的个数 |
[root@localhost ~]# dd if=/dev/zero of=560_file count=1 bs=560M
记录了1+0 的读入
记录了1+0 的写出
587202560字节(587 MB)已复制,31.4138 秒,18.7 MB/秒
dd命令还可以直接压制成光盘镜像文件,将他变成一个可立即使用的iso镜像
tar
格式:tar [选项] [文件]
作用:用于对文件进行压缩或解压
Linux中主要是使用 .tar 或 .tar.gz 或 .tar.bz2 格式
参数 | 作用 |
---|---|
-c | 创建压缩文件 |
-x | 解开压缩文件 |
-t | 查看压缩包里有哪些文件 |
-z | 用Gzip压缩或解压 |
-j | 用bzip2压缩或解压 |
-v | 显示压缩或解压的过程 |
-f | 目标文件名 |
-P | 保留原始的权限和属性 |
-p | 使用绝对路径来压缩 |
-C | 指定解压到的目录 |
压缩操作一般为:tar -czvf
解压操作一般为:tar -xzvf
将.etc目录通过gzip格式进行打包压缩
[root@localhost ~]# tar -czvf etc.tar.gz /etc
tar: 从成员名中删除开头的“/”
/etc/
/etc/fstab
/etc/crypttab
/etc/mtab
/etc/resolv.conf
/etc/fonts/
/etc/fonts/conf.d/
/etc/fonts/conf.d/57-dejavu-serif.conf
/etc/fonts/conf.d/59-liberation-sans.conf
/etc/fonts/conf.d/65-0-madan.conf
/etc/fonts/conf.d/10-scale-bitmap-fonts.conf
......
将压缩包文件指定解压到/root/etc目录中
[root@localhost ~]# tar xzvf etc.tar.gz -C /root/etc
etc/
etc/fstab
etc/crypttab
etc/mtab
etc/resolv.conf
etc/fonts/
etc/fonts/conf.d/
etc/fonts/conf.d/57-dejavu-serif.conf
etc/fonts/conf.d/59-liberation-sans.conf
etc/fonts/conf.d/65-0-madan.conf
etc/fonts/conf.d/10-scale-bitmap-fonts.conf
etc/fonts/conf.d/65-0-lohit-kannada.conf
etc/fonts/conf.d/20-unhint-small-vera.conf
etc/fonts/conf.d/65-0-lohit-nepali.conf
......
grep
格式:grep [选项] [文件]
作用:用于在文本中执行关键字搜索,并显示匹配的结果
参数 | grep |
---|---|
-b | 将可执行文件(binary)当作文本文件(text)来搜索 |
-c | 仅显示找到的行数 |
-i | 忽略大小写 |
-n | 显示行号 |
-v | 反向选择–找出没有关键字的行 |
[root@localhost ~]# grep /sbin/nologin /etc/passwd
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
......
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 … {}\; | 后面可跟用于进一步处理搜索结果的命令 |
[root@localhost ~]# find /etc -name "host*" -print
/etc/host.conf
/etc/hosts
/etc/hosts.allow
/etc/hosts.deny
/etc/selinux/targeted/active/modules/100/hostname
/etc/hostname
/etc/avahi/hosts