Linux文件管理相关命令-2

Linux文件管理相关命令整理记录

命令含义命令含义命令含义
lsattr显示文件属性mattrib变更或显示MS-DOS文件的属性mc提供一个菜单式的文件管理程序
mdel删除 MSDOS 格式的档案mdir显示MS-DOS目录mktemp建立暂存文件
more类似cat,更方便使用者逐页阅读mmove在MS-DOS文件系统中,移动文件或目录,或更改名称mread将MS-DOS文件复制到Linux/Unix的目录中
mren更改MS-DOS文件或目录的名称,或是移动文件或目录mtools用于显示mtools支持的指令mtoolstest测试并显示mtools的相关设置
mv为文件或目录改名、或将文件或目录移入其它位置od输出文件内容paste合并文件的列
patch修补文件rcp复制远程文件或目录rm删除一个文件或者目录

【lsattr】显示文件属性

用chattr执行改变文件或目录的属性,可执行lsattr指令查询其属性。
语法:

lsattr [-adlRvV][文件或目录...]

参数说明:

参数说明
-a显示所有文件和目录,包括以".“为名称开头字符的额外内建,现行目录”.“与上层目录”…"
-d显示,目录名称,而非其内容
-l此参数目前没有任何作用
-R递归处理,将指定目录下的所有文件及子目录一并处理
-v显示文件或目录版本
-V显示版本信息

实例:
1、用chattr命令防止系统中某个关键文件被修改:

# chattr +i /etc/resolv.conf

然后用mv /etc/resolv.conf等命令操作于该文件,都是得到Operation not permitted 的结果。
vim编辑该文件时会提示W10: Warning: Changing a readonly file错误。要想修改此文件就要把i属性去掉:

chattr -i /etc/resolv.conf

使用 lsattr 命令来显示文件属性:

# lsattr /etc/resolv.conf

输出结果为:

----i-------- /etc/resolv.conf

2、让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件:

# chattr +a /var/log/messages

【mattrib】变更或显示MS-DOS文件的属性

mattrib为mtools工具指令,模拟MS-DOS的attrib指令,可变更MS-DOS文件的属性。
语法:

mattrib [-a|+a] [-h|+h] [-r|+r] [-s|+s] [-/] [-X] msdosfile [ msdosfiles ... ]

参数说明:

参数说明
-a/+a除去/设定备份属性
-h/+h除去/设定隐藏属性
-r/+r除去/设定唯读属性
-s/+s除去/设定系统属性
-/递回的处理包含所有子目录下的档案
-X以较短的格式输出结果

实例:
列出 A 槽 MSDOS 格式磁片上所有文件的属性:

mattrib a: 

除去 A 槽磁片上 msdos.sys 档案的隐藏、系统与唯读属性:

mattrib -h -s -r a:msdos.sys

除去 A 槽磁片上包含子目录下所有档案的唯读属性:

mattrib -r -/ a:*.*

【mc】提供一个菜单式的文件管理程序

执行mc之后,将会看到菜单式的文件管理程序,共分成4个部分。
语法:

mc [-abcdfhkPstuUVx][-C <参数>][-l <文件>][-v <文件>][目录]

参数说明:

参数说明
-a当mc程序画线时不用绘图字符画线
-b使用单色模式显示
-c使用彩色模式显示
-C<参数>指定显示的颜色
-d不使用鼠标
-f显示mc函数库所在的目录
-h显示帮助
-k重设softkeys成预设置
-l<文件>在指定文件中保存ftpfs对话窗的内容
-P程序结束时,列出最后的工作目录
-s用慢速的终端机模式显示,在这模式下将减少大量的绘图及文字显示
-t使用TEMPCAP变量设置终端机,而不使用预设置
-u不用目前的shell程序
-U使用目前的shell程序
-v<文件>使用mc的内部编辑器来显示指定的文件
-V显示版本信息
-x指定以xterm模式显示

按键操作:

按键说明
F9 or Esc+9激活菜单栏
Tab在两个窗口间移动
F10 or Esc+0退出MC
Control-Enter or Alt-Enter可以将文件名拷贝到命令行
F1 or Esc+1打开帮助页面

【mdel】删除 MSDOS 格式的档案

在删除只读之前会有提示信息产生。
语法:

mdel [-v] msdosfile [ msdosfiles ... ]

参数说明:

参数说明
-v显示更多的讯息

实例:

#将 A 槽磁片根目录中的 autoexec.bat 删除
mdel a:autoexec.bat

【mdir】显示MS-DOS目录

语法:

mdir [-afwx/][目录]

参数说明:

参数说明
-/显示目录下所有子目录与文件
-a显示隐藏文件
-f不显示磁盘所剩余的可用空间
-w仅显示目录或文件名称,并以横排方式呈现,以便一次能显示较多的目录或文件
-X仅显示目录下所有子目录与文件的完整路径,不显示其他信息

实例:

#显示c盘中的内容:
mdir -/ c:\*  

【mktemp】建立暂存文件

mktemp建立的一个暂存文件,供shell script使用。
语法:

mktemp [-qu][文件名参数]

参数说明:

