Linux文件管理及bash基础特性

 

1、Linux系统文件管理类命令及其常用方法、相关示例演示。

Linux系统文件管理类命令主要有cp、mv、rm

①     cp命令:copy

cp命令用于复制文件或目录,分单源、多源复制两种情况。

单源复制:

命令格式:cp [OPTION]… [-T] SOURCE DEST

如果DEST不存在,则先创建此文件,并复制源文件的数据流至DEST中;如果DEST存在但不是目录文件,则覆盖目标文件,如果DEST存在且是目录文件,则先在DEST目录下创建一个源文件的同名文件,并复制其数据流至目标文件。

多源复制:

命令格式:cp [OPTION]… SOURCE… DIRECTORY

cp [OPTION]… -t DIRECTORY SOURCE…

如果DEST不存在或不是目录,则提示错误,如果DEST存在,则分别复制每个文件至目标目录中,并保持原名。

常用选项:

-i:交互式复制,即覆盖之前提醒用户确认;

-f:强制覆盖目标文件;

-r:递归复制目录;

-d:复制链接文件本身,而非其指向的源文件;

-a:-dR –perseve=all,archive,用于实现文件归档

–perserve:保留文件属性

mode:             权限

ownership:    属主和属组

timestamps: 时间戳

context:         安全标签

xattr:              扩展属性

links:               符号链接

all:                            上述所有属性

示例:

2-12-2

②     mv命令:move

命令格式

mv [OPTION]… [-T] SOURCE DEST

mv [OPTION]… SOURCE… DIRECTORY

mv [OPTION]… -t DIRECTORY SOURCE…

Mv命令用于移动或重命名文件,当源文件与目标文件位于同一路径时,将源文件名修改为目标文件名,当源文件与目标文件位于不同路径时,该命令将源文件移动至目标目录,如果DEST不是目录,则在移动源文件后将文件名修改为目标文件名。

该命令的执行相当于先执行cp命令之后对原文件执行删除操作。

常用选项:

-i:交互式,提示覆盖目标文件

-f:force 覆盖目标文件之前不提示

示例:

2-3

③     rm命令:remove

Rm命令删除文件或目录。

常用选项:

-i:交互式

-f:force

-r:递归

由于Linux文件系统在文件删除后无法找回,因此建议不用的文件不要直接删除,而是移动至某个专用目录;(模拟回收站)

示例:

2-4

2、bash工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。

Bash命令执行完之后会返回状态值标识命令执行情况,命令执行成功则返回值为0,失败则取1-255之间的一个值,该状态值存储在bash环境变量$?中。

2-5

命令行展开主要涉及符号~和{},其中:

~:自动展开为用户家目录

{}:可将以逗号分隔的路径列表展开为多个路径,如/tmp/{a,b}相当于/tmp/a和/tmp/b两个目录

3、使用命令行展开完成以下练习:

(1)创建/tmp目录下的a_c,a_d,b_c,b_d目录

2-6

(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

2-7

4、文件的元数据信息有哪些,分别代表什么含义,如何查看?如何修改文件的时间戳信息。

文件元数据信息包括文件大小、类型、节点号、链接数、权限、用户和组、安全标签和时间戳等,使用stat命令查看。

2-8

修改文件时间戳信息可以使用touch命令

命令格式:touch [OPTION]… FILE…

选项:

-c:指定的文件路径不存在时不予创建;

-a:仅修改访问时间

-m:仅修改更改时间

-t STAMP:修改为指定时间

2-92-10

 

5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?

使用alias命令定义命令别名,具体格式如下:

Alias NAME=’COMMAND’

该命令单独执行时返回所有已定义别名,如撤销别名则使用unalias NAME命令。

2-112-12

在命令中引用另一个命令的执行结果可以使用$(COMMAND)或`COMMAND`方式。

2-13

6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字的文件或目录。

ls –d /var/l*[0-9]*[[:lower:]]

 

7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。

ls –d /etc/[0-9]*[^0-9]

 

8、显示/etc/目录下,以非字母开头,后面跟了一个字母以及其他任意长度任意字符的文件或目录。

ls -d /etc/[^0-9][a-z]*

 

9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。

touch “tfile-$(date +%F-%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/{l,m,n}*.conf /tmp/mytest3

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/102130

发表评论

登录后才能评论

This site uses Akismet to reduce spam. Learn how your comment data is processed.

联系我们

400-080-6560

在线咨询:点击这里给我发消息

邮件:1823388528@qq.com

工作时间:周一至周五,9:30-18:30,节假日同时也值班