Unix & Linux

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

4
如何将密码传递给子进程?
已知在命令行上(从我的程序启动的子进程中)传递密码是不安全的(因为即使使用ps命令的其他用户也可以看到密码)。可以将其作为环境变量传递吗? 我还能通过什么?(除了环境变量),最简单的解决方案似乎是使用管道,但是这种最简单的解决方案并不容易。 我在Perl中编程。

6
如何使用VLC流式传输到Chromecast?
我刚刚下载了VLC 3.0 Beta(使用ubuntu ppa),我想知道如何设置它以流式传输到chromecast。该功能已在回购的新闻中添加。众多新闻媒体对此进行报道。但是,还没有如何实际使用它的示例。 我知道它不在GUI中(已经搜索了源代码)。而且,我不知道如何从命令行使用代码。 这是我用来安装它的Ubuntu PPA。但是,没关系。操作系统或系统也不重要。这只是软件。您可以自己构建它,也可以在此处下载二进制文件(“每晚”)。
18 vlc  chromecast 

2
如何从命令行连接到wifi?
我正在使用基于Debian的Linux Kali的最新版本。可能是XY问题,因为主要问题是登录系统后出现黑屏和鼠标指针。互联网上有人建议我更换窗口管理器。 但由于无法连接到wifi,因此无法执行此操作。 我在这里找到了教学方法 我试图一步一步地做,但是对我来说不起作用。在该作者写的那篇教程中,我需要使用命令ip link set wlan0 ip来打开wifi接口。在他的示例中,输出看起来像这样 root@kali:~# ip link show w lan0 4: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN mode DORMANT qlen 1000 link/ether 00:60:64:37:4a:30 brd ff:ff:ff:ff:ff:ff root@kali:~# ip link set wlan0 up root@kali:~# ip link show wlan0 4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq …

1
为什么将抑扬/插入符号用作Ctrl的符号?
我很早以前就开始使用Linux控制台,但是我从来没有问过自己关于抑扬号(^。)的字符()的问题。我想问一下为什么用它代替了这个词Ctrl。 前几天,我在使用nano的时候就想到了这一点,我还搜索了互联网上是否有答案,但发现的只是关于“它是什么”和“它代表什么”的问题。 有历史原因吗?还是来自某种奇怪的约定?

3
如何将makefile中给定的依赖关系显示为树?
问题 我想查看makefile的一个或多个目标的依赖关系。因此,我正在寻找一个程序,该程序可以解析makefile,然后以树状格式(缩进,ascii-art,...)或图形(点,...)表示依赖项。 类似 有一些程序可以在其他情况下执行此操作: pactree或btreeree可以树状格式(例如ascii格式)或dot图形形式显示相应格式软件包的依赖关系, gcc -M source_file.c 将C源文件的依赖性显示为生成规则, pstree显示进程树的ascii表示。 进展 在网上搜索时,我发现没有什么帮助。那导致我尝试 make --always-make --silent --dry-run some_target | \ grep --extended-regexp 'Considering target file|Trying rule prerequisite' 但看起来我必须在perl或python中破解一些其他解析代码,才能将其表示为漂亮的树/图。而且我还不知道我是否真的会以这种方式获得完整正确的图表。 要求 最好以某种方式限制图形(没有内置规则,只有给定的目标,只有一定的深度),但是在大多数情况下,我只是在寻找一种工具,该工具将给我一些“合理的”,人类的依赖关系。 -可见格式(例如“相似”下的程序)。 问题 是否有任何程序可以做到这一点? 我会从中获得完整和正确的信息make -dnq ...吗? 有没有更好的方法来获取此信息? 是否已经存在用于解析此信息的脚本/尝试?


1
为什么在mkfs.vfat中使用“ v”?
我读了一篇互联网文章,使用以下命令将分区格式化为FAT32: sudo mkfs.vfat -F 32 /dev/sdXn 现在,我阅读了手册页mkfs.vfat,它显示mkfs.fat为不带的命令名称v。之后,我尝试不使用格式化分区,v并且可以正常使用。为什么有一个同义命令mkfs.vfat而不是just mkfs.fat? 编辑:哦,并且在man mkfs mkfs.vfat列出而不是mkfs.fat在“另请参阅”。

2
如何在Jenkins的Docker容器中运行构建
我正在尝试使用Jenkins在Docker容器中构建C ++项目。我在Jenkins或在Jenkins之外的容器中构建都没有问题。 下面是我尝试过的。为了清楚起见,我省略了卷映射。 情况1 以下命令在外壳中成功运行了构建。 docker run --rm --interactive=true --tty=true $IMAGE make 但是,当在Jenkins中作为“执行外壳程序”步骤运行时,Docker返回以下错误。 cannot enable tty mode on non tty input 情况二 以下命令与上一个命令相似,但是禁用了交互性。 docker run --rm $IMAGE make Jenkins可以成功运行构建。但是,中止构建时存在严重问题。该构建立即被标记为已中止,但是容器一直运行直到构建完成。退出后,也不会移除容器。 在shell中运行时,命令会成功构建,但是无法中断它。退出后,容器也将被取出。 题 有谁知道如何在Jenkins的Docker容器中干净地运行构建并保留中止构建的功能吗? 不能选择使用任何Jenkins插件,因为Docker调用位于脚本内并且无法轻松提取。
18 tty  docker  pty  jenkins 

