Unix & Linux

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


2
Linux如何知道哪个USB硬盘是哪个?
目前,我的PC上安装了Linux Mint,并且USB硬盘驱动器分区安装为/home。这运作良好。 如果我安装了第二个USB硬盘驱动器,那么Linux是否有可能在两者之间造成混淆,并尝试/home在启动时挂载第二个硬盘驱动器的分区?那将是不好的。 来自Windows,我已经看到经常发生这样的情况:未正确“记住”驱动器号,从而导致各种问题。 我想主要的问题是:Linux如何真正知道哪个USB硬盘是/dev/sdb哪个/media/misha/my_2nd_drive?

3
我的Linux二进制文件可以在所有发行版上使用吗?
我找到了一个很好的替代Delphi的IDE,叫做Lazarus。但是我对程序员没有问题。 请问静态链接上的所有Linux发行版的Linux二进制工作?也就是说,在我构建的Linux发行版上都没有关系,它可以在Debian / ArchLinux / Ubuntu / OpenSUSE / ...上运行。 根据我的发现,真的只有32位与64位有关系吗?在发布之前,我想确定一下。

2
将grep输出重定向到/ dev / null有什么意义?
考虑这一行: ${libdir}/bin/licenseTool check "${SERIAL}" "${VERSION}" "${PRODUCT}" ${libdir} | grep '^200' >/dev/null 什么是寻找在输出模式如果结果的点是被扔掉? 而且,如果这样的行在bash脚本中最后显示,它的退出值是返回给脚本的调用者还是被忽略了?(我正在推测我们是否可以假设这仅是出于副作用而已,还是以某种方式将某些内容返回给调用者。)

