N21_2周_Linux目录管理相关
作业题目:
1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
3、请使用命令行展开功能来完成以下练习:
(1)、创建/tmp目录下的:a_c, a_d, b_c, b_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
4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
1.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
1.1 浏览目录
更改目录命令(cd)可以用于将shell会话移动到Linux文件系统中的另一个目录。
# cd //返回家目录
# cd .. //返回上级目录
双点(..)表示父目录。
# cd /usr/local/nginx/ //绝对路径跳转
1.2 文件和目录列表
1.2.1 基本列表
ls命令能够以最基本的形式显示当前目录中的文件和目录。
# ls -F //-F 区分文件和目录
# ls -a //-a 显示隐藏文件
# ls -R //-R 显示当前目录的内容
1.2.2 修改显示的信息
#ls -l //-l参数生成长列表格式
文件类型:目录(-d)、文件(-)、字符设备(c)、块设备(b);
1.3 文件处理
1.3.1 创建文件
# touch 365 //touch可以创建一个空文件
1.3.2 复制文件
格式:cp source destination //将source复制为一个新文件,文件名叫destination
#cp 365 366
-f:强制覆盖现有的,且没有提示 -i:覆盖前提示下
1.3.3 链接文件
硬链接
#cp -l test1 test2
注:test1和test2的索引节点号相同,这两个实际上是同一个文件。在同一个物理介质的文件之间只能创建一个硬链接。不能在不同挂载点下的文件之间创建硬链接。
符号链接(又称软链接)
#cp -s test3 test4
1.3.4 重命名文件
#mv abc abcdef //重命名
#mv abcdef/ /home/ //移动
1.3.5 删除文件
#rm -rf abcdef/
1.3.6 目录管理
1.3.6.1 创建目录
#mkdir dir
1.3.6.2 删除目录
# rm -rf dir
……
2.bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
bash
命令执行的结果有两种成功或失败,成功的返回值用0表示,1-255表示失败。
bash
使用
echo
$?来保存最近一条命令的执行结果。
3.请使用命令行展开功能来完成以下练习:
(1)、创建/tmp目录下的:a_c, a_d, b_c, b_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 -pv /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}}
#yum install tree #tree mylinux
4.文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
文件系统中的数据分为数据和元数据,数据是指普通文件的实际数据,元数据是用来描述一个文件特征的系统数据,如访问权限,文件拥有者等等。
第1行代表文件的格式主要有一下几种
1.-:普通文件
2.d:目录文件
3.l:符号连接文件
4.s:套接字文件
5.p:管道文件
6.b:块设备文件
7.c:字设备文件
第2-9代表文件的拥有者,属组,其他用户对文件的访问权限
r:读 w:写 x:执行
使用stat和touch可以修改和查看文件的时间戳信息
[root@163 tmp]# stat /etc/passwd File: "/etc/passwd" Size: 1586 Blocks: 8 IO Block: 4096 普通文件 Device: 803h/2051d Inode: 4196173 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2016-07-18 16:23:01.212615801 +0800 Modify: 2016-07-09 16:22:44.855578502 +0800 Change: 2016-07-09 16:22:44.874578502 +0800
5.如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
使用aliase可以查看当前shell的的别名。aliase=value可以定义命令别名 (1) alias 显示当前shell进程所有可用的命令别名; (2) alias NAME='VALUE' 定义别名NAME,其相当于执行命令VALUE; 注意:在命令行中定义的别名,仅对当前shell进程有效;如果想永久有效,要定义在配置文件中; 仅对当前用户:~/.bashrc 对所有用户有效:/etc/bashrc 撤消别名:unalias unalias [-a] name [name ...]
6.显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
#ls /var/l*[0-9]*[[:lower:]]
7.显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
#ls -d /etc/[0-9]*[^0-9]
或
#ls -d /etc/[0-9]*[[:alpha:]]
8.显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
#ls -d /etc/[^[:alpha:]][[:alpha:]]*
9.在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
#touch /tmp/tfile`date +%F-%H-%M-%S`
10.复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
#cp -rf /etc/p*[^0-9] /tmp/mytest1
11.复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
#cp /etc/*.d /tmp/mytest2/ #cp -a /etc/*.d /tmp/mytest2/ #cp -rf /etc/*.d /tmp/mystest2
12.复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
#cp /etc/[lmn]*.conf /tmp/mytest3/
原创文章,作者:365,如若转载,请注明出处:http://www.178linux.com/24774
评论列表(1条)
写的很好,排版还可以在漂亮一点,加油