云主机和虚拟主机

Linux命令实例参考手册,第三章 Linux系统文件的基本管理

作者:qvdv来源:www.qvdv.com更新时间:2015-01-30

3  文件的基本管理

建立文件——cat

cat命令语法:

cat [参数] >|>> [文件名]

实例1:利用cat创建一新文件hhwork,在命令提示符下输入以下命令。

[root@localhost local]#cat >hhwork

[root@localhost local]#cat - >hhwork

用户可以从标准输入为该文件录入内容,也可以按组合键Ctrl+C退出,可以利用ll命令查看新文件的属性。

实例2:对已经存在的文件追加新的内容。

假设当前目录下存在一文件hhwork,对其追加新的一行内容“love”,在命令提示符下输入:

[root@localhost local]#cat >>hhwork

[root@localhost local]#cat - >>hhwork

建立文件——touch

touch命令语法:

touch [参数] [文件名]

实例1:创建两个文件abc1abc2,并以当前的时间设定其修改和访问时间。

在命令提示符下输入:

[root@localhost ~]#touch abc1 abc2

[root@localhost ~]#ll abc1 abc2

实例2:利用其他文件的时间属性设置新的文件。

当前目录下,有一文件hhwork,利用该文件的时间属性设置新创建文件“123”的时间属性,同样为了便于观察结果是否执行成功,借助ll命令,在命令提示符下输入以下命令。

[root@localhost ~]#touch -r a 123

[root@localhost ~]#ll hhwork

[root@localhost ~]#ll 123

移动以及重命名文件——mv

mv命令语法:

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

实例把当前目录下的abc1移动到/home目录下面,并重新命名为abc1-new

要实现移动和重命名文件,需要以绝对路径名指出目标文件,目标文件名的父目录为移动目的地,绝对路径中最后的文件名为文件的新名字。

[root@localhost ~]#mv -i abc1 /home/abc1-new

[root@localhost ~]#ll /home/abc1-new

实例移动整个目录下的文件到指定的目标目录。

假设当前目录下有一个hhwork2目录,移动该目录(包括子目录的内容)到/backup。在命令提示符下输入以下命令:

[root@localhost ~]#ls hhwork2

[root@localhost ~]#mv -i hhwork2 /backup

[root@localhost ~]#ls /backup

实例3:为文件或目录重命名。假设oldoldfile文件已经存在

在命令提示符下输入:

[root@localhost ~]#mv old new

[root@localhost ~]#mv oldfile newfile

借助ls命令显示,oldoldfile将不存在。

实例4:分别以系统默认的后缀字符和“.old”备份已经存在的文件。

在命令提示符下输入:

[root@localhost ~]#mv -bi file1 /backup

(假设/backup目录下存在file1file2两个文件)

[root@localhost ~]#mv -biS.old file2 /backup

[root@localhost ~]#mv -bi--suffix=.old file2 /backup

[root@localhost ~]#ls /backup/file*

删除文件——rm

rm命令语法:

rm [参数] [文件或目录]

实例1:在安装系统后,删除/root下产生的安装日志文件(install.loginstall.sys.log)。

在命令提示符下输入:

[root@localhost ~]#rm install*

对于系统询问是否删除某个文件,确认删除,键入“y”即可;否则键入除“y”以外的任何键即可。为了提高删除效率,对于确定不需要的文件,选择-f强制删除,借助ls命令用来查看是否成功删除文件,可以看出系统默认是开启-i选项的。

实例2:强制删除当前目录下非空目录test(假设存在)下的所有文件。

利用rm命令删除目录,若要删除目录必须用-r选项,在命令提示符下输入:

[root@localhost ~]#tree test

[root@localhost ~]#rm –ri test

[root@localhost ~]#tree test

查看文件的内容——cat

cat命令语法:

cat [参数] [源文件] [>|>> 重定向的文件名]

实例1:查看系统文件系统的情况。

文件/etc/fstab记录系统中文件系统的信息,Linux在启动时候,通过读取该文件来决定挂载那些文件系统。该文件设置了默认安装的文件系统,用户可以通过mount命令加载新的系统设备。在命令提示符下输入:

[root@localhost ~]#cat /etc/fstab

实例2:把账号文件编号输入到文件users.backup,省略中间的空行。

在命令提示符下输入:

[root@localhost ~]#cat -bs /etc/passwd > users.backup

实例3:把组账户文件追加到实例二产生的文件users.backup,同样省略账户文件的空行,带行号。在命令提示符下输入:

[root@localhost ~]#cat -sb /etc/group >> users.backup

查看文件的内容——more

more命令语法:

more [参数] [文件名]

实例1:从第5行开始查看账户文件(/etc/passwd),并将每屏设置10行显示。

在命令提示符下输入:

[root@localhost ~]#more -10 +5 /etc/passwd

实例2:查找/etc/passwd文件中,ddf用户所在的行。

利用more命令来查找指定的关键字,在命令提示符下输入:

[root@localhost ~]#more +/ddf /etc/passwd

查看文件的内容——less

less命令语法:

less [参数] [文件名]

实例1:查看账户文件的内容,并显示读取文件的行号、百分比以及总行号。

在命令提示符下输入以下命令:

[root@localhost ~]#less -M /etc/passwd

实例2:搜索一文件中Linux字符串,并修改为Linux

在命令提示符下输入:

[root@localhost ~]#less -p Linux test

实例3:查看符号链接文件。

在命令提示符下输入:

[root@localhost ~]#less lnfile

