我正在寻找一个命令行函数或 c 函数,它会让我知道文件是否打开/正在被某些东西使用。
lsof并且fuser确实告诉了这一点,但是它们提供了许多其他信息,在某些情况下会导致最多 300 毫秒(例如,当我在 MAC OS X 上使用此代码时,我正在为 Linux 和 OS X 开发)(我有一个 Windows需要 5ms 的解决方案,所以我试图在 Unix 中找到一些也非常快的东西,如果文件正在使用,则只返回 true 或 false)
默认情况下,sudo如果我输入错误的密码,最多提示我输入用户密码 3 次。如何将其更改为无限次(?)?我怎样才能让它在我输入正确的密码之前询问我的密码?
我希望创建一个运行程序 x 的别名,而不更改我所在的当前目录。我现在拥有的是:
alias x = "cd /home/path_to_x && ./x"
Run Code Online (Sandbox Code Playgroud)
这有效,但更改了我的目录。我想做的是:
alias x="./home/path_to_x/x
Run Code Online (Sandbox Code Playgroud)
但是后来我没有得到这样的文件或目录。有人知道解决方法吗?
我试图使用avconv命令行将一些 .ape 文件转换为 .flac 文件;显然,avconv不是这里的重点;它的语法非常简单,avconv -i inputApeFile.ape outputFlacFile.flac.
关键是文件嵌套在更多的子文件夹中;即,我有艺术家文件夹,然后是各种 CD 子文件夹,每个子文件夹都包含不同的 .ape 文件。如何转换所有文件,然后将它们保存在原始文件的同一文件夹中,但扩展名为 .flac?
如果可能的话,我想在一行中只使用 shell 命令而不使用脚本。我认为它应该是这样的
avconv -i 'ls -R | grep ape' '???'
Run Code Online (Sandbox Code Playgroud)
但我坚持第二部分(也许使用sed??!?)

那叫什么?
我问的原因是我正在用 Java 创建一个桌面应用程序(使用 gnome java 库 - 支持 GTK),并且我希望我的应用程序在那里也可以通过自定义菜单可见。
我找不到有关如何为 GTK 窗口创建此类菜单的任何信息。
我在 Windows 10 上使用 Ubuntu WSL。如何配置带有身份验证的 HTTP 代理?
我在 Asus n550jv 上配置触摸屏以在 Ubuntu 14.04 上的 Web 浏览器、办公应用程序等中用一根手指滚动时遇到问题。奇怪的是,滚动在设置应用程序和一些其他预装应用程序中起作用。
有什么建议?
对于这个给定的输入:
How to get This line that this word repeated 3 times in THIS line?
But not this line which is THIS word repeated 2 times.
And I will get This line with this here and This one
A test line with four this and This another THIS and last this
Run Code Online (Sandbox Code Playgroud)
我想要这个输出:
How to get This line that this word repeated 3 times in THIS line?
And I will get This line with this here and This one
Run Code Online (Sandbox Code Playgroud)
获取整行只包含三个重复的“这个”词。(不区分大小写匹配)
我有一个 18.5GB 的 mp4 视频,它没有任何明显的质量,它运行了 2 小时 40 分钟。
最近我遇到了一部以 mkv 格式保存的电影,它的时间相同,质量更好,只有 0.78GB,我正在使用 openshot,可以向我建议任何其他应用程序或向我展示将 mp4 转换为MKV?
这是我的问题:我有一个包含 500 个图像的文件夹,名为:
1.jpg
2.jpg
3.jpg
Run Code Online (Sandbox Code Playgroud)
等等..
我复制了那个文件夹,现在我需要将这些相同的图片从 501 重命名为 1000,但顺序如下:
1.jpg becomes 501.jpg
2.jpg becomes 502.jpg
3.jpg becomes 503.jpg
....
Run Code Online (Sandbox Code Playgroud)
当我使用标准重命名命令时:
i=501;for img in $(find . -iname '*.jpg'); do echo -n "Converting $img"; mv $img $i.jpg && echo $i && ((i++)); done
Run Code Online (Sandbox Code Playgroud)
它将图像从 501 排序到 1000,但它们都是分散的:
23.jpg becomes 501.jpg,
66.jpg becomes 502.jpg
...
Run Code Online (Sandbox Code Playgroud)
(它们的顺序是正确的,但它混淆了它们)
我知道这可能是我遗漏的一个命令......
command-line ×4
14.04 ×1
alias ×1
avconv ×1
batch-rename ×1
convert ×1
files ×1
gnome ×1
gtk ×1
indicator ×1
menu ×1
networking ×1
proxy ×1
rename ×1
scrolling ×1
sudo ×1
touchscreen ×1
unity ×1
video ×1