zoukankan      html  css  js  c++  java
  • Linux私房菜第2部分

    一. Linux文件权限与目录配置

    1. 使用者与群组
      • 文件拥有者-可以设定文件权限
    2. Linux文件权限概念
      • ls -al: ls显示文件的文件名与相关属性,-al表示列出所有的文件详细的权限和权限
        ATL
        第一个字符代表这个文件是『目录、文件或链接文件等等』:
        当为[ d ]则是目录,例如上表档名为『.gconf』的那一行;
        当为[ - ]则是文件,例如上表档名为『install.log』那一行;
        若是[ l ]则表示为连结档(link file);
        若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
        若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
      • 接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。
        第一组为『文件拥有者的权限』,以『install.log』那个文件为例, 该文件的拥有者可以读写,但不可执行;
        第二组为『同群组的权限』;
        第三组为『其他非本群组的权限』。
        ALT
      • 档名之前多一个『 . 』,则代表这个文件为『隐藏档』,例如上表中的.gconf那一行,该文件就是隐藏档
      • chgrp :改变文件所属群组
      • chown :改变文件拥有者
      • chmod :改变文件的权限, SUID, SGID, SBIT等等的特性
      • 可以使用数字来代表各个权限,各权限的分数对照表如下:r:4 , w:2 , x:1
        每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [-rwxrwx---] 分数则是:
        owner = rwx = 4+2+1 = 7
        group = rwx = 4+2+1 = 7
        others= --- = 0+0+0 = 0
      • 设定Linux底下的文件名时, 最好可以避免一些特殊字符比较好!例如底下这些:* ? > < ; & ! [ ] | ' " ` ( ) { }
    3. Linux目录配置
      FHS针对目录树架构仅定义出三层目录底下应该放置什么数据而已,分别是底下这三个目录的定义:
      • / (root, 根目录):与开机系统有关;
      • /usr (unix software resource):与软件安装/执行有关;
      • /var (variable):与系统运作过程有关。
      • /etc:配置文件
      • /bin:重要执行档
      • /dev:所需要的装置文件
      • /lib:执行档所需的函式库与核心所需的模块
      • /sbin:重要的系统执行文件
        注:这五个目录千万不可与根目录分开在不同的分割槽
      • 两个特殊的目录:
        . :代表当前的目录,也可以使用 ./ 来表示;
        .. :代表上一层目录,也可以 ../ 来代表。
      • 有五个目录不可与根目录放在不同的partition,分别为/etc, /bin, /lib, /dev, /sbin五个。

    二. Linux文件与目录管理

    1. 目录与路径
      几个常见的处理目录的命令吧:
      • cd:变换目录
      • pwd:显示目前的目录
      • mkdir:创建一个新的目录
      • rmdir:删除一个空的目录
        不同身份使用者默认的PATH不同,默认能够随意运行的命令也不同(如root与vbird);
        PATH是可以修改的,所以一般使用者还是可以透过修改PATH来运行某些位於/sbin或/usr/sbin下的命令来查询;
        使用绝对路径或相对路径直接指定某个命令的档名来运行,会比搜寻PATH来的正确;
        命令应该要放置到正确的目录下,运行才会比较方便;
        本目录(.)最好不要放到PATH当中。
    2. 文件与目录管理
      • 复制、删除与移动: cp, rm, mv
    3. 文件内容查阅
      • cat 由第一行开始显示文件内容
      • tac 从最后一行开始显示,可以看出 tac 是 cat 的倒著写!
      • nl 显示的时候,顺道输出行号!
      • more 一页一页的显示文件内容
      • less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
      • head 只看头几行
      • tail 只看尾巴几行
      • od 以二进位的方式读取文件内容!
      • 非纯文字档: od
      • 修改文件时间或建置新档: touch
      • 将某个文件日期修订为目前 (mtime 与 atime)
        4.文件与目录的默认权限与隐藏权限
      • 文件默认权限:umask
      • 文件隐藏属性:chattr (配置文件隐藏属性) lsattr (显示文件隐藏属性)
      • 文件特殊权限: SUID, SGID, SBIT
      • Set UID
        /etc/shadow 就不能让 vbird 这个一般帐户去存取的,为什么 vbird 还能够修改这个文件内的密码呢? 这就是 SUID 的功能啦
      • vbird 对於 /usr/bin/passwd 这个程序来说是具有 x 权限的,表示 vbird 能运行 passwd;
      • passwd 的拥有者是 root 这个帐号;
      • vbird 运行 passwd 的过程中,会『暂时』获得 root 的权限;
      • Set GID
        使用者若对於此目录具有 r 与 x 的权限时,该使用者能够进入此目录;
        使用者在此目录下的有效群组(effective group)将会变成该目录的群组;
        用途:若使用者在此目录下具有 w 的权限(可以新建文件),则使用者所创建的新文件,该新文件的群组与此目录的群组相同。
        /etc/shadow 就可以被 vbird 所运行的 passwd 所修改。
      • Sticky Bit
        当使用者对於此目录具有 w, x 权限,亦即具有写入的权限时;
        当使用者在该目录下创建文件或目录时,仅有自己与 root 才有权力删除该文件
      • 观察文件类型:file
    4. 命令与文件的搜寻
      • 命令档名的搜寻:which (寻找『运行档』)
      • 文件档名的搜寻:whereis (寻找特定文件),locate
      • updatedb:根据 /etc/updatedb.conf 的配置去搜寻系统硬盘内的档名,并升级 /var/lib/mlocate 内的数据库文件;
      • locate:依据 /var/lib/mlocate 内的数据库记载,找出使用者输入的关键字档名。

    三.Linux磁盘与文件系统管理

    1. 磁盘与目录的容量
      • df:列出文件系统的整体磁盘使用量;
      • du:评估文件系统的磁盘使用量(常用在推估目录所占容量)
    2. 磁盘的分割、格式化、检验与挂载
      • 磁盘分区: fdisk
      • 磁盘检验: fsck, badblocks
      • 磁盘参数修订:mknod,e2label,tune2fs,hdparm
        4.配置启动挂载:
      • 启动挂载 /etc/fstab 及 /etc/mtab
      • 系统挂载的一些限制:
        根目录 / 是必须挂载的﹐而且一定要先于其它 mount point 被挂载进来。
        其它 mount point 必须为已创建的目录﹐可任意指定﹐但一定要遵守必须的系统目录架构原则
        所有 mount point 在同一时间之内﹐只能挂载一次。
        所有 partition 在同一时间之内﹐只能挂载一次。
        如若进行卸除﹐您必须先将工作目录移到 mount point(及其子目录) 之外。
    3. 内存置换空间(swap)之建置:
      • 使用实体分割槽建置swap

    四.文件的压缩与打包

    1. Linux 系统常见的压缩命令
      • *.Z compress 程序压缩的文件;被 compress 压缩的原始文件会不见,而压缩文件会被创建起来, 而且扩展名会是 *.Z
      • *.gz gzip 程序压缩的文件;
      • *.bz2 bzip2 程序压缩的文件;
      • *.tar tar 程序打包的数据,并没有压缩过;
      • *.tar.gz tar 程序打包的文件,其中并且经过 gzip 的压缩
      • *.tar.bz2 tar 程序打包的文件,其中并且经过 bzip2 的压缩
    2. 打包命令: tar
      • 压 缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称
      • 查 询:tar -jtv -f filename.tar.bz2
      • 解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录
        拿掉了根目录,假设你将备份数据在 /tmp 解开,那么解压缩的档名就会变成『/tmp/etc/xxx』。 但『如果没有拿掉根目录,解压缩后的档名就会 是绝对路径, 亦即解压缩后的数据一定会被放置到 /etc/xxx 去!』如此一来,你的原本的 /etc/ 底下的数据, 就会被备份数据所覆盖过去了
    3. 完整备份工具
      • dump,
      • restore
    4. 光盘写入工具
      • mkisofs:创建映像档
      • cdrecord:光盘烧录工具
    5. 其他常见的压缩与备份工具
      • dd
      • cpio
  • 相关阅读:
    Appium环境配置
    MongoDB_09——执行计划
    mongoDB_08索引的操作
    MongoDB常用命令
    MongoDB_07_复杂查询
    MongoDB_06_分页查询
    docker-ce 安装
    Kubernetes集群搭建 ver1.20.5
    Deploying Portainer CE in Docker
    mysql常用命令
  • 原文地址:https://www.cnblogs.com/magicianyin/p/8529072.html
Copyright © 2011-2022 走看看