Unix & Linux

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

2
“ root”帐户的来源
root帐户的来源是什么?它是从哪里来的?为什么又称它为root? (最初由@lizztheblizz在Twitter上提问。)
53 history  root 

10
列出明确安装的软件包
在Gentoo中,有一个文件/var/lib/portage/world包含我明确安装的软件包。明确地说,这是我选择的软件包,不包括默认情况下安装的软件包或不依赖项引入的软件包。 是否有类似的文件或命令可在Ubuntu中找到该信息?

11
插入外接显示器时自动应用RandR配置的工具
是否有一种工具可以使您: 记住每个显示器当前的RandR配置(位置,方向,分辨率等), 插入显示器后,是否会自动应用最后一个已知的良好配置,而无需使用applet或xrandr(1)乱搞? 这些配置必须基于每个用户,每个显示器来应用。 如果没有这种工具,我想自己动手,但据我所知,无法告诉您已插入监视器。我是否必须使用xrandr -q进行轮询偶尔找出输出连接或断开,或者有更有效的方法吗?可以将udev调整为做到这一点吗?
53 linux  xorg  udev  xrandr 

9
轻松增量备份到外部硬盘驱动器
一段时间以来,我使用Dirvish来对计算机进行增量备份,但是配置有些麻烦,而且如果不携带配置副本,可能很难在其他地方重现。 我正在寻找适用于Unix,Linux的备份程序,该程序可以: 逐步更新我的备份 像苦苦挣扎一样使用硬链接创建“镜像”树(以节省空间) 理想的用户界面不错
53 linux  backup  bsd 

5
监视整个目录(甚至是新目录)中的文件(尾-f)
我通常会在目录中查看许多日志tail -f directory/*。问题在于,此后将创建一个新日志,该日志将不会显示在屏幕中(因为*已被扩展)。 有没有一种方法可以监视目录中的每个文件,甚至包括进程启动后创建的文件?
53 logs  tail 

4
从全局匹配中排除一种模式
我有几个具有相同基本文件名的文件。我只想删除一个 foo.org #keep foo.tex #delete foo.fls #delete foo.bib #delete etc 如果我不需要保留一个,那么我知道可以使用rm foo.*。 TLDP证明^可以取消匹配。通过反复试验,我发现 rm foo.*[^org] 可以满足我的需求,但我不太了解语法。 另外,虽然我的用例不受限制,但我认为此模式也忽略了foo.o和foo.or。这一模式如何工作的,以及什么将一个水珠忽略只有 foo.org样子?
53 bash  wildcards 


4
如何在$ HOME以外的目录中启动所有Shell会话?
当我在Ubuntu中打开非登录外壳程序时,我当前的工作目录是/home/user_name(我的$HOME环境变量),但是我想更改此目录,以便在启动终端时位于其他目录中。 我已经读过,当我在Ubuntu中启动终端时,会得到一个.bashrc文件。所以我加了 export HOME=/home/user_name/Documents 到我的.bashrc文件。现在,当我打开终端时,我仍然在/home/user_name目录中。 我该如何更改?

3
wget与http下载中的通配符
我需要使用wget下载文件,但是我不知道确切的文件名。 https://foo/bar.1234.tar.gz 根据手册页,使用wget可以在处理ftp站点时关闭和打开glob,但是我有一个http url。 在使用wget时如何使用通配符?我正在使用gnu wget。 我尝试过的事情。 /usr/local/bin/wget -r "https://foo/bar.*.tar.gz" -P /tmp 更新资料 使用-A会导致下载服务器上所有以.tar.gz结尾的文件。 /usr/local/bin/wget -r "https://foo/" -P /tmp -A "bar.*.tar.gz" 更新资料 从答案来看,这是最终有效的语法。 /usr/local/bin/wget -r -l1 -np "https://foo" -P /tmp -A "bar*.tar.gz"
53 wget 

2
使xargs作为第一个参数传递
我正在尝试产生这种行为: grep 192.168.1 *.txt 通过Xargs将字符串传递给grep,但是它在最后而不是作为第一个参数。 echo 192.168.1 | xargs grep *.txt 我需要告诉xargs(或类似的东西)将输入的字符串放在'grep'和'*'之间,而不是放在最后。 我该怎么做呢?
53 xargs 

3
sshfs挂载,sudo获得许可被拒绝
我正在sshfs通过ssh将带有一些python项目的文件夹安装到我的~/目录中。 $ mkdir -p ~/mount/my-projects $ sshfs user@example.com:/home/user/my-projects ~/mount/my-projects 我可以按预期执行大多数命令: $ ls ~/mount/my-projects some-python-project 但是,如果我尝试使用进行任何操作sudo,它都会失败,并且权限被拒绝: $ sudo ls ~/mount/my-projects ls: cannot access /home/user/mount/my-projects: Permission denied 我实际上要完成的工作是在本地计算机上测试python软件包安装脚本: $ cd ~/mount/my-projects/some-python-project $ sudo python setup.py install
53 ssh  sudo  sshfs 

3
如何通过bash脚本判断我是否处于tmux会话中?
我喜欢将自己保存bash_profile在git存储库中,然后将其克隆到我可以通过Shell访问的任何计算机上。由于我tmux大部分时间都user@host在状态行中输入字符串,而不是在shell提示符中使用传统字符串。 但是,并非我使用的所有站点都已tmux安装,或者我可能并不总是在使用它。我想检测我何时不参加tmux会话,并相应地调整提示。到目前为止,我的半熟解决方案.bash_profile看起来像这样: _display_host_unless_in_tmux_session() { # ??? } export PROMPT_COMMAND='PS1=$(_display_host_unless_in_tmux_session)${REST_OF_PROMPT}' (每次检查可能都不是最好的方法,因此我愿意提出更好的方法。Bash脚本并不是我的专长。)
53 bash  prompt  tmux 

6
如何在整个文件系统中搜索文本?
假设应该使用grep工具,我想在整个文件系统中搜索文本字符串“ 800x600”。 我试过了: grep -r 800x600 / 但这不起作用。 我相信我的命令应该做的是递归地遍历根目录下所有文件/文件夹中的文本“ 800x600”,并列出搜索结果。 我究竟做错了什么?
53 grep  recursive 

9
为什么将/ home以外的内容放在单独的分区中?
所以,最近一个Debian 5.0.5安装程序为我提供有独立的/usr,/home,/var和/tmp分区(在一个物理磁盘)。 实际原因是什么?我知道/home放置在单独的分区上会很有利,因为用户文件可以单独加密,但是为什么还要其他呢?
53 linux  partition 

1
了解`find`的-exec选项
我发现自己一直在寻找 find . -name "FILENAME" -exec rm {} \; 主要是因为我看不到该-exec零件的工作原理。花括号,反斜杠和分号的含义是什么?该语法还有其他用例吗?
53 shell  find 

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.