欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

linux常用命令-文件目录管理*

程序员文章站 2022-07-14 10:20:41
...

一、文件目录管理命令

  1. tar命令
    对文件进行打包压缩或解压,语法格式为“tar参数 文件名称”
    可以使用"7-zip"工具打包为tar包
-c	创建压缩文件
-x	解开压缩文件
-t	查看压缩包内有哪些文件
-z	用Gzip压缩或解压
-j	用bzip2压缩或解压
-v	显示压缩或解压的过程
-f	目标文件名
-p	保留原始的权限与属性
-P	使用绝对路径来压缩
-C	指定解压到的目录
# tar -xvf *.tar
[[email protected] ~]# tar czvf etc.tar.gz /etc //将/etc目录通过gzip格式进行打包压缩,并把文件命名为etc.tar.gz
[[email protected] ~]# mkdir /root/etc
[[email protected] ~]# tar xzvf etc.tar.gz -C /root/etc //将打包后的压缩包文件指定解压到/root/etc目录中(先使用mkdir命令创建/root/etc目录)
  1. rpm命令
    RPM(RedHat Package Manager)一种通过资料库管理的方式将所需要的软件安装到主机上的管理程序。
rpm -ivh  *.rpm
-a 查询所有的软件包
-b或-t 设置包装套件的完成阶段,并指定套件档的文件名称;
-c 只列出组态配置文件,本参数需配合”-l”参数使用
-d 只列出文本文件,本参数需配合”-l”参数使用
-e或--erase 卸载软件包-f 查询文件或命令属于哪个软件包
-h或--hash 安装软件包时列出标记-i 显示软件包的相关信息
--install 安装软件包
-l 显示软件包的文件列表
-p 查询指定的rpm软件包
-q 查询软件包
-R 显示软件包的依赖关系
-s 显示文件状态,本参数需配合”-l”参数使用
-U或--upgrade 升级软件包
-v 显示命令执行过程
-vv 详细显示指令执行过程
  1. touch命令
    用于创建空白文件或设置文件的时间,语法格式为“touch [参数] 文件名称”
-a	仅修改“读取时间”(atime)
-m	仅修改“修改时间”(mtime)
-d	同时修改atime与mtime
  • 先使用ls命令查看一个文件的修改时间,随后修改这个文件,最后再查看一下文件的修改时间,看是否发生了变化:
[[email protected] ~]# ls -l anaconda-ks.cfg
-rw-------. 1 root root 1213 May  4 15:44 anaconda-ks.cfg
[[email protected] ~]# echo "Visit the LinuxProbe.com to learn linux skills" >> anaconda-ks.cfg
[[email protected] ~]# ls -l anaconda-ks.cfg
-rw-------. 1 root root 1260 Aug  2 01:26 anaconda-ks.cfg
  • 如果不想让别人知道我们修改了它,那么这时就可以用touch命令把修改后的文件时间设置成修改之前的时间
[[email protected] ~]# touch -d "2020-05-04 15:44" anaconda-ks.cfg 
[[email protected] ~]# ls -l anaconda-ks.cfg 
-rw-------. 1 root root 1260 May  4 15:44 anaconda-ks.cfg
  1. mkdir 命令
    创建空白的目录,英文全称为“make directory”,语法格式为“mkdir [参数] 目录名称”。
[[email protected] ~]# mkdir linuxprobe
[[email protected] ~]# cd linuxprobe
[[email protected] linuxprobe]# mkdir -p a/b/c/d/e  //-p参数来递归创建出具有嵌套层叠关系的文件目录
[[email protected] linuxprobe]# cd a
[[email protected] a]# cd b
[[email protected] b]#
  1. cp命令
    复制文件或目录,英文全称为“copy”,语法格式为“cp [参数] 源文件名称 目标文件名称”
-p	保留原始文件的属性
-d	若对象为“链接文件”,则保留该“链接文件”的属性
-r	递归持续复制(用于目录)
-i	若目标文件存在则询问是否覆盖
-a	相当于-pdr(p、d、r为上述参数)
  1. mv命令
    剪切或重命名文件,英文全称为“move”,语法格式为“mv [参数] 源文件名称 目标文件名称”
  2. rm命令
    删除文件或目录,英文全称为“remove”,语法格式为“rm [参数] 文件 名称”。
-f	强制执行
-i	删除前询问
-r	删除目录
-v	显示过程
  1. dd命令
    按照指定大小和个数的数据块来复制文件或转换文件,语法格式为“dd if=参数值of=参数值count=参数值bs=参数值”。

    dev/zero的设备文件,这个文件不会占用系统存储空间,但却可以提供无穷无尽的数据,因此常常使用它作为dd命令的输入文件,来生成一个指定大小的文件

if	输入的文件名称
of	输出的文件名称
bs	设置每个“块”的大小
count	设置要复制“块”的个数
[[email protected] ~]# dd if=/dev/zero of=560_file count=1 bs=560M //从/dev/zero设备文件中取出一个大小为560MB的数据块,然后保存成名为560_file的文件
1+0 records in
1+0 records out
587202560 bytes (587 MB, 560 MiB) copied, 1.28667 s, 456 MB/s
  • 可以直接使用dd命令来压制出光盘镜像文件,将它变成一个可立即使用的iso镜像:
[[email protected] ~]# dd if=/dev/cdrom of=RHEL-server-8.0-x86_64-LinuxProbe.Com.iso
13873152+0 records in
13873152+0 records out
7103053824 bytes (7.1 GB, 6.6 GiB) copied, 27.8812 s, 255 MB/s
  • bs块大小与count块个数的关系,下面举一个吃货的例子进行解释。假设小明的饭量(即需求)是一个固定的值,用来盛饭的勺子的大小是bs块的大小,而用勺子盛饭的次数则是count块的个数。小明要想吃饱(满足需求),则需要在勺子大小(bs块大小)与用勺子盛饭的次数(count块个数)之间进行平衡。勺子越大,用勺子盛饭的次数就越少。由上可见,bs与count都是用来指定容量的大小,只要能满足需求,可随意组合搭配方式。
  1. file命令
    查看文件的类型,语法格式为“file文件名称”
    由于文本、目录、设备等所有这些一切都统称为文件
相关标签: liux linux