• Linux基础指令(三)


    目录

    shell

    权限指令:

    文件的操作权限:

    对文件进行操作的用户分类:

    用户对文件进行的操作分类:

    所有者、所属组、其他的访问权限:

    创建用户

    沾滞位

    匹配查找指令:

    grep

    find


    shell

    shell:本质是一类程序的统称。---命令行解释程序

    功能:捕捉键盘的输入,进行解析,然后执行输入内容对应的指令程序,完成功能其实我们所敲的指令,大多都有对应的一个功能程序--shell指令程序。

    例:

    vim main.c

    gcc main.c -o main

    cp main/usr/bin/

    此时直接运行main那么就可以直接运行main,指令都是放在usr/bin下的,可以自己编写后放入该目录。

    操作系统设计者:

    用户不能直接针对系统内核进行操作

    • 1、内核的设计晦涩难懂,难以操作
    • 2、容易导致系统崩溃

    因此设计者提供了以下解决方案:

    • 操作系统内核,向上层提供操作接口,一个接口对应一个功能。
    • 接口的操作都是单一功能的操作,操作是受限的。
    • 操作系统所提供的接口本身也并不足够友好,操作性不强,所以更多人针对这些常见的功能场景,直接对接口进行封装实现了对应的功能程序。这时候,用户只需要运行指定的程序就能进行操作。

    例如:我们执行的每一个指令,都可以在这里面找到,都对应了一个功能程序。在下面的目录中:

    ls /usr/bin

    可以看见其中还有ls,zip,man

    设计者为了能够让操作系统知道用户要运行什么指令,设计者封装了shell

    权限指令:

    用户权限: 对用户进行系统操作权力限制。

    系统设计者对于操作系统权限设计了两个层次:管理员&普通用户。

    管理员:root

    普通用户:管理员创建的用户

    所有的普通用户都有权限的限制,无法在操作系统上进行系统级别的操作

    su [username] 切换到指定用户

    su root 切换到root用户

    但是root用户不能随意使用。

    因此通常都是需要权限的时候进行用户切换,切换也麻烦。所以设计了一个操作:用户操作提权功能(针对普通用户临时提升操作权限)

    sudo 并不是一个指令,而是针对其他指令的提权操作

    ​​​​​​​

    如果遇到这样的问题,那么需要通过visudo命令进行配置(需要管理员添加配置)

    在这一行进行插入即可

    文件的操作权限:

    对文件进行操作的用户分类:

    文件所有者:这个文件是谁的

    文件所属组:这个文件属于哪个组

    其他用户:除了所有者和所属组都是other

    用户对文件进行的操作分类:

    可读

    可写

    可执行

    所有者、所属组、其他的访问权限

    chmod 修改文件的操作权限

    chmod [augo] +/- [rwx] filename

    a -- 所有用户

    u -- user所有者

    g -- group所属组

    o -- other其他用户

    同时也可以通过

    chmod 633 filename 来进行操作(二进制)

    在系统中,存在一个文件的默认创建权限掩码 -- 决定了一个文件默认创建出来所具备的权限。

    umask

    -S 人性化显示

    -s 设置

    777 &(-umask)即得,文件权限(-号,是取反)

    chown 修改文件所有者

    通常只有管理员才能进行

    创建用户

    useradd -m [zhangsan]

    创建一个新用户

    -m 同时为用户创建一个家目录,如果不加m就没有家目录

    passwd [zhangsan] 为新用户设置密码

    usermod -s 为新用户设置默认的shell

    有bash和dash可以ls /bin/*sh

    usermod -s/bin/bash [zhangsan]

    chgrp 修改文件所属组

    沾滞位

    特殊权限位:沾滞位

    用于设置目录针对其他用户的权限位,其他用户具备目录的可写权限,则可以在这个目录下创建文件,删除文件,但是这样存在风险。

    沾滞位:在目录下可以创建文件,但是删除只能删除属于自己的文件。

    匹配查找指令:

    grep

    grep         针对文件内容的字符串匹配操作

    使用方式:

    grep [想查找的关键字] [文件名如:/etc/passwd] 在passwd文件中查找包含指定字符串的行

    -n         查找到包含指定字符串的行后,顺便打印对应的行号

    -R         针对指定目录下的所有文件进行匹配

    grep [关键字] /etc/ 后面接的就是目录,而不是行号

    -i                  忽略大小写就行字符串匹配

    -v                 匹配不包含的行

    find

    find              文件查找指令

    -name         以文件名进行查找

    -type           以文件类型进行查找

    -size            以文件大小进行查找

    -ctime -mtime -atime

    (access最后访问的时间,modify最后的修改时间,chage最后的状态改变时间)以天为单位进行文件查找

    -cmin -mmin -amin

    find ./ -name"test"

    查找当前目录下带test字符的文件,精确查找

    find ./ -name"test*"

    查找当前目录下带test字符的文件,模糊查找

  • 相关阅读:
    python 学习笔记(5)——SMTP 使用QQ邮箱发送邮件
    创客教育给教师发展带来的挑战
    gstreamer插件开发-Specifying the pads
    今天的码农女孩做了关于生命周期的笔记以及动态时钟的练习
    C语言内存函数
    【QT】界面布局-登陆窗口
    如何开一家盈利的健身房?我用1年回本的经验告诉你,别谈恋爱
    【SimpleFunction系列一】SpringBoot整合Redis(含序列化问题)
    2023年中国人力资源咨询发展历程及市场规模前景分析[图]
    Python爬虫(入门版)
  • 原文地址:https://blog.csdn.net/m0_61630449/article/details/139728013