Linux系统是在日常使用中最熟悉的操作系统之一,拥有包括其中的命令行工具都可以实现很多有用的功能,今天我们就来介绍Xargs命令,它可以用来实现令人难以想象的有趣功能,有时候会非常有用。
Xargs命令的功能很强大,也很有趣。它可以完成由某个命令所产生的输出作为另一个命令的输入来操作,从而可以使用这些输出自动地做一些工作,如复制文件、删除文件或批量执行某种操作等等。
Xargs的基本语法如下:xargs [options] [command [initial-arguments]]。可以看到,Xargs有一些选项,可以指定命令和初始参数。
举个例子来说,假设我们有一个列表文件,其中列出了所有要复制的文件。使用以下命令来复制文件:
$xargs -I {} cp {} /destination/directory/
这个命令中的 “-I” 选项指定 xargs 将列表中的每一行数据作为参数传递给“cp”命令,以此来实现 “cp” 命令的复制文件工作。 这样,使用 xargs,只需要做一个参数配置,就可以实现自动复制文件的工作,而不需要一条条指定文件名称来执行 cp 命令。
Xargs显然是一个非常有用的工具,结合起来,就可以实现无限可能。 例如,可以使用 find 命令找出满足某条件的文件,然后使用 xargs 命令进行操作,从而实现自动化定时任务、自动备份文件等等功能,只要准确的提供所有的参数就可以实现工作的自动化,而这都要归功于 Xargs 命令的强大功能。
香港服务器首选树叶云,2H2G首月10元开通。树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云 服务器 和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
linux下,怎样同时修改一个目录下所有文件的创建时间?

在Linux中,文件没有“创建时间”这个说法。 Linux中的文件的时间属性只有三个:atime(access time)、mtime(Modified time)、ctime(Change time)。 不过,有时有人把ctime理解为create time(创建时间),这是不对的,为什么呢?因为,我们知道一个文件的创建时间只有一次,按这个理论,创建时间是不允许修改的,即一个文件一旦创建,它的ctime值就固定不变;但事实呢?是可以改变的。 atime指用户上次访问该文件(打开文件查看其中的内容)时的时间,只要一个用户访问该文件(不管以什么方式),atime的值都会改变,比如:修改一个文件的内容,必然要先打开文件,然后才会修改其中的内容,所以,修改一个文件时,不但会更新一个文件的mtime值,也会更新atime的值。 mtime指用户上次修改该文件中的内容的时间,只要用户修改该文件中的内容,那么mtime的值就会被更新。 ctime指该文件的属性上次被改变时的时间。 要想查看文件的属性,可以通过ls命令查看,比如:ls -l。 例如:你修改该文件的权限了或者改变该文件的硬链接数了,ctime的值都会被更新。 但是有一点,ctime的值更新,并不代表atime和mtime的值也更新,比如:你修改文件的权限,但并不代表你访问或修改了文件中的内容。 在做一些相应的操作时,文件的atime、mtime、ctime的值都会自动被更新。 正如前面所说,这些值是可以改变的,所以,我们可以通过touch命令来修改这三个属性的值。 其实,touch并不是用来创建一个新的、空的文件的,而是用来修改这三个属性的值的。 但为什么创建一个新的、空的文件呢?这是touch附带的一个功能,原因是:如果你提供的目标文件参数并不存在的话,那么touch就会出现错误,为了防止这种情况出现,touch命令就会默认创建一个所提供的目标文件参数;其实其他命令也是如此,有些命令,如果用户没有为它提供参数的话,它就会从标准输入设备读取参数,即让用户从标准输入设备输入参数,这样的命令比比皆是。 要想修改一个文件下的所有文件的时间属性,可以用touch命令,提供一个要修改时间属性类型的参数和时间值,然后跟着该文件夹下的所有文件,引用方式是使用 *(星号),它可以匹配一个文件夹下的所有文件。
linux shell 根据 diff 输出
#!/bin/bashdifffile1file2if[[$?=0]];thenechonotmodifiedelsedifffile1file2fi
linux怎么使用dd命令生成随机内容的大量小文件
随机生成1百万个1K的文件seq | xargs -i dd if=/dev/zero of={} bs=1024 count=1
发表评论