草庐IT

linux - 如何比较两个目录的大小?

我想比较不同文件系统上两个目录dir1和dir2的总大小,这样如果diff-rdir1dir2返回0那么总大小将相等。du命令返回磁盘使用情况,其选项--apparent-size没有解决问题。我现在使用类似finddir1!-typed|xargswc-c|tail-1知道dir1大小的近似值。有更好的解决方案吗?编辑:例如,我有(diff-rdir1dir2返回0:它们相等):du-sdir1-->540du-sdir2-->166du-sbdir1-->250815(the-boptionisequivalentto--apparent-size-B1)du-sbdir2-->7

python - 使用 python 脚本从不同的目录调用 make

我需要在与我所在目录不同的目录中从Python脚本中调用make(构建makefile)。如果我只是这样做:build_ret=subprocess.Popen("../dir1/dir2/dir3/make",shell=True,stdout=subprocess.PIPE)我得到以下信息:/bin/sh:../dir1/dir2/dir3/make:没有那个文件或目录我试过:build_ret=subprocess.Popen("(cd../dir1/dir2/dir3/;make)",shell=True,stdout=subprocess.PIPE)但是make命令被忽略了。

python - 使用 python 脚本从不同的目录调用 make

我需要在与我所在目录不同的目录中从Python脚本中调用make(构建makefile)。如果我只是这样做:build_ret=subprocess.Popen("../dir1/dir2/dir3/make",shell=True,stdout=subprocess.PIPE)我得到以下信息:/bin/sh:../dir1/dir2/dir3/make:没有那个文件或目录我试过:build_ret=subprocess.Popen("(cd../dir1/dir2/dir3/;make)",shell=True,stdout=subprocess.PIPE)但是make命令被忽略了。

linux - 使用 [! -d "$DIR"]

我有这样的代码#!/bin/bashDIR="test_dir/";if[!-d"$DIR"];then#Ifitdoesn'tcreateitmkdir$DIRfi但为什么执行它给了我这个:./mycode.sh:line16:[!:commandnotfound正确的做法是什么? 最佳答案 在[和!之间添加空格。在]之前也是如此。#!/bin/bashDIR="test_dir/";if[!-d"$DIR"];then#Ifitdoesn'tcreateitmkdir$DIRfi引用变量也是一个好主意:mkdir"$DIR"

linux - 使用 [! -d "$DIR"]

我有这样的代码#!/bin/bashDIR="test_dir/";if[!-d"$DIR"];then#Ifitdoesn'tcreateitmkdir$DIRfi但为什么执行它给了我这个:./mycode.sh:line16:[!:commandnotfound正确的做法是什么? 最佳答案 在[和!之间添加空格。在]之前也是如此。#!/bin/bashDIR="test_dir/";if[!-d"$DIR"];then#Ifitdoesn'tcreateitmkdir$DIRfi引用变量也是一个好主意:mkdir"$DIR"

linux - cp dir 递归排除 2 个子目录

我有1个目录,其中包含9个子目录和10个文件。子目录有下一级子目录和文件。/home/directory//home/directory/subdirectory1/home/directory/subdirectory2.../home/directory/subdirectory9/home/directory/file1.../home/directory/file10我想递归复制所有子目录和文件,不包括:/home/directory/subdirectory5/home/directory/subdirectory7最好的方法是什么? 最佳答案

linux - cp dir 递归排除 2 个子目录

我有1个目录,其中包含9个子目录和10个文件。子目录有下一级子目录和文件。/home/directory//home/directory/subdirectory1/home/directory/subdirectory2.../home/directory/subdirectory9/home/directory/file1.../home/directory/file10我想递归复制所有子目录和文件,不包括:/home/directory/subdirectory5/home/directory/subdirectory7最好的方法是什么? 最佳答案

linux - 列出目录 1 中但不在目录 2 中的文件,反之亦然?

嘿,我开始编写bashshell脚本,我正在尝试为一个任务编写一个脚本,当您输入两个目录时,它将检查它们是否存在并根据错误消息显示,如果两个目录都存在,它将列出当前目录之间的差异。$cddir-1$myshellscript.dir-2(comparing.akadir-1againstdir-2)输出:Filesthatarein.butnotindir-2-rw-------1dddddusers12011-03-101:26123123123Filesthatareindir-2butnotin.-rw-------1dddddusers12011-03-101:26zzzzzz

linux - 列出目录 1 中但不在目录 2 中的文件,反之亦然?

嘿,我开始编写bashshell脚本,我正在尝试为一个任务编写一个脚本,当您输入两个目录时,它将检查它们是否存在并根据错误消息显示,如果两个目录都存在,它将列出当前目录之间的差异。$cddir-1$myshellscript.dir-2(comparing.akadir-1againstdir-2)输出:Filesthatarein.butnotindir-2-rw-------1dddddusers12011-03-101:26123123123Filesthatareindir-2butnotin.-rw-------1dddddusers12011-03-101:26zzzzzz

linux - 使用 shell globbing 匹配所有嵌套目录下的所有文件

有没有办法使用shellglobbing来识别嵌套目录?所以如果我有dir/dir1/dir2/dir3/dir4/dir5/..并且我在所有文件下都有文件,匹配所有目录下所有文件的等效通配模式是什么,类似于-例如-ls-R 最佳答案 在Bash4中,通过shopt-sglobstar和zsh,您可以使用**/*,它将包括隐藏文件以外的所有内容。您可以在Bash4中执行shopt-sdotglob或在zsh中执行setoptdotglob以包含隐藏文件。在ksh中,set-oglobstar启用它。我认为没有办法隐式包含点文件,但我