Unix & Linux

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

5
如何将音频文件分割成多个?
我找到了一些视频,看起来像这样。 ffmpeg -i * -c:v libx264 -crf 22 -map 0 -segment_time 1 -g 1 -sc_threshold 0 -force_key_frames "expr:gte(t,n_forced*9)" -f segment output%03d.mp4 我尝试将其用于音频文件,但只有第一个音频文件包含实际音频,其他音频文件则保持沉默,除了效果很好之外,它每秒都创建一个新的音频文件。有谁知道要进行哪些修改才能使音频文件或其他可以执行相同操作的命令生效?
35 audio  ffmpeg 

6
用root权限以编程方式写入文件的最安全方法是什么?
大型应用程序需要在特定时间对需要根权限的文件执行少量写入操作。它实际上不是文件,而是硬件接口,它作为文件公开给Linux。 为了避免给整个应用程序以root特权,我编写了一个bash脚本来执行关键任务。例如,以下脚本将启用硬件接口的端口17作为输出: echo "17" > /sys/class/gpio/export echo "out" > /sys/class/gpio/gpio17/direction 但是,由于suid我的系统上的bash脚本已禁用,我想知道什么是实现此目的的最佳方法。 使用此处介绍的一些解决方法 sudo从主应用程序使用调用脚本,并相应地编辑sudoers列表,以避免在调用脚本时要求输入密码。给sudo特权我有点不自在echo。 只需使用编写一个C程序,fprintf并将其设置为suid root。硬编码字符串和文件名,并确保只有root可以编辑它。或从文本文件中读取字符串,类似地确保没有人可以编辑该文件。 我没有想到的其他解决方案比上面介绍的解决方案更安全或更简单?

10
是否有方便的方法将文件分类为“二进制”或“文本”?
标准Unix实用程序喜欢grep并diff使用一些启发式方法将文件分类为“文本”或“二进制”。(例如grep,输出中可能包含类似的行Binary file frobozz matches。) 是否有一种方便的测试方法可以应用到zsh脚本中以执行类似的“文本/二进制”分类?(除了类似的东西grep '' somefile | grep -q Binary。) (我意识到任何此类测试都必然是启发式的,因此是不完善的。)
35 files  text 

4
uniq为何还不够独特,以至于也只有uniq --unique?
这是来自pastebin的随机文件上的命令: wget -qO - http://pastebin.com/0cSPs9LR | wc -l 350 wget -qO - http://pastebin.com/0cSPs9LR | sort -u | wc -l 287 wget -qO - http://pastebin.com/0cSPs9LR | sort | uniq | wc -l 287 wget -qO - http://pastebin.com/0cSPs9LR | sort | uniq -u | wc -l 258 手册页不清楚该-u标志在做什么。有什么建议吗?
35 uniq 

2
如何在Fedora 21中永久更改主机名
我听说在新版本的fedora中更改主机名是通过hostnamectl命令完成的。另外,我最近(并且成功地)使用这种方法在Arch Linux上更改了主机名。但是,在运行时: [root@localhost ~]# hostnamectl set-hostname --static paragon.localdomain [root@localhost ~]# hostnamectl set-hostname --transient paragon.localdomain [root@localhost ~]# hostnamectl set-hostname --pretty paragon.localdomain 重新启动后,更改不会保留(这与许多人的说法相反)。怎么了? 我真的不想/etc/hostname手动编辑。 我还应该指出,这是完全库存的软呢帽。我什至还没有安装我的核心应用程序。
35 fedora  hostname 



3
如何排序大文件?
我有一台装有Intel(R)Pentium(R)CPU G640 @ 2.80 GHz和8 GB RAM的PC。我正在使用EXT3文件系统在其上运行Scientific Linux 6.5。 在这种设置下,sort -u对200 GB的文件进行刻录的最快方法是什么? 我是否应该将文件拆分为较小的文件(小于8 GB)sort -u,将它们放在一起,然后再次以不同的大小拆分sort -u,等等?还是有任何排序脚本,程序可以用有限的RAM来处理这么大的文件?
35 sort 

