Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答

4
如何从进程中获取整个命令行?
如何使用正在运行的进程的进程名称获取命令参数或整个命令行? 例如此过程: # ps PID USER TIME COMMAND 1452 root 0:00 /sbin/udhcpc -b -T 1 -A 12 -i eth0 -p /var/run/udhcpc.eth0.pid 而我想要的/sbin/udhcpc -b -T 1 -A 12 -i eth0 -p /var/run/udhcpc.eth0.pid还是论点。我知道进程名称,并需要它的参数。我在SliTaz上使用Busybox。

2
linux + g ++:找不到命令
我想在我的Linux red-hat机器上安装gettext-0.19.1.tar.xz。 首先,我执行以下操作 cd gettext-0.19.1 ./configure make 在make失败期间g++: command not found libtool: compile: g++ -DIN_LIBASPRINTF -DHAVE_CONFIG_H -I. -c autosprintf.cc - o .libs/autosprintf.o ./libtool: line 1128: g++: command not found make[5]: *** [autosprintf.lo] Error 1 make[5]: Leaving directory `/var/tmp/gettext-0.19.1/gettext-runtime/libasprintf' make[4]: *** [all] Error 2 make[4]: Leaving directory `/var/tmp/gettext-0.19.1/gettext-runtime/libasprintf' make[3]: *** [all-recursive] …
43 linux  g++ 

4
如何确定虚拟地址空间中的页面大小?
Linux使用虚拟内存系统,其中所有地址都是虚拟地址,而不是物理地址。这些虚拟地址由处理器转换为物理地址。 为了简化翻译,将虚拟和物理内存分为页面。每个页面都有一个唯一的编号;页面框架号。 某些页面大小可以是2 KB,4 KB等。但是如何确定此页面大小数字?它受体系结构大小的影响吗?例如,一个32位总线将具有4 GB的地址空间。

1
强制rsync覆盖目标位置的文件,即使它们较新
我运行了一个rsync备份脚本,该脚本还可以将文件恢复到我询问时的来源。但是,如果我尝试还原时目标位置的文件比备份中的文件新,它将不会替换它们。我真的很想用备份中的文件替换较新的文件,但是我没有找到使rsync做到这一点的方法。 tldr:有没有办法强制rsync在目标位置覆盖文件? 编辑:我一直在运行rsync -avhp当我想还原备份时,我使用相同的命令,将“ to”和“ from”互换。因此,它尝试将文件从备份驱动器复制到我计算机上的位置。

2
如何解释坏块输出
Badblocks的手册页似乎没有提到输出中的三个数字特别意味着什么: 通过已完成,发现7个坏块(7/0/0错误) 通过完成,发现120个坏块(0/0/120错误) 我猜是“读取/写入/比较时出错”。有人可以启发我吗?
43 badblocks 


3
使用exec重定向所有后续命令的stderr
我有一个bash文件,我需要将所有输出重定向到一个文件,调试日志以及终端。我需要将stdout和stderr都重定向到调试,并在脚本中将其记录为所有命令。 我不想为2>&1 | tee -a $DEBUG文件中的每个命令添加内容。我可以忍受| tee -a $DEBUG。 我记得有一种方法可以这样做exec 2>&1。 目前,我正在使用类似以下内容的东西: #!/bin/bash DEBUGLOG=/tmp/debug exec 2>&1 somecommand | tee -a $DEBUGLOG somecommand2 | tee -a $DEBUGLOG somecommand3 | tee -a $DEBUGLOG 但它不起作用。有没有人有解决方案/可以解释原因?





3
在x265(HEVC)中重新编码视频库,而没有质量损失
我正在尝试将我的视频库转换为HEVC格式以获取空间。我在库中的所有视频文件上运行了以下命令: #!/bin/bash for i in *.mp4; do #Output new files by prepending "X265" to the names avconv -i "$i" -c:v libx265 -c:a copy X265_"$i" done 现在,大多数视频可以很好地转换,并且质量与以前相同。但是,一些质量非常高的视频(例如一张5GB的电影拷贝)质量下降-视频全部像素化。 我不确定在这种情况下该怎么办。我是否需要crf在命令行中修改参数?或者是其他东西? 问题是,我正在做批量转换。因此,我需要一种avconv可以针对每个视频自动调整需要调整的参数的方法。 更新1 我发现这crf是我需要调节的旋钮。默认CRF为28。为获得更好的质量,我可以使用小于28的值。例如: avconv -i input.mp4 -c:v libx265 -x265-params crf=23 -c:a copy output.mp4 但是,问题在于,对于某些视频,CRF值为28足够好,而对于某些视频,则需要较低的CRF。我必须通过转换大视频的一小部分来手动检查这一点。但是在批量转换中,如何手动检查每个视频?他们是否有办法avconv根据输入视频智能地调整CRF? 更新2 我发现--losslessx265 中有一个选项:http : //x265.readthedocs.org/en/default/lossless.html。 但是,我不知道如何正确使用它。我尝试以以下方式使用它,但结果却相反(视频的像素化程度更高): avconv -i input.mp4 …


4
什么是用于存储大量小文件(HDD,而不是SSD)的最高性能Linux文件系统?
我有一个包含许多小文件和少量大文件的目录树。文件的平均大小约为1 KB。树中有210158个文件和目录(此数字是通过运行获得的find | wc -l)。 每周有几次添加/删除/重写一小部分文件。这适用于小文件,以及(少量)大文件。 我尝试过的文件系统(ext4,btrfs)在磁盘上放置文件时遇到一些问题。在更长的时间范围内,磁盘(旋转媒体,而非固态磁盘)上文件的物理位置正变得更加随机分布。这种随机分布的负面结果是文件系统变慢(例如:比新文件系统慢4倍)。 是否有一个Linux文件系统(或文件系统维护方法)没有遭受这种性能下降的困扰,并且能够在旋转媒体上保持稳定的性能状况?该文件系统可以在Fuse上运行,但是必须可靠。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.