Linux 的那些操作都出自哪里?
Linux 的那些操作都出自哪里?
可以说 Linux 是一种 Unix。Unix 有一个 man 手册,手册包含了安装的软件的使用帮助,遇到问题的解决办法。总之几乎所有的操作都是手册里面有迹可循的,即便不是 GNU/Linux 相关的,也有文档可查,文档也算是一种手册。这里说 GNU/Linux 是因为使用 Linux 基本上离不开 GNU 的软件。而且 Unix 的世界有一句名言:
RTFM & STFW
总之就是得读手册,读手册可以解决大部分的问题,很多问题读手册就能解决。这篇博客会列举一部分我在日常使用 Linux 时好奇的操作和遇到的手册条目。
环境变量
运行一个程序的时候以这种形式:NAME=value command
。就能为命令指定环境变量,而不影响后续的命令。如果我不想 RTFSC,能不能有迹可循的知道为什么和怎么用。
Bourne-style shells support the syntax
NAME=value command
to create an environment variable definition only in the scope of
the process that executes command. Multiple variable definitions,
separated by white space, may precede command.
这个条目在:
man 7 environ
从 csapp.h
中看到这样一句,libc 中定义了 environ 这个变量,这应该就是当前进程的所有的环境变量了吧。man 7 libc 还能了解更多。
extern char **environ; /* Defined by libc */