Linux common file management commands and user

Linux common file management commands and user

* File Management on Linux command
1. Contents Management Command

(1)ls:list,列出指定目录下的内容
         ls [OPTION]... [FILE]...
             -a:显示所有文件,包括隐藏文件;
             -A:显示除.和..之外的所有文件
              -l:--long,长格式列表,即显示文件的详细属性信息
                 [root@localhost /]# ls -l /etc/fstab
                  -rw-r--r--. 1 root root 501 Jul 24 09:24 /etc/fstab
                        -:文件类型:-(f):常规文件,d:目录文件,b:块设备文件,
                                          c:字符文件,l:符号链接文件,p:命令管道,s:套接字文件
                        rw-r--r--:rw-:属主权限,
                                     r--:属组权限
                                     r--:其他权限
            -h:--human-readable:对文件大小单位换算,换算后结果可能会非精确值
            -d:查看目录自身而非内部的文件列表
            -r:reverse:逆序显示
            -R:recursive:递归显示
(2)mkdir :创建目录
             mkdir [OPTION]... DIRECTORY...
                      -p:自动按需创建父目录;
                      -v:verbose:显示详细过程
                      -m MODE:直接给定权限
(3)rmkdir:删除目录
              -p:删除某目录后,如果其父目录为空,则一并删除之;
               -v: 显示过程
(4)cd:切换目录
          cd [/PATH/TO/SOMEDIR]
           cd: 切换回家目录;
                注意:bash中, ~表示家目录;
               cd ~:切换回自己的家目录
                cd ~USERNAME:切换至指定用户的家目录;
                cd -:在上一次所在目录与当前目录之间来回切换;
                         相关的环境变量:
                              $PWD:当前工作目录
                              $OLDPWD:上一次的工作目录
(5)显示当前目录:
         pwd: printing working directory
                  显示工作目录

2. File management tools:

(1)cp:copy
     源文件;目标文件;
         单源复制:cp [OPTION]... [-T] SOURCE DEST
         多源复制:cp [OPTION]... SOURCE... DIRECTORY
                             cp [OPTION]... -t DIRECTORY SOURCE...
            单源复制:cp [OPTION]... [-T] SOURCE DEST
        如果DEST不存在:则事先创建此文件,并复制源文件的数据流至DEST中;
    如果DEST存在:
        如果DEST是非目录文件:则覆盖目标文件;
        如果DEST是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流;
多源复制:cp [OPTION]... SOURCE... DIRECTORY
          cp [OPTION]... -t DIRECTORY SOURCE...
            如果DEST不存在:错误;
       如果DEST存在:
            如果DEST是非目录文件:错误;
            如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名;
常用选项:
    -i:交互式复制,即覆盖之前提醒用户确认;
    -f:强制覆盖目标文件;
    -r, -R:递归复制目录;
    -d:复制符号链接文件本身,而非其指向的源文件;
    -a:-dR --preserve=all, archive,用于实现归档;
    --preserv=
        mode:权限
        ownership:属主和属组
        timestamps: 时间戳
        context:安全标签
        xattr:扩展属性
        links:符号链接
        all:上述所有属性
    (2)mv命令:move
         mv [OPTION]... [-T] SOURCE DEST
         mv [OPTION]... SOURCE... DIRECTORY
         mv [OPTION]... -t DIRECTORY SOURCE..   
         常用选项:
                -i:交互式;
                -f:force
