Unix & Linux

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

4
使用wget下载文件
我正在尝试从该网站下载文件。 网址为:http : //www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file 当我使用此命令时: wget http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file 我只得到index.html?acc=GSE48191某种二进制格式。 如何从此HTTP站点下载文件?
15 wget 

2
pwd和/ bin / pwd之间的奇怪区别
我使用将符号链接添加到当前目录ln -s . aa。如果执行cd aa,然后执行pwd,响应为/home/sim/aa。 但是,如果执行/bin/pwd该命令,它将打印/home/sim(当前目录未更改)。 这种差异从何而来?
15 shell  symlink  pwd 

3
删除文件A中包含文件B中字符串的所有行
我有一个CSV文件users.csv,其中包含用户名,用户ID和其他数据的列表: username, userid, sidebar_side, sidebar_colour "John Lennon", 90123412, "left", "blue" "Paul McCartny", 30923833, "left", "black" "Ringo Starr", 77392318, "right", "blue" "George Harrison", 72349482, "left", "green" 在另一个文件中,toremove.txt我有一个用户ID列表: 30923833 77392318 有没有巧妙,有效的方法从users.csv文件中删除包含ID的所有行toremove.txt?我编写了一个简单的Python应用程序来解析这两个文件,并仅将在中找不到的那些行写入一个新文件toremove.txt,但是这非常慢。也许有些sed或awk魔术可以帮助这里? 考虑以上示例,这是理想的结果: username, userid, sidebar_side, sidebar_colour "John Lennon", 90123412, "left", "blue" "George Harrison", 72349482, "left", "green"

9
使用sed查找文件中的所有事件
使用OPEN STEP 4.2 OS ...我目前正在使用以下sed命令: sed -n '1,/141.299.99.1/p' TESTFILE | tail -3 此命令将在IP为141.299.99.1的文件中找到一个实例,并且在它之前还包含3行,这一切都很好,不过我也想找到IP的所有实例以及它之前的3行不只是第一个
15 sed 


4
递归遍历目录中的文件
通过以下方式可以轻松地递归遍历目录中的文件: find . -type f -exec bar {} \; 但是,上述方法不适用于更复杂的事情,在这些事情中,需要完成许多条件分支,循环等。我曾经在上面使用它: while read line; do [...]; done < <(find . -type f) 但是,这似乎不适用于包含晦涩字符的文件: $ touch $'a\nb' $ find . -type f ./a?b 有没有替代方法可以很好地处理此类晦涩的字符?

3
程序运行时如何进行实时更新?
我不知道如何在仍在运行时通过系统的程序包管理器更新杀手级应用程序,例如Thunderbird或Firefox。旧代码在更新时会怎样?当我要编写程序a.out并在运行时进行自我更新时,该怎么办?

5
获取最新目录(不是最新文件)
我的文件夹parent包含以下内容: A.Folder B.Folder C.File 它既有文件夹又有文件。B.Folder较新。现在我只想得到B.Folder,如何实现呢?我试过了 ls -ltr ./parent | grep '^d' | tail -1 但这给了我drwxrwxr-x 2 user user 4096 Jun 13 10:53 B.Folder,但是我只需要名字B.Folder。
15 shell  files  ls  timestamps 

3
GLX扩展不能与xvfb一起正常工作
我有一个Ubuntu 14.04系统,安装了以下软件包: libegl1-mesa:amd64 libegl1-mesa-drivers:amd64 libgl1-mesa-dri:amd64 libgl1-mesa-dri:i386 libgl1-mesa-glx:amd64 libgl1-mesa-glx:i386 libglapi-mesa:amd64 libglapi-mesa:i386 libgles2-mesa:amd64 libglu1-mesa:amd64 libopenvg1-mesa:amd64 libwayland-egl1-mesa:amd64 mesa-utils xvfb 我想在xvfb下启动一个应用程序。我首先使用以下命令启动xvfb: $ Xvfb :1 -screen 0 1024x768x24 +extension GLX +render -noreset >> xsession.log 2>&1 & 然后检查xvfb日志文件: Initializing built-in extension Generic Event Extension Initializing built-in extension SHAPE Initializing built-in extension MIT-SHM Initializing built-in extension XInputExtension …
15 x11  opengl  xvfb 

1
在Gnome3中设置自定义语言环境(在Fedora 20上)
我已经创建了自己的custom locale,并将其放置在/etc/locale.conf如果我在虚拟控制台(Ctrl + Alt + F2)上登录时就可以成功生效。在我的Gnome3会话中,这些变量没有设置。对于终端应用程序,我可以将它们放在中,.bashrc但是对于Thunderbird和Pidgin之类的图形应用程序却无济于事。 我尝试遵循这些提示:GNOME会话未使用shell初始化中的语言环境设置,甚至通过创建文件来模拟Locale-ArchWiki中的错误.pam_environment,但是locales仍然是Gnome3设置的。Gnome设置中有一个配置对话框,但是它仅允许设置非常有限的一组预定义locale组合,而无法自定义它们。 我的主目录中的相关文件: user@localhost:~$ ls -lah .dmrc .pam_environment .session .xsession .xsessionrc lrwxrwxrwx. 1 user user 16 12. Jun 08:57 .dmrc -> /etc/locale.conf lrwxrwxrwx. 1 user user 16 11. Jun 20:23 .pam_environment -> /etc/locale.conf lrwxrwxrwx. 1 user user 16 12. Jun 09:09 .session -> /etc/locale.conf lrwxrwxrwx. …
15 fedora  gnome3  locale 

