我读到,当你删除一个文件,根据情况,它有可能恢复其内容。 当你“删除”一个文件时,在硬件上会发生什么,例如。 $ rm myFile ,而不是安全地切碎它,例如。 $ shred myFile ,使'删除'文件潜在可恢复?
我有一个简单的shell脚本: 在远程机器上创build一个目录。 将.epub文件复制到远程机器的新目录。 运行kindlegen将.epub转换为.mobi。 远程服务器将新的.mobi文件复制回原始服务器。 两台服务器都通过公钥configuration了SSH无密码login。 在命令行运行脚本运行良好。 从PHP shell_exec命令从服务器运行它将执行脚本,但ssh和scp命令似乎不会被执行,或者至less不输出任何内容,即使我使用-v标志。 这是调用shell脚本的PHP函数: function mobi_watermark($userid, $email, $epubpath) { $outpath = "/tmp/epub$userid/"; # the book gets marked for each user, store each epub under a unique work folder to avoid collision shell_exec("chmod -R 777 ".$outpath); # web server creates files under user "nobody". shell_exec("del.sh"); # deletes old files if […]
我有一个简单的脚本,读取用户的input(密码),并将其保存到一个variables read -s -p "password: " PASSWD; printf "%b" "\n" 显然这是不安全的,因为它存储在一个明确的文字内存,它可以通过核心转储访问它? 我如何从内存中读取这个variables。 请注意,我不是在寻找一个更好的解决scheme,我只是好奇,如果我真的可以读取这个密码/variables。
我正在写一个简单的bash脚本来执行以下操作: 1)检查两个文件(foo1和foo2)。 2)如果foo1与foo2和foo1不同,请发送电子邮件。 3)如果foo1和foo2是一样的,或者foo1是空白…什么也不做。 空白的条件是什么令我困惑。 这是我必须开始的: diff –brief <(sort ./foo1) <(sort ./foo2) >/dev/null comp_value=$? if [ $comp_value -ne 0 ] then mail -s "Alert" [email protected] <./alertfoo fi 显然这不检查空白内容。 任何想法如何做到这一点?
我试图find在虚拟机的客户机操作系统中检查VMware Tools是否过期的通用方法。 到目前为止,我发现的最好方法是检查“vmware-toolbox-cmd -v”的输出,并将其与预期的版本号进行比较。 例如: if [ "`vmware-toolbox-cmd -v`" = "8.3.18.20074 (build-975338)" ] then echo "The vmware tools are OK" else echo "The vmware tools are out of date" … … fi 但版本号会随着时间而改变,所以我需要每次在每台虚拟机上更新脚本。 或者,也许我可以从一些共享的资源,wget或curl阅读“预期的版本号”。 你能帮我找一个更好的方法吗? 谢谢
我正在合并一个脚本片段,通过确定Android版本: adb shell getprop ro.build.version.release返回: 4.1.2或4.0.4 代码片段现在看起来像这样: if [ "$(adb shell getprop ro.build.version.release)" == "4.1.2" ]; then rw_path="/sdcard/" elif [ "$(adb shell getprop ro.build.version.release)" == "4.0.4" ]; then rw_path="/data/local/" fi echo $rw_path 我想adb可能会通过stderr返回值,就像它推/拉输出一样,所以我也试过这个(不知道是否这是做到这一点的正确方法): if [ "$(adb shell getprop ro.build.version.release 2>&1)" == "4.1.2" ]; then rw_path="/sdcard/" elif [ "$(adb shell getprop ro.build.version.release 2>&1)" == "4.0.4" ]; […]
我正在尝试在构buildAWS实例时将两行添加到root crontab。 我有一组命令是“用户数据”的一部分。 这些命令在创build实例时以root身份运行。 我想将这两行添加到crontab中: @daily /home/ubuntu/db-backup-to-s3-daily.sh @hourly /home/ubuntu/db-backup-to-s3-hourly.sh 我正在使用以下方法(基于对此问题的回答 ): (crontab -u ubuntu -l ; echo -e "@daily /home/ubuntu/db-backup-to-s3-daily.sh\n@hourly /home/ubuntu/db-backup-to-s3-hourly.sh") | crontab -u ubuntu – 但是,当创build实例时,这不起作用,但是如果我login并运行这一行,它就可以工作。 有没有什么不同的方式,我可以将行追加到crontab?
我有一个糟糕的无限循环程序,我想在命令行运行 – 但不是永远。 我想使用ulimit,所以如果它永远循环,它会被切断。 我尝试着: $> bash -c "ulimit -t 1; java myinfloopprogram" 但是就像没有任何事情发生。 怎么回事,我的命令行命令是错误的? myinfloopprogram运行得很好。 我正在运行一个terminal,版本是Ubuntu 9.10。
好的。 所以我们有一个lighttpd服务器抽取我们的图像加载。 它每天login,我们正在考虑将所有这些图像转移到我们的S3帐户以获得更好的加载时间,但是在我们做到这一点之前,我需要至less感觉到我们的转移将会是什么样子。 所以现在我们有标准的lighttp访问日志 accesslog.filename =“/var/log/lighttpd/images.access_log”accesslog.format =“%h%V%u%t \”%r \“%s%b \”%{Referer} i \ “%{用户代理} I \”” 所以想从该日志文件转储所有“传输的字节”,很好,很容易。 cat images.access_log | awk'{print $ 10}' 其中踢出类似这样的输出。 19547 6138 17782 8044 345 0 2727 2125 1838 1649 2127 3275 3653 0 16688 现在 – 我做了一些Googlesearch,也许我忘了一些东西,是否有一个隐藏在Linux的某个地方的命令,将采取所有的输出,只是把它加在一起为我? 所以我可以运行这个命令,并且每天要吐出一个荒谬的大数字,直到我每天获得带宽的基线为止。 —编辑— 我发现https://stackoverflow.com/questions/450799/linux-command-to-sum-integers-one-per-line 反正有awk返回完整的数字,而不是做以下显示? cat images.access_log | awk '{print $10}' | awk '{s+=$1} END […]
我有一个27K文件的目录,我想把它们放到多个INDEPENDENT tar文件中,每个文件有5000个文件,最后一个文件显然有2K(27K不能被5除)。 什么是最快/最简单的方法来做到这一点?