我正在使用合并上限从 15 个文件创建合并 pcap 文件。对于合并后的文件,我已将名称更改为 15 个文件中第一个的名称。但我也想将合并文件的属性(如“创建日期”和“上次修改时间”)更改为第一个的属性。有没有办法做到这一点?
FILES_dcn=($(find $dir_dcn -maxdepth 1 -type f -name "*.pcap" -print0 | xargs -0 ls -lt | tail -15 | awk '{print $9}'))
TAG1_dcn=$(basename "${FILES_dcn[14]}" | sed 's/.pcap//')
mergecap -w "${dir_dcn}"/merge_dcn.pcap "${FILES_dcn[@]}"
mv "${dir_dcn}"/merge_dcn.pcap "${dir_dcn}"/"${TAG1_dcn}".pcap
Run Code Online (Sandbox Code Playgroud)
我尝试通过 samba 服务器(Ubuntu)访问合并的文件。以便提取器功能可以访问自动提取文件到 D 文件夹。但是由于合并文件的创建日期将更改,因此提取失败。有没有什么办法解决这一问题?
我创建了一个脚本来在 crontab 上安装两个脚本。
#!/bin/bash
sudo crontab -l > mycron
#echo new cron into cron file
echo "*/05 * * * * bash /mnt/md0/capture/delete_old_pcap.sh" >> mycron #schedule the delete script
echo "*/12 * * * * bash /mnt/md0/capture/merge_pcap.sh" >> mycron #schedule the merge script
#install new cron file
crontab mycron
rm mycron
Run Code Online (Sandbox Code Playgroud)
脚本运行,并将这两行添加到 crontab。但是如果我再次运行脚本,它会再次添加这些行,因此我将有四行说相同的内容。我希望安装脚本运行时插入到 crontab 的行不会重复。我怎样才能做到这一点
我正在尝试使用 Wireshark 合并 15 个 pcap 文件。合并成功。我正在使用附加功能,以便将第二个文件添加到第一个文件的底部。但是当这完成后,我在时间列中得到 -ve 值。我怎样才能改变这个?我打算做的是,用这个合并的文件替换这 15 个较小的文件。

我使用脚本删除目录中的旧文件,但脚本一直显示
/usr/bin : Argument list too long
Run Code Online (Sandbox Code Playgroud)
原来文件的数量是40000个以上,所以我想知道可以列出的文件的最大限制是多少。有没有办法找到它?是系统特定的吗?
我有一个 bash 文件,其中包含合并 pcap 文件的命令。我想知道是否有办法确保 bash 中的一行运行。就像在 windows bat 文件中一样,我们有 %ErrorLevel% ¨ 说一个命令
touch -r dcn_file "${dir_dcn}"/"${TAG1_dcn}".pcap
Run Code Online (Sandbox Code Playgroud)
我如何确保这是运行?
我想知道是否存在特定文件夹。我使用了以下命令
find /mnt/md0/ -maxdepth 1 -name 'dcn'||'DCN'
Run Code Online (Sandbox Code Playgroud)
我想知道文件夹名称是 DCN 还是 dcn 。
我该怎么做?
我想将某些日志从远程 linux 系统复制到 windows 系统。我正在尝试制作一个批处理文件,它将使用 putty 连接到 linux 系统,例如:
putty.exe -ssh user@192.168.1.1 -pw password
Run Code Online (Sandbox Code Playgroud)
我将如何添加要运行的 linux 命令?是否有可能或我应该寻找其他一些软件
我正在尝试创建一个脚本并每 5 分钟在 crontab 中运行它,以便文件夹中的文件数始终保持 50000。如果还有更多,我希望脚本删除旧文件。
#!/bin/bash
LIMIT=500000
NO=0
#Get the number of files, that has `*.pcap` in its name, with last modified time 5 days ago
NUMBER=$(find /mnt/md0/capture/DCN/ -maxdepth 1 -name "*.pcap" |wc -l)
if [[ $NUMBER -gt $LIMIT ]] #if number greater than limit
then
del=$(($NUMBER-$LIMIT))
if [ "$del" -lt "$NO" ]
then
del=$(($del*-1))
fi
echo $del
FILES=$(
find /mnt/md0/capture/DCN/ -maxdepth 1 -type f -name "*.pcap" -print0 |
xargs -0 ls -lt |
tail -$del |
awk '{print …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 find 命令在文件夹中查找比命令运行日期早一天的文件。我使用以下命令:
FILES_dcn=($(find $dir_dcn -maxdepth 1 -type f -name "*.pcap" -mtime +1 -print0 | xargs -0 ls -lt | tail -15 | awk '{print $9}'))
Run Code Online (Sandbox Code Playgroud)
但输出似乎是这样的:
-rw-rw-rw- 1 nethawk nethawk 2097664 Mar 16 01:58 /mnt/md0/capture/dcn/dcn_2014_03_16_01_58_00_438.pcap
-rw-r--r-- 1 root root 27935978 Mar 17 10:00 /mnt/md0/capture/dcn/dcn_2014_03_16_18_29_18_983.pcap
-rw-rw-rw- 1 nethawk nethawk 2097296 Mar 17 10:02 /mnt/md0/capture/dcn/dcn_2014_03_17_10_02_00_335.pcap
-rw-rw-rw- 1 nethawk nethawk 2097192 Mar 17 10:02 /mnt/md0/capture/dcn/dcn_2014_03_17_10_02_49_476.pcap
-rw-rw-rw- 1 nethawk nethawk 2097936 Mar 17 10:07 /mnt/md0/capture/dcn/dcn_2014_03_17_10_06_59_326.pcap
-rw-rw-rw- 1 nethawk nethawk 2097464 Mar 17 10:10 …Run Code Online (Sandbox Code Playgroud)