我的终端模拟器中的颜色有问题。我LXTerminal用作我的终端模拟器和LXDE我的桌面环境。
以下命令应该在灰色背景上打印红色文本:
printf "\n\033[1;31;40m"hello"\033[00m\n\n"
Run Code Online (Sandbox Code Playgroud)
但这不起作用。缺少灰色背景(红色文本可以)。在我的旧机器 ( Gnome/Gnome Terminal) 上一切正常
我已经尝试安装其他几个终端模拟器,但问题仍然存在。我什至不确定这个问题是否与终端模拟器有关,还是其他什么。在控制台 (CTRL+ALT+F1) 中,背景灰色在任何一台机器上都不起作用)
此问题仅限于灰色背景。所有其他颜色都可以正常工作,例如以下在绿色背景上打印红色文本。
printf "\n\033[1;31;42m"hello"\033[00m\n\n"
Run Code Online (Sandbox Code Playgroud)
我将不胜感激任何帮助。我什至不知道从哪里开始故障排除。
我有一个只有有限数量的二进制文件 ( bash, cp, cat, sed, ...)的迷你系统。我没有tail命令,我想知道我是否可以模拟尾部功能sed
cat foo.txt | tail -n 10
Run Code Online (Sandbox Code Playgroud)
我知道我可以用 sed 打印第 1-10 行cat foo.txt | sed -n '1,10p',但是我将如何打印最后 10 行?
在我的 Debian Wheezy 系统上,我有几个用户。对于一位用户,我们称他为 martin (UID 1000) bash 补全不起作用。它适用于所有其他用户,即使他们都使用相同的$HOME/.bashrc和$HOME/.profile.
这是一个非常奇怪的问题,因为当我将 martin 的整个主目录复制到 testuser 时,bash 完成对 testuser 工作正常:
rm -rf /home/testuser
cp -a /home/martin /home/testuser
chown -R testuser:testuser /home/testuser
Run Code Online (Sandbox Code Playgroud)
这让我相信,无论导致此问题的原因是什么,都不是用户主页中的任何设置。
有人知道是什么导致了这个奇怪的问题吗?
更新:
当我登录虚拟终端(Gnome 终端)时,会遇到上述问题。但我刚刚发现,当从控制台 (ALT+F1) 登录时,bash 完成工作。此外,当在虚拟控制台中作为马丁(并且 bash 完成不起作用)时,当我这样做su - martin并登录时,突然 bash 完成工作。看起来从虚拟控制台和普通控制台(或su - martin)登录之间存在差异
我有一个包含段落文本的文件(文本行由一个或多个空行分隔)。我想颠倒段落的顺序(即最后一段将成为第一段,...),最好使用 sed。
我正在寻找一个 sed 命令,它可以对一个段落文件tac执行什么操作,对一个行文件执行什么操作。
apt 使用两个位置来存储下载的包和其他文件:
/var/lib/apt/lists
/var/cache/apt/archives
Run Code Online (Sandbox Code Playgroud)
即使apt-get clean经常使用,这些文件夹也会变得非常大。
我/var的在一个单独的分区上并且相对较小。是否可以配置 apt,以便将其文件存储在 ales 中(即在/home/apt/?
在服务器上,我需要 root 不受限制的 ssh 访问,并限制所有其他用户。
我想限制所有非 root 用户:
/mnt/data/使用sshfs我看到sshd_config允许使用Match User,即:
Match User john
ChrootDirectory /mnt/data/
ForceCommand internal-sftp
AllowTCPForwarding no
X11Forwarding no
Run Code Online (Sandbox Code Playgroud)
但是如何匹配除 root 之外的所有用户?
我有一个文本文件,第二列中有数字,数字有千位分隔符和十进制分隔符:
2014-01 2,277.40
2014-02 2,282.20
2014-03 3,047.90
2014-04 4,127.60
2014-05 5,117.60
Run Code Online (Sandbox Code Playgroud)
我需要对数字求和,但以下awk语法不起作用:
awk '{X=X+$2} END {print X}' file
Run Code Online (Sandbox Code Playgroud)
它返回16,这显然是错误的。我怎么能告诉awk读取数字作为2277.40而不是2,277.40?
是否有一个简单的命令可以找出我连接到哪个 Wi-Fi AP?
我在我的 中配置了多个网络/etc/wpa_supplicant.d/wpa_supplicant.conf,并分配了优先级,并根据我所在的位置连接到最佳可用 Wi-Fi/SSID。连接是自动发生的,所以我不知道我连接到哪个 SSID。
现在我需要检查(在脚本中)我是在家里还是在其他地方连接。
我知道我可以列出所有可用的 SSID
iwlist wlan0 scan
Run Code Online (Sandbox Code Playgroud)
但是我如何打印我目前连接的 SSID?
我正在使用Debian。
我的日志中出现以下错误:
kernel: snd_hda_intel 0000:00:1b.0: IRQ timing workaround is
activated for card #0. Suggest a bigger bdl_pos_adj
Run Code Online (Sandbox Code Playgroud)
谷歌在这里和这里找到了一些处理同样问题的旧帖子。提供的解决方案建议更改内核模块的值:
options snd-hda-intel enable_msi=1 bdl_pos_adj=1,48
Run Code Online (Sandbox Code Playgroud)
然而,没有任何地方可以解释这些数字的含义。此外,我现在拥有的当前(默认)值有多个数字:
# cat /sys/module/snd_hda_intel/parameters/bdl_pos_adj
-1,1,-1,-1,-1,-1,-1,-1
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下所有这些数字的含义,以及如何更改它们以消除错误吗?
我需要获取所有连接的 USB 磁盘的设备名称(即sdd)。
我插入了 3 个 USB 磁盘和 2 个 SATA 磁盘:
$ find /sys/devices/ -name block
/sys/devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.0/host5/target5:0:0/5:0:0:0/block
/sys/devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:1.0/host6/target6:0:0/6:0:0:0/block
/sys/devices/pci0000:00/0000:00:14.0/usb4/4-5/4-5:1.0/host4/target4:0:0/4:0:0:0/block
/sys/devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:0/0:0:0:0/block
/sys/devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block
Run Code Online (Sandbox Code Playgroud)
我想忽略SATA磁盘,但我需要列出所有USB磁盘。
在终端,我可以我们ls,它会给我sdd:
$ ls /sys/devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.0/host5/target5:0:0/5:0:0:0/block
sdd
Run Code Online (Sandbox Code Playgroud)
但我需要在脚本中使用它。我需要遍历所有的U盘,而且我事先不知道确切的路径,所以我必须使用通配符(*或?):
for DISK in $(ls /sys/devices/pci0000:00/0000:00:14.0/usb?/*/*:1.0/host?/target?:0:0/?:0:0:0/block) ; do
echo /dev/$DISK
done
Run Code Online (Sandbox Code Playgroud)
以上仅在插入一个 USB 磁盘时才有效。如果插入两个或多个磁盘,我得到sdd的/sys路径以及我不想要的路径,即:
/dev//sys/devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.0/host5/target5:0:0/5:0:0:0/block:
/dev/sdd
/dev//sys/devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:1.0/host6/target6:0:0/6:0:0:0/block:
/dev/sde
/dev//sys/devices/pci0000:00/0000:00:14.0/usb4/4-5/4-5:1.0/host4/target4:0:0/4:0:0:0/block:
/dev/sdc
Run Code Online (Sandbox Code Playgroud)
我怎么能只迭代sdd sde sdc?
我正在寻找不使用udev基础设施的解决方案,即/dev/disk/by-path/