Linux文件管理

cat:用于连接文件并打印到标准输出设备上

参数说明:-n或--numbe:r:由1开始对所有输出的行数编号(-b或--number-nonblock对空白行不编号)

示例:

把textfile1的内容加上行号后输出到textfile2文档:

cat -n textfile1 > textfile2(若需多个文件输出到指定文件,可以在>前加多个文件以空格隔开)

chattr:用于改变文件属性.可改变存放在ext2文件系统上的文件或目录属性,

a:让文件或目录仅供附加用途,b:不更新文件或目录的最后存取时间,c:将文件或目录压缩后存放,d:将文件或目录排除在倾倒操作外,

i:不得任意改动文件或目录,s:保密性删除文件或目录,S:即时更新文件或目录,u:预防意外删除

-r:递归处理,将指定目录下的所有文件及子目录一并处理,-v设置文件或目录版本,-V显示指令执行过程,

+<属性>:开启文件或目录的该项属性,-<属性>:关闭,=<属性>:指定文件或目录的该项属性

chgrp:命令用于变更文件或目录的所属群组,在UNIX系统家族中,文件或目录权限的掌控以拥有者和所属群组来管理,可以使用chgrp指令

去变更文件与目录的所属群组,设置方式采用群组名称或群组识别码皆可

chgrp [-cfhRv][--help][--version][所属群组][文件或目录...]  chgrp [-cfhRv][--help][--reference=<参考文件或目录>][--version][文件或目录...]

-c或--changes:效果类似"-v"参数,但仅回报更改的部分

-f或--quiet或--silent:不显示错误信息

-h或--no-dereference:只对符号连接的文件作修改,而不改动其他任何相关文件 -R或--recursive:递归处理,将指定目录下的所有文件及子目录一并处理

-v或--verbose:显示指令执行过程

--help:在线帮助

--reference=<参考文件或目录>把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同

--version 显示版本信息

chmod:Linux/Unix的文件调用权限分为三级:文件拥有者,群组,或其他.利用chmod可以藉以控制文件如何被他人所调用

chmod [-cfvR] [--help] [--version] mode file

mode:权限设定字符串: 

[ugoa] [[+-=][rwxX]]

u:表示该文件拥有者,g:表示与该文件拥有者属于同一个群组,o表示其他,a表示三者全部

+表示增加权限,-表示取消权限,=表示唯一设定权限

r表示可读取,w:表示可写入,x:表示可执行,X表示只有当该文件是个子目录或者该文件已经被设定过为可执行

此外chmod也可以用数字表示权限:

chmod 777 file

cksum:用于检查文件的CRC是否正确,确保文件从一个系统传输到另一个系统的过程中不被损坏,指定文件交由指令'cksum'进行校验后,该指令会返回校验结果供用户核对文件是否正确无误,若不指定任何文件名称或是所给予的文件名为'-',则指令'cksum'会从标准输入设备中读取数据

cksum 文件(或路径) 输出校验码,字节数,文件中有任何字符被更改都将改变计算后CRC校验码的值

cmp:用于比较两个文件是否有差异,当文件完全一样时不会显示任何信息,若发现差异则会标识出第一个不同之处的字符和序列编号,若不指定任何文件名称或给予的文件名为'-',则cmp指令会从标准输入设备读取数据

cmp [-clsv] [-i <字符个数>] [--help] [第一个文件] [第二个文件]

-c或--print-chars:除了标明差异处的十进制码之外,一并显示该字符所对应字符

-i<字符个数>或--ignore-initial=<字符数目>:指定一个数目

-l或--verbose:标识出所有不一样的地方

-s或--quiet或--silent:不显示错误信息

diff:命令用于比较文件的差异,diff以逐行的方式,比较文本文件的异同处,如果指定要比较目录,则diff会比较目录中相同文件名的文件,不会比较其中子目录https://www.runoob.com/linux/linux-comm-diff.html

diffstat:命令根据diff的比较结果,显示统计数字.读取diff的输出结果,统计各文件的插入删除等差异信息

diff test1 test2 | diffstat   #进行比较结果的统计显示

file:用于辨识文件类型,通过file命令,我们得以辨识该文件的类型

find:命令用来指定目录下查找文件,任何位于参数之前的字符串都将被视为欲查找的目录名,如果使用该命令不设置任何参数,则find命令将在当前目录下查找子目录与文件,并且将查找到的子目录和文件全部进行显示

-mount,-xdev:只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件

-amin n:在过去n分钟内被读取过,-anewer file:比此文件更晚被读取的文件

-atime n:在过去n天内被读取过得文件,-cmin n:在过去n分钟内被修改过

-cnewer file:比文件file更新的文件,-ctime n:在过去n天内被修改过得文件

