• linux相关(3)


    1. shell环境变量

    能够存在于本shell进程及其子shell进程的变量。变量可以从父shell进程传递给子shell进程,而不能反过来,因此环境变量在子shell进程中无论如何修改都不会影响到父shell进程。

    环境变量包含 effective id(euid), variable, working dir等等。可以使用export将本地变量转变为环境变量。

    注意环境变量/本地变量是针对shell进程来说的,linux中每开启一个终端或执行一个脚本就开启一个shell进程,而在终端中/脚本中执行shell命令时候,新fork的进程并不是shell进程,只是普通进程。

    2. 直接执行/source/exec 脚本区别

    (1)直接执行脚本(比如./test.sh)

      先产生一个sub-shell的子进程,然后sub-shell再去产生命令行的子进程;而直接在linux终端下执行shell命令,则不需要产生sub-shell子进程,而是直接在当前shell进程中执行命令(产生命令的子进程执行)。

    (2)source

      source ./test.sh (或者 .  ./test.sh) 这种方式,不产生sub-shell,而是直接在当前的shell进程中执行脚本中的命令。

    (3)exec

      exec也不产生sub-shell进程,而是直接在当前的shell进程中执行脚本中的命令,而且脚本执行后原进程就结束了。exec 使用新的程序替换了原来进程中的程序内容,相当于原来进程在(exec 新程序)之后的部分都清空了。

    3. /etc/passwd  和 /etc/group 文件详解

    /etc/passwd 存放系统的各个用户信息。

    #cat/etc/passwd
    root:x:0:0:Superuser:/:
    daemon:x:1:1:Systemdaemons:/etc:
    bin:x:2:2:Ownerofsystemcommands:/bin:

    sam:x:200:50:Samsan:/usr/sam:/bin/sh

    它的各个列为 用户名:密码:用户ID:组ID:描述:用户主目录:登录后的shell

    /etc/group 存放系统的组信息

    [root@localhost test6]# cat /etc/group
    root:x:0:root,linuxsir
    bin:x:1:root,bin,daemon
    daemon:x:2:root,bin,daemon
    sys:x:3:root,bin

    它的各个列为 组名:密码:组ID:组内所有用户。

  • 相关阅读:
    菜鸟fork()创建进程新见解
    Linux下select函数的使用
    URAL 1029 Ministry
    URAL 1036 Lucky Tickets
    URAL 1031 Railway Tickets
    URAL 1028 Stars
    URAL 1032 Find a Multiple
    URAL 1037 Memory Management
    URAL 1033 Labyrinth
    URAL 1039 Anniversary Party
  • 原文地址:https://www.cnblogs.com/gtarcoder/p/6410303.html
Copyright © 2020-2023  润新知