linux系统管理的基本命令2

1、linux系统的环境变量

(1)查看当前系统的环境变量
    查看全局变量命令:printenv
    显示单个变量的值:echo $变量名  如:echo $HOME
(2)设置环境变量
    设置局部变量:
        $ test=testing
        $ echo $test
        testing
        注意,在环境变量名称、等号和值之间没有空格,如果需要定义含有空格的字符串值,可以用单引号来界定字符串的开始和结束
    设置全局变量:
        在shell中直接定义的变量为局部变量,只能在当前shell中使用。
        可以使用:export 环境变量;的形式将局部变量设定为全局变量,如 export test ;此处不需要加$ 
(3)删除环境变量
        unset 环境变量;可以删除已经定义的环境变量,此处不需要加$ 
(4)定位系统的环境变量
    启动shell时,系统会先读取/etc/profile,获取配置信息;
    其次再读取用户目录下的配置文件,ubuntu下为~/.profile文件
        # if running bash
        if [ -n "$BASH_VERSION" ]; then
            # include .bashrc if it exists
            if [ -f "$HOME/.bashrc" ]; then
         . "$HOME/.bashrc"
            fi
        fi
        # set PATH so it includes user's private bin if it exists
        if [ -d "$HOME/bin" ] ; then
            PATH="$HOME/bin:$PATH"
        fi
    用来判断 .bashrc是否存在,如果存在就运行;设置将用用户目录下的bin文件目录加入到PATH变量中;
    因此,当我们需要设置一些个人需要使用的变量时,可以放在.bashrc文件中。
(5)可变数组(一般不使用)
    定义:
            $ test=(one two three four five)
    查看:
            $ echo ${test[0]};$ one 
            $ echo ${test[*]};$ one two three four five
    修改:
            $ test[2]=six;
            $ echo ${test[*]};$ one two six four five
    删除:
        删除数组中的某个值:
            $ unset ${test[2]}
            $ echo ${test[*]}
            $ one two four five ;// 数组个数没有改变,只是删除的值不存在了
            $ echo ${test[2]};$ ;// 为空
        删除整个变量:
            $ unset test;// 再次查看时该变量不存在,此处不需要加$ 
(6)使用命令别名
   ---- 查看已有的别名列表:alias -p
        alias egrep='egrep --color=auto'
        alias fgrep='fgrep --color=auto'
        alias grep='grep --color=auto'
        alias l='ls -CF'
        alias la='ls -A'
        alias ll='ls -alF'
        alias ls='ls --color=auto'
    ----增加新的命令别名:
    在用户目录下的.bashrc中增加命令:alias lh='ls -lh'
        $ lh
        drwxrwxr-x 11 hcq hcq 4.0K 10月 30 17:13 test
        drwxrwxr-x  2 hcq hcq 4.0K 10月 31 10:41 tftpboot
        drwxrwxr-x  3 hcq hcq 4.0K  9月 12 16:43 workspace
 

2、linux系统的用户管理

(1)/etc/passwd文件
    test:x:1000:1000:test,,,:/home/test:/bin/bash
    用户名:用户密码:用户id(UID):用户所在组id(GID):备注字段:用户HOME目录的位置:用户的默认shell
    此处用户密码使用x代替,对用户的密码管理放在/etc/shadow文件中,只能root用户访问。
(2)/etc/shadow文件
    test:$6$FyGs/bEO$hkywwcLmQvAJBzDG6r7XEIfJLbIjuVt9am6Kry0/:16589:0:99999:7:::
    用户名:加密后的密码:自1970年1月1日(上次修改密码的日期)到当天的天数:多少天后才能更改密码:多少天后必须修改密码:密码过期多少天提醒用户更改密码:密码过期多少天禁止用户账户:用户账户被禁用的日期:预留字段
(3)添加新用户
    useradd命令:
        useradd -D: 查看新建用户的配置系统默认值
        GROUP=100
        HOME=/home
        INACTIVE=-1
        EXPIRE=
        SHELL=/bin/sh
        SKEL=/etc/skel
        CREATE_MAIL_SPOOL=no
        新建用户默认的HOME目录下的系统文件模板如/etc/skel目录配置
    useradd   -m  test:创建一个test的用户,并创建用户目录
(4)删除用户
    userdel命令:
        userdel -r test:删除test用户,并删除相应的用户目录
(5)修改用户
    usermod命令:修改用户的基本信息
        -l:修改用户名,usermod -l new_username old_username
        -u:修改用户的UID
        -g:修改用户所属的GID
        -G:修改用户所属的附加群组
        -L:用来锁定用户,这样用户就无法登陆
        -U:用来解锁用户
    passwd和chpasswd命令:
        passwd 用户名:进入修改密码提示
        chpasswd < users.txt :读取文件中的用户名和密码对(冒号隔开),批量修改密码
(6)/etc/group文件
    用户的组信息保存在/etc/group文件中
    shared:x:1000:
    组名:组密码:GID:属于该组的用户列表
(7)创建新组
    groupadd 组名:新建一个用户,默认是没有添加用户进来的
        例如:groupadd shared
    使用usermod命令添加用户
        usermod -G shared test:将test用户加入到shared组中
    再查看/etc/group文件
        shared:x:1000:test
(8)修改组
    groupmod命令:可以修改组名和组的GID
        -n:修改组名,groupmod -n sharing shared:将shared组名修改为sharing
        -g:修改组的GID
 

3、linux系统的文件权限

(1)chmod命令:修改文件权限
        chmod 764 test:修改test文件的权限为-rwxrw-r--
        chmod [ ugoa +/- rwx ] filename:为指定对象增加或减少某一权限
            u:用户  g:组  o:其它  a:所有
            chmod u+x filename:为用户增加可行性权限
            chmod o-w filename:为其它用户减少可写权限
        不指定对象时表示全部:
            chmod +x test:为test文件添加x权限-rwxrwxr-x
(2)chown命令:改变文件的属主
(3)chgrp命令:改变文件的默认属组
(4)umask命令:修改默认的创建权限
 
原文地址:https://www.cnblogs.com/hancq/p/4930159.html