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

(0)
一叶扁舟一叶扁舟
上一篇 2018-07-01
下一篇 2018-07-01

相关推荐

  • DNS服务、BIND

    DNS:domain name service,协议(C/S,udp53,tcp53) BIND:bekerley internat name domain 注意:named程序的启动用户是named用户,非root用户,因此需要注意权限和属主。 本地名称解析配置文件:hosts linux:/etc/hosts windows:%WINDOWS%/syst…

    2018-03-26
  • KeepAlive高可用双主lvs-dr模型集群

    1.环境: RS1  :  192.168.0.117 RS2 :192.168.0.118 VS1 :192.168.0.106 VS2 :  192.168.0.114 VIP1:192.168.0.90     VIP2:192.168.0.99 2.在RS上安装httpd服务:yum install httpd 编辑网页: vi /var/www/h…

    Linux笔记 2018-07-23
  • LVS介绍及工作原理

    LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。

    2018-07-03
  • linux中cat、more、less命令区别详解

    众所周知linux中命令cat、more、less均可用来查看文件内容,主要区别有:
    cat是一次性显示整个文件的内容,还可以将多个文件连接起来显示,它常与重定向符号配合使用,适用于文件内容少的情况;
    more和less一般用于显示文件内容超过一屏的内容,并且提供翻页的功能。more比cat强大,提供分页显示的功能,less比more更强大,提供翻页,跳转,查找等命令。而且more和less都支持:用空格显示下一页,按键b显示上一页。下面详细介绍这3个命令。

    2018-04-15
  • ansible httpd

    卸载服务ansible all -m shell -a ‘yum -y remove nginx’ 检查用户 组 uid gidansible all -m shell -a ‘getent passwd nginx’ansible all -m shell -a ‘getent group ngi…

    Linux笔记 2018-07-23