1
有没有一种方法可以搜索典型使用情况的联机帮助页?
我的大脑比较小,所以我在那里可以存放的东西有限。我使用Linux Semi-Pro-Amateur已经有好几年了,但我仍然对我所知道的很少的命令感到惊讶。 诸如“如何在终端中列出所有分区”之类的简单内容将启动15分钟的DuckDuckGo-hunt。 我要站起来!今天结束! 因此,有没有一种方法可以在联机帮助页中搜索“列表分区”之类的内容并获得以下信息: $ man-search list partitions Results for "list partitions" ----------------------------- df - list drives with size or something du - list directory usage 我想我已经知道答案了,但是...也许您可以建议一种在需要时可以更快地找到所需实用程序的方法。 谢谢!

2
什么时候以及为什么应该使用apt-get update?
一般问题: 有人可以解释该命令的apt-get update作用以及何时真正使用它吗? 备注 请给出详细的答案。不仅是手册页的副本,除非您的版本非常详细(我在下面的手册页中放了一个定义)。 apt-get update:用于从其源重新同步程序包索引文件。可用软件包的索引是从/etc/apt/sources.list(5)中指定的位置获取的。应始终在升级或dist-upgrade之前执行更新。 子问题: 包索引存储在哪里?在数据库上?在文件上? 如果apt-get install不更新缓存怎么办?是否有可能不再存在远程软件包并且链接将被断开? 关于deb存储库是否存在一些达成共识的政治?例如,存储库应仅包含软件包的最新版本,还是相反应包含特定发行版可用的所有版本? 语境 我问我的问题是因为我正在研究Docker框架。它的功能之一是Dockerfile,它允许您通过从该文件执行一些指令来构建某种OS映像。该映像的一个属性是,无论上下文如何(构建时间等),它都应该始终相同。 恐怕如果我apt-get update在不同的时间启动命令,结果将有所不同,因此我的图像也会有所不同。
15 apt  docker 

3
如何设置历史记录召回的命令数
我正在使用bash。要浏览我的命令历史记录,我正在调用该history命令,我相信它正在调用同名的Gnu程序。(我不知道是否有更好的bash特定方式)。 在我的.bashrc中,我当前有一行export PROMPT_COMMAND='history -a'可以保存我正在运行的多个bash会话中的历史记录。 如果我进行历史记录,那么我目前仅看到524个条目。这是可配置的吗?我想将其增加到更大的数量,例如2000。

1
vim / gvim无法将X11剪贴板放入寄存器“ +”或“ *”?
由于标准 vino服务器缺乏安全性,我改在Linux(带有Xubuntu 14.04)盒上 使用x11vnc,在Windows端上使用SSVNC。 使用vino时,从Windows到Linux的剪切和粘贴在两个方向上都是不稳定的(1),但是当它起作用时,它对每个程序都有效;我可以毫无问题地使用vim寄存器"+。我跑步(2) autocutsel -fork 通常情况下,“中间点击”和ctrl-c / v选项是相同的。 现在,我使用x11vnc(用:调用x11vnc -forever -repeat -safer -usepw -ssl -autoport 6000)建立了安全的加密连接,出现了一个问题: 我可以在Windows上复制并粘贴到远程linux终端,libreoffice等中,双向都没有问题。 在vim,或者gvim,任何企图用粘贴"+p或者"*p说E353: Nothing in register * 同样在vim或中gvim,另一种方法也起作用:如果"+yy可以,我可以将其粘贴在Windows一侧。 作为任何人对此问题有任何线索吗?奇怪的是,粘贴在我检查过的所有地方都有效,但在vim... Package Installed Previous Now State =======================-===============-===============-===============-===== vim 2:7.4.052-1ubuntu3 2:7.4.052-1ubuntu3 2:7.4.052-1ubuntu3 install vim-gnome 2:7.4.052-1ubuntu3 2:7.4.052-1ubuntu3 2:7.4.052-1ubuntu3 install 脚注: (1)现在找不到错误---据报道。一段时间后它将停止工作。 (2)我尝试了有无。没有变化。
15 vim  x11  vnc  clipboard 

1
使用`nsenter'的可靠方法来监禁子进程:
我知道Linux命名空间以及许多其他东西都可以用来安全地处理子进程并对其进行约束,而不会被子进程破坏和转储init。但是我对实现细节一无所知。我怎么可能会使用所提供的工具util-linux,如mount和nsenter观看,监控,并确保所有的进程都启动另一个进程的直接后裔的命名空间?

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.