Unix & Linux

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

2
systemd如何使用/etc/init.d脚本?
我只是改用了debian jessie,大多数情况都可以正常运行,包括我的图形显示管理器wdm。 问题是,我只是不了解它是如何工作的。显然,我的/etc/init.d/wdm脚本被调用了,因为当我exit在其中放早时,wdm没有启动。但是,当我选择重命名/etc/rc3.d目录(我的默认运行级别以前是3)时,wdm仍然会启动。 我无法找到systemd如何找到该脚本,也无法理解它对所有其他init.d脚本的作用。 systemd何时以及如何运行init.d脚本? 从长远来看,我应该摆脱所有init.d脚本吗?


4
如何使用主机名从局域网访问计算机
以下是我要使用其主机名访问的计算机的详细信息: $ hostname hostname $ cat /etc/hosts 127.0.0.1 localhost 127.0.1.1 hostname.company.local hostname 这是默认的Debian 6(Squeeze)安装,所以我还没有摆弄任何东西。 这是我从尝试访问以上计算机的计算机(运行Debian Unstable)获得的: $ ping hostname ping: unknown host hostname $ ping hostname.company.local ping: unknown host hostname.company.local $ cat /etc/resolv.conf nameserver 192.168.2.21 nameserver 192.168.2.51 search company.local
120 networking 

8
获得root特权的最安全方法是:sudo,su或login?
即使我的非特权用户受到威胁,我也希望安全地拥有root帐户。 在Ubuntu上,默认情况下只能出于“安全原因”使用sudo。但是,我不确定它是否比在文本模式控制台上使用登录名更安全。如果攻击者可以以我的普通用户身份运行代码,则可能会出错。例如,添加别名,向我的PATH添加内容,设置LD_PRELOAD和X11键盘记录器,仅举几例。我唯一看到的好处是超时,因此我永远不会忘记注销。 我对su也有同样的疑问,但是它甚至没有时间限制。某些操作(尤其是IO重定向)对su更为方便,但是从安全角度而言,这似乎更糟。 在文本模式控制台上登录似乎是最安全的。由于它是由init启动的,因此如果攻击者可以控制PATH或LD_PRELOAD,则他已经是root。X上运行的程序无法拦截按键事件。我不知道X上运行的程序是否可以拦截[ctrl] + [alt] + [f1](并打开一个看起来像控制台的全屏窗口)或就像Windows上的[ctrl] + [alt] + [del]一样安全。除此之外,我看到的唯一问题是缺少超时。 那我想念什么吗?为什么Ubuntu家伙决定只允许sudo?如何提高任何一种方法的安全性? SSH呢?传统上,root用户无法通过SSH登录。但是使用上述逻辑并不是最安全的做法: 通过SSH允许root 切换到文字模式 以root身份登录 SSH到另一台机器 以root身份登录?
120 security  sudo  login  su  privileges 

1
什么时候需要双引号?
过去的建议是,将涉及a的任何表达式都用双引号括起来$VARIABLE,至少如果一个人希望它被shell解释为一个单独的项目,否则,内容中的任何空格$VARIABLE都会抛弃shell。 但是,据我了解,在最新版本的Shell中,不再总是需要使用双引号(至少出于上述目的)。例如,在bash: % FOO='bar baz' % [ $FOO = 'bar baz' ] && echo OK bash: [: too many arguments % [[ $FOO = 'bar baz' ]] && echo OK OK % touch 'bar baz' % ls $FOO ls: cannot access bar: No such file or directory ls: cannot access …

7
如何在不按Enter键的情况下运行命令?
无意中我映射Enter通过xkbset到Pointer_button2。 现在,每次我点击时,都会Enter出现一些乱码。 我想到了一种解决方法,其中涉及将其重新映射回去,但这意味着我将必须运行命令xmodmap -e "keycode 135 = Pointer_Button2"(或以外的任何其他键码Enter)。但是我无法在终端中运行此命令,而无需点击Enter。 我该怎么做? 我正在运行Ubuntu 12.04。

4
如何将第二个屏幕与另一个屏幕分开?
我不小心从现有屏幕会话中附加了第二个GNU屏幕会话,并且无法分离或向内部屏幕发出命令。我记得以前弄清楚该怎么做,但完全忘记了,并希望保留它作为参考。 一种方法是通过screen -dr与外壳分离来分离内部屏幕,但是从屏幕内部进行分离的关键组合是什么?
119 gnu-screen 

30
bash shell中的快速目录导航
我想经常在完全不相关的路径(例如/Project/Warnest/docs/和)之间切换~/Dropbox/Projects/ds/test/。 但是我不想一直打cd /[full-path]/。是否有任何快捷命令可以切换到以前使用的目录? 我能想到的一种解决方案是为我bash .profile的常用目录添加环境变量,并cd使用这些变量向它们添加环境变量。 但是还有其他解决方案吗?


3
查找并删除已打开但已删除的大文件
如何找到已删除但仍在应用程序中打开的大文件?即使进程已打开,如何删除该文件? 情况是,我们正在运行一个进程,该进程正在以惊人的速度填充日志文件。我知道原因,并且可以解决。在此之前,我想在不关闭进程的情况下rm或清空日志文件。 简单地执行rm output.log操作只会删除对文件的引用,但是它将继续占用磁盘上的空间,直到进程终止。更糟糕:rming 之后,我现在无法找到文件的位置或文件的大小!有什么方法可以找到文件,甚至可以在另一个进程中打开它,也可以清空它? 我专门指的是基于Linux的操作系统,例如Debian或RHEL。

6
我可以配置Linux系统以获得更积极的文件系统缓存吗?
我既不用担心RAM的使用(我已经足够了),也不必担心由于意外关机而丢失数据(因为我的电源得到了支持,系统很可靠,数据也不重要)。但是我做了很多文件处理,可能会提高性能。 这就是为什么我想将系统设置为使用更多的RAM进行文件系统的读写缓存,以积极地预取文件(例如,在文件大小正常或至少合理的情况下,预读应用程序访问的整个文件)提前读取其中的很大一部分),并减少刷新缓冲区的频率。如何实现(可能)? 我在XUbuntu 11.10 x86上使用ext3和ntfs(我经常使用ntfs!)文件系统。


4
如何在命令行(bash和zsh)中向后删除单词?
如何在命令行中向后删除单词?我确实习惯于一些编辑人员使用Ctrl+ 删除最后一个“单词” Backspace,我也希望在命令行中使用该功能。 目前,我正在使用Bash,尽管我可以向后跳一个单词,然后向前删除一个单词,但我宁愿将其作为快速键,也可以将事件作为Ctrl+ Backspace。 如何做到这一点?


7
.d在目录名称中代表什么?
我知道许多名称带有.d的目录: init.d yum.repos.d conf.d 是目录吗?如果是,这从何而来? 更新:我对.d方法的含义有很多有趣的答案,但是我的问题的标题选择不当。我将“平均”更改为“代表”。
118 directory  fhs 

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.