zoukankan      html  css  js  c++  java
  • 第二周

    **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':仅以指定用户的身份运行此处指定的命令;
      
  • 相关阅读:
    HDU 1022 Train Problem I
    HDU 1702 ACboy needs your help again!
    HDU 1294 Rooted Trees Problem
    HDU 1027 Ignatius and the Princess II
    HDU 3398 String
    HDU 1709 The Balance
    HDU 2152 Fruit
    HDU 1398 Square Coins
    HDU 3571 N-dimensional Sphere
    HDU 2451 Simple Addition Expression
  • 原文地址:https://www.cnblogs.com/linux-timke/p/10674316.html
Copyright © 2011-2022 走看看