• Linux基础学习 | 目录及文件


    一、目录结构

    Linux目录采用树形结构,以根目录/向下延伸呈一个倒置的树的形状。
    图片来源与网络
    每个目录下都有其相对应的子目录,而子目录中又有其子目录的存在,就像一棵树的树枝分叉,所有的目录层次结构分明,每个目录也都有其相对用的作用。可以通过在shell中输入ls命令查看目录及文件,其中每个目录下都有两个特别的目录...目录,分别表示 当前目录上层目录,可以通过ls -l命令查看。

    各目录简述解释,详情参考菜鸟教程
    • /boot:与内核、启动有关的文件

    • /bin: 存放命令、或者可执行程序

    • /dev: 存放设备文件

    • /etc: 系统配置文件

    • /lib: 库文件

    • /mnt: 临时挂载点

    • /proc:虚拟目录,对内存中的信息映射到该目录下

    • /root: 管理员的家目录

    • /home:普通用户的家目录

    • /usr: 系统运行过程中不经常改变的文件

    • /var: 系统运行过程中常改变的文件

    • /tmp: 临时目录,所有用户都可以访问

    相关命令

    cd 切换目录(Change Directory)
    cd … 回到上一层目录
    cd 路径 进入该目录(可以是相对路径,也可以是绝对路径)
    cd ~ 进入家目录,即home/下与用户名同名的目录
    cd - 在最近使用过的两个路径切换
    其他命令 解释
    pwd 显示当前位置(Print work diretory)
    mkdir 创建目录(Make Directory)
    rmdir 删除空目录(Remove directory)
    rm -r (-R, --recursive)递归删除,用于删除非空目录
    rm -rf ( -f, --force)忽略不存在的文件,从不给出提示,常与-rf配合删除目录

    二、文件

    在Linux下有一切皆文件的说法。在Linux平台下针对不同的文件主要有以下分类。

    • 普通文件用-表示
    • 目录文件用d表示
    • 链接文件用l表示
    • 设备文件用cd表示
    • 管道文件用p表示
    • 套接字文件用s表示

    可以通过在bash命令解释器中输入ls -l命令查看
    测试:如下图所示,在blog目录下打开bash命令解释器,依次输入

    • touch a.txt创建普通文件
    • mkdir tmp创建目录
    • ln -s ~/Desktop/code ./code_tmp创建软连接
    • mkfifo 1.pipe创建管道文件
      输入ls -l命令查看文件属性
      在这里插入图片描述

    文件属性

    使用ls -l可以查看文件的详细参数
    在这里插入图片描述

    文件权限

    其中权限部分又分为属主权限属组权限、和其他人权限
    因为Linux平台支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响,同时为了互相协同工作的需要,因此Linux下文件根据用户的不同划分了以三种。

    • 属主u:文件的主人
    • 属组g:同组人
    • 其他o:其他用户

    权限主要分为一下几类

    • 读权限 r,可以用数字4表示
    • 写权限w,可以用数字2表示
    • 执行权限x,可以用数字1表示
    • -没有权限,可以用数字0表示

    特殊权限

    SUID权限
    文件在执行阶段具有文件所有者的权限

    /bin目录下的passwd命令就具有该权限,因此普通用户可以执行该命令修改自己的密码。
    在这里插入图片描述
    我们可以看到该权限占据了写权限的位置,因此用S表示具有该权限的同时还具有x权限,s则表示不具备x权限


    SGID权限
    文件在执行阶段具有文件同组人的权限

    如下图,我们在tmp中用root用户创建一个1.c文件,可以看到文件的属主和属组都是root所拥有的。
    在这里插入图片描述
    接下来我们返回上层目录在tr用户下设置tmp属组的权限为s权限,再次进入tmp目录用root用户创建2.c文件,可以看到这次文件的属组变成了我们的普通用户tr所有。
    在这里插入图片描述
    我们在tr用户下把tmp目录加上了s权限,当其他用户tmp目录下创建文件时都会把文件属性设置为该目录的属组属性。

    设置权限

    使用chmod命令可以设置文件权限。一般分两种设定法

    1. 文字设定法
      • eg:chmod u+x a.c 给a.c文件属主增加执行权限
      • eg:chmod g-w a.c 给a.c文件属组取消写权限
      • eg:chmod a-w a.c 给a.c文件所有用户取消写权限
    2. 数字设定法
      • eg:chmod 746 a.c 给a.c文件的属主设置”读“”写“”执行“权限,属组设置”读“权限,其他用户设置”读“”写“权限
    相关命令:
    文件操作命令 解释
    touch 创建或者修改文件
    rm 删除文件或者目录
    tree 命令可以以树状图列出文件目录结果
    cp 复制文件或者目录
    mv 移动文件/目录或者重命名
    查看文本命令 解释(具体信息请使用man帮助手册查看)
    cat 查看文件内容,cat 文件名
    more 同上,more 文件名
    less 同上,less 文本名
    head 查看文本开头信息,head 文件名
    tail 查看文本尾部信息 tail 文件名
    echo 在终端显示指定内容,可以用> <等重定向命令改变输出为止
  • 相关阅读:
    代码作色测试
    dm-weka 0001
    中文字符串以及英文字符串的研究
    windows安装ruby on rails
    NoSQL概念
    radis多个盘并发IO
    CSS中的五大字体家族(cursive 手写字体族更吸引我)
    css小技巧
    利用css3-animation来制作逐帧动画
    将DataTable某一列的值整体赋值给 另一个DataTable
  • 原文地址:https://www.cnblogs.com/TaoR320/p/12680148.html
Copyright © 2020-2023  润新知