3
为什么不挂载尊重绑定挂载的只读选项?
在我的Arch Linux系统(Linux Kernel 3.14.2)上,绑定安装不遵守只读选项 # mkdir test # mount --bind -o ro test/ /mnt # touch /mnt/foo 创建文件/mnt/foo。中的相关条目/proc/mounts是 /dev/sda2 /mnt ext4 rw,noatime,data=ordered 0 0 安装选项不符合我要求的选择,但这样做同时匹配绑定的读/写性能和安装使用的选项最初安装/dev/sda2上/ /dev/sda2 / ext4 rw,noatime,data=ordered 0 0 但是,如果我重新安装了安装座,那么它将遵循只读选项 # mount --bind -o remount,ro test/ /mnt # touch /mnt/bar touch: cannot touch ‘/mnt/bar’: Read-only file system 和中的相关条目 …


8
git clone后如何自动CD?
我想在输入某些内容后自动cd进入clone命令创建的目录git clone。 重要提示:我不想更改命令的语法(例如,使用别名/函数),因为它会破坏我从Pretzo项目中自动获得的zsh完成。 编辑:之所以没有选择正确的答案,是因为没有给出符合上述条件的答案。 我使用ZSH,但在其他外壳程序中的答案也是可以接受的。
35 shell  zsh 

6
如何设置鼠标灵敏度,而不仅仅是鼠标加速?
我找不到支持设置鼠标加速和鼠标灵敏度的单个桌面环境。我不需要任何鼠标加速,但是我想提高鼠标速度。这意味着如果我将鼠标移动相同的距离,无论我移动鼠标有多快,指针每次都会移动相同的距离。 KDE可以让我将鼠标加速度设置为1倍,但是那时鼠标的移动速度太慢,我不知道如何提高速度。我愿意接受CLI解决方案,但是我只能xinput更改加速。我也不记得也有很多运气xset。
35 x11  kde  mouse  xinput 

3
如何使文件不可修改?
登录后,我可以执行以下操作: mkdir foo touch foo/bar chmod 400 foo/bar chmod 500 foo 然后,我可以打开vim(而不是root),进行编辑bar,使用强制写入w!,然后修改文件。 如何使操作系统不允许任何文件修改? 更新2017年3月2日 chmod 500 foo是一个红色鲱鱼:目录的写权限与修改文件内容的能力无关,而与创建和删除文件的能力无关。 chmod 400 foo/bar实际上确实阻止了文件内容的更改。但是,它并不能阻止改变文件的权限-文件的所有者可以随时更改自己的文件的权限(假设他们可以访问该文件即对所有祖先目录的执行权限)。实际上,strace(1)揭示了vim(7.4.576 Debian Jessie)所做的工作-vim调用chmod(2)来临时添加文件所有者的写许可权,修改文件,然后调用chmod( 2)再次删除写权限。这就是使用chattr +iWorks的原因-只有root可以调用chattr -i。从理论上讲,如果以root身份运行,vim(或任何程序)对chattr的作用与对不可变文件的chmod的作用相同。

3
如何将wget与URL列表及其对应的输出文件一起使用?
假设list_of_urls看起来像这样: http://www.url1.com/some.txt http://www.url2.com/video.mp4 我知道如何将其用于: wget -i list_of_urls 但是,如果我list_of_urls有这个,它们都返回正确的文件,例如PDF或视频,该怎么办: http://www.url1.com/app?q=123&gibb=erish&gar=ble http://www.url2.com/app?q=111&wha=tcha&mac=allit 对于单个文件,我可以这样做: wget -O some.txt "http://www.url1.com/app?q=123&gibb=erish&gar=ble" 如何使用wget该URL列表下载并将返回的数据保存到正确的本地文件中?
35 files  wget  download  links 

3
了解反引号(`)
我正在尝试命令 $ b=5; echo `$b`; -bash: 5: command not found 但它不会按预期打印5。我在这里想念什么? 命令中的`(反引号/反引号)是什么意思?似乎说可以`评估其中的命令并将其替换为输出。

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.