小编Tob*_*ght的帖子

列出所有扩展名为 .tif、.tiff、.TIF、.TIFF 的文件

给定一个嵌套目录,我想列出所有扩展名为.tif, .TIF, .tiff, 的tif 文件.TIFF

目前我正在使用

find . -type f -iname *.TIF -print ; find . -type f -iname *.TIFF -print;
Run Code Online (Sandbox Code Playgroud)

使用-iname允许我不区分大小写,但它会遍历目录两次以获取带有.tif和 的文件.tiff。有一个更好的方法吗?也许用大括号扩展?

为什么不*.tif*呢?

在某些情况下,我的目录可能有带有.tif.aux.xmltiff扩展名的辅助文件。我想忽略这些。

bash find filenames

13
推荐指数
2
解决办法
2234
查看次数

Udev 规则匹配任何 USB 存储设备

如何udev为插入的任何 USB 大容量存储设备实施规则,而不仅仅是针对特定的?什么应该改变的idVendor,和idProduct

 ACTION=="add", SUBSYSTEM=="usb", SYSFS{idVendor}=="0204", SYSFS{idProduct}=="6025",
     RUN+="/home/workspace/bash_script.sh"
Run Code Online (Sandbox Code Playgroud)

udev

12
推荐指数
1
解决办法
1万
查看次数

在 Solaris 中是否有替代“sed -i”命令的方法?

我在我的项目中有一个要求,将文件中的一些现有文本替换为foo其他一些文本,例如fooofoo

abc.txt
name
foo
foo1
Run Code Online (Sandbox Code Playgroud)

所以我试过:

abc.txt
name
foo
foo1
Run Code Online (Sandbox Code Playgroud)

但是我收到这个错误:

sed:非法选项—— i

我在手册中发现我必须使用:

sed -i "s/foo/fooofoo/g" abc.txt
Run Code Online (Sandbox Code Playgroud)

但是,这也不起作用。

我在perl和 中找到了替代方案,awksed非常感谢Solaris 中的解决方案。

我正在使用这个版本的 bash:

GNU bash,版本 3.2.57(1)-release (sparc-sun-solaris2.10)

solaris sed text-processing

12
推荐指数
2
解决办法
2万
查看次数

在 Debian 12 上更改为 swappiness 重启后不会粘住

我最近开始将我的数据库服务器从 Debian 9 升级到 Debian 12。然而,Debian 12(实际上是 11)似乎很容易进行交换,而 Debian 9 从未这样做过。

因此,我想将 的值vm.swappiness从当前值 5 更改为 1,看看这是否会产生影响。

无论我看什么,都表明我只需将条目添加vm.swappiness = 1到文件末尾即可/etc/sysctl.conf

我已经这样做了(并检查其中没有其他条目)并重新启动服务器几次,但每次它回来并告诉我仍然是vm.swappiness5。

我假设因此必须在其他地方设置此设置,但谷歌搜索它并没有帮助,到处都说它应该在/etc/sysctl.conf.

任何人都可以建议另一个可能设置的位置吗?

debian swap

12
推荐指数
1
解决办法
1112
查看次数

make-kpkg 和 make deb-pkg 的区别

我想知道make-kpkg和之间的确切区别make deb-pkg这个问题问了几乎相同的问题,但没有令人满意的答案。以前我使用

make -j `getconf _NPROCESSORS_ONLN` deb-pkg
Run Code Online (Sandbox Code Playgroud)

编译内核源代码树并生成 header+kernel-image debian 包。我发现它非常慢,因为在我的第二代 Intel i3 CPU 上编译需要 1 个多小时。然后我找到了另一种方法,make-kpkg它比deb-pkg我以前使用的方法快 5-6 倍。我运行的代码

fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers  -j `getconf _NPROCESSORS_ONLN`
Run Code Online (Sandbox Code Playgroud)

