如何在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,它没有按正确的顺序打印数据,并且包含”。