2.5 Linux文件目录管理命令

目录

1.touch 命令

2.mkdir 命令

3.cp 命令

4.mv 命令

5.rm 命令

6.dd 命令

7.file 命令


1.touch 命令

touch 命令用于创建空白文件或设置文件的时间,格式为“ touch [ 选项 ] [ 文件 ] ”。
在创建空白的文本文件方面,这个 touch 命令相当简捷,比如,touch linuxprobe 命令可以创建出一个名为 linuxprobe 的空白文本文件。对 touch 命令来讲,有难度的操作主要是体现在设置文件内容的修改时间(mtime )、文件权限或属性的更改时间(ctime )与文件的读取时间( atime )上面。 touch 命令的参数及其作用如表 2-11所示。
[root@linuxprobe ~]# ls -l anaconda-ks.cfg 
-rw-------. 1 root root 1213 May 4 15:44 anaconda-ks.cfg 
[root@linuxprobe ~]# echo "Visit the LinuxProbe.com to learn linux skills" >> 
anaconda-ks.cfg 
[root@linuxprobe ~]# ls -l anaconda-ks.cfg 
-rw-------. 1 root root 1260 Aug 2 01:26 anaconda-ks.cfg 
[root@linuxprobe ~]# touch -d "2017-05-04 15:44" anaconda-ks.cfg 
[root@linuxprobe ~]# ls -l anaconda-ks.cfg 
-rw-------. 1 root root 1260 May 4 15:44 anaconda-ks.cfg

2.mkdir 命令

mkdir 命令用于创建空白的目录,格式为“ mkdir [ 选项 ] 目录”。

Linux 系统中,文件夹是最常见的文件类型之一。除了能创建单个空白目录外,mkdir命令还可以结合-p 参数来递归创建出具有嵌套叠层关系的文件目录。

[root@linuxprobe ~]# mkdir linuxprobe 
[root@linuxprobe ~]# cd linuxprobe 
[root@linuxprobe linuxprobe]# mkdir -p a/b/c/d/e 
[root@linuxprobe linuxprobe]# cd a 
[root@linuxprobe a]# cd b 
[root@linuxprobe b]#

  

3.cp 命令

cp 命令用于复制文件或目录,格式为“cp [选项] 源文件 目标文件”。 大家对文件复制操作应该不陌生,在 Linux 系统中,复制操作具体分为 3 种情况:

  • 如果目标文件是目录,则会把源文件复制到该目录中
  • 如果目标文件也是普通文件,则会询问是否要覆盖它
  • 如果目标文件不存在,则执行正常的复制操作

    接下来,使用 touch 创建一个名为 install.log 的普通空白文件,然后将其复制为一份名为x.log 的备份文件,最后再使用 ls 命令查看目录中的文件:

    [root@linuxprobe ~]# touch install.log 
    [root@linuxprobe ~]# cp install.log x.log 
    [root@linuxprobe ~]# ls 
    install.log x.log

4.mv 命令

mv 命令用于剪切文件或将文件重命名,格式为“ mv [ 选项 ] 源文件 [ 目标路径 | 目标文件名 ] ”。
剪切操作不同于复制操作,因为它会默认把源文件删除掉,只保留剪切后的文件。如果在同一个目录中对一个文件进行剪切操作,其实也就是对其进行重命名:
[root@linuxprobe ~]# mv x.log linux.log 
[root@linuxprobe ~]# ls 
install.log linux.log

5.rm 命令

rm 命令用于删除文件或目录,格式为“ rm [ 选项 ] 文件”。
Linux 系统中删除文件时,系统会默认向您询问是否要执行删除操作,如果不想总是看到这种反复的确认信息,可在 rm 命令后跟上 -f 参数来强制删除 。另外,需要在rm命令后面一个 - r 参数才可以删除一个目录 ,否则删除不掉。我们来尝试删除前面创建的 install.log和 linux.log 文件:
[root@linuxprobe ~]# rm install.log 
rm: remove regular empty file ‘install.log’? y 
[root@linuxprobe ~]# rm -f linux.log 
[root@linuxprobe ~]# ls 
[root@linuxprobe ~]#

6.dd 命令

dd 命令用于按照指定大小和个数的数据块来复制文件或转换文件,格式为“ dd [ 参数 ] ”。
dd 命令是一个比较重要而且比较有特色的一个命令,它能够让用户按照指定大小和个数的数据块来复制文件的内容。当然如果愿意的话,还可以在复制过程中转换其中的数据。Linux系统中有一个名为/dev/zero 的设备文件,每次在课堂上解释它时都充满哲学理论的色彩。因为这个文件不会占用系统存储空间,但却可以提供无穷无尽的数据,因此可以使用它作为 dd命令的输入文件,来生成一个指定大小的文件。dd 命令的参数及其作用如表 2-13 所示。

 例如我们可以用 dd 命令从/dev/zero 设备文件中取出一个大小为 560MB 的数据块,然后保存成名为 560_file 的文件。在理解了这个命令后,以后就能随意创建任意大小的文件了:

[root@linuxprobe ~]# dd if=/dev/zero of=560_file count=1 bs=560M 
1+0 records in 
1+0 records out 
587202560 bytes (587 MB) copied, 27.1755 s, 21.6 MB/s
dd 命令的功能也绝不仅限于复制文件这么简单。如果您想把光驱设备中的光盘制作成 iso
式的镜像文件,在 Windows 系统中需要借助于第三方软件才能做到,但在 Linux 系统中可以直接
使用 dd 命令来压制出光盘镜像文件,将它编程一个可立即使用的 iso 镜像:
[root@linuxprobe ~]# dd if=/dev/cdrom of=RHEL-server-7.0-x86_64-LinuxProbe.Com.iso 
7311360+0 records in 
7311360+0 records out 
3743416320 bytes (3.7 GB) copied, 370.758 s, 10.1 MB/s
考虑到有朋友会纠结 bs 块大小与 count 块个数的关系,下面举一个吃货的例子进行
解释。假设小明的饭量(即需求)是一个固定的值,用来盛饭的勺子的大小即 bs 块大小,而用勺子盛饭的次数即 count 块个数。小明要想吃饱(满足需求),则需要在勺子大小( bs块大小)与用勺子盛饭的次数(count 块个数)之间进行平衡。勺子越大,用勺子盛饭的次数就越少。有上可见,bs count 都是用来指定容量的大小,只要能满足需求,可随意组合搭配方式。

7.file 命令

file 命令用于查看文件的类型,格式为“ file 文件名”。
Linux 系统中,由于文本、目录、设备等所有这些一切都统称为文件,而我们又不能单凭后缀就知道具体的文件类型,这时就需要使用 file 命令来查看文件类型了。
[root@linuxprobe ~]# file anaconda-ks.cfg 
anaconda-ks.cfg: ASCII text 
[root@linuxprobe ~]# file /dev/sda 
/dev/sda: block special

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值