Articles of unix

在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值是空的。

在unix中查找和删除(更新)

以下是我的input文件: sample.txt : 3" 6-position 7' 4" to 10' 3-1/2" 4.8" Adjustable from 99" to 111" – max 148 而在输出中我只需要3个,即 output.txt : 3 4.8 所以基本上我需要打印"符号的数字值,其他非数字文本需要完全删除。 我试图用sed来实现这个,但是我无法得到想要的结果。 有没有办法在UNIX上实现这一点?

由于权限问题,使用SSH的git克隆在Windows失败

我在我的服务器/home/myuser/.git/project.git创build了一个新的GIT存储库。 我从C:\Users\Toshiba\.ssh\github_rsa.pubfind了git的ssh密钥,并附加了服务器的authorized_keys文件。 当我尝试使用SSH做git克隆它失败,如下所示。 $ git clone ssh://myuser@mysite.net:2888 / home / myuser / .git / project.git Cloning into 'project'… Permission denied (publickey,gssapi-keyex,gssapi-with-mic). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 你能帮我解决这个问题吗?

是否有可能编程方式更改unix进程的可执行文件名称(ucmd)?

是否有可能以编程方式更改由ps报告的unix进程的可执行文件名称(ucmd)? unix / POSIX的方式会很好,但Linux特定的解决scheme就足够了。 我想改变这里报道的内容 > ps -o ucmd CMD zsh ps 不是这个,我知道;) > ps -o command COMMAND zsh ps -o command 谢谢 PS不尝试创build一个rootkit,只是在检查进程时,net-snmp查看这个名字,而从init调用时,我的程序有不同的名字,直接从/etc/init.d(etc / rcX.d / SNNname只是名字)。

用curl下载文件的C程序

我正试图用C编写一个程序来下载一些文件。 源代码: #include <stdio.h> #include <string.h> #include <curl/curl.h> #include <curl/easy.h> size_t write_data(void *ptr, size_t size, size_t nmemb, FILE *stream) { size_t written; written = fwrite(ptr, size, nmemb, stream); return written; } int main(){ if(curl_global_init(CURL_GLOBAL_ALL)){ printf("curl error. Exiting.\n"); return 1; } char links[3][100] = { "http://download.freeroms.com/nes_roms/08/big_nose_the_caveman.zip", "http://download.freeroms.com/nes_roms/02/contra.zip", "http://download.freeroms.com/nes_roms/08/super_mario_bros._(usajapan).zip"}; int n = 0, k = 0; char […]