Unix & Linux

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

3
系统文件应该小写吗,这是任何标准的一部分(例如POSIX)吗?
我公司转售了一个品牌名称为大小写混合的应用程序,例如“ ApplicationName”。 应用程序的安装程序会在此标准中创建所有路径和文件名。例如,主目录是/opt/ApplicationName,调用了init文件,ApplicationName因此我必须运行service ApplicationName status,依此类推。 对我来说,这违反了所有明智的约定,我认为文件和目录应该全部使用小写(在其他应用程序中(例如MySQL)有先例,MySQL的文件和目录都被称为mysql,甚至像Apache和Tomcat这样的应用程序都取消了前面的内容大写字母)。 如果我将其作为错误报告提出,我想提出一个更有力的论据,而不仅仅是“我认为这是错误的”。那么,是否在类似POSIX标准的文件中规定类似的系统文件应为小写?

3
导航文件系统时,Unix如何跟踪用户的工作目录?
假设我登录到UNIX系统上的Shell并开始点击命令。我最初从用户的主目录开始~。我可能会从那里cd到目录Documents。 此处更改工作目录的命令非常直观直观:父节点具有可以访问的子节点列表,并且大概使用搜索的(优化)变体来定位子节点的存在。输入用户输入的名称,然后“更改”工作目录以匹配此名称-如果我在那里输入错误,请更正我。甚至可能更简单,shell只是简单地“天真”地尝试完全按照用户的意愿尝试访问目录,并且当文件系统返回某种类型的错误时,shell会相应地显示响应。 但是,我感兴趣的是,当我向上浏览目录时,即到父级或父级的父级,相同的过程是如何工作的。 给定我未知的(可能是“盲目的”位置)Documents,即整个文件系统树中许多具有该名称的目录之一,Unix如何确定下一步应该放置的位置?它是否参考pwd并检查了?如果是,如何pwd跟踪当前的导航状态?
29 filesystems  pwd 

4
如何取消链接(删除)为文件夹创建的特殊硬链接“。”?
在Linux上,当您创建文件夹时,它会自动创建两个指向相应inode的硬链接。一个是您要创建的文件夹,另一个是该.文件夹的特殊文件夹。 例: $ mkdir folder $ ls -li total 0 124596048 drwxr-xr-x 2 fantattitude staff 68 18 oct 16:52 folder $ ls -lai folder total 0 124596048 drwxr-xr-x 2 fantattitude staff 68 18 oct 16:52 . 124593716 drwxr-xr-x 3 fantattitude staff 102 18 oct 16:52 .. 如您所见,folder和.的内部folder都有相同的inode编号(与-ioption一起显示)。 无论如何,有没有删除这个特殊的.硬链接? 仅用于实验和好奇心。 另外,我猜答案也可能适用于..特殊文件。 …

3
从ssh会话运行的程序是否取决于连接?
从ssh会话运行的程序是否取决于与客户端的连接?例如,当连接确实很慢时。因此,它是否主动等待直到在屏幕上打印出东西? 并且,如果它确实取决于连接,它是否还会在屏幕或byobu上发生?由于有了这些,即使从主机断开连接,程序仍保持运行。 注意:我仅发现以下相关问题: 暂时断开ssh会话会影响正在运行的程序吗? 连接断开后,通过ssh进行的屏幕会话会怎样?
29 ssh  tty  job-control 

2
如何使用Windows创建可启动的Debian USB驱动器
我正在运行Windows 10,并且开始学习如何从USB设备引导。 我有一个16GB的USB(USB 3.0)驱动器,我想执行以下操作: 使16GB USB驱动器运行Debian Linux。 将Windows 10保留在我的C:驱动器上。 不分区我的硬盘驱动器或设置双启动。 从我的USB驱动器运行操作系统。 让我所有的文件和程序都保存到USB中(因此,我认为不适合使用实时操作系统)。它应该像保存文件一样是双重引导。 使它可以在插入的任何计算机上运行(假设BIOS兼容)。 我已经知道如何从BIOS中的USB引导,但是不能确定从何处获取ISO文件以及如何将其安装到USB。

4
“ _ =”是什么意思?
运行后set -a var=99,我可以在输出中找到一个句子set: ... TERM=xterm UID=0 USER=root VIRTUAL_ENV_DISABLE_PROMPT=1 _=var=99 colors=/etc/DIR_COLORS ... 谁能告诉我“ _ =”是什么意思? 我注意到那echo $var将什么也没有。如果我运行set -a,则set不会再包含此变量。怎么了?

