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

    cp命令:复制copy

    ​ 单源复制:cp [OPTION]... [-T] SOURCE DEST
    ​ 多源复制:cp [OPTION]... SOURCE... DIRECTORY
    ​ cp [OPTION]... -t DIRECTORY SOURCE...

    ​ 常用[OPTION]:

    ​ -i:交互式复制,即覆盖之前提醒用户确认
    ​ -f:强制覆盖目标文件,不显示确认
    ​ -r:递归复制目录
    ​ -d:复制符号链接文件本身,而非其指向的源文件
    ​ -a:-dR --preserve=all,archive,用于实现归档
    ​ --preserve
    ​ mode:权限
    ​ ownership:属主和属组
    timestamps:时间戳
    ​ context:安全标签
    xattr:扩展属性
    ​ links:符号链接
    ​ all:上述所有属性

    mv命令:移动move

    ​ cp [OPTION]... [-T] SOURCE DEST
    ​ cp [OPTION]... SOURCE... DIRECTORY
    ​ cp [OPTION]... -t DIRECTORY SOURCE...
    ​ 常用选项
    ​ -i:交互式
    -f:force

    rm命令:删除

    ​ rm [OPTION]... FILE...

    ​ 常用选项:
    ​ -i:interactive
    -f:force
    -r:recursive
    ​ 删除目录: rm -rf /PATH/TO/DIR
    ​ 危险操作:rm -rf /*
    注意:所有不用的文件建议不要直接删除,而是移动至某个专用的目录:(模拟回收站)

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

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

    元数据信息:

    file:文件名;

    size:文件大小

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

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

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

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

    links:链接

    Access:文件权限

    Uid:该文件所属的属主

    Gid:该文件所属的属组

    context:安全上下文

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

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

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

    查看文件元数据的方法:

    stat命令:用于显示文件的状态信息。stat命令的输出信息比ls命令的输出信息要更详细。

    stat [OPTION]... FILE...

    -L:支持符号连接;
    -f:显示文件系统状态而非文件状态;
    -t:以简洁方式输出信息;
    --help:显示指令的帮助信息;
    --version:显示指令的版本信息。

    修改文件的时间戳方法:

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

    ​ touch [OPTION]... FILE...

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

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


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

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

  1. Linux上的常见的用户管理命令有哪些,并演示命令以及用法

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

    创建用户

    ​ useradd[options] LOGIN
    ​ -u UID
    ​ -o 配合-u 选项,不检查UID的唯一性
    ​ -g GID:指明用户所属基本组,可为组名,也可以GID
    ​ -c "COMMENT":用户的注释信息
    ​ -d HOME_DIR: 以指定的路径(不存在)为家目录
    ​ -s SHELL: 指明用户的默认shell程序,可用列表在/etc/shells文件中
    ​ -G GROUP1[,GROUP2,...]:为用户指明附加组,组须事先存在
    ​ -N 不创建私用组做主组,使用users组做主组
    ​ -r: 创建系统用户CentOS 6: ID<500,CentOS 7: ID<1000
    ​ -m 创建家目录,用于系统用户
    ​ -M 不创建家目录,用于非系统用户

    删除用户

    ​ userdel[OPTION]... login
    ​ -r: 删除用户家目录

    用户属性修改

    ​ usermod[OPTION] login
    ​ -u UID: 新UID
    ​ -g GID: 新主组
    ​ -G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项
    ​ -s SHELL:新的默认SHELL
    ​ -c 'COMMENT':新的注释信息
    ​ -d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项
    ​ -l login_name: 新的名字;
    ​ -L: lock指定用户,在/etc/shadow 密码栏的增加!
    ​ -U: unlock指定用户,将/etc/shadow 密码栏的! 拿掉
    ​ -e YYYY-MM-DD: 指明用户账号过期日期
    ​ -f INACTIVE: 设定非活动期限

    设置密码

    ​ passwd[OPTIONS] UserName: 修改指定用户的密码
    ​ -d:删除指定用户密码
    ​ -l:锁定指定用户
    ​ -u:解锁指定用户
    ​ -e:强制用户下次登录修改密码
    ​ -f:强制操作
    ​ -n mindays:指定最短使用期限
    ​ -x maxdays:最大使用期限
    ​ -w warndays:提前多少天开始警告
    ​ -iinactivedays:非活动期限
    ​ --stdin:从标准输入接收用户密码
    ​ echo "PASSWORD" | passwd--stdinUSERNAME

    创建组

    ​ groupadd[OPTION]... group_name
    ​ -g GID: 指明GID号;[GID_MIN, GID_MAX]
    ​ -r: 创建系统组
    ​ CentOS 6: ID<500
    ​ CentOS 7: ID<1000

    修改组
    groupmod[OPTION]... group
    -n group_name: 新名字
    -g GID: 新的GID

    组删除
    groupdel GROUP

    更改组密码
    gpasswd[OPTION] GROUP
    -a user 将user添加至指定组中
    -d user 从指定组中移除用户user
    -A user1,user2,... 设置有管理权限的用户列表
    临时切换主组

    ​ newgrp命令:如果用户本不属于此组,则需要组密码

    修改用户密码策略
    chage[OPTION]... LOGIN
    -d LAST_DAY
    -E --expiredateEXPIRE_DATE
    -I --inactive INACTIVE
    -m --mindaysMIN_DAYS
    -M --maxdaysMAX_DAYS
    -W --warndaysWARN_DAYS
    –l 显示密码策略
    示例:
    chage-d 0 tom 下一次登录强制重设密码
    chage-m 0 –M 42 –W 14 –I 7 tom
    chage-E 2016-09-10 tom

    查看用户相关的ID信息
    id [OPTION]... [USER]
    -u: 显示UID
    -g: 显示GID
    -G: 显示用户所属的组的ID
    -n: 显示名称,需配合ugG使用

    切换用户或以其他用户身份执行命令
    su[options...] [-] [user [args...]]
    切换用户的方式:
    suUserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录
    su-UserName:登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换
    root su至其他用户无须密码;非root用户切换时需要密码
    换个身份执行命令:
    su[-] UserName-c 'COMMAND'
    选项:-l --login
    su-l UserName相当于su-UserName

    用户相关的其他命令

    ​ chfn、chsh、finger

  2. 描述Linux目录结构一级目录结构命名规定

    /:根目录,一般根目录下只存放目录,不要存放件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中

    /bin: /usr/bin: 可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。

    /boot:放置linux系统启动时用到的一些文件。/boot/vmlinuz 为 linux 的内核文件,以及 /boot/gurb。建议单独分区,分区大小100M即可

    /dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱 mount /dev/cdrom /mnt。

    /etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有 /etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。

    注:/etc/X11 存放与 x windows 有关的设置。

    /home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,~表示当前用户的家目录,~edu 表示用户 edu 的家目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据

    /lib: /usr/lib: /usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为 /lib/modules。

    /lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下,通常这个目录会自动出现在装置目录下。如加载硬盘于 /disk 中,此目录下就会自动产生目录 /disk/lost+found

    /mnt: /media:光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载。

    /opt:给主机额外安装软件所摆放的目录。如:FC4使用的Fedora 社群开发软件,如果想要自行安装新的 KDE 桌面软件,可以将该软件安装在该目录下。以前的 Linux 系统中,习惯放置在 /usr/local 目录下

    /proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有 /proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等。

    /root:系统管理员root的家目录,系统第一个启动的分区为 /,所以最好将 /root和 /放置在一个分区下。

    /sbin: /usr/sbin: /usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount 等。与 /bin 不同的是,这几个目录是给系统管理员 root使用的命令,一般用户只能"查看"而不能设置和使用。

    /tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下

    /srv:服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内。

    /usr:应用程序存放目录,/usr/bin 存放应用程序,/usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local: 存放软件升级包。/usr/share/doc: 系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录,使用 man ls 时会查询 /usr/share/man/man1/ls.1.gz 的内容建议单独分区,设置较大的磁盘空间

    /var:放置系统执行过程中经常变化的文件,如随时更改的日志文件 /var/log,/var/log/message:所有的登录文件存放目录,/var/spool/mail:邮件存放的目录,/var/run:程序或服务启动后,其PID存放在该目录下。建议单独分区,设置较大的磁盘空间

  3. 显示/etc目录下,所有以.d结尾的文件或者目录

  1. 显示/etc目录下,所有以.conf结尾,且以m,n,r,p开头的文件或者目录

  2. 创建/app/rootdir目录,并复制/root下所有文件到该目录内,要求保留原有权限

  3. 文件权限,属主属组管理命令有哪些,并演示命令以及用法

    权限的分类

    r 读权限:可以打开文件、目录读取查看;
    w 写权限:对文件、目录可以编写更改
    x 执行权限:对文件可执行(可执行文件)、对目录可查找该目录下的内容
    - 没有权限

    权限所属对象

    拥有者:生成文件或目录时登录的当前人,权限最高,用u表示
    同组人:系统管理员分配的同组的一个或几个人,用g表示
    其他人:除拥有者,同组人以外的人,用o表示
    所有人:包括拥有者、同组人及其他人,用a表示

    管理命令

    chmod、chown、chgrp

    修改文件权限
    chmod[OPTION]... OCTAL-MODE FILE...
    -R: 递归修改权限
    chmod[OPTION]... MODE[,MODE]... FILE...
    MODE:
    修改一类用户的所有权限:
    u= g= o= ug= a= u=,g=
    修改一类用户某位或某些位权限
    u+ u-g+ g-o+ o-a+ a-+ -
    chmod[OPTION]... --reference=RFILE FILE...
    参考RFILE文件的权限,将FILE的修改为同RFILE

    修改文件的属主和属组
    修改文件的属主:chown

    ​ chown[OPTION]... [OWNER][:[GROUP]] FILE...
    ​ 用法:
    ​ OWNER
    ​ OWNER:GROUP
    ​ :GROUP
    ​ 命令中的冒号可用.替换
    ​ -R: 递归
    ​ chown[OPTION]... --reference=RFILE FILE...
    ​ 修改文件的属组:chgrp
    ​ chgrp[OPTION]... GROUP FILE...
    ​ chgrp[OPTION]... --reference=RFILE FILE...
    ​ -R 递归

  4. 创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为“Gentoo Distribution”