-name name:,-iname name:文件名称符合name的文件,iname会忽略大小写

-size n:文件大小是n单位,-type c:文件类型是c的文件

d:目录f:一般文件,l:符号链接

git:命令是文字模式下的文件管理员,git用来管理文件的程序,他十分类似dos下的Norton Commander,具有互动式操作界面,操作方法相似

gitview:命令用于观看文件的内容,会同时显示十六进制和ASCII格式的字码

gitview [-bchilv] [文件]

-b单色模式,-c彩色模式,-h在线帮助,-i:显示存放gitview程序的所在位置,-l,不显示先前的显示字符,

indent:用于调整C原始代码文件的格式,可辨识C的原始代码文件,并加以格式化

https://www.runoob.com/linux/linux-comm-indent.html

cut:用于显示每行从开头算起num1到num2的文字

cut[-bn] [file] cut [-c] [file] 或cut [-df] [file]

-b:以字节为单位进行分割,-c:以字符为单位,-d:自定义分割符,默认为制表符,

In:是一个非常重要的命令,功能是为某一个文件在另外一个位置建立一个同步的连接,当我们需要在不同的目录,用到相同的文件时,不需要再每一个需要的目下放一个相同的文件,只要在某个固定的目录,放上该文件,然后在其他目录用ln命令连接它即可,不必重复占用磁盘空间

ln [参数] [源文件或目录] [目标文件或目录]

链接分两种:硬链接的意思是一个档案可以由多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置,硬链接是存在同一个文件系统中,软连接可以跨越不同的文件系统

软连接:以路径的形式存在,类似于快捷方式,可以对一个不存在的文件名进行链接,可以链接目录

硬链接:以文件副本的形式存在,不占用空间,不允许给目录创建硬链接,只有在同一个文件系统中才能创建

-b:删除,覆盖以前建立的链接,-d允许超级用户只做目录的硬链接,-f强制执行,-i交互模式,文件存在则提示是否覆盖,-n把文件链接视为一般目录,-s软连接,-v显示详细的处理过程

less:与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,less在查看之前不会加载整个文件

less [参数] [文件]

-b <缓冲区大小>:设置缓冲区大小,-e:当文件显示结束后,自动离开,-f:强迫打开特殊文件,-g:只标志最后搜索的关键词,-i:忽略搜索时的大小写,-N显示每行的行号

locate:用于查找符合条件的文档,他会保存文档和目录名称的数据库,查找合乎范本样式条件的文档或目录,

locate [-d] [--help] [范本样式]

https://www.runoob.com/linux/linux-comm-locate.html

lsattr:用于显示文件属性,用chattr执行改变文件或目录的属性,可执行lsattr查询其属性

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

-a:显示所有文件或目录,包括以'.'为名称开头字符的额外内建,-d:显示目录名称,-R递归处理

mattrib:用来变更或显示MS-DOS文件的属性,

mc:用于提供一个菜单式的文件管理系统,执行mc之后,将会看到菜单式的文件管理程序,分成4个部分

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

https://www.runoob.com/linux/linux-comm-mc.html

mdel:用来删除MSDOS格式的档案,在删除之前会有提示信息产生

mdel [-v] msdosfile [ msdosfiles .. ]

mdir:用于显示MS-DOS目录,为mtools工具指令

mdir [-afwk] [目录]

-/:显示目录下所有子目录与文件,-a显示隐藏文件,-f:不显示磁盘所剩余的可用空间,-w仅显示目录或文件名称,-X仅显示目录下所有子目录与文件的完整路径

mktemp:用于建立暂存文件

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

-q:执行时发生错误不显示任何信息,-u:暂存文件会在mktemp结束前删除

more:类似于cat,不过会以一页一页的形式显示,更方便使用者逐页阅读,基本的指令,按空格就往下一页显示,按b就往回一页显示

https://www.runoob.com/linux/linux-comm-more.html

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

mread:用于将MS-DOS文件复制到Linux/Unix的目录中

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

mtools:用于显示mtools支持的指令

mtoolstest:用于测试并显示mtools的相关设置

mv:用来为文件或目录改名,或将文件或目录移入到其他位置

mv [options] source dest

-i:若指定目录已有同名文件,则先询问是否覆盖旧文件,-f:在覆盖已有目标文件时不给任何显示

mv 文件名 文件名:将原文件名改为目标文件名 

mv 文件名 目录名:将文件移动到目标目录

mv 目录名 目录名 目标目录已存在,则将源目录移动到目标目录,不存在则改名

od:用于输出文件内容,会读取给予文件的内容,并将其内容以八进制吗呈现出来

https://www.runoob.com/linux/linux-comm-od.html

