从零开始学习linux,从零开始的Linux学习Ⅱ

本文介绍了Linux系统中常用的文件管理命令,包括cp、mv、rm等的基本使用方法及选项说明。同时,深入探讨了文件元数据的概念及其查看方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux上的文件管理类命令

常用的文件管理工具有:cp , mv , rm

cp命令——copy:

NAME

cp - copy files and directories

复制 文件 和 目录

SYNOPSIS

单源复制 cp [OPTION]... [-T] SOURCE DEST

多源复制 cp [OPTION]... SOURCE... DIRECTORY

cp [OPTION]... -t DIRECTORY SOURCE...

常用OPTION:

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

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

-r, -R:递归复制目录;

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

-v:显示过程

-a:-dR --preserve=all, archive,用于实现归档;

--preserv=

mode:权限

ownership:属主和属组

timestamps: 时间戳

context:安全标签

xattr:扩展属性

links:符号链接

all:上述所有属性

cp SRC...DEST

复制 源 目标

情况一:

(1)如果DEST不存在:新建DEST,并将SRC中的内容填充至DEST中;

如果目标存在:如果DEST是文件:将SRC中的内容覆盖至DEST中;(可以使用-i来提醒用户是否覆盖)

(2)如果DEST是目录文件:在DEST下新建与源文件同名的文件并将SRC中的内容填充至新文件中;

情况二:如果SRC是目录则必须使用-r选项

(1)如果DEST存在,则其必须是目录,否则报错:现在DEST目录下创建与SRC同名的目录,并将SRC中的所有内容复制到DEST中

(2)如果DEST不存在,则先创建DEST目录,并将SRC中的所有内容复制到DEST目录中

2.mv命令:move:

NAME

mv - move (rename) files

移动 (重命名)文件

SYNOPSIS

单源移动 mv [OPTION]... [-T] SOURCE DEST

多源移动 mv [OPTION]... SOURCE... DIRECTORY

mv [OPTION]... -t DIRECTORY SOURCE..

常用OPTION:

-i:交互式

-f:force 强制

rm命令:

NAME

rm - remove files or directories

SYNOPSIS

rm [OPTION]… FILE…

常用OPTION:

-r, -R, –recursive:递归删除目录及其内容;

-f,force:强制删除,不提示确认;

-i,–interactive:交互式,提示确认;

因为删除命令是很危险的操作,请不要随便使用删除命令!

如需删除可以先创建一个模拟回收站备份文件后,等确认没用后再进行删除;

e11d5e7c3d5f3b17dedbdc35ac00af88.png

极度危险

bash的工作特性

bash的基础特性:命令的执行状态结果

命令执行的状态结果:

bash通过状态返回值来输出此结果:

成功:0

失败:1-255

命令执行完成之后,其状态返回值保存于bash的特殊变量$?中;

命令正常执行时,有的还回有命令返回值:

根据命令及其功能不同,结果各不相同;

引用命令的执行结果:

$(COMMAND)

或`COMMAND`

bash的基于特性:引用

强引用:''

弱引用:""

命令引用:``

bash基础特性:快捷键

Ctrl+a:跳转至命令行行首

Ctrl+e:跳转至命令行行尾

Ctrl+u:删除行首至光标所在处之间的所有字符;

Ctrl+k:删除光标所在处至行尾的所有字符;

Ctrl+l:清屏,相当于clear

命令行展开

~:自动展开为用户的家目录,或指定的用户的家目录:

{ }:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径:

例如:/tmp/{a,b} 相当于 /tmp/a /tmp/b

文件的元数据信息

文件的数据分为两类:一类为数据,即文件的实际内容;另一类为元数据,用来描述文件的特征。

元数据内容:

1.文件名

2.文件大小

3.文件所在数据块

4.数据块的大小

5.文件类型

6.文件所在的Inode

7.硬链接次数

8.权限

9.属主id

10.属组id

11.最近一次访问时间戳

12.最近一次更改文件内容的时间戳

13.最近一次更改文件元数据的时间戳

查看文件的元数据——stat命令

NAME

stat - display file or file system status

SYNOPSIS

stat [OPTION]... FILE...

OPTION

-f 输出文件系统的状态,而非文件的状态

-t 显示简要格式的文件元数据信息

修改文件的时间戳

可以使用touch命令更改文件的时间戳:

NAME

touch - change file timestamps

SYNOPSIS

touch [OPTION]... FILE...

常用OPTION:

-a change only the access time

仅修改 access time;

-c, --no-create

do not create any files

仅修改文件的时间,若该文件不存在则不创建新文件

-d, --date=STRING

parse STRING and use it instead of current time

后面可以接欲修订的日期而不用目前的日期,也可以使用 –date=”日期或时间”

-m change only the modification time

仅修改 modification time ;

-t STAMP

use [[CC]YY]MMDDhhmm[.ss] instead of current time

后面可以接欲修订的时间而不用目前的时间,格式为[[CC]YY]MMDDhhmm[.ss]

命令的别名

定义别名命令——alias

使用alias命令就可以在命令中引用另一个命令的执行结果

语法:# alias name=’command line’

alias的作用仅在该次登入的操作,即输入一次alias后,这个修改只在当前的Shell生效。如果重新开启一个Shell,或者重新登录,则这些alias将无法使用。

在Centos7中系统默认包含的有

a6e3fb8be2efcfe5a30adeb6b16ec665.png

alias永久化的方法:

(1)若要每次登入就自动生效别名,则把别名加在/etc/profile或~/.bashrc中。

然后# source ~/.bashrc

(2)若要让每一位用户都生效别名,则把别名加在/etc/bashrc最后面,

然后# source /etc/bashrc

练习:

请使用命令展开行功能来完成以下练习:

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

mkdir -p {a,b}_{c,d}

9aef004a660891cf515618a081729f51.png

(2)、创建/tmp/mylinux目录下的:

mylinux/

├ ─ ─ bin

├ ─ ─ boot

│ └ ─ ─ grub

├ ─ ─ dev

├ ─ ─ etc

│ ├ ─ ─ rc.d

│ │ └ ─ ─ init.d

│ └ ─ ─ sysconfig

│ └ ─ ─ network-scripts

├ ─ ─ lib

│ └ ─ ─ modules

├ ─ ─ lib64

├ ─ ─ proc

├ ─ ─ sbin

├ ─ ─ sys

mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys}

(3)、显示/var目录下所有以1开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。

ls -d /var/l?[[:lower:]]

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

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

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

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

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

touch /tmp/tflie-$(date +\%F-\%H-\%M-\%S)

832b9074c16e64d7f6a97e6b7354ba5d.png

(7)、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

cp -r /etc/p*[^0-9] /tmp/mytest1/

(8)、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。

cp -r /etc/*.d /tmp/mytest2/

(9)、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

cp -r /etc/[lmn]*.conf /tmp/mytest3/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值