Linux命令---文件管理3

简介: Linux命令---文件管理3

Linux mren命令

Linux mren命令用于更改MS-DOS文件或目录的名称,或是移动文件或目录。


mren为MS-DOS工具指令,与DOS下的ren指令相似,可以实现更改MS-DOS文件或目录名称。


源文件必须是磁盘上已经存在的文件,若忽略盘符及路径,则表示当前盘及当前目录的文件。


新文件名是所要更换的文件名称。新文件名称前不可以加与源文件不同的盘符及路径,因为该命令只能更改同一盘上的文件名称。


语法

mren [源文件或目录...][目标文件或目录]

参数说明:

  • [源文件或目录…]: 执行操作的源文件名或者源文件路径
  • [目标文件或目录]: 执行操作的目标文件名或者目标文件路径

实例

使用指令mren将a盘下的文件"autorun.bat"的文件名修改为"auto.bat",输入如下命令:


$ mren a:\autorun.bat auto.bat


#将文件autorun.bat重命名为auto.bat


使用该命令前后使用mdir命令查看并对比,得到结果如下:


$ mdir -/ a:\*                  #查看a盘中的文件  
Volume in drive A has no label  #加载信息  
Volume Serial Number is 13D2~055C  
Directory for A:\                   #以下为目录信息  
./TEST <DIR> 2011-08-23 16:59       #文件名,目录大小,修改时间  
AUTORUN.BAT 43 2011-08-23 16:56  
3 files 308 bytes                   #统计总大小  
724 325 bytes free              #剩余空间  
#将文件autorun.bat重命名为auto.bat  
$ mren a:\autorun.bat auto.bat        
$ mdir -/ a:\*                  #再次查看a盘中文件  
Volume in drive A has no label      #加载信息  
Volume Serial Number is 13D2~055C  
Directory for A:\                   #以下为目录信息  
./TEST <DIR> 2011-08-23 16:59       #文件名目录大小 修改时间  
#文件名被改为auto.bat,修改时间改为当前系统时间  
AUTO.BAT 43 2011-08-23 16:56          
3 files 308 bytes                   #统计总大小  
724 325 bytes free              #剩余空间  

Linux mtools命令

Linux mtools命令用于显示mtools支持的指令。


mtools为MS-DOS文件系统的工具程序,可模拟许多MS-DOS的指令。这些指令都是mtools的符号连接,因此会有一些共同的特性。


语法


mtools


参数说明:


-a  长文件名重复时自动更改目标文件的长文件名。


-A  短文件名重复但长文件名不同时自动更改目标文件的短文件名。


-o  长文件名重复时,将目标文件覆盖现有的文件。


-O  短文件名重复但长文件名不同时,将目标文件覆盖现有的文件。


-r  长文件名重复时,要求用户更改目标文件的长文件名。


-R  短文件名重复但长文件名不同时,要求用户更改目标文件的短文件名。


-s  长文件名重复时,则不处理该目标文件。


-S  短文件名重复但长文件名不同时,则不处理该目标文件。


-v  执行时显示详细的说明。


-V  显示版本信息。


实例


显示 mtools软件包所支持的MS-DOS命令。


在命令提示符中直接输入mtools,可显示其所支持的MS-DOS命令,如下所示:


$ mtools #显示所支持的MS-DOS命令  
Supported commands: #命令列表  
mattrib, mbadblocks, mcat, mcd, mclasserase, mcopy, mdel, mdeltree  
mdir, mdoctorfat, mdu, mformat, minfo, mlabel, mmd, mmount  
mpartition, mrd, mread, mmove, mren, mshowfat, mtoolstest, mtype  
mwrite, mzip 

Linux mtoolstest命令

Linux mtoolstest命令用于测试并显示mtools的相关设置。

mtoolstest为mtools工具指令,可读取与分析mtools的配置文件,并在屏幕上显示结果。


语法

mtoolstest

实例

在命令行中直接输入mtoolstest,即可显示mtools软件包当前的配置信息,结果如下:

