Unix & Linux

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


2
模拟“ make install”(模拟运行)或模拟器实用程序的运行?
是否有运行bash脚本和查看生成的命令的通用方法,而不是实际运行的命令-即“空运行” /各种模拟器? 我有一个我希望运行的数据库安装脚本(实际上是在运行./configure和make之后的“ make install”),但是它正在安装各种我不想要的东西。 因此,我希望有一种方法可以在真正运行它之前确切地了解它的作用-甚至可以手动运行命令。 是否有可以执行此类任务(或任何相关/相似)的实用程序?

2
在bash中的文件中执行原子写操作
通过庆典会后文件,这个问题,这一个它仍然不是很清楚,我哪能执行原子写入(追加)操作在bash文件。我有一个在多个实例中运行的脚本,有时必须将数据写入文件: echo "$RESULT" >> `pwd`/$TEMP_DIR/$OUT_FILE 如何使所有同时运行的脚本的所有写操作都变为原子文件(这样,一个实例中的数据不会与另一个实例中的数据重叠)?

3
使用debootstrap创建可启动的Debian映像
在过去的两天里,我一直在尝试创建可引导的debian(jessie / 8.4)映像,据我所知,我拥有正确的过程,但无法获得正确的文件系统。我相对确定我在这里做错了什么,因为安装或丢失了一些/etc/fstab((我的图像中没有)。我希望有经验的人能够帮助我/向我展示我所缺少的东西。 这是我启动qemu-system-x86时看到的错误: 作为文本,然后作为实际的屏幕截图: 错误: fsck: error 2 (No such file or directory) while executing fsck.ext2 for /dev/sda1 fsck exited with status code 8 [FAILED] Failed to start Load/Save Random Seed See `systemctl status systemd-random-seed.service` for details. [FAILED] Failed to start Various fixups to make systemd work better on …

3
编译内核时如何减小initrd的大小?
当我编译自己的内核时,基本上,我的工作是: 我从www.kernel.org下载源代码并解压缩。 我将以前.config的代码复制到源代码中,并执行make menuconfig来监视新选项并根据内核的新策略修改配置。 然后,我编译它: make -j 4 最后,我安装了它:su -c 'make modules_install && make install'。 经过几次测试,我从(/boot和/lib/modules)中删除了旧内核,并使用新内核完全运行(这最后一步挽救了我的性命!这是一个专业提示!)。 问题是/boot/initrd.img-4.x.x与发行版中的相比,我总是得到一个巨大的数字。这里以我当前/boot/目录的内容为例: # ls -alFh total 243M drwxr-xr-x 5 root root 4.0K Mar 16 21:26 ./ drwxr-xr-x 25 root root 4.0K Feb 25 09:28 ../ -rw-r--r-- 1 root root 2.9M Mar 9 07:39 System.map-4.4.0-1-amd64 -rw-r--r-- …

4
如何安装可执行文件
有时我会遇到不提供.deb或.rpm仅作为可执行文件提供的软件。 例如,Visual Studio Code,WebStorm或Kerbal Space Programm。 对于这个问题,我将以Visual Studio Code为参考。 该软件以压缩包的形式提供。 解压缩时,我剩下一个名为的文件夹VSCode-linux-x64,其中包含名为的可执行文件Code。 我可以Code在终端上双击或指向它/home/user/Downloads/VSCode-linux-x64/Code来执行它。 但是,我想知道是否有安装此应用程序的正确方法。 我要实现的是: 我可以放置以这种方式提供的所有应用程序/软件的地方(可执行文件) 终端支持(例如:这意味着:我可以vscode从终端中的任何文件夹进行写入,它将自动执行Visual Studio Code。 附加信息: 桌面环境:Gnome3 操作系统:Debian 编辑: 我决定给@kba答案,因为他的方法与我的备份解决方案配合使用效果更好。让脚本执行二进制文件使您可以添加参数。 但公平地说,@ John WH Smith的方法与@kba一样好。

4
使用VPN将端口转发到网络名称空间中的应用程序
我能够设置网络名称空间,使用openvpn建立隧道,并启动在名称空间内使用此隧道的应用程序。到目前为止,一切都很好,但是可以通过Web界面访问此应用程序,但我不知道如何将请求路由到LAN内部的Web界面。 我遵循了@schnouki的指南,解释了如何设置网络名称空间并在其中运行OpenVPN。 ip netns add myvpn ip netns exec myvpn ip addr add 127.0.0.1/8 dev lo ip netns exec myvpn ip link set lo up ip link add vpn0 type veth peer name vpn1 ip link set vpn0 up ip link set vpn1 netns myvpn up ip addr add 10.200.200.1/24 …

3
WiFi:“ iw reg set US”无效
在尝试诊断WiFi丢失的过程中,我发现WiFi接口上的管制域设置为“世界”(00),并将其更改为我的地区(美国)应该可以解决此问题。但是,我所做的每一次尝试都被忽略了。 跑步iw reg set US没有明显的效果: $ iw reg get country 00: DFS-UNSET (2402 - 2472 @ 40), (6, 20), (N/A) (2457 - 2482 @ 40), (6, 20), (N/A), PASSIVE-SCAN (2474 - 2494 @ 20), (6, 20), (N/A), NO-OFDM, PASSIVE-SCAN (5170 - 5250 @ 160), (6, 20), (N/A), PASSIVE-SCAN (5250 - …
13 wifi 

2
为什么需要PulseAudio?
我正在阅读并试图理解为什么有人要使用Pulse Audio,但我却听不懂。我读了这个https://www.linux.com/news/hardware/drivers/8100-why-you-should-care-about-pulseaudio-and-how-to-start-doing-it,但我仍然没有令人信服的答案。我设置了一个声卡。(我不需要多路复用来自多个声卡的声音)。我知道所有应用程序都是用不同的API,ALSA,OSS,JACK等编写的。因此,如果我将所有这些框架配置为通过脉冲音频路由声音,那么相对于允许所有这些框架直接与声卡通信,我有什么好处?司机?另外,我看不到Pulse Audio拥有自己的应用程序API。所以我仍然需要选择一个框架(例如ALSA)。谢谢

2
Shell有效的函数名称字符
对于许多用户来说,使用扩展的Unicode字符是(毫无疑问)有用的。 更简单的shell(灰(busybox),破折号)和ksh会因以下原因而失败: tést() { echo 34; } tést 但是bash,mksh,lksh和zsh似乎允许这样做。 我知道POSIX 有效函数名称使用此Names定义。这意味着此正则表达式: [a-zA-Z_][a-zA-Z0-9_]* 但是,在第一个链接中还说: 一个实现可以允许函数名称中的其他字符作为扩展名。 问题是: 是否接受并记录了此文件? 哪里? 对于哪些壳(如果有)? 相关问题: 它可能在shell函数名称中使用特殊字符吗? 我对在函数名称中使用元字符(>)不感兴趣。 包含“-”的upstart和bash函数名称 我不认为运算符(减号“-”)应该是名称的一部分。
13 bash  shell  zsh  function 

1
如何获取有关套接字文件的更多信息?
对于这样的套接字文件: # ls -alti socket 14112 srw------- 1 root root 0 Nov 15 20:03 socket # cat socket cat: socket: No such device or address 由于cat命令在这里没有用,是否有任何方法可以获取有关套接字文件的更多信息?例如正在侦听哪个端口?等等

5
如何从JSON文件提取数据
我有bin在寻找解决方案来解决我的问题,但找不到或更好的说我没有得到所找到的解决方案。因此,让我们谈谈我的问题是什么。我在Raspberry Pi上使用了智能家居控制软件,正如本周末我发现的那样,我可以使用pilight-receive来捕获室外温度传感器的数据。pilight-receive的输出如下所示: { "message": { "id": 4095, "temperature": 409.5 }, "origin": "receiver", "protocol": "alecto_wsd17", "uuid": "0000-b8-27-eb-0f3db7", "repeats": 3 } { "message": { "id": 1490, "temperature": 25.1, "humidity": 40.0, "battery": 1 }, "origin": "receiver", "protocol": "alecto_ws1700", "uuid": "0000-b8-27-eb-0f3db7", "repeats": 3 } { "message": { "id": 2039, "temperature": 409.5 }, "origin": "receiver", …

4
创建文件夹已经存在时,mkdir -p完全安全吗
说我有一个文件夹: ./folder/ 里面有很多文件,甚至还有子目录。 当我执行时: mkdir -p folder 我什至不会看到任何错误,甚至是警告。因此,仅想确认一下,此命令是否会丢失或更改任何内容?
13 mkdir 

2
有没有办法从google-chrome中的当前标签获取网址?
我曾经使用python命令在firefox上执行此操作,但是最近发生了一些变化,无法再获取URL! 使用Firefox的工具: #!/bin/bash current_tab_num () { python2 <<< $'import json\nf = open("/home/username/.mozilla/firefox/xxxxx.default/sessionstore.js", "r")\njdata = json.loads(f.read())\nf.close()\nprint str(jdata["windows"][0]["selected"])' } current_tab_url () { sed -n "$(current_tab_num)p" <(python2 <<< $'import json\nf = open("/home/username/.mozilla/firefox/xxxxx.default/sessionstore.js", "r")\njdata = json.loads(f.read())\nf.close()\nfor win in jdata.get("windows"):\n\tfor tab in win.get("tabs"):\n\t\ti = tab.get("index") - 1\n\t\tprint tab.get("entries")[i].get("url")') } current_tab_url 谁能告诉我如何在Firefox和/或Chrome中执行此操作? 注意:我不了解python,我只是在某个地方找到了这些命令,并在bash中使用了它们!

1
XXD输出,无换行
我可以告诉我xxd不要在输出中打印任何换行符并将转储作为连续的一行吗? [user@localhost] : ~ $ echo -n "this is a long line and xxd is going to take multiple lines to print it" | xxd -p 746869732069732061206c6f6e67206c696e6520616e6420787864206973 20676f696e6720746f2074616b65206d756c7469706c65206c696e657320 746f207072696e74206974
13 xxd 

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.