如何在linux中使用1命令获取文件信息和md5校验和

如何在linux中使用1命令获取文件信息和md5校验和,linux,Linux,我想获取所有文件信息,即:“权限”、“硬链接”、“所有者”、“组”、“fsize”、“月”、“日期”、“时间”、“文件名” 及 MD5在一行命令中求和信息。我该怎么做 目前,我通过运行ls-latr/home/asimon 第二个1是通过md5sum/home/asimon/filename.sh(它只为我获取一个文件的信息),但我需要下面的所有信息 drwxr-xr-x 2 asimon support 4096 Sep 27 11:59 lib de1d8cd98f00b204e980

我想获取所有文件信息,即:
“权限”、“硬链接”、“所有者”、“组”、“fsize”、“月”、“日期”、“时间”、“文件名”

MD5在一行命令中求和信息。我该怎么做

目前,我通过运行
ls-latr/home/asimon
第二个1是通过
md5sum/home/asimon/filename.sh(它只为我获取一个文件的信息),但我需要下面的所有信息

drwxr-xr-x  2 asimon support   4096 Sep 27 11:59 lib de1d8cd98f00b204e9800998ecf842qw
-rwxrwxrwx  1 asimon support    924 Sep 27 12:00 run.sh dqtd8cd98f00b204e9800998ecf84a7a
drwxr-xr-x  6 asimon support   4096 Sep 27 18:13 plugins d41d8cd98f00b204e9800998ecf8427s
-rw-r--r--  1 asimon support   2572 Sep 28 10:06 servicesFramework.log d51d8cd98f00b204e9800998ecf8427f

try:ls-latr/home/asimon;md5sum/家用/家用/*


分号允许您在一行上执行两个命令,*将对该目录中的所有内容运行md5sum。

尝试:ls-latr/home/asimon;md5sum/家用/家用/*


分号允许您在一行上执行两个命令,*将对该目录中的所有内容运行md5sum。

看起来相当笨拙,但您可以这样做:
ls-lAtr/home/asimon | grep-v total | awk'{printf($ARGV[1]);printf(“”);system(“md5sum$9”);}| tr-d“-”

[编辑] 注意ls命令中的大写字母
A

[第2和第3版] 升级命令,不会损坏文件名中的“-”字符:


ls-lAtr/home/asimon | egrep-v“^d | total”| awk'{printf($ARGV[1]);printf(“”);system($md5sum$9”);}| awk'{$11=“”;print$ARGV[1]}

看起来相当笨拙,但你看:
ls-lAtr/home/asimon | grep-v total | awk'{printf($ARGV[1]);printf(“”);system(“md5sum$9”);}| tr-d“-”

[编辑] 注意ls命令中的大写字母
A

[第2和第3版] 升级命令,不会损坏文件名中的“-”字符:


ls-lAtr/home/asimon | egrep-v“^d | total”| awk'{printf($ARGV[1]);printf(“”);system($md5sum$9”);}| awk'{$11=“”;print$ARGV[1]}
许多方法之一是对
循环使用
,如下所示:

for ls_entry in `ls`;do [ -f $ls_entry ] && ls_out=`ls -alth $ls_entry` && md5_out=`md5sum $ls_entry|awk '{print $1}'` && echo "$ls_out $md5_out"; done  

希望这有帮助

许多方法之一是使用
for
循环,如下所示:

for ls_entry in `ls`;do [ -f $ls_entry ] && ls_out=`ls -alth $ls_entry` && md5_out=`md5sum $ls_entry|awk '{print $1}'` && echo "$ls_out $md5_out"; done  

希望这有帮助

您可以使用find轻松完成:

find . -printf "%m %n %u %g %s  %t" -exec md5sum \{\} \;

除了printf和选项之外,您还可以执行
-ls
操作,但这会将文件名打印两次(来自md5sum的输出用换行字符分隔)

您可以使用find轻松完成:

find . -printf "%m %n %u %g %s  %t" -exec md5sum \{\} \;

除了printf和选项之外,您还可以执行
-ls
,但这将打印两次文件名(来自md5sum的输出用换行符分隔)

我需要一行中的信息
drwxr-xr-x2 asimon支持4096-Sep 27 11:59 lib de1d8cd98f00b204e980998ecf842qw
我需要一行中的信息
drwxr-xr-x2 asimon支持4096-Sep 27 11:59 lib de1d8cd98f00b204e980998ecf842qw
),因此如果我需要提供路径,您的一行代码可能会更改如下内容这个
ls-lAtr/home/asimon | grep-vtotal | awk'{printf($ARGV[1]);printf(“”;system($md5sum$9”);}tr-d“-”
?是的,但是看看更新后的命令这是有效的:)所以如果我需要给出一个路径,那么您的一行程序可能会更改如下
ls-lAtr/home/asimon grep-vtotal{printf($ARGV[1]);printf(“”);系统(“md5sum$9”);}’| tr-d“-”
?是的,但是看看更新的命令nice one,它没有按正确的顺序打印数据,并且包含“.nice one,它没有按正确的顺序打印数据,并且包含”。