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

linux中常见的文件管理类命令:cp mv rm

1. cp命令:作用复制文件或者路径

具体格式:

       单源复制:cp [OPTION]... [-T] SOURCE DEST

a. DEST不存在,创建文件将源数据流复制到新文件中

图片1.png

图片2.png 

b. DEST存在:

(a) 如果DEST是非目录文件:则覆盖目标文件;

图片3.png

                  (b) 如果DEST是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流;

              图片4.png

       多源复制:cp [OPTION]... SOURCE... DIRECTORY

                 cp [OPTION]... -t DIRECTORY SOURCE...

a. 如果DEST不存在:错误;

[root@centos7 ~]# cp /tmp/a1 /tmp/b1

cp: omitting directory ‘/tmp/a1’

 

b. 如果DEST存在:

          如果DEST是非目录文件:错误;

[root@centos7 ~]# cp /tmp/a1 /tmp/a2/b/test.test

cp: omitting directory ‘/tmp/a1’

          如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名;

图片5.png

常用选项:

-i, --interactive:prompt before overwrite交互式复制,即覆盖之前提醒用户确认;

-f, --force:if  an  existing destination file cannot be opened, remove it and try again强制覆盖目标文件;

-R, -r, --recursive:copy directories recursively递归复制目录;

-d:复制符号链接文件本身,而非其指向的源文件;

-a, --archive:same as -dR --preserve=all用于实现归档;

--preserv=

mode:权限

ownership:属主和属组

timestamps: 时间戳

context:安全标签

xattr:扩展属性

links:符号链接

all:上述所有属性

2. mv命令:移动(重命名)文件

具体格式:

       mv [OPTION]... [-T] SOURCE DEST

       mv [OPTION]... SOURCE... DIRECTORY

       mv [OPTION]... -t DIRECTORY SOURCE...

常用选项:

-i, --interactive:prompt before overwrite覆盖前提示

-f, --force:do not prompt before overwriting覆盖前不提示

图片6.png

3. rm命令:删除文件或路径

具体格式:

rm [OPTION]... FILE...

常用选项:

-f, --force:ignore nonexistent files and arguments, never prompt 忽略不存在的文件,从不提示

-i :prompt before every removal删除前提示

-r, -R, --recursive:remove directories and their contents recursively递归式删除

图片7.png

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

[root@centos7 ~]# mkdir -p /tmp/{a1/a,a2/b,x_y,x_z,q_y,q_z}

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

图片8.png

文件的元数据包含以下内容:

File:文件名称;

Size:文件大小;

Blocks:占用的磁盘块数;

IO BlockIO块大小;

regular file:文件的类型

Device:所在设备;

InodeInode节点号;

Links:被链接的次数;

Access:访问权限;

Uiduid号和属主;

Gidgid号和属组;

Context: 上下文

Access:文件最近一次的访问时间;

Modify:文件数据的修改时间;

Change:元数据的改变时间。

 

修改文件的时间戳:利用touch命令

格式:touch [OPTION]... FILE...

常用选项:

-c: 指定的文件路径不存在时不予创建;

-a: 仅修改access time

-m:仅修改modify time

-t STAMP [[CC]YY]MMDDhhmm[.ss]

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

[root@centos7 ~]# touch /tmp/tfile$(date +%Y-%m-%d-%H-%M-%S)

 

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

图片9.png

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

[root@centos7 ~]# useradd -u 5001 -d /tmp/tom -s /bin/zsh -g tom -G jack tom

图片10.png

七、常用的用户管理命令有哪些,并演示命令以及用法。

1. useradd : 创建用户或升级默认新用户信息

格式:

       useradd [options] LOGIN

       useradd -D显示创建用户的默认配置

       useradd -D [options]选项: 修改默认选项的值;

常用选项:

-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:创建系统用户;

2. userdel: 删除用户及其相关文件

格式:

userdel [options] LOGIN

3. usermod : 修改用户属性

格式:

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:解锁用户的密码;