$ mtoolstest #显示mtools 软件包当前的配置信息  
drive J: #mtools软件包当前的配置信息列表  
#fn=0 mode=0 builtin  
file="/dev/sdb4" fat_bits=16 
tracks=0 heads=0 sectors=0 hidden=0 
offset=0x0 
partition=0 
mformat_only  
drive Z:  
#fn=0 mode=0 builtin  
file="/dev/sdb4" fat_bits=16 
tracks=0 heads=0 sectors=0 hidden=0 
offset=0x0 
partition=0 
mformat_only  
drive X:  
#fn=0 mode=0 builtin  
file="$DISPLAY" fat_bits=0 
tracks=0 heads=0 sectors=0 hidden=0 
offset=0x0 
partition=0 
drive A:  
#fn=2 mode=128 defined in /etc/mtools.conf  
file="/dev/fd0" fat_bits=0 
tracks=0 heads=0 sectors=0 hidden=0 
offset=0x0 
partition=0 
exclusive  
drive B:  
#fn=2 mode=128 defined in /etc/mtools.conf  
file="/dev/fd1" fat_bits=0 
tracks=0 heads=0 sectors=0 hidden=0 
offset=0x0 
partition=0 
exclusive  
drive M:  
#fn=2 mode=0 defined in /etc/mtools.conf  
file="/var/lib/dosemu/hdimage.first" fat_bits=0 
tracks=0 heads=0 sectors=0 hidden=0 
offset=0x80 
partition=1 
drive N:  
#fn=2 mode=0 defined in /etc/mtools.conf  
file="/var/lib/dosemu/fdimage" fat_bits=0 
tracks=0 heads=0 sectors=0 hidden=0 
offset=0x0 
partition=0 
mtools_fat_compatibility=0 
mtools_skip_check=0 
mtools_lower_case=0 

Linux mv 命令

Linux mv(英文全拼:move file)命令用来为文件或目录改名、或将文件或目录移入其它位置。

语法

mv [options] source dest

mv [options] source... directory

参数说明

-b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。


-i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。


-f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。


-n: 不要覆盖任何已存在的文件或目录。


-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。


mv 参数设置与运行结果

1686489337931.png


实例

将文件 aaa 改名为 bbb :


mv aaa bbb


将 info 目录放入 logs 目录中。注意,如果 logs 目录不存在,则该命令将 info 改名为 logs。


mv info/ logs


再如将 /usr/runoob 下的所有文件和目录移到当前目录下,命令行为:


