Articles of unix

为什么在将一堆二进制数据转储到我的terminal后,我的按键会变成疯狂的字符?

如果我做这样的事情: $ cat /bin/ls 进入我的terminal,我明白为什么我看到一堆二进制数据,代表ls可执行文件。 但事后,当我得到我的提示时,我自己的击键看起来很疯狂。 我键入“a”,我得到一个奇怪的对angular线。 我input“b”,然后获得学位符号。 为什么会这样呢?

shell脚本工作正常,没有shebang线? 为什么?

我正在写一个简单的shell脚本,发现我的shell脚本不需要shebang行 #!/bin/sh 如果我给予我的脚本执行权限并执行使用./myscript.sh 。 它运行良好。 我正在使用bash shell, /bin/sh实际上是指向bash 。 lrwxrwxrwx 1 root root /bin/sh -> bash 我知道shebang行用于告诉shell哪个解释器用于脚本的其余部分。 如果我错过了perl中的shebang行,给予执行权限并运行./myscript.pl ,它不起作用。 这里究竟发生了什么? 如果我用./ ,什么时候真的需要?

为什么创build系统调用叫做creat?

为什么创build系统调用叫做creat ? 另外,为什么一个缓冲区大小的定义被称为BUFSIZ而不是BUFSIZE ? 还有其他的例子吗? 相关:(取自评论) 肯·汤普森(Ken Thompson)说:“我会拼写一个'e'。

在Linux中将物理地址转换为虚拟并读取其内容

我有Linux和我有一个物理地址:(即0x60000000)。 我想从用户空间的Linux程序读取这个地址。 这个地址可能在内核空间中。

在gcc中有作为内置macros的非保留标识符的原因是什么?

今天我偶然发现了一个相当有趣的编译器错误: int main() { int const unix = 0; // error-line return unix; } 给gcc 4.3.2(是的,古老的)以下消息: error: expected unqualified-id before numeric constant 这绝对是相当混乱。 幸运的是,铿锵声(3.0)是一个更有帮助(像往常一样): error: expected unqualified-id int const unix = 0 ^ <built-in>:127:14: note: expanded from: #define unix 1 ^ 我当然没有想到unix ,它既不是大写字母,也不是从下划线开始,成为一个macros,特别是一个内置macros。 我检查了gcc中的预定义macros,并且有2个(在我的平台上)使用“非保留”符号: $ g++ -E -dM – < /dev/null | grep -v _ […]

用linuxterminal执行升华的麻烦

我知道有几个类似的问题已经被问到,但似乎没有人帮助我,所以在这里。 我在Linuxterminal上使用'subl'时试图获得崇高的运行,但我却无法使其工作。 我试过了 sudo ln -s /Applications/Sublime\ Text\ 2/sublime_text usr/bin/subl 而且确实创build了正确的文件,所以它似乎,但是当我使用subl命令它说'没有命令'subl'find。 现在我已经安装了rvm,所以这可能会有所作为。 我也试过'usr / local / bin / subl',结果是一样的。 我甚至用上面的命令使用了rvmsudo,它说文件已经创build了,但subl命令仍然不起作用。 我在这里错过了什么? 请记住,我是a)新的linux b)新的崇高。 运行Ubuntu 12.10如果有关系

1小时前修改的文件列表

嗨,我想在60分钟内修改文件的列表。 bash-3.2$ find . -mmin 60 -type f find: bad option -mmin find: [-H | -L] path-list predicate-list bash-3.2$ /usr/xpg4/bin/find . -mmin 60 -type f /usr/xpg4/bin/find: bad option -mmin /usr/xpg4/bin/find: [-H | -L] path-list predicate-list bash-3.2$ utibbwdev1#uname -a SunOS utibbwdev1 5.10 Generic_150400-13 sun4v sparc SUNW,T5240 我收到上述错误。 我的操作系统是太阳版5.10。

即使文件存在,c – fopen也会返回NULL

我试图fopen()在一个完整的UNIXpath,即, fopen("/dir1/file1.raw", "rb"); 该文件在那里,是rw-。 但是,fopen返回NULL。 errno说没有这样的文件或目录。 有任何想法吗?

有条件的Awk hashmap匹配查找

我有2个表格文件。 一个文件包含一个名为lookup_file.txt的50个键值的映射。 另一个文件具有30列和数百万行的实际表格数据。 data.txt我想用lookup_file.txt中的值replace第二个文件的id列。 。 我怎样才能做到这一点? 我宁愿在bash脚本中使用awk。另外,有没有一个hashmap数据结构,我可以在bash中用来存储50个键/值而不是另一个文件?

ssh命令输出保存在shell脚本中的文本文件中

我想编写shell脚本,其中我使用ssh命令。 无论输出,我将通过SSH命令获得我想保存在文本文件或varibale,所以我可以在我的shell脚本中使用此。 目前我输出保存在一个variables,但是当我在ssh命令之外使用该variables时,值显示为空白。 代码是 ssh hostname -c "' `pwd`; var=$(ps -ef | grep Consumer | cut -f6 -d' ') '"; echo $?; echo "vbar $var"; 当我打印时,var值是空的。