• Linux之简介、shell命令、用户、用户组、环境变量


    1、Linux简介

    发行版本
        Redhat 9
        Linux内核  2.4  2.6  
            4大组成:内存、进程、文件、驱动
            
    Linux------Windows
    多用户、多任务--------------不是

    shell                            
    Xterm 终端

    有2大 Linux图形环境
    KDE---------Qt
    GNOME-------Gtk++

    echo $TERM        ----查询当前 显示器的类型


    //
    1 Linux入门
    1.1 什么是Linux
    1.1.1 由四个组件组成
          内核、GNU系统实用程序、图形桌面环境、应用软件----发行版本Linux的组成
    1.1.2 内核kernel
    1.1.2.1 内核功能组成
            内存管理、进程管理、硬件管理(驱动管理)、文件系统管理
    1.1.2.2 内存管理
             虚拟内存:物理内存 交换空间
             命令:cat /proc/meminfo
    1.1.2.3 进程管理
            内核创建第1个进程init
            初始进程根据进程表,启动其它很多进程
            命令:cat /etc/inittabs
            运行级别:1 3 5
            命令:ps ax
            PID  stat(R运行 S休眠 SW休眠并等待)  有[]的进程不活动已换出
    1.1.2.4 硬件管理
            在内核中插入设备驱动程序的方法
            设备文件的种类:  c、b、网络
            内核与设备通信,通过设备节点来完成
            命令: ls -al sda* ttyS*   (硬盘、COM端口)
    1.1.2.5 文件系统管理
            内核使用虚拟文件系统(VFS)与每个文件系统进行连接。
            挂载mount文件系统的概念:VFS在内存中缓存相关信息
            ext ext2 ext3 msdos(FAT16) vfat(FAT32) ntfs
    1.1.3 GNU系统实用程序
          GNU组织:开源软件思想
    1.1.3.1 GNU软件包
            组成:处理文件 操作文本  管理进程
    1.1.3.2 shell
            默认是bash shell
    1.1.4 图形桌面环境
          Linux有多个图形桌面环境可选择
    1.1.4.1 X Windows系统(不是桌面环境)
            XFree86软件包:支持Linux
            X.org软件包:支持Linux
    1.1.4.2 KDE桌面(1996)
            KDE项目开发的桌面环境和许多应用程序:Koffice Kmail
    1.1.4.3 GNOME桌面(1999)
            GNOME项目开发的桌面环境和许多应用程序:gedit epiphany(IE)
    1.2 Linux发行版
        将上述四个组件进行集成
        
        
    2 shell
      Linux早起,只能使用命令行方式进行操作
    2.1 模拟终端包
        图形界面下,一个模拟终端包可以模拟多个终端
    2.2 Linux控制台
        虚拟控制台有多个
    2.3 xterm终端
        古老
    2.4 Konsole终端
        KDE带的模拟终端
    2.5 GNOME终端

    3 基本的bash shell命令
    3.1 启动shell
        /etc/passwd   可查看启动的shell类型
        启动时,自动执行用户主目录的.bashrc文件中的命令
        /etc/bashrc文件 :环境变量
    3.2 shell格式符
    3.3 man命令-----可以查看 命令 的 帮助
        命令:   man bash
    3.4 文件系统
        无盘符概念、使用正斜杠
    3.4.1 文件系统概述
          虚拟目录      
          根驱动器:第1个硬盘
          挂载点目录(mount point):
          常见的Linux虚拟目录名称:如/mnt挂载目录
    3.4.2 命令:cd
    3.5 文件和目录的列表
        ls -F -R
        ls -l        ls -il
    3.6 文件处理
        创建文件
         touch sample
         复制文件
        cp test1 test2    cp -r参数 -R参数的区别
        cp -f强制
         链接文件(硬链接 软链接)
          cp -l 或 cp -s
         重命名文件或目录
         mv
         删除文件
         rm  -r
    3.7 目录处理
        创建目录
        mkdir
        删除目录
        rmdir
        rm -rf
    3.8 查看文件内容
        查看文件统计数据
        stat
        查看文件类型
        file
        查看整个文件
        cat more less tail head 

    4 其它命令
    4.1 监控程序
        进程查看
        ps   ps -ef     ps -l   ps -efH   ps -ef --forest
        实时进程监控
        top
        停止进程
    4.2 监控磁盘空间
        挂载介质
        mount  umount
        查看磁盘空间
        df  -h
        显示文件或目录占用磁盘情况
        du
        kill PID号      killall 进程名


    1.shell历史
      有多种shell:sh csh ksh tcsh bash
       查询系统已知shell: /etc/shells
       设置默认shell: /etc/passwd
    2 shell如何执行命令
    2.1 执行交互式命令
        shell的内建命令:即不创建新进程;
                         which查不到程序文件位置
                         没有man手册
                         如:cd为内建命令;cp为外部命令,会创建新进程,which可以查到


    2 文件的权限
    2.1 安全性
        根用户账户 普通用户账户 系统用户账号
    2.1.1 /etc/passwd文件
          UID GID HOME目录 默认shell
    2.1.2 /etc/shadow
          存密码
    2.1.3 添加新用户
          先查默认值有哪些 useradd -D
          useradd test
          修改默认值
          useradd -D -s(shell) -g(GID) -b
    2.1.4 删除用户
          userdel -r test
    2.1.5 修改用户账户信息(不讲)
    2.2 用户组
    2.2.1 /etc/group文件
    2.2.2 创建组
          groupadd zu
          将某个用户加入
          usermod -G zu test
    2.2.3 修改用户组(不讲)
    2.3 文件权限


    //
    一、Linux简介

    1 Linux与windows不同
    1.1 windows内核包含了图形界面,MS自带系统实用软件/应用软件
    1.2  Linux内核不包含
            系统实用软件:GNU
             应用软件:KDE GNOME


    2. linux
         GNU/Linux
          开源开始流行
          Ineternet出现了

    3 Linux发行版本组成
    3.1 内核
           内存管理(虚拟内存:物理内存+交换空间swapp)  
           进程管理
           硬件管理(外围设备)驱动管理
           文件系统管理:磁盘文件/字符文件(键盘显示器)/块文件
    3.2 GNU
           UNIX,POSIX接口标准,    GCC编译器 G++编译器  Emacs编辑器
    3.3 图形桌面环境:KDE GNOME
           X Windows:  xFree86  x.org
    3.4 应用软件


        

        
    二、shell命令
    1.概念
        内核与用户间的一个接口,就象windows资源管理器
    2  命令
    2.1  更改目录
            cd
    2.2  查看当前目录
            pwd
    2.3  查看当前目录下的文件名
            ls
            ls  pro*
    2.4  新建立一个目录
            mkdir mulu
    2.5  新建立一个文件
            touch aa.sh
            
            
            
    2.6 编辑shell脚本
          gedit aa.sh
          第一行为   #!/bin/sh
          其它行为       各种命令
    2.7 修改aa.sh为可执行文件
           chmod +x aa.sh
    2.8 运行shell文件
            ./aa.sh
    2.9  复制一个文件
            cp aa.sh /home
    2.10 删除一个文件
             rm aa.sh
    2.11 删除一个目录
             rmdir mulu
    2.12  光查看一个文件内容,而不编辑
              cat aa.sh
    2.13 查看当前shell窗口下的进程信息
               ps
    2.14 查看linux下所有的进程
           ps -ef
    2.14 查看动态进程
          top
    2.15 停止进程kill
        ps -e
       kill PID
       kill -s HUP PID
      kill -9 PID

    2.16 查看磁盘空间
             df
             df   -h
             
             
             
             

    2.17 设备文件名和挂载点
            mount
            mount -t   文件系统类型  设备文件名   目录
            umount  设备 或 目录

        

    1 shell的种类
    1.1 bash    sh     cshelll
    1.2 查看用户的默认shell类型
           cat /etc/passwd
    1.3 linux支持那些shell类型
           cat /etc/shells

    2 登录shell
        
    3 交互式shell

    4.1 显示用户账号信息
           /etc/passwd
    4.2 增加用户账号
           useradd 
    4.3  修改用户属性
          useradd -D
    4.4 查看用户组
          /etc/group
    4.5 创建组
           groupadd group1
    4.5 将某一用户移到另一用户组
           usermod -G 组  用户账号    


    如何创建新用户liwei 和 chenqunfeng
    useradd liwei
    useradd chenqunfeng
           
           
    创建新用户后,如何更改 新用户密码:
    passwd liwei
    根据提示,输入新密码即可

    修改当前用户的密码:
    passwd
    根据提示,输入新密码即可


    当前用户是 root,如何又登录到 liwei
    su - liwei
    没有密码要求,直接登录成功了   

    当前用户是liwei ,如何登录到 chenqunfeng
    su - chenqunfeng
    根据提示,输入chenqunfeng的密码

    当前用户是chenqunfeng ,如何登录到 root
    su - root
    根据提示,输入root的密码    


    1 环境变量
    1.1 概念
        全局   本地
    1.1.1全局环境变量
         printenv
    1.1.2 本地环境变量
         set显示多了,减掉全局的就是
    1.2 设置
        设置本地环境变量
           test=aaa
        设置全局
          export test
    1.3 移除
         unset test    
    1.4 默认的shell环境变量
       PATH  HOME
    1.5 更改PATH
        PATH=$PATH:.
    1.6 定位系统环境变量
    1.6.1 登录式shell的启动文件
          会查找/etc/profile文件   /home/sunhong/.bash_profile
    1.6.2 交互式shell的启动文件
          /home/sunhong/.bashrc
    1.6.3 非交互式shell的启动文件
          先查看BASH_ENV环境变量
    1.7 环境变量数组(不使用)
    1.8 别名
        显示 alias -p


    3.1 全局环境变量
    3.1.2 查看
               printenv
    3.1.3 增加
               PATH_SUN=/root:/home:.:/mnt/cdrom
               export PATH_SUN
    3.1.4 echo的使用
              echo "input data of int: "
    3.1.5 chmod使用
               chmod +x aaa.sh
    3.1.6 文件权限
    3.1.7 重定向


    3.2 局部环境变量
    3.2.1 查看局部变量
              set
    3.2.2  增加局部变量 

  • 相关阅读:
    B. Prinzessin der Verurteilung
    自己动手写数据库:实现一个小型 SQL 解释器(下)
    ubuntu20.04挂载拓展盘保姆级流程
    【Vue】所有指令详解
    SpringCloud Gateway 服务网关的快速入门
    CSS蒙版效果
    arm64 aarch64 rust 在线安装过程
    Scala012--Scala中的常用集合函数及操作Ⅲ
    【算法】二分查找模板
    使用 tensorboard 常见的问题及解决办法
  • 原文地址:https://blog.csdn.net/qq_38220914/article/details/127711981