文件目录管理命令

touch命令用于建立空白文件与设置文件的各类时间,格式为:“touch [选项] [文件]”。linux

    这个touch命令可真的是特别好用,它可以为我们建立出空白的文本文件,但这实在太简单不须要去讲,例如“touch linuxprobe”这样就能够建立出一个空白的名为linuxprobe的文本文件,而有难度的操做主要是用于设置文件内容的修改时间(mtime)、文件权限或属性的更改时间(ctime)与文件的读取时间(atime)。ide

我们能够在修改一个文件前先查看下文件的修改时间,而后再经过touch命令将修改后的文件时间设置假装成本身没有动过的同样,不少***就会这么作呢:spa

参数 做用
-a 仅修改“访问时间”(atime)
-m 仅修改“更改时间”(mtime)
-d 同时修改atime与mtime


[root@localhost ~]# ls -l anaconda-ks.cfg 
-rw-------. 1 root root 1213 May  4 15:44 anaconda-ks.cfg
[root@localhost ~]# echo "Visit the LinuxProbe.com to learn linux skills" >> anaconda-ks.cfg
[root@localhost ~]# ls -l anaconda-ks.cfg
-rw-------. 1 root root 1260 Aug  2 01:26 anaconda-ks.cfg
[root@localhost ~]# touch -d "2016-05-04 15:44" anaconda-ks.cfg 
[root@localhost ~]# ls -l anaconda-ks.cfg 
-rw-------. 1 root root 1260 May  4 15:44 anaconda-ks.cfg

mkdir用于建立空白的文件夹,格式为:“mkdir [选项] 目录”。orm

    在Linux系统中文件夹应该是最多见的文件类型之一,除了通常的建立单个目录操做外,我们还可使用“-p”参数来递归建立出具备嵌套叠层关系的文件目录。server

[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]#

 cp命令用于复制文件或目录,格式为:“cp [选项] 源文件 目标文件”。对象

想必您必定对复制操做不是很陌生的,在Linux系统中的复制操做其实具体还分为3种状况,第一种状况是若是目标文件是个目录,则会将源文件复制到该目录中,第二种状况是若是目标文件也是个普通文件,则会提示是否要覆盖它,最后是第三种的状况了,若是目标文件是不存在的,则会将源文件修改为目标文件的名称,相似因而重命名的操做。递归

参数 做用
-p 保留原始文件的属性
-d 若对象为"连接文件",则保留该"连接文件"的属性
-r 递归持续复制(用于目录)
-i 若目标文件存在则询问是否覆盖
-a 至关于-pdr(p,d,r为上述的参数)


首先建立一个名为install.log的文件,而后将其复制出来一份名为x.log的备份文件:ci

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

mv命令用于移动文件或更名,格式为:“mv [选项] 源文件 [目标路径|目标文件名]”。rem

剪切操做不一样于复制操做,由于它会默认将源文件删除掉,用户就只有剪切后的文件了,而且若是对一个文件在同一个目录中进行剪切操做,其实也是重命名的做用:it

[root@linuxprobe ~]# mv x.log linux.log

rm命令用于删除文件或目录,格式为:“rm [选项] 文件”。

在Linux系统中删除文件时会默认再向您询问是否要执行删除操做,若是不想总看到这种反复的确认信息,您可使用“-f”参数来直接强制删除,另外还要删除于目录文件夹的话,必需追加一个“-r”参数才能够,不然是删除不掉的,例如我们来尝试删除下刚刚那两个文件吧:

[root@linuxprobe ~]# ls
install.log linux.log
[root@linuxprobe ~]# rm install.log
rm: remove regular empty file ‘install.log’? y
[root@linuxprobe ~]# rm -rf linux.log
[root@linuxprobe ~]# ls
[root@linuxprobe ~]#

dd命令用于指定大小的拷贝文件或指定转换文件,格式为:“dd [参数]”。

dd命令是个比较重要且具备特点的一个命令,它可以让用户指定数据块的大小和个数来复制一个文件的内容,固然若是您愿意的话还能够在复制过程当中转换其中的数据。Linux系统中有一个叫作/dev/zero的设备文件,每次讲课解释起来都感受有点哲学理论的色彩,由于它不会占用您的系统存储空间,但里面却能够保存有无穷无尽的数据,通常用来搭配dd命令来生成出来一个指定大小的文件是再好不过的了。

参数 做用
if 输入的文件名称。
of 输出的文件名称。
bs 设置每一个“块”的大小。
count 设置要拷贝“块”的个数。


[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系统中必定免不了要用到第三方的不少软件才能够,但我们能够直接使用这个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

file命令用于查看文件的类型,格式为:“file 文件名”。

如此看来在Linux系统中文本、目录、设备等等这些一切都会能够被统称为文件,而我们通常又不能单凭后缀就知道具体的文件类型,这时就能够用file命令来查看下啦~

[root@linuxprobe ~]# file anaconda-ks.cfg 
anaconda-ks.cfg: ASCII text
[root@linuxprobe ~]# file /dev/sda
/dev/sda: block special
相关文章
相关标签/搜索