• 第二周


    **1. Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示. **

    文件系统操作命令-目录

    • ls查看文件或目录的工具

      用法:ls [选项]...[文件]...

      -l 出文件名之外,列出文件的类型、权限、所有者、所属组、文件大小、修改时间等详细信

      -a 显示所有以.开关的项目

      -A 列出除.及..以外的斜体项目

      -R 递归列出目录内容,若目录下有文件或子目录,则以下所有文件皆按序列出

      -n 类似-l,但列出UID及GID号

      -F 在列出的文件名后加一个符号,去区分文件类型;例如*代表可执行文件;/代表是目录;@代表链接文件;普通文件之后不加符号

    • 实例:

      [root@etcd01 opt]# ls -alF
      total 4415492
      drwxr-xr-x.  5 root root         88 Mar 19 01:41 ./
      dr-xr-xr-x. 20 root root       4096 Mar 13 20:49 ../
      -rw-r--r--   1 root root 4521459712 Dec  6 17:25 CentOS-7.4-x86_64-DVD-1708.iso
      drwx--x--x   4 root root         26 Feb 27 22:38 containerd/
      drwxr-xr-x   5 root root         36 Mar 13 11:17 etcd
      drwxr-xr-x   5 root root         36 Mar 19 01:41 kubernetes/
      

    cd 更改目录,切换目录

    • 用法:cd 目标目录

      【选项】

      . 当前目录

      ..父目录

      cd .. 切换到父目录,切换到上一级目录

      cd 切换到当前用户家目录

      cd ~ 切换到当前用户家目录

      cd - 返回上一次所处的目录

      cd 类似于cd “test” 命令中的双引号(也可以是单引号);切换到名称带有空格的目录

    • 实例:

      [root@etcd01 ~]# cd /opt/
      [root@etcd01 opt]# cd kubernetes/
      [root@etcd01 kubernetes]# cd -
      /opt
      

    pwd 显示当前所处的目录

    • 【选项】

      pwd -p 显示实际的工作目录,而非使用链接路径

      [root@etcd01 opt]# pwd -P
      /opt
      

    mkdir1创建目录

    • 【选项】

      mkdir 只能在已存在的目录下创建目录

      mkdir -p 帮助你直接将所需的目录递归创建起来。(在一个不存在的上级目录里面创建目录)

    rmdir 删除空目录

    • 【选项】

      rmdir 只能删除空目录

      rmdir -p 递归删除空目录

    rm 删除文件或目录

    • 【选项】

      rm 只能删除文件

      rm -r 删除目录及目录下的项目(文件和目录)

      rm -f 不提示强制删除

    • 【实例1】

      rm -rf *

      强制删除所有文件,但是不包含隐藏文件。谨慎使用!!!!

    • 【实例2】

      同时删除多个文件或目录

      每个项目以空格隔开

      [root@etcd01 tmp]# rm -rf {a,b,c}
      

    mv 移动文件或目录

    • mv 原文件路径 目标文件路径 移动

      【选项】

      -f 不提示并覆盖文件

      -n 不覆盖已存在文件

      -b 覆盖之前把原文件做备份,备份的文件在文件名之后有个~符号

      -u 只有原文件比覆盖的文件新的时候才可以覆盖文件;旧文件不能覆盖新文件

    du 显示目录的磁盘使用情况

    • du查看目录或文件大小


      -a--all显示目录中个别文件的大小

      -b--bytes 显示目录或文件时,以byte为单位.

      -c--total 除了显示个别目录或文件的大小外,同时民显示所有目录或文件的总和

      -D--dereference-args 显示指定符号连接的源文件大小

      -h--human-readable 以K,M,G为单位,提高信息的可读性

      -H--si-h参数相同,但是K,M,G是以1000为换算单位

      -k--kilobytes以1024 bytes为单位

      -l--count-links 重复计算硬件连接的文件

      -L<符号连接>或--dereference<符号连接>显示选项中指定符号连接的源文件

      -m--megabytes 以1MB为单位

      -s--summarize仅显示总计

      -S--separate-dirs 显示个别目录的大小时,并不含其子目录的大小

      -x--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过

      -X<文件>或--exclude-from=<文件>在<文件>指定目录或文件

      --exclude=<目录或文件>略过指定的目录或文件

      --max-depth=<目录层数> 超过指定层数的目录后,予以忽略。

      --help 显示帮助

      --version 显示版本信息

    • 实例


      [root@etcd01 kubernetes]# ls
      bin  cfg  ssl
      [root@etcd01 kubernetes]# du -h --exclude=bin
      16K     ./cfg
      16K     ./ssl
      

    df查看所有已挂载磁盘使用情况

    • 实例

      [root@etcd01 kubernetes]# df -h
      Filesystem               Size  Used Avail Use% Mounted on
      /dev/mapper/centos-root   46G   29G   18G  62% /
      devtmpfs                 7.8G     0  7.8G   0% /dev
      tmpfs                    7.8G     0  7.8G   0% /dev/shm
      tmpfs                    7.8G  704M  7.1G   9% /run
      tmpfs                    7.8G     0  7.8G   0% /sys/fs/cgroup
      /dev/sda1                497M  158M  340M  32% /boot
      /dev/loop0               4.3G  4.3G     0 100% /mnt/cdrom
      tmpfs                    1.6G     0  1.6G   0% /run/user/0
      

      注解

      第一列: 文件系统对应的磁盘分区
      第二列:分区的总空间大小,含的数据块的数据
      第三列:已使用空间大小
      第四列:未使用空间大小
      第五列:用户空间使用的百分比
      第六列: 文件系统的挂载点
      

    2. 使用命令行展开功能,创建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,在/tmp目录下创建目录:x_y, x_z, q_y, q_z

    • 实例

      [root@etcd03 /]# mkdir -pv /tmp/a{1/{a,b},2}
      mkdir: created directory ‘/tmp/a1’
      mkdir: created directory ‘/tmp/a1/a’
      mkdir: created directory ‘/tmp/a1/b’
      mkdir: created directory ‘/tmp/a2’
      [root@etcd03 /]# mkdir -pv /tmp/{x,q}_{y,z}
      mkdir: created directory ‘/tmp/x_y’
      mkdir: created directory ‘/tmp/x_z’
      mkdir: created directory ‘/tmp/q_y’
      mkdir: created directory ‘/tmp/q_z’
      

    3.文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。

    • 元数据信息:

      file:文件名;

      size:文件大小

      block:文件占了多少个数据块

      IO Block:文件所占数据块的块大小

      Device:硬件,既说明该文件在硬盘的那个柱面

      Inode:文件Inode号,文件的索引节点号

      links:链接

      Access:文件权限

      Uid:该文件所属的属主

      Gid:该文件所属的属组

      context:安全上下文

      Access(第二个):文件上一次的访问时间

      Modify:文件上一次修改的时间

      Change:文件上一次属性更改的时间

    • 查看文件元数据的方法

      stat命令:

    stat [OPTION]... FILE...
    
    [root@etcd03 ~]# stat /etc/issue
      File: ‘/etc/issue’
      Size: 23              Blocks: 8          IO Block: 4096   regular file
    Device: fd01h/64769d    Inode: 67192987    Links: 1
    Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
    Access: 2019-04-08 09:42:19.438089565 +0800
    Modify: 2017-08-30 23:53:07.000000000 +0800
    Change: 2018-04-16 15:26:42.557988341 +0800
     Birth: -
    

    修改文件的时间戳方法:

    touch命令:用于改变文件时间戳,如果文件不存在则创建一个空文件

    touch [OPTION]... FILE...  
    
    -c:指定的文件路径不存在时不予创建:
    -a:仅修改access time:
    -m:仅修改modify time:
    -t STAMP:
        [[CC]YY]MMDDhhmm[.ss] 年月日时分秒
        touch -m -t 200212010303.03
    

    4.在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22

    • 实例

      [root@etcd03 tmp]# touch `date +%Y-%m-%d-%H-%M-%S`
      [root@etcd03 tmp]# ls
      2019-04-08-18-14-06 
      

    5. 复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

    • 实例

      [root@etcd03 tmp]# mkdir mytest1
      [root@etcd03 tmp]# cp -rv /etc/p*[^0-9] mytest1/
      

    6. 创建用户tom,指定UID为5001,指定家目录为/tmp/tom, 指定shell为/bin/zsh, 指定基本组为tom,附加组为jack

    • 实例

      [root@etcd03 tmp]# groupadd jack
      [root@etcd03 tmp]# useradd -u 5001 -d /tmp/tom/ -s /bin/zsh -G jack tom
      [root@etcd03 tmp]# cat /etc/passwd grep tom
      [root@etcd03 tmp]# cat /etc/passwd |grep tom
      tom:x:5001:5001::/tmp/tom/:/bin/zsh
      [root@etcd03 tmp]# id tom
      uid=5001(tom) gid=5001(tom) groups=5001(tom),1003(jack)
      

    7. 常用的用户以及文件管理命令有哪些,并演示命令以及用法。


    useradd、userdel、usermod、passwd、groupadd、groupdel、groupmod、gpasswd、chage、chsh、id、su

    • useradd命令:创建用户

      useradd  [OPTION]  USER
      -u, --uid UID:指定UID;
      -g, --gid GROUP:指定基本组ID,此组得事先存在;
      -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指明用户所属的附加组,多个组之间用逗号分隔;
      -c, --comment COMMENT:指明注释信息;
      -d, --home HOME_DIR:以指定的路径为用户的家目录;通过复制/etc/skel此目录并重命名实现;指定的家目录路径如果事先存在,则不会为用户复制环境配置文件;
      -s, --shell SHELL:指定用户的默认shell,可用的所有shell列表存储在/etc/shells文件中;
      -r, --system:创建系统用户;
      
    • userdel命令:删除用户

      userdel [OPTION] USER
          -r:删除用户时一并删除其家目录;
      
    • usermod命令:修改用户属性

      usermod [OPTION] USER
          -u, --uid UID:修改用户的ID为此处指定的新UID;
          -g, --gid GROUP:修改用户所属的基本组;
          -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改用户所属的附加组;原来的附加组会被覆盖;
          -a, --append:与-G一同使用,用于为用户追加新的附加组;
          -c, --comment COMMENT:修改注释信息;
          -d, --home HOME_DIR:修改用户的家目录;用户原有的文件不会被转移至新位置;
          -m, --move-home:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录;
          -l, --login NEW_LOGIN:修改用户名;
          -s, --shell SHELL:修改用户的默认shell;
          -L, --lock:锁定用户密码;即在用户原来的密码字符串之前添加一个"!";
          -U, --unlock:解锁用户的密码;
      
    • passwd命令:修改用户密码

      passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]
          (1) passwd:修改用户自己的密码;
          (2) passwd USERNAME:修改指定用户的密码,但仅root有此权限;
      
              -l, -u:锁定和解锁用户;
              -d:清除用户密码串;
              -e DATE: 过期期限,日期;
              -i DAYS:非活动期限;
              -n DAYS:密码的最短使用期限;
              -x DAYS:密码的最长使用期限;
              -w DAYS:警告期限;
      
              --stdin:
              echo "PASSWORD" | passwd --stdin USERNAME
      
    • groupadd命令:添加组

      groupadd [OPTION] group_name
      
          -g GID:指定GID;默认是上一个组的GID+1;
          -r: 创建系统组;
      
    • groupdel命令:删除组

      groupdel [OPTION] GROUP
      
    • groupmod命令:修改组属性

      groupmod [OPTION] GROUP
          -g GID:修改GID;
          -n new_name:修改组名;
      
    • gpasswd命令:管理组

      组密码文件:/etc/gshadow
      
      gpasswd [OPTION] group
          -a USERNAME:向组中添加用户
          -d USERNAME:从组中移除用户
      
    • chage命令:更改用户密码过期信息

      chage [OPTION] 登录名
      
          -d
          -E
          -W
          -m
          -M
      
    • id命令:显示用户和所属群组的实际与有效ID

      id [OPTION]... [USER]
          -u: 仅显示有效的UID;
          -g: 仅显示用户的基本组ID; 
          -G:仅显示用户所属的所有组的ID;
          -n: 显示名字而非ID;
      
    • su命令:切换用户

      登录式切换:会通过读取目标用户的配置文件来重新初始化
          su - USERNAME
          su -l USERNAME
      非登录式切换:不会读取目标用户的配置文件进行初始化
          su USERNAME
      注意:管理员可无密码切换至其它任何用户;
      -c 'COMMAND':仅以指定用户的身份运行此处指定的命令;
      
  • 相关阅读:
    olcano调度器源代码走读actions篇
    dlv volcano scheduler
    informer
    DeltaFIFO reflector
    第五章 Redis集群
    第四章 Redis主从
    第三章 ACL安全策略
    第二章 Redis数据类型
    第一章 Redis基本原理
    第九章 Confluence集成Jira
  • 原文地址:https://www.cnblogs.com/linux-timke/p/10674316.html
Copyright © 2020-2023  润新知