Linux C/C++编程Shell命令大杂烩(1)

本文深入探讨Linux系统中查看发行版信息、内核版本、OpenJDK与JDK的区别,以及Shell脚本中父Shell与子Shell的概念,同时详细阐述了环境变量的作用、设置方法及其持久化文件。此外,介绍了source命令的用法,包括如何在当前shell或子shell中执行文件内容,并强调了在不同shell环境中环境变量的影响。

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命令可以立即生效。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值