2
如何使zsh“正确”功能记住我的拼写更正决定
我已经启用校正(我不会把它自动更正在zsh中通过启用特别是因为这个问题)setopt correct我.zshrc。 现在,当我输入dtae一个终端时,我得到: dtae zsh: correct 'dtae' to 'date' [nyae]? y Tue Mar 31 11:39:31 CEST 2015 此时,我希望zsh记住我的决定。因此,下次输入时,dtae它应该自动更正为date[1]。但是,这不会发生,zsh再次问我该怎么做: dtae zsh: correct 'dtae' to 'date' [nyae]? [1]当然,除非当时存在一个实际的dtae命令或别名。 更新: 我设法修改了zsh源代码(file utils.c,function spckword)以创建一个自定义文件,其中包含通过调用zsh的“正确”功能自动创建的别名: 原版的: if (x == 'y' || x == ' ' || x == '\t') { *s = dupstring(best); if (hist) …

3
如何在sed的正则表达式中使用[\ w] +?
我在Windows上,但我想我的问题仍然正确地放在这里。 C:\Users\User>grep --version GNU grep 2.6.3 C:\Users\User>sed --version GNU sed version 4.2.1 我注意到以下工作原理(输出here): echo here | grep -E "\w+" echo here | grep -E "[her]+" 但是,这不起作用(不输出任何内容): echo here | grep -E "[\w]+" 再次这样做(输出here): echo here | grep -P "[\w]+" 我想这[\w]是Perl正则表达式特有的。那是对的吗? 所以,让我们谈谈sed。这有效(输出gone): echo here | sed -r "s/\w+/gone/" echo here | …

1
所有者/根和RUID / EUID之间的区别
我对问题中提到的概念还比较陌生,从不同的来源阅读它们只会使它们更加混乱。所以这是我到目前为止所了解的: 当我们获得文件权限时,它们如下所示: -rwsr-xr-- 1 user1 users 190 Oct 12 14:23 file.bin 我们假设用户user2谁是该组中users试图执行file.bin。如果未设置setuid位,则意味着的RUID和EUID file.bin等于的UID user2。但是,由于设置了setuid位,这意味着RUID现在等于的UID user2,而EUID是文件所有者的UID user1。 我的问题是: 文件的所有者和之间有什么区别root?是否root具有与所有者相同的权限?还是在权限列表中需要一个单独的条目root? RUID和EUID之间的区别? 据我了解,RUID和EUID仅适用于进程。如果是这样,为什么它们具有用户ID的值? 如果RUID是创建流程的用户,而EUID是当前正在运行流程的用户,则此问题中第一个答案的第一句话对我来说没有任何意义。 我是否正确理解setuid位的作用?

3
查看用户列表
我想看看我的系统上有多少用户。如何查看系统上所有用户的列表?
24 users 

3
从Shell重命名当前目录-可以吗?
是否可以从外壳中重命名当前工作目录(在我的特殊情况下为Bash)?如果我尝试以简单的方式执行此操作,则会导致错误: nathan@nathan-desktop:/tmp/test$ mv . test2 mv: cannot move ‘.’ to ‘test2’: Device or resource busy 还有另一种方法可以在不更改当前目录的情况下执行此操作吗?我意识到可以轻松地通过更改到父目录来完成此操作,但是我很好奇是否有必要。毕竟,如果我从另一个外壳程序重命名目录,那么以后仍然可以在原始外壳程序中创建文件。
24 shell  rename 

4
解决大型GZIPPED文件未压缩大小的最快方法
压缩文件后,有一种方法可以快速查询该文件,以说出未压缩文件的大小(不解压缩),尤其是在未压缩文件的大小> 4GB的情况下。 根据RFC https://tools.ietf.org/html/rfc1952#page-5,您可以查询文件的最后4个字节,但是如果未压缩的文件大于4GB,则该值仅代表uncompressed value modulo 2^32 也可以通过运行检索此值gunzip -l foo.gz,但是“未压缩”列仅包含uncompressed value modulo 2^32一次,大概是因为它如上所述读取了页脚。 我只是想知道是否有一种无需先解压缩即可获取未压缩文件大小的方法,这在压缩文件包含50GB +数据并且使用诸如 gzcat foo.gz | wc -c 编辑: 4GB限制已在OSX()随附man的gzip实用程序页面中公开确认Apple gzip 242 BUGS According to RFC 1952, the recorded file size is stored in a 32-bit integer, therefore, it can not represent files larger than 4GB. This limitation …
24 compression  gzip 

1
在虚拟终端中键入X时,可以在X上的另一个程序捕获我的root密码吗?
通常,我只在Linux机器上安装开源程序,因为我不信任封闭源应用程序。最近,我不得不将Dropbox用于大学项目。我创建了一个单独的名为work的 linux帐户,并在不通过python脚本进行安装的情况下运行(作为work) dropbox。该脚本还在系统托盘中创建了一个符号,该符号为Dropbox的某些功能提供了GUI。 前几天,我必须进行一些维护,因此打开了一个虚拟终端(在KDE上为konsole)并输入了su的根密码。 Dropbox应用程序是否有可能捕获了我的root密码? 我将Fedora 20与KDE 4.14.3一起使用。
24 security  x11  xorg  keyboard 

7
有没有办法只为命令的指定选项查看`man`文档
如果我想知道的含义wget -b,请参阅的手册man wget,然后搜索该-b选项。 -b --background Go to background immediately after startup. If no output file is specified via the -o, output is redirected to wget-log. 我想通过类似的命令获得结果man wget -b。(当然,这是行不通的。) 有没有类似的方法可以实现?
24 man  options 

2
服务与systemctl脚本-可以使用
在Fedora中,我们有'systemctl'和'service'脚本。似乎服务在内部调用systemctl。那么Fedora通过服务systemctl或service设施启动或停止服务的正确/正确方法是什么?可能需要记住一些细微差别?
24 fedora  systemd 

3
/ etc / fstab中的_netdev挂载选项如何工作?
我想知道什么是用于安装推迟到以后的网络接口是向上的确切机制(实现)当人们使用_netdev的选项/etc/fstab? 会systemd改变这种行为吗? 另外,delay_connectsshfs的选项提供了什么_netdev,而没有提供什么呢? 从mount 手册页: _netdev 文件系统驻留在需要网络访问的设备上(用于防止系统尝试在系统上启用网络之前挂载这些文件系统)。 从sshfs 手册页: -o delay_connect 延迟与服务器的连接

2
每个进程专用文件系统挂载点
我正在检查unshare命令,并根据它的手册页, unshare - run program with some namespaces unshared from parent 我还看到其中列出了一种名称空间, mount namespace mounting and unmounting filesystems will not affect rest of the system. 此装载名称空间的确切用途是什么?我试图借助一些示例来理解这个概念。

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.