• 很多shell命令后面的单横杠和双横杠,原来这个意思


    -----------------------------------------------------------------------------------------------------------------------
    shell进程是执行其它进程的进程,但在执行一个命令时,shell进程会指示内核把指定的程序作为另一个进程分开执行,并将输出写到终端
     
    通过命令选项,我们可以修改命令执行的行为。
    命令行选项可以分为短命令行选项长命令行选项两种。短命令行选项是由字母组成,长命令行选项是由单词组成。
    短命令行选项在选项前使用单横杠“-”,长命令行选项前使用双横杠“--”。如果选项后面需要输入选项的参数,短命令行选项和参数之间使用空格分隔,而长命令行选项使用等号“=”连接选项和参数
    通过在命令后面添加选项“--help”、“-h”或“-?”,我们可以获得一个命令的帮助信息。
     
    --------------------------------------------------------------------------------------------------------

    挺凑巧的,最近老有同事问起这些问题,所以总结一下。

    1. 首先用help理解su, sudo su, sudo

    2. 其次理解"login shell" and "interactive shell". 

    "When Bash starts executes the commands in a variety of different scripts. 
    (1) When started as an interactive login shell: Bash reads and executes the /etc/profile (if it exists). After reading that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile in that order, and reads and executes the first one (that exists and is readable).  When a login shell exits: Bash reads and executes ~/.bash_logout (if it exists).
    (2) When started as an interactive shell (but not a login shell): Bash reads and executes ~/.bashrc (if it exists)."
    显然login shell和interactive shell在环境的设置上是存在差别的,详细可以参考: http://groups.google.com/group/linux.debian.user/browse_thread/thread/2b71ecfc45789958/7bff24e3bae74b36?lnk=raot

    3.  然后su命令的横杠就非常容易理解了,参数横杠-, 是为了让切换获取的shell是一个login shell

     -, -l, --login               make the shell a login shell

  • 相关阅读:
    Hibernate框架简介
    [leecode]Evaluate Reverse Polish Notation
    linux 服务器之间配置免密登录
    大数据学习系列之一 ----- Hadoop环境搭建(单机)
    Hadoop hbase集群断电数据块被破坏无法启动
    CentOS 6 上安装 pip、setuptools
    CentOs6.7 python2.6升级到2.7.11
    安装phantomjs(Ubuntu版本 MacOS版本)
    Linux/Centos下安装部署phantomjs 及使用
    linux 查看系统磁盘、内存大小
  • 原文地址:https://www.cnblogs.com/oxspirt/p/8888444.html
Copyright © 2020-2023  润新知