5
为什么Vim颜色在tmux内部和外部看起来有所不同?
环境: Fedora 25(4.9.12-200.fc25.x86_64) GNOME终端3.22.1使用VTE版本0.46.1 + GNUTLS VIM-Vi IMproved 8.0(2016年9月12日,2017年2月22日16:26:11编译) tmux 2.2 我最近开始使用tmux,并且观察到Vim中的颜色会根据我在tmux内部还是外部运行而变化。下面是查看Git差异时Vim在tmux外部(左)和内部(右)的屏幕截图: 我的TERM变量是 外部tmux: xterm-256color 内部tmux: screen-256color Vim按预期(通过:set term?)报告以下终端类型: 外部tmux: term=xterm-256color 内部tmux: term=screen-256color Vim还报告两个实例都以256色模式运行(通过:set t_Co?): 外部tmux: t_Co=256 内部tmux: t_Co=256 关于让Vim在tmux中以256色模式运行(我发现最好的答案是在这里),还有很多类似的问题,但是鉴于以上信息,我认为这不是我的问题。 如果我在终端类型设置为Vim的情况下运行Vim,则可以在tmux之外复制该问题screen-256color: $ TERM=screen-256color vim 因此,我认为xterm-256color和screen-256color终端功能之间仅存在一些差异会导致颜色差异。这就引起了标题中提出的问题:终端功能中的哪些特定因素导致Vim颜色不同? 我看到了在:set termcap内部和外部运行tmux 之间的差异,但是我很好奇哪个变量实际上导致了行为上的差异。 与上一个问题无关,在tmux内部或外部运行时,Vim颜色是否可以保持一致? 我尝试过的一些事情包括: 显式地将默认终端tmux使用设置~/.tmux.conf为各种值(有些违反了tmux FAQ的建议): 设置-g默认终端“ screen-256color” 设置-g默认终端“ xterm-256color” 设置-g默认终端“ screen.xterm-256color” 设置-g默认终端“ tmux-256color” …
29 terminal  vim  tmux  colors 

5
防止grep在不匹配的情况下退出
该脚本不回显“ after”: #!/bin/bash -e echo "before" echo "anything" | grep e # it would if I searched for 'y' instead echo "after" exit 如果我删除了-eshebang行上的选项,也可以,但是我希望保留它,以便在出现错误时脚本停止。我不认为grep发现没有匹配项是错误。如何防止它过分退出?

2
#:3在shell命令中是什么意思
ack的安装指南建议使用以下命令安装ack脚本: curl http://beyondgrep.com/ack-2.14-single-file > ~/bin/ack && chmod 0755 !#:3 我认为!#:3最后的是某种反向引用,但这意味着什么?zsh中是否有等效项?Google并没有帮助。

1
如何显示重定向链中的所有URL?
我正在寻找一种显示重定向链中所有URL的方法,最好是从Shell中显示。我找到了一种几乎可以使用curl进行处理的方法,但是它仅显示第一个和最后一个URL。我想看全部。 必须有一种简单的方法来执行此操作,但是我一生无法找到它的含义。 编辑:自提交此文件以来,我已经找到了如何使用Chrome进行操作(CTRL + SHIFT + I->“网络”标签)。但是,我仍然想知道如何从Linux命令行完成它。
29 wget  curl 

6
文件系统vs分区vs目录
我是Linux新手,请原谅您在此问题中可能遇到的困惑。 据我了解,文件系统使用ext2,ext3,reiserfs,xfs等标准来指定分区如何存储/管理文件。有时,我看到人们似乎将每个“ directory”都称为 /boot filesystem /usr/bin filesystem /root filesystem /bin filesystem 我们为什么将这些称为filesystems? 如果它们每个都是一个分区,那会使我感到困惑,因为据我所知,/usr并且/usr/bin往往位于同一个分区中,但是我看到人们同时引用/usr filesystem和/usr/bin filesystem。 如果filesystem这里等于Window的directory,对我来说还不清楚,因为文件系统显然不仅仅是目录。而且,据我所知,Linux没有directory概念。都是文件。

3
切换到父外壳而不注销
假设我以我的本地帐户开始: avindra@host:~> 然后我切换到root: host:~ # 然后我切换到oracle: [ oracle@host:~] 有没有一种方法可以让我回到root shell(父级),而无需退出oracle shell? 在这种情况下会很方便,因为oracle帐户没有 sudo特权。因此,例如,我在oracle的/ some / really / deeply / nested /目录中,并且设置了各种特殊的环境变量。但是我需要重新进入root才能接触一些系统文件。 当前,我将退出oracle shell以返回到root,运行我的root命令,然后切换回Oracle。给您带来的不便是,我从头开始登录,并且丢失了工作目录和环境。 话虽这么说,有什么办法可以做我要问的吗?
29 shell 

3
如何阅读上一届会议的dmesg?(dmesg.0)
dmesg是从中读取内容的命令/var/log/dmesg。与之相比,更好的less /var/log/dmesg是,我可以将-T标志用于人类可读的时间输出。 现在,我/var/log/dmesg.0想看一下,看看我的计算机如何崩溃。该文件包含上一个会话的日志。但是我想使用dmesg命令中的-T标志。或等效的东西。 任何想法如何? 我不介意使用图形工具,但最好的方法是cli解决方案。
29 dmesg 

1
目录何时停止作为文件可读?
我有《 Unix编程环境》一书的第一版。在第2章中,作者声明目录可作为文件读取,并提及有关这些文件格式的一些事实。他们给出了一些用法示例,例如cat .(练习2-2)。 至少在达尔文市,目录不再作为文件可读。至少,它们在读取时似乎是零长度文件。 何时发生此更改,是否有任何官方文档?

8
我的脚本有问题吗?还是Bash比Python慢​​得多?
我通过运行10亿次循环来测试Bash和Python的速度。 $ cat python.py #!/bin/python # python v3.5 i=0; while i<=1000000000: i=i+1; 重击代码: $ cat bash2.sh #!/bin/bash # bash v4.3 i=0 while [[ $i -le 1000000000 ]] do let i++ done 使用该time命令,我发现Python代码仅需48秒即可完成,而Bash代码则需要1个小时以上才能杀死脚本。 为什么会这样呢?我希望Bash会更快。我的脚本有问题吗?或者Bash的运行速度真的慢得多吗?
29 bash  python3 

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.