编译和生成 deb 包只需要 10-15 分钟。在这两个编译过程中,作业是分开的,_NPROCESSORS_ONLN那么有什么区别呢?提前致谢。

compiling make debian linux-kernel

11
推荐指数
1
解决办法
1万
查看次数

如何在 Linux 上确定 CD 的彩虹书颜色?

我已将 CD 放入驱动器中。如何在 Linux 上找到彩虹书颜色(红皮书/黄皮书/蓝皮书/...)?

linux removable-storage

11
推荐指数
1
解决办法
1479
查看次数

什么时候`_` 是 bash shell 的环境变量?

Bash 手册说(手册页,我的重点):

当 Bash 调用外部命令时,该变量$_被设置为该命令的完整路径名,并在其环境中传递给该命令。

和(特殊参数):

_

( $_, 下划线。) 在 shell 启动时,设置为绝对路径名,用于调用在环境或参数列表中传递的正在执行的 shell 或 shell 脚本。随后,在扩展后扩展到上一个命令的最后一个参数。还设置为用于调用在导出到该命令的环境中执行和放置的每个命令的完整路径名。检查邮件时,此参数保存邮件文件的名称。

  1. 在 bash shell 中,我运行:

    $ bash
    $ export | grep '_=' 
    
    Run Code Online (Sandbox Code Playgroud)

    根据手册,_应该是新的bash shell的环境变量。export应该输出新 bash shell 的所有环境变量,但它不输出 _. 所以我想知道是否_是新的bash shell的环境变量?

  2. 实际上在任何 bash shell 中,都会发生同样的事情

    $ export | grep '_='
    
    Run Code Online (Sandbox Code Playgroud)

    不输出任何东西。所以我想知道是否_曾经是 bash shell 的环境变量?

  3. 比较:

    $ dash
    $ export  | grep '_='        
    export _='/bin/dash'
    
    Run Code Online (Sandbox Code Playgroud)

我的帖子的灵感来自Mike 的评论Stephane 的回复 …

bash environment-variables

10
推荐指数
3
解决办法
2083
查看次数

当 n 直到运行时才知道时,如何打印脚本的第 n 个参数?

我正在编写一个 shell 脚本,我需要打印脚本的第 n 个参数。

例如,假设我们有n=3并且我们的脚本使用足够的参数运行。现在我需要打印第nth 个参数,即$3

但如果n=2,我们会打印参数$2

我不想使用if语句。我想做类似的事情

echo $($n)
Run Code Online (Sandbox Code Playgroud)

但上面的方法并没有按照我需要的方式工作。

bash shell-script echo

10
推荐指数
4
解决办法
3475
查看次数

每个 USB 设备都有供应商 ID 和产品 ID 吗?

我有一个随机扬声器,我想为其开发一个驱动程序,以便我可以向dev文件系统报告统计数据、电池等。但是,我很难找到扬声器的供应商和设备 ID 以便将其与驱动程序正确关联。

我什至不知道制造商是谁,我的 Linux 机器没有检测到它(lsusb和其他实用程序),T&G 有一个扬声器,看起来和我的一模一样,但我的有一个不同的徽标(橙色花),而不是T&G 就是其中之一。

  • 每个设备都有与其关联的供应商和产品 ID 吗?

  • 如果是这样,如果您不知道您的设备并且您的机器无法识别它,您如何找到它?

  • 是否甚至可以通过扬声器的 USB 端口向我的机器报告电池和其他统计数据,我相信该端口应该与 USB 卡一起使用?

linux drivers linux-kernel usb-device

9
推荐指数
2
解决办法
3743
查看次数

如何在 TTY 上反转 ESC 和 CAPS_LOCK

我正在寻找一种方式来交换EscCaps LockLinux虚拟控制台上。

在 X11 中,我可以使用setxkbmap -option caps:swapescape,但我不知道文本模式中的等效项。那么,我能做什么?

console keyboard-layout

8
推荐指数
1
解决办法
2878
查看次数