4
符合checkbashisms的方法来确定当前shell
在我的文章中.profile,我使用以下代码来确保仅在登录shell实际上是Bash时才获得与Bash相关的别名和函数: # If the current (login) shell is Bash, then if [ "${BASH_VERSION:-}" ]; then # source ~/.bashrc if it exists. if [ -f "$HOME/.bashrc" ]; then . "$HOME/.bashrc" fi fi 我目前正在将我的shell配置文件,脚本和函数置于版本控制之下。我也最近开始去除shell脚本不从击的特定功能中受益,如休闲bash化,更换的过程中function funcname()有funcname()。 对于我的shell文件存储库,我已经配置了一个预提交钩子,该存储库中的每个文件都运行checkbashismsDebian的devscripts包中的实用程序,sh以确保我不会无意中引入Bash特定的语法。但是,这给我带来了一个错误.profile: possible bashism in .profile line 51 ($BASH_SOMETHING): if [ "${BASH_VERSION:-}" ]; then 我想知道是否有一种方法可以检查正在运行的shell,而不会触发checkbashisms。 我检查了POSIX列出的与外壳相关的变量的列表,希望它们中的一个可以用来显示当前的外壳。我还查看了在交互式Dash shell中设置的变量,但是,再次找不到合适的候选对象。 目前,我已经排除.profile因被处理checkbashisms; …

2
如何将文件存储在已安装的共享文件夹中?
我在Ubuntu主机上运行Fedora Workstation虚拟机。 我/home/cl/share在guest 虚拟机中创建了一个文件夹,并/media/cl/system/virtual/share按照linux-kvm的说明将共享文件夹作为root 挂载: mount -t 9p -o trans=virtio,version=9p2000.L /host /home/cl/share 我可以从共享文件夹访问(读取)文件和文件夹,但无法对其进行写入。 一个例子:我试图将文件保存到文件mount-share.txt夹/home/cl/share。 这两个文件夹(主机和来宾)都具有读写权限,但是我仍然收到错误 Error opening file '/home/cl/share/mount-share.txt': Operation not permitted. 主机操作系统:Ubuntu 15.10桌面64位 来宾操作系统:Fedora 23工作站64位 虚拟化软件: qemu qemu-kvm virt-manager 主机系统位置:1个内置SSD-ext4格式 虚拟存储位置:第2个内置HDD-NTFS格式 共享文件夹位置:第2个内置HDD-NTFS格式 如何在来宾和主机之间共享目录,并允许来宾进行读写访问? sudo chmod a+x /media/cl并sudo chmod -R 777 /media没有改变这种情况。 访客系统: ls -la /home/cl/share total 16 drwxrwxrwx. 1 …
18 kvm  qemu  virt-manager 

3
nmap只能显示打开特定端口的主机吗?
可以nmap列出局域网中同时打开SSH和HTTP的所有主机吗?为此,我可以运行以下命令: nmap 192.168.1.1-254 -p22,80 --open 但是,此列表列出了所有列表端口都打开的主机,而我希望所有端口都打开的主机。另外,输出非常详细: # nmap 192.168.1.1-254 -p22,80 --open Starting Nmap 6.47 ( http://nmap.org ) at 2015-12-31 10:14 EST Nmap scan report for Wireless_Broadband_Router.home (192.168.1.1) Host is up (0.0016s latency). Not shown: 1 closed port PORT STATE SERVICE 80/tcp open http Nmap scan report for new-host-2.home (192.168.1.16) Host …
18 ip  tcp  scanner  nmap 

5
在文件中写入“时间”的输出,为什么需要括号?
time写入stderr,因此可以假设添加2>&1到命令行应该将其输出路由到stdout。但这不起作用: test@debian:~$ cat file one two three four test@debian:~$ time wc file > wc.out 2>&1 real 0m0.022s user 0m0.000s sys 0m0.000s test@debian:~$ cat wc.out 1 4 19 file 仅在括号中有效: test@debian:~$ (time wc file) > wc.out 2>&1 test@debian:~$ cat wc.out 1 4 19 file real 0m0.005s user 0m0.000s sys 0m0.000s 在这种情况下为什么需要括号?为什么不time …

3
[[$ {1:0:1}“ ='-']的含义
我有以下脚本来启动MySQL进程: if [ "${1:0:1}" = '-' ]; then set -- mysqld_safe "$@" fi if [ "$1" = 'mysqld_safe' ]; then DATADIR="/var/lib/mysql" ... 1:0:1在这种情况下是什么意思?
18 linux  bash  shell 

1
Postfix邮件日志始终显示“未设置NIS域”
我只是使用Postfix和Dovecot设置了一个新的电子邮件服务器。我一直在进行故障排除,并且该行一直显示在我的日志中(特别是mail.info和mail.log)。什么是NIS域,如何解决该问题? postfix/smtpd[6107]: warning: dict_nis_init: NIS domain name not set - NIS lookups disabled
18 logs  postfix 

2
使用虚拟机开发/测试Linux模块是否安全?
我在操作系统课上。即将来临,我们必须做一些修改内核代码的工作。建议我们不要使用个人计算机进行测试(我想这意味着要安装它),因为我们可能会编写错误的代码,并在不应该编写的地方进行编写。为了安全起见,我们可以访问实验室中的机器。 如果要使用VM进行测试,是否可以保护主机系统免受潜在的不安全代码的侵害?我真的不想不必在学校呆在某个系统上,快照会很有用。 如果仍然是高风险,那么我需要考虑哪些建议以进行安全测试? 我们将使用类似linuxmint的东西开始。如果有人想查看当前项目中的内容,请访问:http : //www.cs.fsu.edu/~cop4610t/assignments/project2/writeup/specification.pdf

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.