1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
答:常见的文件管理命令有:mv,cp,rm
①mv:
常用选项有
-i 操作时咨询用户
-f 不再咨询用户
-v 显示详细的步骤
eg:
mv /path/file /path2/file2|dir 将file从path1移动到path2并命名为file2或移动到dir目录下(该目录必须存在)
mv file file 此操作可用于将file文件原地更名
②cp:
常用选项有
-r 递归复制,常用于需要循环复制目录时候
-i 操作时咨询用户
-f 不再咨询用户
-v 显示详细的步骤
eg:cp /path/file1 /path2/file2|dir 将文件fiel1复制到path2并命名为file2或复制到dir目录下(该目录必须存在)
cp -r /path/dir /path2/dir2 将dir整个目录拷贝到dir2
③rm:
常用选项有
-r 递归删除
-i 操作时咨询用户
-f 不再咨询用户
-v 显示详细的步骤
rm -rf /path 删除path路径下所有文件且不提醒用户
rm /path/file 删除文件file
2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
答:可以通过特殊变量 $? 来获取当前程序执行状态值,
当$?=0 表示命令执行成功,当其为1-255说明任务执行失败.
~:表示当前用户的家目录
~username:表示username用户的家目录
{xxx}可用于一次创建多个目录文件
示例:touch {a,b}{c,d}可同时创建ac,ad,bc,bd
3、请使用命令行展开功能来完成以下练习:
(1)、创建/tmp目录下的:a_c, a_d, b_c, b_d
命令:touch {a,b}_{c,d}
示例:
(2)、创建/tmp/mylinux目录下的:
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
命令:mkdir -p {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、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
文件的元数据可以通过 stat filename 查看,所代表的含义如下以及示例如下:
File:文件名称
Size:文件大小
Blocks:块大小
IO Block:IO块大小
Device:文件的磁盘位置
Inode: inode编号
Links: 链接数
Access:访问权限
Uid:文件拥有者
Gid:文件属组
Access: 访问时间
Modify: 修改时间
Change: 改变时间
修改文件时间戳可以使用touch命令
-a:更改存取时间
-m:更改变动时间
-t:使用指定的时间值
5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
定义命令别名的格式为:alias name="values"
可以通过管道符引用另一个命令的执行结果,eg:ls -l /etc/fstab | less
6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
命令:ls -l /var/1*[0-9]*[[:lower:]]
7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
命令:ls -l /etc/[0-9]*[^0-9]
8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
命令:ls -l /etc/[^[:alpha:]][[:alpha:]]*
9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-08-06-09-32-22。
命令:touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)
10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
命令:cp -r /etc/p*[^0-9] /tmp/mytest1
11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
命令:cp -r /etc/*.d /tmp/mytest2
12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
命令:cp -r /etc/[1mn]*.conf /tmp/mytest3