首页 理论教育 RHEL7.4/CentOS7.4的文件操作类命令

RHEL7.4/CentOS7.4的文件操作类命令

时间:2023-10-22 理论教育 版权反馈
【摘要】:例如,用root身份,把家目录下的.bashrc复制到/tmp下,并更名为bashrc,同时查看文件权限情况例如,切换目录到/tmp,并将/var/log/wtmp复制到/tmp且观察属性情况例如,复制/etc目录下的所有内容到/tmp,原来文件及目录的权限都不变2.2.4.2mv命令mv命令用来文件或者目录的移动或重命名。

RHEL7.4/CentOS7.4的文件操作类命令

2.2.4.1 cp命令

cp命令用来复制文件或者目录。

命令格式:cp [参数] 源文件 目标文件

参数:

-a:与-pdr等价,将文件原有状态、权限等属性全部复制

-p:同时复制文件属性

-d:复制时保留文件链接

-r:复制目录时,递归复制子目录

-f:如果目标文件或目录存在,先删除它们再进行复制,并且不提示用户

-i:如果目标文件或目录存在,提示是否覆盖已有的文件

-l:不复制,而是创建指向源文件的链接文件,链接文件名由目标文件给出

-u:在目标文件与来源文件有差异时,才会复制,常被用于备份的工作当中

不同身份者(例如root用户、普通用户)执行cp命令会有不同的结果产生,例如,密码文件(/etc/shadow)以及一些配置文件的复制,要加上参数-a或-p,把文件原有权限一起复制过去。

例如,用root身份,把家目录下的.bashrc复制到/tmp下,并更名为bashrc,同时查看文件权限情况

例如,切换目录到/tmp,并将/var/log/wtmp复制到/tmp且观察属性情况

例如,复制/etc目录下的所有内容到/tmp,原来文件及目录的权限都不变

2.2.4.2 mv命令

mv命令用来文件或者目录的移动或重命名

命令格式:mv [参数] 源文件或目录 目标文件或目录

参数:

-i:如果目标文件或目录存在,则提示是否覆盖目标文件或目录

-f:无论目标文件或目录是否存在,直接覆盖目标文件或目录,不提示

-v:显示文件的移动进度

例如,在家目录/root下创建文件test.txt和目录test,把test.txt文件移动到test目录中,并把它重命名为testchage.txt

2.2.4.3 rm命令

rm命令用来删除文件或者目录,是remove的缩写。

命令格式:rm [参数] 文件名或目录名

参数:

-r:等价于-R或--recursive参数,递归删除目录,即包含目录下的文件和各级子目录

-f:等价于--force参数,强制删除,不提示

-v:等价于--verbose,显示命令执行过程

-i:删除文件或目录时提示用户

例如,把上一条命令创建的文件/root/test/testchage.txt删除

例如,删除当前目录下的所有文件,但不删除子目录和隐藏文件

例如,删除当前目录下的子目录subdir1,包含其下的所有文件和子目录,并且提示用户确认

2.2.4.4 touch命令

touch命令用来创建空白新文件、改变文件或目录时间。一次可以创建多个文件,以空格隔开。

命令格式:touch [参数] 文件名或目录名

参数:

-d yyyymmdd:把文件的存取或修改时间改为yyyy年mm月dd日

-a:只把文件的存取时间改为当前时间

-m:只把文件的修改时间改为当前时间

例如,如果当前目录下存在newfile文件,则把newfile文件的存取和修改时间改为当前时间,如果不存在newfile文件,则新建newfile文件。

2.2.4.5 whereis命令

whereis命令用来寻找命令的可执行文件所在的位置。

命令格式:whereis [参数] 命令名称

参数:

-b:只查找二进制文件

-m:只查找命令的联机帮助手册部分

-s:只查找原始代码文件

例如,查找命令rpm的位置

2.2.4.6 find命令

find命令用于查找指定范围内的文件。

命令格式:find [查找范围] [查找条件] [处理动作]

参数:

-name filename:查找指定名称的文件