paste:用于合并文件的列,会把每个文件以列队列的方式一列列的加以合并

https://www.runoob.com/linux/linux-comm-paste.html

patch:用于修补文件https://www.runoob.com/linux/linux-comm-patch.html

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

https://www.runoob.com/linux/linux-comm-rcp.html

rm:用于删除一个文件或目录

rm [options] name ...

-i:删除前逐一询问确认,-f:即使原档案属性设为只读,也可以直接删除,-r将目录及以下档案逐一删除

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

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

-d<目录> 或--database=<目录>:指定数据库所在的目录

-u:更新slocate数据库,

split:用于将一个文件分割成数个,该指令将大文件分割成较小的文件默认情况下一千行切割成一个小文件

split [-<行数>] [-b<字节>] [-C<字节>] [-l<行数>] [要切割的文件] [输出文件名]

-<行数>:指定行数切割,-b<字节>:指定字节

tee:用于读取标准输入的数据,并将其内容输出到文件,tee指令会从标准输入设备读取数据,并将其内容输出到标准输出设备,同时保存成文件

tee [-ai] [文件]

-a或--append :附加到既有文件的后面而非覆盖他,-i或--ignore-interrupts:忽略中断信号

tmpwatch:用于删除暂存文件,

touch:用于修改文件或者目录的时间属性,包括存取时间和更改时间,系统会建立一个新的文件,ls -l可以显示档案的时间记录

touch [-acfm] [-d<日期时间>] [-r<参考文件或目录>] [-t<日期时间>] [文件或目录]

a:改变档案的读取时间记录,m改变档案的修改事件记录,c加入目的档案不存在,不会创建新的档案

umask:用于指定建立文件时预设的权限掩码https://www.runoob.com/linux/linux-comm-umask.html

which:用于查找文件,会在环境变量设置的目录里查找符合条件的文件

cp:主要用于复制文件或目录,

cp [options] source dest

-a:通常在赋值目录时使用,保留链接文件属性,并赋值目录下所有内容,-d复制时保留链接(快捷方式)

-f:覆盖已存在的目标文件而不给出提示,-i与-f相反,-p除复制文件的内容外,还把修改时间和访问权限也复制到新文件中,-r若源文件是一个目录文件,则复制该目录下所有的子目录和文件,-l不复制文件只是生成链接文件

whereis:用于查找文件,该指令会在特定目录中查找符合条件的文件,这些文件应属于原始代码,二进制文件,该指令只能用于查找二进制文件,源代码文件,一般文件的定位需使用locate命令

whereis [-bfmsu] [-B<目录>] [-M[目录]] [-S<目录>] [文件]

-b:只查找二进制文件,-B<目录> 只在设置的目录下查找二进制文件,-f:不显示文件名前的路径名称,-m只查找说明文件,-M<目录>只在设置的目录下查找说明文件,-s只查找原始代码文件

mcopy:用来复制MSDOS格式的文件https://www.runoob.com/linux/linux-comm-mcopy.html

mshowfat:用于显示MS-DOS文件在FAT中的记录https://www.runoob.com/linux/linux-comm-mshowfat.html

rhmask:用于对文件进行加密和解密操作:

执行rhmask指令可制作加密过的文件,方便用户在公开的网络上传输该文件,

rhmask [加密文件] [输出文件] 或rhmask [-d] [加密文件] [源文件] [输出文件]

-d:产生加密过的文件

scp:用于Linux之间复制文件和目录,scp是secure copy的缩写,scp是linux系统下基于ssh登录进行安全的远程文件拷贝命令https://www.runoob.com/linux/linux-comm-scp.html

awk:是一种未处理文本文件的语言,是一个强大的文本分析工具,

https://www.runoob.com/linux/linux-comm-awk.html

read:用于从标准输入读取数值,内部命令被用来从标准输入读取单行数据,这个命令可以用来读取键盘输入,当使用重定向时可以读取文件中的一行数据

https://www.runoob.com/linux/linux-comm-read.html

updatedb:用于创建或更新slocate/locate命令所必需的数据库文件,命令执行过程较长,因为在执行他时会遍历整个系统的目录树,并将所有的文件信息写入到slocate/locate数据库文件中,https://www.runoob.com/linux/linux-comm-updatedb.html

chown:Linux/Unix是多人多工操作系统,所有的文件皆有拥有者,利用chrown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或用户id,一般来说这个命令只有root所使用,一般使用者没有权限可以改变别人的文件拥有着,也没有权限可以将自己的文件拥有者改为别人.

https://www.runoob.com/linux/linux-comm-chown.html

原文地址:https://www.cnblogs.com/suncunxu/p/10826602.html