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

相关推荐

  • 磁盘阵列及逻辑卷的创建

    磁盘阵列 软件RAID的实现 mdadm:模式化的工具 命令的语法格式:mdadm[mode] <raiddevice> [options] <component-devices> 支持的RAID级别:LINEAR, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10 模式: 创建:-C 装配: -A …

    Linux笔记 2018-04-30
  • Linux基本指令

    hostname  完整主机名cat +文件路径  可查看文件信息cat /etc/shells  显示所有shelluname -r    查看内核版本ls cpu   查看cpu信息free命令  查看内存 后面加-k是显示的内存以kb为单位,-m(MB),-g(GB),-h显示易读单位lsblk  查看硬盘dmesg  查看计算机启动的一些相关信息dm…

    2018-07-22
  • shell脚本

    shell脚本的练习题

    2018-04-18
  • Varnish缓存服务介绍及相关实验

    缓存是指把对某些请求的结果缓存下来,下次请求直接使用数据响应,这样极大的节省了系统获取源数据资源的时间,若我们把大量的请求结果都使用缓存服务器来响应,那么我们可以大大减少计算机数量减少成本。

    2018-07-19
  • 第四周Linux小总结

    sed工具;用法: sed [option]… ‘script’ inputfile…常用选项:-n:不输出模式空间内容到屏幕,即不自动打印[root@localhost ~]# sed -n -e “2p” -e “6p” f1 (2;6代表处理第几行)-e: …

    Linux笔记 2018-04-22
  • Linux发行版的基础目录名称命名法则及功用规定

    对于linux来说,普天之下莫非王土,所有的文件必须从根开始。磁盘有多个分区,如何跟根建立关系?我们把磁盘上一个分区定义为根分区,那么其它分区被根分区奴役。其它分区挂载(关联)到根分区上。 所有linux命名必须遵守,FHS,:Filesystem Hieracchy standard.文件系统层级机构标准。定义根下必须有哪些目录,哪些可以没有,不同发行版所…

    2018-06-27