$ mv /usr/runoob/* .

Linux od命令

Linux od命令用于输出文件内容。

od指令会读取所给予的文件的内容,并将其内容以八进制字码呈现出来。


语法

od [-abcdfhilovx][-A <字码基数>][-j <字符数目>][-N <字符数目>][-s <字符串字符数>][-t <输出格式>][-w <每列字符数>][--help][--version][文件...]

参数

-a  此参数的效果和同时指定"-ta"参数相同。


-A<字码基数>  选择要以何种基数计算字码。


-b  此参数的效果和同时指定"-toC"参数相同。


-c  此参数的效果和同时指定"-tC"参数相同。


-d  此参数的效果和同时指定"-tu2"参数相同。


-f  此参数的效果和同时指定"-tfF"参数相同。


-h  此参数的效果和同时指定"-tx2"参数相同。


-i  此参数的效果和同时指定"-td2"参数相同。


-j<字符数目>或--skip-bytes=<字符数目>  略过设置的字符数目。


-l  此参数的效果和同时指定"-td4"参数相同。


-N<字符数目>或--read-bytes=<字符数目>  到设置的字符数目为止。


-o  此参数的效果和同时指定"-to2"参数相同。


-s<字符串字符数>或--strings=<字符串字符数>  只显示符合指定的字符数目的字符串。


-t<输出格式>或--format=<输出格式>  设置输出格式。


-v或--output-duplicates  输出时不省略重复的数据。


-w<每列字符数>或--width=<每列字符数>  设置每列的最大字符数。


-x  此参数的效果和同时指定"-h"参数相同。


--help  在线帮助。


--version  显示版本信息。


实例

创建 tmp 文件:
$ echo abcdef g > tmp
$ cat tmp
abcdef g
使用 od 命令:
$ od -b tmp
0000000 141 142 143 144 145 146 040 147 012
0000011
使用单字节八进制解释进行输出,注意左侧的默认地址格式为八字节:
$ od -c tmp
0000000   a   b   c   d   e   f       g  \n
0000011
使用ASCII码进行输出,注意其中包括转义字符
$ od -t d1 tmp
0000000   97   98   99  100  101  102   32  103   10
0000011
使用单字节十进制进行解释
$ od -A d -c tmp
0000000   a   b   c   d   e   f       g  \n
0000009


Linux paste 命令

Linux paste 命令用于合并文件的列。

paste 指令会把每个文件以列对列的方式,一列列地加以合并。

语法

paste [-s][-d <间隔字符>][--help][--version][文件...]

参数

  • -d<间隔字符>或--delimiters=<间隔字符>  用指定的间隔字符取代跳格字符。
  • -s或--serial  串列进行而非平行处理。
  • --help  在线帮助。
  • --version  显示帮助信息。
  • [文件…] 指定操作的文件路径


实例

使用paste指令将文件"file"、"testfile"、"testfile1"进行合并,输入如下命令:


paste file testfile testfile1 #合并指定文件的内容


但是,在执行以上命令之前,首先使用"cat"指令对3个文件内容进行查看,显示如下所示:


$ cat file                  #file文件的内容  
xiongdan 200  
lihaihui 233  
lymlrl 231  
$ cat testfile              #testfile文件的内容  
liangyuanm  ss  
$ cat testfile1             #testfile1文件的内容  
huanggai 56  
zhixi 73 

当合并指令"$ paste file testfile testfile1"执行后,程序界面中将显示合并后的文件内容,如下所示:


xiongdan 200  
lihaihui 233  
lymlrl 231  
liangyuanm  ss  
huanggai 56  
zhixi 73  


若使用paste指令的参数"-s",则可以将一个文件中的多行数据合并为一行进行显示。例如,将文件"file"中的3行数据合并为一行数据进行显示,输入如下命令


$ paste -s file #合并指定文件的多行数据


上面的命令执行后,显示的数据内容如下所示:


xiongdan 200 lihaihui 233 lymlrl 231


注意:参数"-s"只是将testfile文件的内容调整显示方式,并不会改变原文件的内容格式。


Linux patch命令

Linux patch命令用于修补文件。

patch指令让用户利用设置修补文件的方式,修改,更新原始文件。倘若一次仅修改一个文件,可直接在指令列中下达指令依序执行。如果配合修补文件的方式则能一次修补大批文件,这也是Linux系统核心的升级方法之一。


语法

patch [-bceEflnNRstTuvZ][-B <备份字首字符串>][-d <工作目录>][-D <标示符号>][-F <监别列数>][-g <控制数值>][-i <修补文件>][-o <输出文件>][-p <剥离层级>][-r <拒绝文件>][-V <备份方式>][-Y <备份字首字符串>][-z <备份字尾字符串>][--backup-if -mismatch][--binary][--help][--nobackup-if-mismatch][--verbose][原始文件 <修补文件>] 或 path [-p <剥离层级>] < [修补文件]


参数

-b或--backup  备份每一个原始文件。


-B<备份字首字符串>或--prefix=<备份字首字符串>  设置文件备份时,附加在文件名称前面的字首字符串,该字符串可以是路径名称。


-c或--context  把修补数据解译成关联性的差异。


-d<工作目录>或--directory=<工作目录>  设置工作目录。


-D<标示符号>或--ifdef=<标示符号>  用指定的符号把改变的地方标示出来。


-e或--ed  把修补数据解译成ed指令可用的叙述文件。


-E或--remove-empty-files  若修补过后输出的文件其内容是一片空白,则移除该文件。


-f或--force  此参数的效果和指定"-t"参数类似,但会假设修补数据的版本为新 版本。


-F<监别列数>或--fuzz<监别列数>  设置监别列数的最大值。


-g<控制数值>或--get=<控制数值>  设置以RSC或SCCS控制修补作业。


-i<修补文件>或--input=<修补文件>  读取指定的修补文件。


-l或--ignore-whitespace  忽略修补数据与输入数据的跳格,空格字符。


-n或--normal  把修补数据解译成一般性的差异。


-N或--forward  忽略修补的数据较原始文件的版本更旧,或该版本的修补数据已使 用过。


-o<输出文件>或--output=<输出文件>  设置输出文件的名称,修补过的文件会以该名称存放。


-p<剥离层级>或--strip=<剥离层级>  设置欲剥离几层路径名称。


-f<拒绝文件>或--reject-file=<拒绝文件>  设置保存拒绝修补相关信息的文件名称,预设的文件名称为.rej。


-R或--reverse  假设修补数据是由新旧文件交换位置而产生。


-s或--quiet或--silent  不显示指令执行过程,除非发生错误。


-t或--batch  自动略过错误,不询问任何问题。


-T或--set-time  此参数的效果和指定"-Z"参数类似,但以本地时间为主。


-u或--unified  把修补数据解译成一致化的差异。


-v或--version  显示版本信息。


-V<备份方式>或--version-control=<备份方式>  用"-b"参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,这个字符串不仅可用"-z"参数变更,当使用"-V"参数指定不同备份方式时,也会产生不同字尾的备份字符串。


-Y<备份字首字符串>或--basename-prefix=--<备份字首字符串>  设置文件备份时,附加在文件基本名称开头的字首字符串。


-z<备份字尾字符串>或--suffix=<备份字尾字符串>  此参数的效果和指定"-B"参数类似,差别在于修补作业使用的路径与文件名若为src/linux/fs/super.c,加上"backup/"字符串后,文件super.c会备份于/src/linux/fs/backup目录里。


-Z或--set-utc  把修补过的文件更改,存取时间设为UTC。


--backup-if-mismatch  在修补数据不完全吻合,且没有刻意指定要备份文件时,才备份文件。


--binary  以二进制模式读写数据,而不通过标准输出设备。


--help  在线帮助。


--nobackup-if-mismatch  在修补数据不完全吻合,且没有刻意指定要备份文件时,不要备份文件。


--verbose  详细显示指令的执行过程。


实例

使用patch指令将文件"testfile1"升级,其升级补丁文件为"testfile.patch",输入如下命令:


$ patch -p0 testfile1 testfile.patch #使用补丁程序升级文件


使用该命令前,可以先使用指令"cat"查看"testfile1"的内容。在需要修改升级的文件与原文件之间使用指令"diff"比较可以生成补丁文件。具体操作如下所示:


$ cat testfile1                 #查看testfile1的内容  
Hello,This is the firstfile!  
$ cat testfile2                 #查看testfile2的内容  
Hello,Thisisthesecondfile!  
$ diff testfile1 testfile2          #比较两个文件  
1c1  
<Hello,Thisisthefirstfile!  
---  
>Hello,Thisisthesecondfile!  
#将比较结果保存到testfile.patch文件  
$ diff testfile1 testfile2>testfile.patch     
$ cat testfile.patch                #查看补丁包的内容  
1c1  
<Hello,Thisisthefirstfile!  
---  
>Hello,Thisisthesecondfile!  
#使用补丁包升级testfile1文件  
$ patch -p0 testfile1 testfile.patch      
patching file testfile1  
$cat testfile1                  #再次查看testfile1的内容  
#testfile1文件被修改为与testfile2一样的内容  
Hello,This is the secondfile!   


注意:上述命令代码中,"$ diff testfile1 testfile2>testfile. patch"所使用的操作符">"表示将该操作符左边的文件数据写入到右边所指向的文件中。在这里,即是指将两个文件比较后的结果写入到文件"testfile.patch"中。


Linux rcp命令

Linux rcp命令用于复制远程文件或目录。

rcp指令用在远端复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到该目录中。


语法

rcp [-pr][源文件或目录][目标文件或目录]

rcp [-pr][源文件或目录...][目标文件]

参数

-p  保留源文件或目录的属性,包括拥有者,所属群组,权限与时间。

-r  递归处理,将指定目录下的文件与子目录一并处理。

实例

使用rcp指令复制远程文件到本地进行保存。


设本地主机当前账户为rootlocal,远程主机账户为root,要将远程主机(218.6.132.5)主目录下的文件"testfile"复制到本地目录"test"中,则输入如下命令:


rcp root@218.6.132.5:./testfile testfile #复制远程文件到本地


rcp root@218.6.132.5:home/rootlocal/testfile testfile


#要求当前登录账户cmd 登录到远程主机


rcp 218.6.132.5:./testfile testfile


注意:指令"rcp"执行以后不会有返回信息,仅需要在目录"test"下查看是否存在文件"testfile"。若存在,则表示远程复制操作成功,否则远程复制操作失败。

Linux rm 命令

Linux rm(英文全拼:remove)命令用于删除一个文件或者目录。

语法

rm [options] name...

参数

  • -i 删除前逐一询问确认。
  • -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
  • -r 将目录及以下之档案亦逐一删除。

实例

删除文件可以直接使用rm命令,若删除目录则必须配合选项"-r",例如:


# rm test.txt


rm:是否删除 一般文件 "test.txt"? y


# rm homework


rm: 无法删除目录"homework": 是一个目录


# rm -r homework


rm:是否删除 目录 "homework"? y


删除当前目录下的所有文件及目录,命令行为:


rm -r *


文件一旦通过rm命令删除,则无法恢复,所以必须格外小心地使用该命令。


Linux slocate命令

Linux slocate命令查找文件或目录。

slocate本身具有一个数据库,里面存放了系统中文件与目录的相关信息。

语法

slocate [-u][--help][--version][-d <目录>][查找的文件]

参数

  • -d<目录>或--database=<目录>  指定数据库所在的目录。
  • -u  更新slocate数据库。
  • --help  显示帮助。
  • --version  显示版本信息。
目录
相关文章
|
18小时前
|
安全 网络协议 Linux
linux必学的60个命令
Linux是一个功能强大的操作系统,提供了许多常用的命令行工具,用于管理文件、目录、进程、网络和系统配置等。以下是Linux必学的60个命令的概览,但请注意,这里可能无法列出所有命令的完整语法和选项,仅作为参考
|
18小时前
|
Linux 程序员 计算机视觉
【linux 学习】在Linux中经常用到的cmake、make、make install等命令解析
【linux 学习】在Linux中经常用到的cmake、make、make install等命令解析
10 0
|
18小时前
|
Linux
Linux的find命令使用
【5月更文挑战第11天】Linux的find命令使用
10 3
|
18小时前
|
监控 Linux 数据处理
|
18小时前
|
编解码 Ubuntu Linux
|
18小时前
|
JSON Linux 数据格式
Linux命令发送http
请注意,`curl`命令非常灵活,可以根据您的需求进行多种配置和自定义。您可以查看 `curl`命令的文档以获取更多详细信息。
11 0
|
18小时前
|
安全 Linux 测试技术
|
18小时前
|
安全 Linux Windows
Linux中Shutdown命令使用介绍
Linux中Shutdown命令使用介绍
11 2
|
18小时前
|
缓存 关系型数据库 Linux
Linux目录结构:深入理解与命令创建指南
Linux目录结构:深入理解与命令创建指南
|
18小时前
|
数据挖掘 Linux vr&ar
Linux命令实战:解决日常问题的利器
Linux命令实战:解决日常问题的利器