Unix & Linux

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

2
我如何查看组的成员?[关闭]
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加详细信息并通过编辑此帖子来澄清问题。 3年前关闭。 我需要查看与oracle安装相关的组的成员。
17 linux  group 

3
用纯Bash编写程序有多复杂?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 3年前关闭。 经过一些快速的研究,看来Bash 是图灵完备的语言。 我想知道,为什么Bash几乎专门用于编写相对简单的脚本?由于Bash Shell随Linux一起提供,因此您可以运行Shell脚本,而无需任何其他外部解释器或编译器,这是其他流行的计算机语言所必需的。这是一个巨大的优势,在某些情况下可以弥补语言本身的平庸性。 那么,此类程序的复杂程度是否有限制?纯Bash是否用于编写复杂程序?可以用纯Bash编写文件压缩器/解压缩器吗?编译器?一个简单的视频游戏? 仅仅因为调试工具非常有限而使用稀疏吗?


4
允许用户运行带有参数的命令(其中包含空格)
我想允许一个用户运行grep(通过sudo),并在一个特定文件中为一个特定字符串进行grep。我不想让该用户能够在所有文件上运行grep。用户没有对该文件的读取访问权限,因此需要使用sudo。我正在尝试编写nagios检查,以检查计算机上另一项服务的日志文件。 但是它不起作用,sudo不断要求输入密码。 我的命令是:(sudo grep "string I want (" /var/log/thefilename.log是的,(我要grep的字符串中有一个原始字符和一些空格) /etc/sudoers.d/user-can-grep 具有以下内容: user ALL=(root) NOPASSWD: /bin/grep "string I want (" /var/log/thefilename.log 此sudoers文件由拥有root:root并拥有权限-r--r----- 该服务器是Ubuntu Trusty 14.04.3 LTS。 我该如何进行这项工作?
17 sudo 

1
遍历存储在变量中的多行字符串
我读到写这样的东西很不好,for line in $(command)相反,正确的方法似乎是: command | while IFS= read -r line; do echo $line; done 这很好。但是,如果要迭代的是变量的内容而不是命令的直接结果,该怎么办? 例如,假设您创建以下文件quickfox: The quick brown foxjumps\ over - the lazy , dog. 我希望能够做这样的事情: # This is just for the example, # I could of course stream the contents to `read` variable=$(cat quickfox); while IFS= read …
17 bash  read 

1
Arch Linux grub安装错误“ airootfs”
我正在关注官方安装教程。一切顺利,直到启动加载程序部分为止。 我遇到了错误 /usr/bin/grub-probe: error: failed to get canonical path of 'airootfs'. 执行命令时与此问题相同: grub-mkconfig -o /boot/grub/grub.cfg 我在VirtualBox上安装了arch,并逐步遵循了官方的Wiki教程GRUB部分。 我可以成功启动到grub,但是我只能看到grub外壳。可以推断,自从生成grub配置文件的步骤以来,它就脱轨了。希望我的信息对您有所帮助。 顺便说一句,实际上,我在上一步中也遇到了此错误-安装grub grub-install --target=i386-pc /dev/sda 我添加了根目录参数,它继续运行而没有出现错误。 grub-install --root-directory=/mnt /dev/sda 我这样做是因为我在/ mnt上安装了我的主要Linux分区/ dev / sda3,但在grub-mkconfig中没有供我使用的任何根目录或引导目录参数。 这是fdisk实用程序显示的分区表: 多谢。问候。

2
高内存使用率,但没有进程在使用它
我free -m在Hyper-V上运行的Debian VM上运行: total used free shared buffers cached Mem: 10017 9475 541 147 34 909 -/+ buffers/cache: 8531 1485 Swap: 1905 0 1905 因此,在我的10GB内存中,有8.5GB正在使用,只有1500MB可用(不包括缓存)。 但是我很难找到正在使用内存的东西。的输出ps aux | awk '{sum+=$6} END {print sum / 1024}'(应该将RSS利用率相加)为: 1005.2 换句话说,我的进程仅使用1GB的内存,而整个系统(不包括缓存)使用8.5GB。 其他7.5GB可能会使用什么? ps:我有一台配置类似的服务器,显示使用过的mem为1200(免费mem = 8.8GB),ps中的RSS使用总和为900,这与我的预期更接近... 编辑 cat /proc/meminfo 在机器1(低内存)上: MemTotal: 10257656 kB MemFree: 395840 …
17 linux  debian  memory 

1
如何更改LUKS密码?
我想更改一个LUKS密码。我想删除旧密码,但想在删除原始密码之前尝试使用新密码。我显然知道旧密码。我想使用终端而不是GUI。 我在驱动器上有敏感数据,宁愿不必使用备份,因此我需要安全的方法。

3
使用大括号语法curl下载多个文件
我正在尝试通过以下语法下载两个文件: curl -O http://domain/path/to/{file1,file2} 问题在于,实际上只有第一个文件保存在本地,而第二个文件只是简单地打印到stdout。 我确实意识到,如果我添加一个,-O它就可以正常工作: curl -OO http://domain/path/to/{file1,file2} 但是,如果文件数量增加太多,这不切实际吗?例如, curl -O http://domain/path/to/file[1,100] 我的问题是,真的没有办法一次下载多个单个文件curl(而没有添加正确数量的-O)?
17 curl 

3
来宾添加“无法找到程序” Kali Linux 2.0
问题:尝试在Kali linux中安装来宾添加项时,发生以下错误。 糟糕!运行该软件时出现问题。无法找到程序 在Virtual Box 4.3.32中全新安装Kali Linux 2.0之后,就会发生这种情况 为获取此错误而采取的措施: Virtualbox -> Devices -> Insert Guest Additions CD image 然后从Kali Linux GUI发出消息 “ VBOXADDITIONS_4.3.32_103443”包含旨在自动启动的软件。您要运行它吗? 选择运行,然后发生错误 如何解决这个问题呢?原因是什么?

2
查找早于15秒但早于2秒的文件
我想查找早于15秒但早于2秒的文件。这是我当前正在使用的脚本,该脚本可捕获15秒以上的文件: find /my/directory -name '*.jpg' -not -newermt '-15 seconds' 任何帮助是极大的赞赏
17 bash  find 


2
硬链接创建-权限?
哪些权限会​​影响硬链接的创建?文件所有权本身重要吗? 假设用户alice想target.txt在目录中创建到文件的硬链接target-dir。 和都alice需要哪些权限?target.txttarget-dir 如果target.txt是由用户拥有bill和target-dir被用户所拥有chad,它改变什么? 我试图模拟这种情况,在ext4文件系统中创建以下文件夹/文件结构: #> ls -lh . * .: drwxr-xr-x 2 bill bill 60 Oct 1 11:29 source-dir drwxrwxrwx 2 chad chad 60 Oct 1 11:40 target-dir source-dir: -r--r--r-- 1 bill bill 0 Oct 1 11:29 target.txt target-dir: -rw-rw-r-- 1 alice alice 0 Oct 1 11:40 dummy 虽然alice可以创建到的软链接target.txt,但她不能创建硬链接: …

4
如何使用变量作为大小写条件?
我试图使用由具有分离的不同的字符串变量|作为case语句测试。例如: string="\"foo\"|\"bar\"" read choice case $choice in $string) echo "You chose $choice";; *) echo "Bad choice!";; esac 我希望能够输入foo或bar执行case语句的第一部分。然而,无论是foo和bar带我去第二: $ foo.sh foo Bad choice! $ foo.sh bar Bad choice! 使用"$string"而不是$string没有区别。都不会使用string="foo|bar"。 我知道我可以这样: case $choice in "foo"|"bar") echo "You chose $choice";; *) echo "Bad choice!";; esac 我可以想到各种解决方法,但我想知道是否有可能case在bash中将变量用作条件。有可能吗?

2
杀死一个暂停的进程?
我对以下内容感到有些困惑: % vim tmp zsh: suspended vim tmp % kill %1 % jobs [1] + suspended vim tmp % kill -SIGINT %1 % jobs [1] + suspended vim tmp % kill -INT %1 % jobs [1] + suspended vim tmp 因此,我辞职只是“自己动手做”,想知道以后为什么这样做: % fg [1] - continued vim tmp Vim: Caught …

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.