-iname filename:查找指定名称的文件(不区分大小写

-user username:查找属于指定用户的文件

-group grpname:查找属于指定组的文件

-size n:根据文件大小查找大小为n块的文件,一个数据块是512字节,+n表示查找大于n块的文件,-n表示查找大小小于n块的文件,n表示查找大小等于n块的文件

-inum n:查找索引节点为n的文件

-type:查找指定类型的文件。文件类型有:b(块设备文件)、c(字符设备文件)、d(目录)、p(管道文件)、l(符号链接文件)、f(普通文件)、s(套接字文件)

-atime n:根据文件的最后访问(access)时间来查找,查找n天前被访问过的文件;+n表示超过n天前被访问的文件;-n表示未超过n天前被访问的文件

-mtime n:类似于atime,但根据文件的最后修改(modify)时间来查找

-ctime n:类似于atime,但根据文件的最后改变(change)时间来查找

-empty:空文件或空目录

-perm mode:根据权限查找,查找与给定权限精确匹配的文件,必须以八进制的形式给出访问权限

-amin:访问时间(access)

-cmin:根据文件属性被修改的时间(change)

-mmin:根据文件内容被修改的时间(modify)(www.xing528.com)

处理动作参数有:

-print:输出至显示器,此参数为默认的动作,可以省略

-ls:类似于对查找到的文件执行“ls-l”命令,输出文件的详细信息

-delete:删除查找到的文件

-fls/PATH/TO/SOMEFILE:把查找到的所有文件的长格式信息保存至指定文件中

-exec command{}\;:对找到指定匹配条件的文件执行command命令

-ok command{}\;:与exec相同,但执行command命令时请求用户确认

逻辑判断参数:

-not:非,取反

-a:并且关系,两个条件同时满足

-o:或者关系,两个条件满足一个即可

根据文件名称查找文件举例:

(1)在根目录下查找文件dvd.reop

根据权限查找文件举例:

(2)在/test目录中查找权限为777的普通文件

(3)在/test目录中查找权限不是777的普通文件

//此例-not可以用!代替,二者等价

(4)在/test目录中查找b.txt文件并把它删除

(5)在/test目录中查找所有空文件

(6)在/test目录中查找所有空目录

(7)在/root目录中查找所有隐藏的文件

根据所有者和组查找文件举例:

(8)在/test目录中查找root用户创建的文件a.txt

(9)在/test目录中查找root用户创建的所有文件

(10)在/test目录中查找root组创建的所有文件

根据日期和时间查找文件和目录举例[1]

(11)在根目录下查找最近50天访问的文件

(12)在根目录下查找所有被修改超过50天而小于100天的文件

(13)在根目录下查找最近1小时内访问的文件

(14)在根目录下查找最近1小时内更改的文件

(15)在根目录下查找最近1小时内修改的文件

根据大小查找文件和目录举例:

(16)在根目录下查找大小为30MB的文件

(17)在根目录下查找大于50MB且小于100MB的所有文件

(18)在根目录下查找超过10MB的所有.mp3文件,并删除它们

2.2.4.7 locate命令

locate命令用于快速查找文件。

locate与find不同[2]:find去硬盘找,locate只在/var/lib/slocate资料库中找,资料库不收录/tmp下的文件。locate的速度比find快,它并不是真的查找,而是查资料数据库,一般文件数据库在/var/lib/slocate/slocate.db中,所以locate的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库。可以用updatedb命令更新locate的文件资料库。

命令格式:locate [参数] 文件名

参数:

-i:不区分大小写

例如:

2.2.4.8 grep命令

grep命令用于查找文件里符合条件的字符串。

命令格式:grep [参数] 要查找的字符串 文件名

参数:

-i:不区分大小写

-c或--count:对匹配的行计数

-n或--line-number:显示搜索到的内容在文件中的行号

-v:反向选择,输出没有匹配的行

在grep命令中,字符“^”表示行的开始,字符“$”表示行的结尾。

例如:

(1)在文件/etc/passwd中查找包含root的行,并显示行号

(2)在文件/etc/passwd中查找只包含root的行

(3)使用grep-v^#/etc/my.cnf命令查看mariadb配置文件内容

2.2.4.9 dd命令

dd命令用于按照指定大小和个数的数据块来复制文件或转换文件。

Linux系统中有一个名为/dev/zero的设备文件,该文件不会占用系统存储空间,但却可以提供无穷无尽的数据,所以,可以用它作为dd命令的输入文件,来生成一个指定大小的文件。

参数:

if:输入的文件名称

of:输出的文件名称

bs:设置每个“块”的大小

count:设置要复制“块”的个数

例如:

(1)从/dev/zero设备文件中取出两个大小为560MB的数据块,保存成名为file1的文件。该命令可以创建随意大小的文件,在做磁盘配额验证时很有用

(2)把光驱设备中的光盘制作成iso格式的镜像文件

2.2.4.10 Which命令

Which命令用于查找命令的目录以及别名。配合rpm命令可以查找到命令所在的rpm安装包。

例如:

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