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目录中。

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


7. # 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

  1. 描述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存放在该目录下。建议单独分区,设置较大的磁盘空间

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

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

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

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

**权限的分类**

​	`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 递归
  1. 创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为“Gentoo Distribution”