Unix & Linux

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

9
如何找出当前在vim中打开的文件?
这听起来似乎微不足道,但在不止一次的情况下,我发现自己忘记了vim打开的文件(例如,当我查看不同的日志文件时),而我唯一知道如何找出方法就是关闭文件,然后在命令历史记录中查找最新命令。 vim中是否有命令告诉您当前打开了哪个文件而不退出程序或打开的文件(例如:<which_file_cmd>?)
61 vim 

6
卷,分区和驱动器之间的差异
这些术语的确切含义是什么? 划分 体积 驾驶 在Windows上,可能会说驱动器C:或分区C:。在Linux上,我不确定应该对分区使用什么,因为它们没有名称。
61 hard-disk 

1
使用/ bin / sh将stderr和stdout都重定向到/ dev / null
我已经试过各种办法都重定向stdout并stderr以/dev/null没有任何成功。我几乎一生都在奔波,这是我从来没有遇到过的问题,但是在BSD中,我一度陷入困境/bin/sh。 我尝试过的 if ls ./python* 2> /dev/null; then echo found Python fi ...有效 如果没有Python,它将忽略ls的错误消息。但是,如果python.tgz存在的话,将输出如下所示的一行: # ./test.sh ./python-2.7.3p1.tgz 我试过了: if ls ./python* &> /dev/null; then echo found Python fi 和 if ls ./python* 2>1 > /dev/null; then echo found Python fi 和 if ls ./python* > /dev/null; then echo found Python …

2
ls -F显示的符号是什么意思?
我注意到,如果我在目录上运行ls -F,则某些条目后面会带有*或@。 spuder@ubuntu:~$ ls -F /sbin acpi_available* getpcaps* lvmconf* ntfscp* start-stop-daemon* agetty* getty* lvmdiskscan@ ntfslabel* status@ alsa* halt@ lvmdump* ntfsresize* stop@ alsactl* hdparm* lvmsadc@ spuder@ubuntu:~$ ls -F ~ daq-0.6.1/ examples.desktop noname-cache.lib snort-2.9.1/ Templates/ Desktop/ jpgraph-1.27.1/ noname.sch snortfiles/ Ubuntu One/ Documents/ 根据ls手册页 spuder@ubuntu:~$ man ls ... -F, --classify append indicator (one …
61 ls 

11
有没有办法使“ MV”无声地失败?
mv foo* ~/bar/如果没有匹配的文件,类似这样的命令将在stderr中生成此消息foo*。 mv: cannot stat `foo*': No such file or directory 但是,在这种情况下,我使用的脚本是完全可以的,我想从日志中忽略该消息。 mv即使什么都没有动静,有什么好办法告诉自己保持安静?
61 bash  mv 



3
Mac OSX上的sed与其他“标准” sed之间的区别?
我在使用本网站上提供的答案时遇到一些问题,该问题是关于sed命令用其他两行内容替换空白行的,如果在Mac OS上使用sed命令(对于我来说是10.6.7, ) 是不同的。我认为并非如此,但我想知道本网站上的其他人是否有不同的看法。
61 osx  sed  standard 

2
需要居民集大小/虚拟大小的解释
我发现这pidstat将是监视流程的好工具。我想计算特定进程的平均内存使用率。这是一些示例输出: 02:34:36 PM PID minflt/s majflt/s VSZ RSS %MEM Command 02:34:37 PM 7276 2.00 0.00 349212 210176 7.14 scalpel (这是的输出的一部分pidstat -r -p 7276。) 我应该使用常驻集大小(RSS)或虚拟大小(VSZ)信息来计算平均内存消耗吗?我已经在Wikipedia和论坛上阅读了一些内容,但是我不确定是否完全了解这些区别。另外,似乎它们都不可靠。那么,如何监视进程以获取其内存使用情况? 在此问题上的任何帮助将是有用的。
61 linux  process  memory 

7
从文件开头删除字节的最佳方法?
今天,我不得不从800MB的混合文本/二进制文件中删除前1131个字节,这是我为新存储库准备的经过过滤的Subversion转储。最好的方法是什么? 首先我尝试 dd bs=1 skip=1131 if=filtered.dump of=trimmed.dump 但是在跳过之后,这一次将文件的其余部分复制了一个字节,即非常慢。最后,我计算出需要405个字节将其四舍五入为512个可以跳过的三个块 dd if=/dev/zero of=405zeros bs=1 count=405 cat 405zeros filtered.dump | dd bs=512 skip=3 of=trimmed.dump 哪个完成得很快,但肯定有一个更简单/更好的方法?还有我遗忘的其他工具吗?谢谢!
61 dd 

9
如何测量程序执行时间并将其存储在变量中
为了找出Bash(v4 +)脚本中的某些操作需要花费多长时间,我想time“单独” 解析命令的输出,并(最终)将其捕获到Bash变量(let VARNAME=...)中。 现在,我正在使用time -f '%e' ...(或者command time -f '%e' ...由于内置的​​Bash而已),但是由于我已经重定向了已执行命令的输出,因此我对如何捕获time命令的输出一无所知。基本上这里的问题是到输出分离的time从执行的命令(或多个)的输出。 我想要的功能是计算从开始命令到完成之间以秒为单位(整数)的时间。它不一定是time命令或相应的内置命令。 编辑:给定以下两个有用的答案,我想添加两个说明。 我不想抛弃已执行命令的输出,但是最终以stdout还是stderr结束并不重要。 我更喜欢直接方法而不是间接方法(即直接捕获输出而不是将其存储在中间文件中)。 date到目前为止使用的解决方案接近我想要的。

1
Zsh中的命令历史
Zsh如何跟踪命令历史记录? 我在主目录中看到两个文件:.zhistory和.zsh_history。它们之间有什么区别?这些文件似乎包含了我的所有历史记录。Zsh会永远保持向其中之一添加行吗?这会不会使历史记录搜索速度太慢? 我可以安全地使这些文件符号链接到另一个位置吗?(例如,一个git存储库以跟踪历史记录的更改)

1
此命令如何合法?“> file1 <file2 cat”
假设file2已经存在,该命令 &gt; file1 &lt; file2 cat 似乎是复制的内容file2来file1。 但我无法理解这种结构。 我了解“什么都没有”指向file1(创建或删除其内容)。然后将的内容file2定向到file1。 为什么cat之后file2呢?如何知道cat file2操作数的顺序不正确?

2
将所有终端输出保存到文件
有什么方法可以通过命令将所有终端输出保存到文件中? 我不是在谈论重定向 command &gt; file.txt 不是历史history &gt; file.txt,我需要完整的终端文本 不能用热键! 就像是 terminal_text &gt; file.txt
61 terminal  output 

1
列表中有屏幕,但“无屏幕可恢复”
当我键入内容时,screen -r我希望看到以下内容:要恢复的屏幕列表,或消息“没有要恢复的屏幕”。 今天,我看到有一个屏幕,但是我仍然收到消息,说没有屏幕可以恢复: [root@server chiliNUT]# screen -r There is a screen on: 27863.pts-1.server (Attached) There is no screen to be resumed. [root@server chiliNUT]# screen -rx 27863 [detached] [root@server chiliNUT]# screen -r There is a screen on: 27863.pts-1.server (Attached) There is no screen to be resumed. 为什么报告屏幕已附着?我只是在([detached])以上的行中将其分离
61 gnu-screen 

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.