LINUX第二周博客
1.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
cp, mv, rm
1.复制命令: cp
cp [Option] ...[-T] SRC(源) DEST(目的)
(如果目标不存在,则新建DEST, 并将SRC中的内容填充至DEST中。
如果目标存在:如果DEST是文件,将SRC内容覆盖至DEST中。此时建议为cp命令使用-i选项。
如果DEST是目录,在DEST下新建与原文件同名的文件,并将SRC中内容填充至DEST中)
实例:cp /etc/fstab /tmp/out.tmp (out.tmp为文件)
cp /etc/fstab/tmp/out (out为目录)
cp [Option] ... SRC(原文件)...(可多个文件) DIRECTORY(新目录)(表示复制到哪个目录中)
如src 为多个文件,Directory必须存在,且为目录,其它情形均为错。
cp SRC DEST src是目录:
此时使用选项: -r (recursive 递归)
如果dest不存在则创建指定目录,复制SRC目录中所有目录至DEST中
如果dest存在:
如果dest是文件,则报错
如果dest是目录,则复制到此目录中
常用选项:
-i: 交互式
-r: 递归复制目录及其内部所有内容
-a: 归档, 相当于 -dR --preserv=all (即保留源文件或目录的属性,包括所有者、所属组、权限与时间)
-d: --no-dereference --preserv=links (如果原文件是链接,则保留原链接格式)
--preserv=[Attr_list](保留属性)
mode:权限
ownership:属主属组
timestamp:时间戳
links: 链接
xattr:特殊属性
context: 上下文
all:所有
-p =--preserve=mode, ownership, timestamp
-v 显示详细信息
-t 复制时可把目标放在前面
-f --force 强制复制 (危险)
如:cp /etc/apache2 /tmp/apache2 (/etc/apache2,/tmp/apache2 为目录,)
cp -P /var/tmp/a.txt ./temp/ (保留属性)
2.移动文件命令: mv
mv [Option]...[_T]SOURCE DEST 把源文件移动至目标文件,即改名
mv {Option]...SOURCE... DIRECTORY 把源文件移动至目标文件目录中
mv [Option]... -tDIRECTORY SOURCE 将DIRECTORY 作为移动目标
option:
-i 交互式, 有提示操作
-f 强制
如:mv test.log test1.txt (改名为test.txt)
mv test1.txttemp/ (移动至temp目录)
3.删除命令:rm
rm [OPTION]...FILE...
常用选项:
-i: 交互式
-f:强制删除
-r: 递归
rm -f a.log (强行删除文件)
rm -r tmp/ (删除tmp目录及其子目录和文件)
2.bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
bash 的命令执行结果状态有两种:成功/失败, bash使用特殊变量$?来保存最近一条命令的执行状态结果。0为成功,1-255代表各种失败。
bash的命令行展开:用{}表示可承载一个以逗号分隔的列表,并将其展开为多个路径
如:/tmp/{a,b}=/tmp/a, /tmp/b
/tmp/{a,b}/c=/tmp/a/c, /tmp/b/c
3.请使用命令行展开功能来完成以下练习:
(1)、创建/tmp目录下的:a_c, a_d, b_c, b_d
mkdir/tmp/{a,b}{_c,_d}
(2)、创建/tmp/mylinux目录下的:
mylinux/
mkdir -p
/tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var,lock,log,run}
4.文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
元数据包含文件的权限,大小,拥有者,组以及修改时间等信息,可用ls -l命令查看。用touch命令修改时间戳信息。如:touch -t [YYYYMMDDhhmm] FILE
5.如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
使用alias定义个别名,alias aliasname = Command + option
使用管道引用另一个命令执行结果, 如 ps -ef |grep httpd
6.显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
ls/var/l*[[:digit:]]*[[:lower:]]
7.显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
ls/etc/[[:digit:]]*[^[:digit:]]
8.显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
ls/etc/[^[:alpha:]][[:alpha:]]*
9.在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-08-06-09-32-22。
touch tfile-`date+%Y-%m-%d-%H-%M-%S`
10.复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
cp /etc/p*[^[:digit:]]/tmp/mytest1/
11.复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
cp -r /etc/*.d /tmp/mytest2
12.复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
cp /etc/[lmn]*.conf/tmp/mytest3/