Unix & Linux

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

4
查找不在.gitignore中的文件
我有找到在我的项目中显示文件的命令: find . -type f -not -path './node_modules*' -a -not -path '*.git*' \ -a -not -path './coverage*' -a -not -path './bower_components*' \ -a -not -name '*~' 如何过滤文件,使其不显示.gitignore文件中的文件? 我以为我使用: while read file; do grep $file .gitignore > /dev/null && echo $file; done 但是.gitignore文件可以具有glob模式(如果文件位于.gitignore中,它也将不适用于路径),如何根据可能具有glob的模式过滤文件?
12 grep  find  wildcards  git 


3
设置可启动分区命令行
如何使用parted中的命令行设置可启动分区? 理想情况下,我需要一个编号列表,以便可以轻松选择要启动的分区。
12 parted 

1
如何重新加载一组systemd服务?
我想在事件发生时重新加载(而不重新启动!)一组服务。 例如,如果我更新SSL证书,则希望使用它们的每个服务都重新加载(nginx并postfix记入)。我也不想记住给定服务器上的哪些服务使用SSL证书。在配置它们时将它们分组就足够了。 另一方面,我想避免更改.service软件包随附的文件,因为这将需要在更新过程中进行手动干预。 我该怎么做? 有一个选项可以根据请求停止一组服务,但这将使它们在一两秒钟内无法访问,甚至更糟-它们可能会停下来直到修复。我负担不起。
12 systemd 

2
如何设置蓝牙耳机的自动连接?
我的蓝牙耳机工作正常。音频接收器有效。一切正常。但是问题是我需要手动将其连接到PC: 单击kde任务栏上时间附近的蓝牙图标=>已知设备=>连接 # bluetoothctl => connect xx:xx:xx:xx:xx:xx 它过去仅在一个月前通过标准的debian安装/更新自动连接。我不知道为什么它坏了。我没有安装任何与蓝牙相关的软件包,也没有更改与蓝牙相关的配置文件。 我为解决问题所做的工作: 清除并重新安装所有与蓝牙相关的软件包(请参见下文)。 添加了一行负载模块模块接通连到/etc/pulse/default.pa如所描述这里 创建的文件/etc/bluetooth/audio.conf带线自动连接=真事后重新启动蓝牙服务,说这里 脚本(来自askubuntu)不起作用。我收到此消息: Browsing 00:18:09:29:XX:XX ... Sink bluez_sink.00_18_09_29_XX_XX does not exist. 如何使其在联网时能够自动连接到蓝牙耳机?我觉得解决方案很容易。 Debian 8.6,kde 4.14.2。使用的软件包:bluedevil,bluetooth,bluez,pulseaudio-module-bluetooth。

5
安装systemd后,系统拒绝SSH并停留在“启动”状态
我有一个在Azure中创建的Linux Ubuntu VM(14.04 LTS)上可重现的问题。 systemd通过脚本安装软件包后,系统将无限期拒绝新的ssh连接。 系统正在启动。 连接被xxx.xxx.xxx.xxx关闭 但是,活动的ssh连接会保留。/etc/nologin系统中没有文件。 我看到的唯一选择是硬重置,它可以解决问题。但是如何避免呢? 这是我正在使用的脚本: #!/bin/bash # Script input arguments user=$1 server=$2 # Tell the shell to quote your variables to be eval-safe! printf -v user_q '%q' "$user" printf -v server_q '%q' "$server" # SECONDS=0 address="$user_q"@"$server_q" function run { ssh "$address" /bin/bash "$@" } run …
12 linux  ssh  systemd 

2
fsck不会fsck(无法设置超级块标志)
在基于SD卡的设备上进行异常关闭后,我将SD卡取出到fsck根文件系统中。这导致以下方面的变化: e2fsck 1.43.1 (08-Jun-2016) /dev/sdc2: recovering journal Superblock needs_recovery flag is clear, but journal has data. Run journal anyway<y>? no Clear journal<y>? no e2fsck: unable to set superblock flags on /dev/sdc2 在这里我两次都回答“否”,但是没有是/否的序列不会立即导致相同的结果。 可以挂载文件系统,并且在临时检查中看起来还可以;它在设备中也可以正常工作,这就是根文件系统(实际上,它不是很好,请参见注释; tldr一些无法恢复的损坏目录)。 我dd将分区(8 GB)分区为一个文件,并尝试了fsck。有趣的是: e2fsck 1.43.1 (08-Jun-2016) plush.rootfs: recovering journal Clearing orphaned inode 18290 (uid=0, gid=0, mode=0100644, size=34096) …
12 ext4  fsck  sd-card 

