Linux命令-文件管理(二)

Linux命令-文件管理(二)

Linux gitview命令


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

语法:gitview [-bchilv][文件]


使用指令gitview以彩色模式观看文件"/home/ rootlocal/demo.txt"中的内容,输入如下命令:

$ gitview -c /home/rootlocal/demo.txt #使用gitview指令观看指定文件内容


-------------------------------------------------------------------------------------

Linux indent命令


Linux indent命令用于调整C原始代码文件的格式。

indent可辨识C的原始代码文件,并加以格式化,以方便程序设计师阅读。


语法

indent [参数][源文件] 或 indent [参数][源文件][-o 目标文件]

-------------------------------------------------------------------------------------


Linux cut命令


Linux cut命令用于显示每行从开头算起 num1 到 num2 的文字。


语法

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

使用说明:

cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。

如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一。


参数:

-b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
-c :以字符为单位进行分割。
-d :自定义分隔符,默认为制表符。
-f :与-d一起使用,指定显示哪个区域。
-n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的
范围之内,该字符将被写出;否则,该字符将被排除

当你执行who命令时,会输出类似如下的内容:

$ who
rocrocket :0 2009-01-08 11:07
rocrocket pts/0 2009-01-08 11:23 (:0.0)
rocrocket pts/1 2009-01-08 14:15 (:0.0)
如果我们想提取每一行的第3个字节,就这样:

$ who|cut -b 3
c
c

-------------------------------------------------------------------------------------


Linux ln命令

Linux ln命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接。

当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。


语法

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

命令功能 :
Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,而链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。

不论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。


软链接:
1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
2.软链接可以 跨文件系统 ,硬链接不可以
3.软链接可以对一个不存在的文件名进行链接
4.软链接可以对目录进行链接


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


给文件创建软链接,为log2013.log文件创建软链接link2013,如果log2013.log丢失,link2013将失效:

ln -s log2013.log link2013
输出:

[root@localhost test]# ll
-rw-r--r-- 1 root bin 61 11-13 06:03 log2013.log
[root@localhost test]# ln -s log2013.log link2013
[root@localhost test]# ll
lrwxrwxrwx 1 root root 11 12-07 16:01 link2013 -> log2013.log
-rw-r--r-- 1 root bin 61 11-13 06:03 log2013.log


给文件创建硬链接,为log2013.log创建硬链接ln2013,log2013.log与ln2013的各项属性相同

ln log2013.log ln2013

输出:

[root@localhost test]# ll
lrwxrwxrwx 1 root root 11 12-07 16:01 link2013 -> log2013.log
-rw-r--r-- 1 root bin 61 11-13 06:03 log2013.log
[root@localhost test]# ln log2013.log ln2013
[root@localhost test]# ll
lrwxrwxrwx 1 root root 11 12-07 16:01 link2013 -> log2013.log
-rw-r--r-- 2 root bin 61 11-13 06:03 ln2013
-rw-r--r-- 2 root bin 61 11-13 06:03 log2013.log


-----------------------------------------------------------------------------------


Linux less命令


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

语法

less [参数] 文件


查看文件

less log2013.log


浏览多个文件
less log2013.log log2014.log

说明:
输入 :n后,切换到 log2014.log
输入 :p 后,切换到log2013.log


-------------------------------------------------------------------------------------

Linux locate命令


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

一般情况我们只需要输入 locate your_file_name 即可查找指定文件。


语法

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


参数:

-d或--database= 配置locate指令使用的数据库。locate指令预设的数据库位于/var/lib/slocate目录里,文档名为slocate.db,您可使用 这个参数另行指定。
--help  在线帮助。
--version  显示版本信息。

实例

查找passwd文件,输入以下命令:

locate passwd

附加说明
locate与find 不同: find 是去硬盘找,locate 只在/var/lib/slocate资料库中找。

locate的速度比find快,它并不是真的查找,而是查数据库,一般文件数据库在/var/lib/slocate/slocate.db中,所以locate的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库 ,命令为:

locate -u


-------------------------------------------------------------------------------------


Linux lsattr命令

Linux lsattr命令用于显示文件属性。

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

语法: lsattr [-adlRvV][文件或目录...]


用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


-------------------------------------------------------------------------------------

Linux mattrib命令


Linux mattrib命令用来变更或显示MS-DOS文件的属性。

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


语法

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


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

mattrib a:

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

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


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

mattrib -r -/ a:*.*

-------------------------------------------------------------------------------------


Linux mc命令

Linux mc命令用于提供一个菜单式的文件管理程序。

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


语法

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


-------------------------------------------------------------------------------------

Linux mdel命令

Linux mdel命令用来删除 MSDOS 格式的档案。

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

将 A 槽磁片根目录中的 autoexec.bat 删除。

mdel a:autoexec.bat .

-------------------------------------------------------------------------------------


Linux mdir命令

Linux mdir命令用于显示MS-DOS目录。

mdir为mtools工具指令,模拟MS-DOS的dir指令,可显示MS-DOS文件系统中的目录内容。


语法

mdir [-afwx/][目录]

显示a盘中的内容

$ mdir -/ a:\*
以上命令执行后,mdir将显示指定盘"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.INF 265 2011-08-23 16:53
AUTORUN.BAT 43 2011-08-23 16:56
3 files 308 bytes #统计总大小
724 325 bytes free #剩余空间

-------------------------------------------------------------------------------------
Linux mktemp命令


Linux mktemp命令用于建立暂存文件。

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

语法 :mktemp [-qu][文件名参数]

参数:

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

使用mktemp 命令生成临时文件时,文件名参数应当以"文件名.XXXX"的形式给出,mktemp 会根据文件名参数建立一个临时文件。在命令行提示符输入如下命令:

mktemp tmp.xxxx #生成临时文件

使用该命令后,可使用dir 或ls看当前目录,得到如下结果:

cmd@cmd-desktop:~$ mktemp tmp.xxxx #生成临时文件
cmd@cmd-desktop:~$dir #查看当前目录
file test testfile testfile1 tmp.3847 #生成了tmp.3847
由此可见,生成的临时文件为tmp.3847,其中,文件名参数中的"XXXX"被4 个随机产生的字符所取代。

猜你喜欢

转载自www.cnblogs.com/Alanf/p/10289062.html