首页 > 代码库 > Linux C/C++编程Shell命令大杂烩(1)
Linux C/C++编程Shell命令大杂烩(1)
1, 查看发行版信息
cat /etc/issue
2, 查看内核版本
uname -r 查看内核版本
uname -p 查看处理器类型32bit/64bit
uname -n 查看网络主机名(or hostname)
3,OpenJDK和JDK啥区别?
Oracle JDK is based on the OpenJDK source code. In addition, it contains closed-source components. 也就是说,OpenJDK去掉了JDK中涉及一些版权问题的API和源代码,功能比JDK少点。
4,父Shell、子Shell
当在执行一个Shell Script时,父Shell会根据Script程序的第一行#!之后指定的Shell程序开启一个子Shell环境,然后在子Shell中执行此Shell Script。一旦子Shell中的Script执行完毕,此子Shell随即结束,回到父Shell中,不会影响父Shell原本的环境。子Shell环境拥有与父Shell相同的环境变量、标准输入、输出、错误等。
5, source命令作用?
可以用help source查看帮助文档。P.S. 点命令与source命令一样,用法为. filename [arguments]
source: source filename [arguments]
Execute commands from a file in the current shell.
Read and execute commands from FILENAME in the current shell. The entries in $PATH are used to find the directory containing FILENAME. If any ARGUMENTS are supplied, they become the positional parameters when FILENAME is executed.
Exit Status:
Returns the status of the last command executed in FILENAME; fails if FILENAME cannot be read.
文件filename可以没有执行权限。
在当前shell中执行和在子shell中执行的区别是,后者定义的变量和函数在执行结束后就消失了,而前者却可以保留下来。因此,若我们修改了/etc/profile里面的内容,如增加了环境变量,那么如果要立即生效的话,就必须使用source命令或者点命令在当前shell中执行一下。
6, 环境变量
(1)查看所有环境变量:
$ set
(2)查看某个环境变量:
$ echo "$PATH"
(3)设置环境变量:
export ANT_HOME=/path/to/ant/dir
export PATH=${PATH}:${ANT_HOME}/bin:${JAVA_HOME}/bin
(4) 持久化环境变量的文件:
/etc/profile, 存放系统级环境变量的地方,对所有用户有效。设置完之后需要重新登录才能生效。
~/.bashrc, 存放当前用户环境变量的地方,只对当前用户有效。设置完之后只需要重新启动shell。
当然,上面介绍的source命令可以立即生效。