(3) rm命令:remove
     rm [OPTION]... FILE...
         常用选项:
    -i:interactive
    -f:force
    -r: recursive
    删除目录:rm -rf /PATH/TO/DIR
    危险操作:rm -rf /*
    注意:所有不用的文件建议不要直接删除,而是移动至某个专用目录;(模拟回收站)

3. text view command:

(1)cat:正向查看文本内容
   cat [OPTION]... [FILE]...
           -n:给显示的文本行编号;
                 -E: 显示行结束符$;
        实例:
    [root@localhost /]# cat -n /etc/fstab 
     1  
     2  #
     3  # /etc/fstab
     4  # Created by anaconda on Wed Jul 24 09:24:59 2019
     5  #
     6  # Accessible filesystems, by reference, are maintained under '/dev/disk'
     7  # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
     8  #
     9  UUID=5f0729d5-7831-4928-8f83-aabe74825f96 /                       xfs     defaults        0 0
    10  UUID=92f78ace-2a8c-4d7a-b9d4-7d1eb15d7848 /boot                   xfs     defaults        0 0
    11  UUID=165e4778-d613-4112-9ab2-8f93a9585eff swap                    swap    defaults        0 0
(2)tac:倒叙查看文本内容
 tac [OPTION]... [FILE]...
示例:
[root@localhost /]# tac   /etc/fstab 
UUID=165e4778-d613-4112-9ab2-8f93a9585eff swap                    swap    defaults        0 0
UUID=92f78ace-2a8c-4d7a-b9d4-7d1eb15d7848 /boot                   xfs     defaults        0 0
UUID=5f0729d5-7831-4928-8f83-aabe74825f96 /                       xfs     defaults        0 0
#
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
# Accessible filesystems, by reference, are maintained under '/dev/disk'
#
# Created by anaconda on Wed Jul 24 09:24:59 2019
# /etc/fstab
#
(3)head:查看文件的前n行;默认显示头10行
    格式:head [OPTION]... [FILE]...
   -n #:显示文本头#行内容
     实例:显示/etc/passwd文件头5行内容:
[root@localhost /]# head -5 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
(4)tail命令:
            查看文件的后n行;默认为10行
                tail [options] FILE
                    -n #显示文本后#行内容
                    -f:查看文件尾部内容结束后不退出,跟随显示新增的行
实例:显示/etc/passwd后5行内容:
[root@localhost /]# tail -5 /etc/passwd
named:x:25:25:Named:/var/named:/bin/false
mysql:x:27:27:MariaDB Server:/var/lib/mysql:/sbin/nologin
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
unbound:x:989:984:Unbound DNS resolver:/etc/unbound:/sbin/nologin
user1:x:1001:1001::/home/user1:/bin/bash
(5)more:分屏显示文本内容,每次显示一屏显示完停止
 格式:more [options] file [...]
   Space键:显示文本下一屏内容
   Enter键:只显示文本下一行内容
   b键:显示文本上一屏内容
   q键:退出
(6)less:分屏显示文本内容,不主动退出
格式:less [options] file [...]
   Space键:显示文本下一屏内容
   Enter键:只显示文本下一行内容
   b键:显示文本上一屏内容
   q键:退出

4. metadata file
(1) Linux file data into two categories of data, i.e. the actual contents of the file (data itself); one for the metadata profile for the characteristics (description data attributes )
(2) STAT command to view the metadata file:

[root@localhost /]# stat /etc/passwd
  File: ‘/etc/passwd’
  Size: 2420        Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d  Inode: 67913451    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:passwd_file_t:s0
Access: 2019-08-16 10:35:21.628999954 +0800
Modify: 2019-08-12 19:04:01.502948288 +0800
Change: 2019-08-12 19:04:01.503948288 +0800
 Birth: -

Can be seen that the metadata file includes the file name (File), the size (Size), data blocks (Blocks),
the IO block (IO Block), the device (Device), a node number (Inode), hard links (Links),
permissions (access), belongs to the master file (Uid), file owning group (Gid),
last access time (access time), recent file modification time (modify time),
recent file attributes change the time (change time).
(3) command to modify file time stamp information through touch,

 -c:指定的文件不存在时不予创建(所有时间都会改变);
-a:仅修改access time(实际change time会随着改变);
-m:仅修改modify time(实际change time会随着改变);
-t:使用指定的日期时间,格式[[CC]YY]MMDDhhmm[.ss](access time和modify time为指定时间,change time为当前系统时间)

Example 5:
(1) Expand the function using the command line, create / tmp / a1, / tmp / a2, / tmp / a1 / a, / tmp / a1 / b, create a directory in / tmp: x_y, x_z, q_y, q_z:

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

(2) Copy / etc directory beginning with all p, a non-end digital file or directory to / tmp / mytest1 directory.
[root@localhost /]# cp /etc/p*[^0-9] /tmp/mytest1/
(3) creation begins with tfile, followed by the current date and time of the file, the file name of the form in the / tmp directory: tfile-2016-05-27-09-32-22.
[root@localhost /]# touch /tmp/tfile-$(date '+%Y-%m-%d-%H-%M-%S')
* Common User Management Commands
1.useradd command: create user

   useradd [options] LOGIN
            -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:创建系统用户;
        注意:创建用户时的诸多默认设定配置文件为/etc/login.defs        
                  useradd -D:显示创建用户的默认配置;
                  useradd -D 选项: 修改默认选项的值;
                 修改的结果保存于/etc/default/useradd文件中;

2.usermod command: Modify User Attributes

   usermod [options] LOGIN
       -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:解锁用户的密码;

3.userdel command: delete user

  userdel [options] LOGIN
         -r:删除用户时一并删除其家目录;

4.passwd command:

 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

5.gpasswd command:

组密码文件:/etc/gshadow
        gpasswd [选项] group
            -a USERNAME:向组中添加用户
            -d USERNAME:从组中移除用户

6.newgrp command: temporarily switch group specified base set;

newgrp [-] [group]
            -: 会模拟用户重新登录以实现重新初始化其工作环境;

7 id command: both true and valid user ID;

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

Example 8: creating user tom, designated as the UID 5001, as the designated home directory / tmp / tom, designated as shell / bin / zsh, designated basic group tom, an additional jack for the group
[root@localhost /]# useradd tom -u5001 -d/tmp/tom -s/bin/zsh -gtom -Gjack

Guess you like

Origin blog.51cto.com/14418331/2430247