1、总结cp、mv命令的用法(要求列出源及目标各种情况的表格)
cp命令使用:
功能说明:复制文件和目录
语法:
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
详解:1)SOURCE为单个文件 目标不存在,新建DEST,并将SOURCE中内容复制到DEST中
目标存在,DEST为文件,覆盖DEST内容
DEST为目录,新建与SOURCE相同的文件名和内容
2)SOURCE为多个文件用逗号分开 目标存在,DEST必须为目录
3)SOURCE为目录(必须使用-r选项) 目标为文件时会报错
目标目录不存在,新建DEST,并将SOURCE中内容复制到DEST中
目标目录存在,新建与SOURCE相同的目录名,并将SOURCE中内容复制到DEST中
4)复制目录时SOURCE目录名不带"/"
常用选项:
-i:交互式,用于DEST与SOURCE同名复制时
-r,-R :递归复制目录及其所有内容
-a:归档,相当于-dR --preserve=all
-d:--no-dereference --preserv=links
--preserv=[ATTR_LIST]
mode:权限
ownership:属主属组
timestamp
links
xattr
context
all
-p:--preserv=mode,ownership,timestamp
-v:--verbose 显示运行的进度
-f:--force 如目标文件无法打开时使用
-s:创建符号链接
-l:创建硬链接,注意事项:不可以用来创建目录
-P:--no-dereference ,SOURCE为符号链接,复制后也是符号链接
-L:与-P相反
-u: 当SOURCE比DEST内容更新的时候复制
--backup=[control] :创建备份文件,目标目录中有有同名的文件时默认为覆盖
none,off:从不备份
numbered,t:用编号备份
existing.nil:如果编号备份存在则使用编号备份,否则用简易备份
simple,never:总使用简易备份(文件名末尾用波浪符标记(~))
--remove-destination:目标文件中有同名的文件复制前先删除文件
mv命令使用:
功能说明:移动文件,重命名文件
语法:
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE..
详解:1)SOURCE是文件,DEST是文件,进行重命名操作
DEST是目录,将源文件复制到DEST中
2)SOURCE为多个文件时用空格分开 目标存在,DEST必须为目录
3)SOURCE为目录, 目标目录不存在,修改目录名称
目标目录存在,将SOURCE移动至DEST中
常用选项:
-i:交互式,用于DEST与SOURCE同名复制时
-f:强制执行覆盖
-v:
-u:当SOURCE比DEST内容更新的时候移动
-n:移动是不允许覆盖已经存在的文件
-b:创建备份文件,目标目录中有有同名的文件时默认为覆盖
2、总结IO重定向的类别和区别。
Linux给程序提供三种IO设备
1.标准输入(stdin)0,默认接受来自键盘的输入
2.标准输出(stdout)1,默认输出到终端
3.标准错误(stderr)2,默认输出到终端
重定向就是不使用系统的标准输入端口,标准输出端口和标准错误输出端口,而进行重新的指定,所以重定向分为输入、输出和错误重定向,通常情况下重定向到一个文件。
支持的操作符号包括
1> 或 > 把STDOUT重定向到文件
2> 把STDERR重定向到文件
&> 把所有输出重定向到文件
以上文件如果已存在,文件内容会被覆盖。
set -C 禁止将内容覆盖已有文件,但可以追加,利用 >| 仍可强制覆盖
set +C 默认,允许覆盖
输入重定向:
从文件中导入STDIN,代替当前终端的输入设备,使用 < 来重定向标准输入,某些命令能够接受从文件中导入的STDIN
利用“<”可以将标准输入重定向
3、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中
4、请总结描述用户和组管理类命令的使用方法并完成以下练习:
(1)、创建组distro,其GID为2019;
#groupadd -g 2019 distro
(2)、创建用户mandriva, 其ID号为1005;基本组为distro;
#useradd -u 1005 -g distro mandriva
(3)、创建用户mageia,其ID号为1100,家目录为/home/linux;
#useradd -u 1100 -d /home/liunx mageia
(4)、给用户mageia添加密码,密码为mageedu,并设置用户密码7天后过期
#echo mageia:mageedu |chpasswd
[root@centos7-test /]#passwd -x 7 mageia
Adjusting aging data for user mageia.
passwd: Success
(5)、删除mandriva,但保留其家目录;
(6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;
(7)、修改slackware的默认shell为/bin/tcsh;
(8)、为用户slackware新增附加组admins,并设置不可登陆。
创建用户user1、user2、user3。在/data/下创建目录test
(1)、设置目录/data/test属主、属组为user1
(2)、在目录属主、属组不变的情况下,user2对test及其子目录有读写权限
#setfacl -m u:user2:rwx /data/test
对于目录来说,目录的操作分别是可浏览、可创建/删除、可进入。如果目录没有 x 权限,那么即便这个目录有 r 或 w 权限,也不能对这个目录进行浏览、创建/删除操作,甚至不能进入该目录。
(3)、user1在/data/test目录下创建文件a1.sh, a2.sh, a3.sh, a4.sh,设置所有用户都不可删除1.sh,2.sh文件。
(4)、清理/data/test目录及其下所有文件的acl权限