当我输入:
at now + 1 min
at>play /usr/share/sounds/startrek.wav
at>ctrl+d
Run Code Online (Sandbox Code Playgroud)
它有效,所以一分钟后实际上播放了声音。
但是,当我输入:
at now + 1 min
at>echo "Teresa the green vegetable lover"
at>ctrl+d
Run Code Online (Sandbox Code Playgroud)
我没有收到来自 shell 的错误响应,但 1 分钟后也没有显示任何文本。
我想执行一个脚本来挑选一个随机目录路径:
find / -type d | shuf -n1
Run Code Online (Sandbox Code Playgroud)
不幸的是,我收到有关禁止进入某些目录的错误消息。
如何使用 find 从搜索中排除目录?
当 xargs 将第一个命令输出重定向到第二个命令的参数并且无法选择输出的哪个元素的哪个参数时,那么只有一种方法,例如:
ls | xargs file # there are as many arguments as files in the listing,
# but the user does not have too choose himself
Run Code Online (Sandbox Code Playgroud)
现在如果需要选择:
ls | xargs file | grep image | xargs mv..... # here the user has to
# deal with two arguments of mv, first for source second for destination, suppose your destination argument is set already by yourself and you have to put the output into the source argument.
Run Code Online (Sandbox Code Playgroud)
您如何告诉 xargs …
我需要为声卡和显卡找到我的驱动程序,你知道如何找到它们的路径以及它们是否逻辑地存储在一个目录中吗?
假设我列出并按其时间属性对文件进行排序:
ls -ltr
-rwxrwxrwx 1 bla bla 4096 Feb 01 20:10 foo1
-rwxrwxrwx 1 bla bla 4096 Feb 01 20:12 foo2
.
.
.
-rwxrwxrwx 1 bla bla 4096 Mar 05 13:25 foo1000
Run Code Online (Sandbox Code Playgroud)
为了只获得列表的最后一行,我应该在管道链中的 ls -ltr 后面添加什么?我知道有sed和awk,但我不知道如何使用它们,我只知道它们能做什么。
我多次遇到“socket”这个词,所以我在不同的网站上查了一下,但每个网站都需要太多的知识才能理解解释。
我读到的是这样的:
我并没有真正了解大局,套接字的真正目的是什么。您能否用不需要太多技术知识的术语(如 C 语言)来解释它?
我开始学习一些正则表达式,因此我反复使用这个命令:
grep pattern /usr/share/dict/american-english
Run Code Online (Sandbox Code Playgroud)
只有模式变化的部分,所以我不得不一遍又一遍地写长表达“ /usr/share/dict/american-english ”。
有人评论说,可以通过键入神秘的字符组合而不是完整的表达式来从命令历史记录中扩展命令的参数。你能告诉我那些神秘的字符组合吗?
我今天学到了很棒的 shuf 命令:
ls | shuf
Run Code Online (Sandbox Code Playgroud)
向我展示了工作目录的列表,但感谢 shuf 每次我用另一个命令执行这个管道命令表达式时。
所以我想,为什么不每一秒都重复这个表达,所以我尝试
watch -n1 ls | shuf (and got no output)
watch -n1 (ls | shuf) (and got an error)
watch -n1 {ls | shuf} (and got an error)
Run Code Online (Sandbox Code Playgroud)
然后我把 ls | shuf 到它自己的文件中,并从中制作了一个脚本 foo 。
watch -n1 ./foo (this times it worked)
Run Code Online (Sandbox Code Playgroud)
是否可以将 watch 命令应用于管道命令表达式,而无需将表达式制作成脚本文件?
从 Windows 切换到 Linux 时,我注意到的第一件事是,Linux 没有严格的命名约定,也没有强制性的文件扩展名,例如 .bmp、.jpg、.exe 等。因此,我无法通过文件名本身来判断其文件格式。
如果我的文件系统上的所有 JPEG 文件都有 .jpg 扩展名,我可以通过以下方式简单地找到所有 JPEG 文件:
find / -type f -name "*.jpg"
Run Code Online (Sandbox Code Playgroud)
但如果不是这种情况,我不知道如何找到所有 JPEG 文件。
我想w周期性地启动命令,根据man watch最小可能的时间间隔是0.1。
我试过:
watch -n1 w (works)
watch -n1.5 w (does not work)
watch -n0.1 w (does not work)
Run Code Online (Sandbox Code Playgroud)
当我尝试watch使用 n 选项作为非整数启动命令时,我收到错误消息:
watch: failed to parse argument: '0.1'
Run Code Online (Sandbox Code Playgroud)