(假设lnfile存在,并且指向/etc/passwd

[root@localhost ~]#less lndir

(假设lndir存在,并且指向/etc

查看文件头部的内容——head

head命令语法:

head [参数] [文件名]

实例1:默认显示多个文件的前10行。

分别显示主机配置文件(/etc/hosts)和网络服务文件(etc/services)两个文件的前10行,在命令提示符下输入:

[root@localhost ~]#head /etc/hosts /etc/services

实例2:显示文件的前3行和除最后25行的所有内容。

在命令提示符下输入:

[root@localhost ~]#head -3 /etc/passwd

[root@localhost ~]#head -n 3 /etc/passwd

[root@localhost ~]#head --lines= 3 /etc/passwd

[root@localhost ~]#head -n -25 /etc/passwd

[root@localhost ~]#head --lines= -25 /etc/passwd

实例3:显示文件的前100bytes和除最后1000bytes的所有内容。

head命令默认以行为单位显示文件的首部内容,用户也可以按bytes显示文件的首部内容。head同样提供两种方法以bytes显示文件的内容,这里仍旧以/etc/passwd为例子,在命令提示符下输入:

[root@localhost ~]#head -c 100 /etc/passwd

[root@localhost ~]#ll /etc/passwd

(查看文件的大小,估计除最后1 000 byte首部还剩余多少)

[root@localhost ~]#head -c -1000 /etc/passwd

查看文件尾部的内容——tail

tail命令语法:

tail [参数] [文件名]

实例:分别显示账户文件和组用户文件的末尾3行。

根据tail选项的含义,在命令提示符下输入:

[root@localhost ~]#tail -3 /etc/passwd /etc/group

查看文件部分内容——cut

cut命令语法:

cut [参数] [目标文件名] [>|>>新的文件名]

实例1:假设当前目录有通讯录address,查看每行前3个字节的内容和前3个字符的内容。

在命令提示符下输入:

[root@localhost ~]#cut -b1-3 address

[root@localhost ~]#cut -c1-3 address

实例2:提取账户文件中第3个字段的内容,第124个字段的内容以及从第3个字段到最后的内容。

cut命令默认字段的分隔符号为空格或Tab键,账户文件的各个字段以“:”做为字段分隔符,因此利用-d选项告诉系统账户文件的字段分隔符,在命令提示符下输入:

[root@localhost ~]#cut -d ‘:’–f 3 /etc/passwd

显示第三个字段的内容。

[root@localhost ~]#cut -d ‘:’ –f 1,2,4 /etc/passwd

显示第124个字段的内容。

[root@localhost ~]#cut -d ‘:’ –f 3- /etc/passwd

显示从第3个字段到最后的所有内容。

实例3:创建一账户文件users,包含系统中所有的账户。

可以利用cut命令读取提取账户文件中第一个字段,并将内容重新定向文件users中,在命令提示符下输入:

[root@localhost ~]#cut -d ‘: ’–f1 /etc/passwd >users

利用ls命令查看users文件是否存在,最后利用head命令查看users文件的前10行。

查看文件的类型——file

file命令语法:

file [参数] [文件]

实例1:查看音乐文件和图片文件类型。

假设当前目录下有非文本文件ab,利用ll命令只能知道为普通文件,若要查看更详细的类型,可以利用file命令查看ab文件的具体类型。在命令提示符下输入:

[root@localhost ~]#ll a b

[root@localhost ~]#file a b

实例2:根据一个名称文件来查看文件的类型。

假设当前目录下有一文件abc,存储了多个文件名,注意每个文件名独占一行内容为:

/etc/passwd

/etc

/bin/ls

查看abc下每个文件的类型,则在命令提示符下输入:

[root@localhost ~]#file -f abc

实例3:查看压缩文件的类型。

经常在网上下载一些安装文件,有些文件以一定的扩展名,比如(.gzbz2等)发布,这样可以很容易选择解压缩工具,但是有些文件没有给定扩展名,因此,若要正确选择解压缩工具,必须利用file对其进行查看。假设有一压缩的安装文件aaa.zip,查看该文件的类型,在命令提示符下输入:

[root@localhost ~]#file -z aaa.zip

实例4:查看符号文件的类型和符号链接文件所指向实际文件的类型。

在命令提示符下输入:

[user@localhost ~]$file lnfile

[user@localhost ~]$file -L lnfile

查看文件的属性——ll

ll命令语法:

ll [参数] [文件或目录…]

实例1:以用户方便阅读的方式,查看多个文件的属性。

在命令提示符下输入:

[root@localhost ~]#ll -h /bin/ls /etc/passwd

实例2:以用户方便阅读的方式,查看目录的属性。

在命令提示符下输入:

[root@localhost ~]#ll -h hhwork

改变文件的属主或属组——chown

chown命令语法:

chown [参数] 所有者/所有者ID[:[组用户/ID]] [文件名或目录名]

[root@localhost ~]#chown [参数] --referecnce=文件名或目录名 [文件名或目录名…]

实例1:改变文件的属主用户。

假设当前目录下有一文件abc,属主为root。将属主改变为ddf,为了查看设置是否成功,在命令提示符下输入:

[root@localhost ~]#ll abc

[root@localhost ~]#chown -v ddf abc

[root@localhost ~]#ll abc

实例2:改变文件的属主用户和属组用户。

假设当前目录下的文件abc,属主和属组为root,同时将属主和属组更改为ddf,在命令提示符下输入:

[root@localhost ~]#ll abc

[root@localhost ~]#chown -v ddf:ddf abc

本文版权所有,转载须注明:来源 http://www.qvdv.com/qvdv-zhuji-762.html