小编Man*_*nde的帖子

在 Linux 中从 IP 地址解析 MAC 地址

我需要编写一个 bash 脚本,其中我必须创建一个文件,其中包含主机 IP 地址的详细信息及其与相应 MAC 地址的映射。

当主机的 IP 地址可用时,是否有任何可能的方法可以找出任何(远程)主机的 MAC 地址?

linux bash mac-address

44
推荐指数
4
解决办法
18万
查看次数

使用 GNU Parallel 并行化 rsync

我一直在使用rsync脚本将一台主机上的数据与另一台主机上的数据同步。数据中有许多小文件,几乎占 1.2TB。

为了同步这些文件,我一直在使用以下rsync命令:

rsync -avzm --stats --human-readable --include-from proj.lst /data/projects REMOTEHOST:/data/
Run Code Online (Sandbox Code Playgroud)

proj.lst 的内容如下:

+ proj1
+ proj1/*
+ proj1/*/*
+ proj1/*/*/*.tar
+ proj1/*/*/*.pdf
+ proj2
+ proj2/*
+ proj2/*/*
+ proj2/*/*/*.tar
+ proj2/*/*/*.pdf
...
...
...
- *
Run Code Online (Sandbox Code Playgroud)

作为测试,我选择了其中的两个项目(8.5GB 数据)并执行了上面的命令。作为一个顺序过程,它需要 14 分 58 秒才能完成。因此,对于 1.2TB 的数据,需要几个小时。

如果我可以rsync并行处理多个进程(使用&,xargsparallel),它将节省我的时间。

我尝试使用以下命令parallel(在cding 到源目录之后),执行时间为 12 分 37 秒:

parallel --will-cite -j 5 rsync -avzm --stats --human-readable {} REMOTEHOST:/data/ ::: …
Run Code Online (Sandbox Code Playgroud)

linux rhel rsync gnu-parallel

27
推荐指数
4
解决办法
10万
查看次数

“ifconfig”和“ip”命令之间的区别

我阅读了一些关于“ifconfig”命令的文章/教程,其中大部分都包含一个通用语句 -

“ifconfig 已被 ip 命令弃用”

并建议学习ip命令。但是他们都没有解释“ip”命令如何比“ifconfig”更强大。

它们之间有什么区别?

linux networking ip command

20
推荐指数
3
解决办法
1万
查看次数

.deb 文件和 .run 文件的区别

创建.deb 文件并安装它们和只运行.run 文件有什么区别?

package-management

10
推荐指数
2
解决办法
2万
查看次数

计算模式匹配之前/之后的总行数

我有一个很长的 IP 地址列表,它们没有按顺序排列。我需要找到特定 IP 地址之前/之后有多少个 IP 地址。我怎样才能做到这一点?

shell-script text-processing

9
推荐指数
1
解决办法
1万
查看次数

bash 脚本中的多线程/分叉

我编写了一个 bash 脚本,格式如下:

#!/bin/bash
start=$(date +%s)
inFile="input.txt"
outFile="output.csv"

rm -f $inFile $outFile

while read line
do

    -- Block of Commands

done < "$inFile"

end=$(date +%s)

runtime=$((end-start))

echo "Program has finished execution in $runtime seconds."
Run Code Online (Sandbox Code Playgroud)

while循环将从读取$inFile,上线执行一些活动和转储结果$outFile

由于$inFile有 3500 多行长,脚本完全执行需要 6-7 个小时。为了尽量减少这个时间,我计划在这个脚本中使用多线程或分叉。如果我创建 8 个子进程,$inFile将同时处理 8 行。

如何才能做到这一点?

shell-script multithreading parallelism

9
推荐指数
1
解决办法
2万
查看次数

如何查看命令执行的时间?

history执行命令时,它显示最近执行的命令的列表。是否有任何规定可以让我们看到执行这些特定命令的时间?

bash command-history timestamps

9
推荐指数
1
解决办法
2万
查看次数

用bash中另一个文件中的值替换一个文件中的值

我有List.csv以下格式的 csv 文件命名:

Location,IP Address,Host Name,Domain,Domain Name, User Name,Manufacturer,Model,System Type, Serial Number, Operating System,RAM (GB),Processor Type,Processor Frequency
H1,xx.xx.xx.xx,PC1,domain.com,DOMAIN,User1,LENOVO,4089AZ8,X86-based PC,L90RA96,Microsoft Windows 7 Professional ,2,Pentium(R) Dual-Core CPU E5800,3.20GHz
H3,xx.xx.xx.xx,PC2,domain.com,DOMAIN,User2,LENOVO,4089AZ8,X86-based PC,L906W3P,Microsoft Windows 7 Professional ,2,Pentium(R) Dual-Core CPU E5800,3.20GHz
H2,xx.xx.xx.xx,PC3,domain.com,DOMAIN,User3,LENOVO,4089A76,X86-based PC,L929410,Microsoft Windows 7 Professional ,2,Pentium(R) Dual-Core CPU E5400,2.70GHz
H2,xx.xx.xx.xx,PC4,domain.com,DOMAIN,User4,Hewlett-Packard,Z800,x64-based PC,SGH007QT16,Microsoft Windows 7 Professional ,12,Intel(R) Xeon(R) CPU W5590,3.33GHz
Run Code Online (Sandbox Code Playgroud)

如果您查看该MODEL列,它会带有一些无法解释模型名称的值。我创建了另一个文件 ,model-list.csv其中包含这些值及其相应的模型名称。它看起来像:

Manufacturer,Value,Model Name
Lenovo, 4089AZ8, ThinkCentre
Lenovo, 4089A76, ThinkCentre
HP, Z800, HP Z800 Workstation
Run Code Online (Sandbox Code Playgroud)

我希望List.csv文件中的值被model-list.csv. 由于文件中有 …

bash shell-script text-processing csv

6
推荐指数
1
解决办法
3万
查看次数

创建新文件时创建父目录

我知道mkdir -p /path/to/new/directory将创建一个新目录以及父目录(如果需要)的事实。

如果我必须创建一个新文件及其父目录(其中部分或所有父目录不存在),我可以使用mkdir -p /path/to/directory && touch /path/to/directory/NEWFILE. 但是,还有其他命令可以实现这一目标吗?

command-line shell mkdir

6
推荐指数
1
解决办法
9437
查看次数

在远程 Windows 机器上运行 bash 脚本

我计划从本地 Linux 机器在远程 Windows 系统上运行 bash 脚本。为此,我必须从本地计算机登录到 Windows 计算机,然后执行 bash 脚本。

首先,这可能吗?如果是,那么怎么做呢?

bash ssh remote windows

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