参数说明
-q执行时若发生错误,不会显示任何信息
-u暂存文件会在mktemp结束前先行删除
[文件名参数]文件名参数必须是以"自订名称.XXXXXX"的格式

实例:

#生成临时文件
mktemp tmp.xxxx

【more】类似 cat

语法:

more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]

参数说明:

参数说明
-num一次显示的行数
-d提示使用者,在画面下方显示 [Press space to continue, ‘q’ to quit.] ,如果使用者按错键,则会显示 [Press ‘h’ for instructions.] 而不是 ‘哔’ 声
-l取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
-f计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
-p不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
-c跟 -p 相似,不同的是先显示内容再清除其他旧资料
-s当遇到有连续两行以上的空白行,就代换为一行的空白行
-u不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
+/pattern在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
+num从第 num 行开始显示
fileNames欲显示内容的文档,可为复数个数

实例:
逐页显示 testfile 文档内容,如有连续两行以上空白行则以一行空白行显示:

more -s testfile

从第 20 行开始显示 testfile 之文档内容:

more +20 testfile

常用操作命令:

  • Enter 向下n行,需要定义。默认为1行
  • Ctrl+F 向下滚动一屏
  • 空格键 向下滚动一屏
  • Ctrl+B 返回上一屏
  • = 输出当前行的行号
  • :f 输出文件名和当前行的行号
  • V 调用vi编辑器
  • !命令 调用Shell,并执行命令
  • q 退出more

【mmove】在MS-DOS文件系统中,移动文件或目录,或更改名称

语法:

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

参数说明:

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

实例:

#将文件"autorun.bat"移动到目录"test"中:
mmove autorun.bat test 

【mread】将MS-DOS文件复制到Linux/Unix的目录中

语法:

mread [MS-DOS文件...][Linux文件或目录]

参数说明:

  • [MS-DOS文件…]: 执行操作的DOS源文件或目录路径
  • [Linux文件或目录]: 执行操作后的Linux目标文件或目录路径

实例:

#将盘"a:\"中的所有内容复制到当前工作目录下:
mread a:\* ./  

【mren】更改MS-DOS文件或目录的名称,或是移动文件或目录

源文件必须是磁盘上已经存在的文件,若忽略盘符及路径,则表示当前盘及当前目录的文件。
新文件名是所要更换的文件名称。新文件名称前不可以加与源文件不同的盘符及路径,因为该命令只能更改同一盘上的文件名称。
语法:

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

参数说明:

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

实例:

#将a盘下的文件"autorun.bat"的文件名修改为"auto.bat":
mren a:\autorun.bat auto.bat 

【mtools】显示mtools支持的指令

语法:

mtools

参数说明:

参数说明
-a长文件名重复时自动更改目标文件的长文件名
-A短文件名重复但长文件名不同时自动更改目标文件的短文件名
-o长文件名重复时,将目标文件覆盖现有的文件
-O短文件名重复但长文件名不同时,将目标文件覆盖现有的文件
-r长文件名重复时,要求用户更改目标文件的长文件名
-R短文件名重复但长文件名不同时,要求用户更改目标文件的短文件名
-s长文件名重复时,则不处理该目标文件
-S短文件名重复但长文件名不同时,则不处理该目标文件
-v执行时显示详细的说明
-V显示版本信息

【mtoolstest】测试并显示mtools的相关设置

语法:

mtoolstest

实例:

mtoolstest
#显示mtools 软件包当前的配置信息

【mv】为文件或目录改名、或将文件或目录移入其它位置

语法:

mv [options] source dest
mv [options] source... directory

参数说明:

参数说明
-b当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份
-i如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作
-f如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件
-n不要覆盖任何已存在的文件或目录
-u当源文件比目标文件新或者目标文件不存在时,才执行移动操作

实例:

#将文件 aaa 改名为 bbb :
mv aaa bbb

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

#将 /usr/runoob 下的所有文件和目录移到当前目录下:
mv /usr/runoob/*  . 

【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"参数相同

【paste】合并文件的列

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

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

参数说明:

参数说明
-d<间隔字符>或–delimiters=<间隔字符>用指定的间隔字符取代跳格字符
-s或–serial串列进行而非平行处理
[文件…]指定操作的文件路径

实例:

#将文件"file"、"testfile"、"testfile1"进行合并:
paste file testfile testfile1

【patch】修补文件

语法:

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以二进制模式读写数据,而不通过标准输出设备
–nobackup-if-mismatch在修补数据不完全吻合,且没有刻意指定要备份文件时,不要备份文件
–verbose详细显示指令的执行过程

实例:

#将文件"testfile1"升级,其升级补丁文件为"testfile.patch",输入如下命令:
patch -p0 testfile1 testfile.patch 

【rcp】命令用复制远程文件或目录

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

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

参数说明:

参数说明
-p保留源文件或目录的属性,包括拥有者,所属群组,权限与时间
-r递归处理,将指定目录下的文件与子目录一并处理

实例:

#要将远程主机(10.6.131.1)主目录下的文件"testfile"复制到本地,则输入如下命令:
rcp root@10.6.131.1:./testfile testfile

【rm】删除一个文件或者目录

语法:

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命令删除,则无法恢复,所以必须格外小心地使用该命令。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值