我大致了解位于 /dev 下的文件。
我知道有两种类型(字符/块),访问这些文件与内核中的驱动程序进行通信。
我想知道如果我删除一个会发生什么——特别是对于这两种类型的文件。如果我删除一个块设备文件,比如说/dev/sda
,这有什么影响(如果有的话)?我刚刚卸载了磁盘吗?
同样,如果我删除/dev/mouse/mouse0
了——会发生什么?鼠标会停止工作吗?它会自动替换自己吗?
我什至可以删除这些文件吗?如果我有一个虚拟机设置,我会尝试它。
我大致了解位于 /dev 下的文件。
我知道有两种类型(字符/块),访问这些文件与内核中的驱动程序进行通信。
我想知道如果我删除一个会发生什么——特别是对于这两种类型的文件。如果我删除一个块设备文件,比如说/dev/sda
,这有什么影响(如果有的话)?我刚刚卸载了磁盘吗?
同样,如果我删除/dev/mouse/mouse0
了——会发生什么?鼠标会停止工作吗?它会自动替换自己吗?
我什至可以删除这些文件吗?如果我有一个虚拟机设置,我会尝试它。
我有一个由我的脚本生成的 CSV 文件,它获取每个用户使用的 CPU 时间,但是它以秒为单位,我需要以小时为单位,所以我需要将每一行除以 3600。
示例输入文件
**USER,TOTAL_CPU,AVERAGE_CPU
user1,1234552.0,1234.3
user2,9999999.0,82772.6
user3,7777776227.9,282882,0**
如果我一次只做一列,我可以很容易地得到我想要的东西:
for i in `awk -F , 'NR!=1{print $2}' myfile.out`; do bc -l <<< "scale=3; ($i/3600)"; done
这给了我一次一列的输出。我同时想要两者,必须有更好的方法,而不是先处理一列,然后再处理下一列,然后将两者合并在一起。我同时想要两者,输出看起来应该与输入完全相同,但不是秒,而是小时。
示例输出文件:
USER,TOTAL_CPU,AVERAGE_CPU
user1,342.931,0.342
user2,2777.777,22.992
etc.....