重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章给大家分享的是有关Linux 下提高工作效率的文件处理技巧有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
十多年的怀化网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整怀化建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“怀化网站设计”,“怀化网站推广”以来,每个客户项目都认真落实执行。
寻找文件的技巧
当我们查找文件时,第一时间想到的肯定是 find 命令。但是如果我们搜索的路径范围比较大时,花费的时间会比较多,在这个情况下 find 命令就不是最优的方式了。
我们可以使用 ls 快速找到近期更新的文件。比如,想知道自己昨天离开办公室回家前调用的脚本吗?小case嘛!使用 ls 命令并加上 -ltr 选项。最后一个列出的将是最近创建或更新的文件。
$ ls -ltr ~/bin | tail -3 -rwx------ 1 shs shs 229 Sep 22 19:37 checkCPU -rwx------ 1 shs shs 285 Sep 22 19:37 ff -rwxrw-r-- 1 shs shs 1629 Sep 22 19:37 test2
如果我们仅仅想列出今天更新的文件,可以这样操作:
$ ls -al --time-style=+%D | grep `date +%D` drwxr-xr-x 60 shs shs 69632 09/23/19 . drwxrwxr-x 2 shs shs 8052736 09/23/19 bin -rw-rw-r-- 1 shs shs 506 09/23/19 stats
如果我们想要查找的文件可能不在当前目录中,那么 find 将比 ls 更加灵活强大。但是,find 命令的输出结果可能会比较多,我们可以使用它的一些选项来过滤掉自己不想要的结果。
比如,在下面的命令中,我们不搜索以点开头的目录(即隐藏目录),指定我们要查找的是文件而不是目录,并要求仅显示最近一天更新过的文件。
命令如下:
$ find . -not -path '*/\.*' -type f -mtime -1 -ls 917517 0 -rwxrw-r-- 1 shs shs 683 Sep 23 11:00 ./newscript
注意 -not 选项反转了 -path 的行为,因此我们不会搜索以点开头的子目录。
如果我们只想查找比较大的文件和目录,那么可以使用类似 du 这样的命令,它会按大小列出当前目录的内容。然后,再将输出的内容通过管道传输到 tail 命令,仅查看比较大的几个。
$ du -kx | egrep -v "\./.+/" | sort -n | tail -5 918984 ./reports 1053980 ./notes 1217932 ./.cache 31470204 ./photos 39771212 .
-k 选项让 du 以块列出文件大小,而 x 可防止其遍历其他文件系统上的目录(例如,通过符号链接引用)。命令运行后,du 命令会先列出文件大小,然后再调用 sort -n 来按照大小排序。
统计文件数量的技巧
使用 find 命令可以很容易地计数任何特定目录中的文件。不过大家要注意的是,find 会递归到子目录中,并将这些子目录中的文件与当前目录中的文件一起计数。
比如,我们想计数一个特定用户(alvin)的主目录中的文件,我们可以先用 find 命令找到文件,再用 wc 命令进行统计。
$ find /home/alvin -type f 2>/dev/null | wc -l 35624
请注意,我们将 find 命令的错误输出发送到 /dev/null,为了避免搜索类似 ~/.cache 这类无法搜索并且对它的内容也不感兴趣的文件夹。
必要时,我们可以使用 -maxdepth 1 选项将 find 搜索范围限制在单个目录中,或者也可以将其设置为自己想要搜索的深度:
$ find /home/alvin -maxdepth 1 -type f | wc -l 387
文件重命名的技巧
使用 mv 命令可以很容易地重命名一个文件,但是有时我们想重命名大量文件,并且不想花费大量时间,要怎么操作呢?这个时候 rename 命令就要派上用场了。
例如,我们想要将当前目录下所有文件的文件名中含有空格的全部更改为下划线,大家可以使用如下命令:
$ rename 's/ /_/g' *
大家应该能想到,此命令行中的 g 代表「全局」。这就意味着该命令会将文件名中的所有空格更改为下划线,而不仅仅是第一个。
如果我们想要把文本的文件删除掉 .txt 扩展名,可以使用如下命令:
$ rename 's/.txt//g' *
感谢各位的阅读!关于“Linux 下提高工作效率的文件处理技巧有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!