相关疑难解决方法(0)

如何将最后一个命令的挂起时间放入Bash提示符中?

有没有办法在Bash提示符中嵌入最后一个命令的已用时间?我希望有一些看起来像这样的东西:

[last: 0s][/my/dir]$ sleep 10
[last: 10s][/my/dir]$
Run Code Online (Sandbox Code Playgroud)

背景

我经常进行长时间的数据处理工作,知道他们花了多长时间是有用的,所以我可以估计未来的工作需要多长时间.对于非常常规的任务,我会继续使用适当的日志记录技术严格记录这些信息.对于不太正式的任务,我只会在命令前加上time.

自动time每一个交互式命令并将时序信息打印成几个字符而不是三行,这将是很好的.

bash time prompt

60
推荐指数
6
解决办法
9221
查看次数

使用同时/并发文件传输加速rsync?

我们需要尽快将15TB数据从一台服务器传输到另一台服务器.我们目前正在使用,但当我们的网络能够(经过测试)时,我们rsync只能获得速度.我已经完成了对磁盘,网络等的测试,并认为只是rsync一次只传输一个文件,导致速度减慢.150Mb/s900+Mb/siperf

我找到了一个脚本来为目录树中的每个文件夹运行不同的rsync(允许你限制为x号),但我无法使它工作,它仍然只是一次运行一个rsync.

我找到了script 这里(复制如下).

我们的目录树是这样的:

/main
   - /files
      - /1
         - 343
            - 123.wav
            - 76.wav
         - 772
            - 122.wav
         - 55
            - 555.wav
            - 324.wav
            - 1209.wav
         - 43
            - 999.wav
            - 111.wav
            - 222.wav
      - /2
         - 346
            - 9993.wav
         - 4242
            - 827.wav
      - /3
         - 2545
            - 76.wav
            - 199.wav
            - 183.wav
         - 23
            - 33.wav
            - 876.wav
         - 4256
            - 998.wav
            - 1665.wav
            - 332.wav
            - …
Run Code Online (Sandbox Code Playgroud)

bash shell rsync simultaneous ubuntu-12.04

42
推荐指数
8
解决办法
12万
查看次数

将时间跨度(以秒为单位)转换为shell中的格式化时间

我有一个$ i的变量,它是一个shell脚本中的秒,我试图将它转换为24 HOUR HH:MM:SS.壳中有可能吗?

linux shell timespan date-formatting

31
推荐指数
3
解决办法
4万
查看次数

OSX:以编程方式获得正常运行时间?

类似于linux的东西

cat /proc/uptime
Run Code Online (Sandbox Code Playgroud)

它以秒为单位返回正常运行时间,最好不解析正常运行时间(1).

macos uptime

11
推荐指数
2
解决办法
7649
查看次数

Bash:如何使用bash减去两个时间字符串?

我创建了下一个脚本以找到锁定文件的年龄:

#!/bin/bash
now=`date +"%T"`
lock="aggregator.lock"
find . -name $lock -type f
if [ $? != 0 ];
        then
        exit
else
ls -ltrh $lock 2&>/dev/null
fi
if [ $? != 0 ];
        then
        locktime=`ls -ltrh aggregator.lock |awk -F" " '{print $7}'`
else
echo "File not found"
fi
Run Code Online (Sandbox Code Playgroud)

我有两个问题:

  • 输出ls -ltrh aggregator.lock |awk -F" " '{print $7}' 给我时间格式为HH:MM而不是HH:MM:SS,输出date +"%T"给出时间格式为HH:MM:SS(根据需要),那么如何获取文件的修改时间几秒钟?
  • 我不知道如何在时间之间减去...我想做的事情就是$now - $locktime为了获得两个变量之间的秒增量,怎么做呢?

编辑:脚本的含义是找到锁文件存在多长时间...这是脚本:

device0="/home/build/aggregator/scripts/aggregator.lock"
if [ -e "$device0" ]
then
echo process is allready running
else

touch …
Run Code Online (Sandbox Code Playgroud)

bash shell

4
推荐指数
1
解决办法
3060
查看次数