处理Linux文件的3个技巧

更新日期: 2019-07-12阅读: 1.8k标签: Linux

Linux 提供了许多用于查找、计数和重命名文件的命令。这有一些有用的选择。Linux 提供了多种用于处理文件的命令,这些命令可以节省你的时间,并使你的工作不那么繁琐。


查找文件

当你查找文件时, find 可能会是第一个想到的命令,但是有时精心设计的 ls 命令会更好。想知道你昨天离开办公室回家前调用的脚本么?简单!使用 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 提供更好的选项,但它可能会输出比你想要的更多结果。在下面的命令中,我们  搜索以点开头的目录(它们很多一直在更新),指定我们要查找的是文件(即不是目录),并要求仅显示最近一天 ( -mtime -1 )更新过的文件。

$find . -not -path'*/\.*' -type f-mtime-1 -ls
 917517 0 -rwxrw-r-- 1shs      shs683 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 会递归到子目录中,并将这些子目录中的文件与当前目录中的文件一起计数。在此命令中,我们计数一个特定用户( username )的家目录中的文件。根据家目录的权限,这可能需要使用 sudo 。请记住,第一个参数是搜索的起点。这里指定的是用户的家目录。

$find ~username-type f2>/dev/null | wc -l
35624

请注意,我们正在将上面 find 命令的错误输出发送到 /dev/null ,以避免搜索类似 ~username/.cache 这类无法搜索并且对它的内容也不感兴趣的文件夹。

必要时,你可以使用 maxdepth 1 选项将 find 限制在单个目录中:

$find /home/shs-maxdepth1 -type f| wc -l
387

重命名文件

使用 mv 命令可以很容易地重命名文件,但是有时你会想重命名大量文件,并且不想花费大量时间。例如,要将你在当前目录的文件名中找到的所有空格更改为下划线,你可以使用如下命令:

$rename 's/ /_/g' *

如你怀疑的那样,此命令中的 g 表示“全局”。这意味着该命令会将文件名中的 所有 空格更改为下划线,而不仅仅是第一个。

要从文本文件中删除 .txt 扩展名,可以使用如下命令:

$rename 's/.txt//g' *

总结

Linux 命令行提供了许多用于处理文件的有用选择。请提出你认为特别有用的其他命令。


链接: https://www.fly63.com/article/detial/5875

putty对Linux上传下载文件或文件夹

putty是一个开源软件,目前为止最新版本为0.70。对于文件或文件夹的上传下载,在Windows下它提供了pscp和psftp两个命令。pscp在命令提示符中使用,只要putty(ssh)能够远程,就能使用该命令。

sed 和 awk,所有的 Linux 管理员都应该会的技能!

我曾经有一次在 Reddit 看到一个帖子。这是一个很简单的需求,就像我们常用 Unix 的人每天遇到的一样。他的问题是,如何删除文件中的重复行,只保留不重复的。 这听起来似乎很简单,但是当文件足够大时,就会有些复杂。

在linux上部署自己开发的web项目

相信有很多做开发的小伙伴和我之前一样,只会在windows环境下,利用开发工具开发运行web项目,但是却不知道怎么把开发好的项目部署到linux服务器上去,并能够外网访问,这里是我自己摸索总结的过程

w3m浏览网页_linux在命令符界面如何浏览网页

w3m是个开放源代码的命令行下面的网页浏览器。 它支持表格、框架、SSL连线、颜色。如果是在适当的terminal上,支持多种操作系统,在命令行终端可以很好的支持中文。即使在没有鼠标支持的情况下也可以检查网页的输出。本文列出常用的快捷键。

Linux运维:mysql数据库的备份与恢复

运维工程师的日常工作需要对各种数据进行备份,其中数据库数据的备份当属重点之一,为了方便管理,选择哪种备份方案是很重要的。全量备份就是指对某一个时间点上的所有数据或应用进行的一个完全拷贝

linux系统启动过程

首先计算机之中在主板上,有一个东西叫ROM(Read Only Memor),在ROM上固话了一些程序,被称为BIOS(基本输入输出系统),由于系统刚刚启动时处于实模式,关于什么是实模式,以及保护模式

Linux下4种禁用Root登陆的方法,你掌握了哪几种呢?

我们都知道 Linux 下 Root 用户的权限是最大的,因此一般不推荐直接使用 Root 用户操作。通常都是使用普通用户,在必要时通过 Sudo 命令来提权。在 Ubuntu 中,更是直接把 Root 用户直接禁用了。那么如何在 Linux 中禁止Root 登陆呢?今天,我们就来介绍几种常用的方法。

安全强化你的Linux服务器的七个步骤

这篇入门文章将向你介绍基本的 Linux 服务器安全知识。虽然主要针对 Debian/Ubuntu,但是你可以将此处介绍的所有内容应用于其他 Linux 发行版。我也鼓励你研究这份材料,并在适用的情况下进行扩展。

如何查看Linux哪些用户拥有sudo权限

本教程将讲解如何查看Linux用户是否有sudo权限。您还将学习如何查看Linux系统上的所有sudo用户。如何查看Linux哪些用户拥有sudo权限

linux搭建ftp服务器

运行以下命令安装 vsftpd;查看vsftpd文件夹;说明:/etc/vsftpd/vsftpd.conf 是核心配置文件。/etc/vsftpd/ftpusers 是黑名单文件,此文件里的用户不允许访问 FTP 服务器。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!