2
XF86MonBrightnessUp / XF86MonBrightnessDown特殊键不起作用
我正在尝试启用一些多媒体键,而那些音量键确实起作用。F5和F6,增加/减少的选项不起作用,我不知道为什么。当我在终端中运行时: xbacklight +10 我可以看到效果。当我尝试绑定的特殊键(设置为~/.config/i3/config)时: # Sreen brightness controls bindsym XF86MonBrightnessUp exec xbacklight -inc 20 # increase screen brightness bindsym XF86MonBrightnessDown exec xbacklight -dec 20 # decrease screen brightness 显然,媒体密钥必须与fn密钥结合使用。但是,我看不到效果。有什么办法吗?

1
free命令中的共享内存是什么意思?
输出的第四列free称为shared。在互联网上可以看到的大多数输出​​中,共享内存为零。但这不是我的计算机上的情况: $ free -h total used free shared buff/cache available Mem: 7,7G 3,8G 1,1G 611M 2,8G 3,0G Swap: 3,8G 0B 3,8G 这也是以下内容的摘录ps_mem.py: Private + Shared = RAM used Program --------------------------------- 21.4 MiB + 1.0 MiB = 22.4 MiB bash (9) 29.2 MiB + 5.3 MiB = 34.5 MiB Xorg 35.9 …
12 linux  memory  ram 

1
如何列出APT软件包已安装的所有文件?
我已经geoip-bin使用以下apt-get命令安装了软件包: sudo apt-get install geoip-bin 并且我想知道使用此软件包的命令行命令。 但是,当我尝试列出该geoip-bin软件包安装的文件时,试图找到可执行文件时,该文件未在dpkg -S输出中列出 % dpkg -S geoip-bin geoip-bin: /usr/share/doc/geoip-bin/changelog.Debian.gz geoip-bin: /usr/share/lintian/overrides/geoip-bin geoip-bin: /usr/share/doc/geoip-bin geoip-bin: /usr/share/doc/geoip-bin/copyright 经过一番研究,我了解到该软件包安装了command / executable /usr/bin/geoiplookup。因此,在这一点上,我现在知道该命令了,但是出于将来的目的,我想知道如何找出软件包安装的文件。 进行“反向”文件查找,dpkg -S表明该文件来自geo-ipbin程序包。 % dpkg -S /usr/bin/geoiplookup geoip-bin: /usr/bin/geoiplookup 我想知道是否dpkg -S未在输出中显示文件,因为它/usr/bin/geoiplookup是由的依赖项之一提供的geoip-bin。用eg查询依赖项,apt-cache show geoip-bin然后递归查询文件和子依赖项后,我仍然无法列出该包提供的文件geoip-bin。 如何生成软件包安装文件的完整清单?
12 apt  dpkg 

2
在bash vi模式下,将jk映射到退出插入模式
我正在使用bash shell重新安装ubuntu 16.04。我想做两件事: 设置vi模式,以便我可以在终端上进行类似vim的动作 通过键入退出插入模式 jk 我在另一篇文章中读到了如何做到这一点zsh,我该如何做到这一点bash? tl; dr 把bind '"jk":vi-movement-mode'到您的.bashrc文件后,set -o vi:) server@thinkpad:~$ tail -n 2 .bashrc set -o vi bind '"jk":vi-movement-mode' 请参阅@grochmal的答案以获取更详细的解释

1
什么是“?” 代表TTY
如果您ps在终端中运行,则可能会看到类似以下内容的内容: 什么?啊 我将ssh插入Linux服务器,因此我假设它就是CMDsshd下所说的,但是我很好奇表示我的终端实例正在考虑什么。?pts/1
12 ssh  process  tty  ps 

1
将F10传递到Gnome终端中的应用程序
我正在运行旧的Debian机器:发行商ID:Debian说明:Debian GNU / Linux 5.0.2(lenny)版本:5.0.2代号:lenny 我打开终端并在其中运行Midnight Commander。现在,我需要按F10退出。但是当我这样做时,我会得到终端菜单: 如何通过按F10来获取MC菜单而不是第一终端?

4
netcat不打印响应
我试图 在运行并键入命令时使用netcatand管道响应将命令发送到tcp端口,但它会正确打印响应,但是当我从管道传递命令时,它会正确发送命令但不显示响应 netcat 因此,这可以正常工作: netcat localhost 9009 虽然这只是发送命令,但不显示响应: echo 'my_command' | netcat localhost 9009 为什么? 如何netcat打印响应文本?
12 pipe  netcat 

1
当另一端关闭时,停止socat终止
我想将应用程序的输入和输出重定向到UNIX套接字,并从另一个会话连接到该套接字。到目前为止,我正在做以下事情: 在“服务器”端: socat EXEC:"command" UNIX-LISTEN:/tmp/comm 在“客户端”方面: socat UNIX-CONNECT:/tmp/comm - 它工作得很好,但是一旦客户端socat终止,服务器也会终止。但我希望它继续运行并在以后重新连接...我该如何实现?
12 socat 

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.