linux文件操作

一、Linux命令操作基础

1.文件通配符

Linux的命令中可以使用通配符来同时引用多个文件以方便操作。可以使用的通配符主要有“*”和“?”两种,结合使用“[]”、“-”和“!”字符可以扩充需要匹配的文件范围。

(1)通配符“*”

通配符“*”代表任意长度(包括零个)的任何字符。但通配符“*”不能与“.”开头的文件名匹配。

(2)通配符“?”

通配符“?”代表任何单个字符。

(3)字符组通配符“[]”、“-”和“!”

用一对方括号“[]”括起来的字符串列表表示匹配字符串列表中的任意一个字符。其中的字符串列表可以由直接给出的若干个字符组成,也可以由起始字符、连接符“-”和终止字符组成。

例:myfile[abc]表示myfile后面紧跟着a、b或c。

myfile[a-z]表示myfile后面紧跟着一个小写字母。

Myfile[!a-e]表示myfile后面紧跟这一个不在a-e之间的字符。

Myfile[*?]方括号中的星号和问号代表一个字符,不是通配符。

2.自动补全

所谓自动补全,是指用户在输入命令或文件名时不需要输入完整的名字,只需要输入前面几个字母,系统会自动补全该命令或文件名。若有不止一个,则显示出所有与输入字母相匹配的命令或文件名,以供用户选择。利用【tab】键可实现自动补全功能。

(1)自动补全命令

用户在输入Linux的命令时,只需要输入命令名的前几个字母,然后按【tab】键,如果系统只找到一个与输入相匹配的命令名,则自动补全;如果没有匹配的内容或有多个相匹配的名字,系统将发出警鸣声,再按【tab】键将列出所有相匹配的命令。

(2)自动补全文件或目录名

除了可以自动补全命令名外,还可以用相同的方法自动补全命令行中的文件或目录名。

3.命令历史

Linux系统中的每个用户在自己的主目录下都有一个名为.bash_history的隐藏文件,它用来保存曾执行过的命令,这样当用户下次需要再次执行已执行过的命令时,不用再次输入,而可以直接调用。Bash默认最多保存1000个命令的历史记录。

调用历史命令的方法:

(1)上下方向键

在命令行方式下按上方向键,命令提示符后将出现最近一次执行过的命令,再使用上下方向键,可以在已执行过的各条命令之间进行切换。直接按【enter】键就可以再次执行显示的命令,也可以对显示的命令行进行编辑修改。

(2)history和“!”命令

运用history命令可以查看命令的历史记录。

格式:history[数字]

如果不使用数字参数,则将查看所有命令的历史记录;如果使用数字参数,则将查看最近执行过指定个数的命令。显示的每条命令前面均有一个编号,反映其在历史记录列表中的序号。可以用“!”命令再次调用已执行过的历史记录,其格式为:

!序号

4.复制与粘贴

Linux系统每次启动后都会自动运行gpm守护进程。这个进程运行后,用户在字符界面下可利用鼠标实现复制与粘贴功能。具体操作方法是:用户按住鼠标左键拖动需要复制的文本,使其反白显示,即完成文本的复制;然后按鼠标中键则将复制内容粘贴到光标所在的位置。

二、常用目录与文件操作命令

1.pwd命令

格式:pwd

功能:显示当前工作目录的绝对路径

当用户在各目录之间频繁切换时,通过此命令查看当前工作目录的具体位置,以决定下一步的操作。

2.ls命令

格式:ls[选项][文件|目录]

功能:显示指定目录中的文件或子目录信息。当不指定文件或目录时,将显示当前工作目录中的文件或子目录信息。

该命令选项用于对显示信息进行详细的控制,常用选项及功能如下表所示。

选项说明

-a显示所有文件和子目录,包括隐藏文件和子目录

-d只显示目录信息,而不显示其中包含的信息

-l按长格式显示,即显示文件和子目录的详细信息,包括文件类型、权限、所有者和所属组群、文件大小、最后修改时间和文件名等信息

-F用不同的颜色及符号来区分目录、链接文件、压缩文件、可执行文件和普通文件

-R递归地显示目录及其子目录中的文件信息

3.cd命令

格式:cd[目录路径]

功能:进入指定的目录,即使该目录成为当前目录。

cd//切换当前登录用户的主目录

cd~//回到当前登录用户的主目录

cdnsmail//切换到主目录下层的nsmail子目录

cd/var/log//切换到/var/log子目录

cd..//回到上一层目录

cd///回到根目录

4.mkdir命令

格式:mkdir[选项]目录路径

功能:沿指定路径创建子目录

主要选项:

-m创建目录的同时设置目录的访问权限

-p快速创建出多级目录

5.rmdir命令

格式:rmdir[选项]目录路径

功能:删除指定路径下的子目录

此命令也有一个选项-p,可用于快速删除包含在指定路径中的所有目录

6.cp命令

格式:cp[选项]源文件或目录目标文件或目录

功能:复制文件或目录

主要选项:

-b若存在同名文件,覆盖前备份原来的文件。本分文件名是在原文件名后面加上“~”

-f强制覆盖同名文件

-r递归地将源目录下的文件和子目录一并复制到目标目录中

7.rm命令

格式:rm[选项]文件或目录

功能:删除文件或目录

主要选项:

-f强制删除,不显示任何警告信息

-r递归的删除指定目录及其中的所有文件和子目录

8.mv命令

格式:mv[选项]源文件或目录目标文件或目录

功能:移动或重命令名文件或目录

主要选项:

-b若存在同名目标文件,覆盖前备份原来的文件

-r强制覆盖同名文件。

该命令既可移动文件或目录,又具有重命名文件或目录的功能,这取决于目标文件或目录是否已经存在。如果目标文件或目录不存在,则重命名源文件或目录;若目标文件已存在,则会覆盖该文件;若目标目录已存在,则将源目录连同该目录下面的子目录移动到目标目录中。

9.touch命令

格式:touch文件列表

功能:更新指定文件被访问和修改时间为当前系统的日期和时间,若指定的文件不存在,则自动创建出一个空文件。

10.查看文本文件的内容

(1)cat命令

格式:cat[选项]文件

功能:在终端窗口显示指定文件的内容。命令后可指定一个或多个文件(文件名间用空格分隔),或使用通配符实现依次显示多个文件的内容。

主要选项:

-n在每一行前显示行号

该命令常用于查看内容不多的文本文件,如果文件较长,文本在屏幕上迅速闪过,用户只能看到文件结尾部分的内容。此时需要使用more或less命令分屏显示文件的内容。

(2)more与less命令

格式:more文件

less文件

使用more命令后,首先显示第一屏的内容,并在屏幕的底部出现“---more---”字样以及文件占全部文本的百分比。按【q】键,则可退出more命令;按【enter】键可显示下一行内容;按空格键可显示下一屏的内容。当到达文件末尾时,命令执行即结束。

Less比more功能更强大,除了有more功能外,还支持用光标(或翻页键)向前或向后滚动浏览文件的功能,当到达文件末尾时,less命令不会自动退出,需要按【q】键结束浏览。

(3)head与tail命令

格式:head[选项]文件

tail[选项]文件

功能:head和tail命令分别用来查看一个文件开头和最后部分的内容

主要选项:

-n数字指定显示的行数。默认显示开头或最后10行。

11.gzip命令

格式:gzip[选项]文件或目录

功能:压缩/解压缩文件。无选项参数时,执行压缩操作。压缩后产生扩展名为.gz的压缩文件,并删除源文件。

主要选项:

-d解压缩文件,相当于gunzip命令。

-r参数为目录时,按目录结构递归压缩目录中的所有文件。

-v显示文件的压缩比例

12.find命令

格式:find[路径][选项][命令]

功能:从指定路径开始乡下查找满足选项要求的文件和目录,并对查找到的文件或目录进行指定的命令操作。不指定路径时以当前目录为起点查找。

主要选项:

-name文件名查找指定名称的文件或目录,可使用通配符。

-user用户名查找指定用户拥有的文件或目录。

-type文件类型查找指定类型的文件。

-size[+|-]文件大小查找指定大小的文件。“+”和“-”分别表示“大于”和“小于”,文件的大小常以k为单位。

例:查找/etc目录中以pass开头的文件和目录

例:查找当前目录中所有大于10KB的文件和目录。

13.grep命令

格式:grep[选项]字符串文件名

功能:从指定文本文件或标准输出中查找指定的字符串,并显示所有包含搜索字符串的文本行。

主要选项:

-n显示行号

-v显示不包含搜索字符串的行

-i查找时不区分大小写

例:在/etc/fstab文件中查找包含cdrom行的内容,并显示出行号。

三、与文件系统管理相关的命令

1.man命令

格式:man命令

功能:显示指定命令的帮助信息

man命令可以从为数众多的man数据库中查询指定命令的详细帮助信息,包括以下几个部分:

NAME(命令名称)

SYNOPSIS(语法)

DESCRIPTION(说明)

OPTIONS(选项)

在系统显示查询命令的内容时,如果内容超过一个屏幕的范围,可以使用空格或上下光标键、上下翻页键翻阅帮助信息,按【q】键则退出man命令。

2.wc命令

格式:wc[选项]文件

功能:显示文本文件的行数、字数和字符数

主要选项:

-c显示文件的字节数

-l显示文件的行数

-w显示文件包含的单词数

缺省选项时该命令依次显示文件的行数、单词数、字节数已经文件名。

3.file命令

格式:file文件名

功能:识别文件类型

File命令可以帮助用户在linux文件系统中识别许多种文件类型。若为文本文件,它会区分不同的文本文件,例如ASCII、English和International等;如果是可执行文件,则可再细分为ELF、Bourne-AgainShellScript和BourneShellScript等类型,还有其他的类型,如符号链接文件、图形文件、备份文件和压缩文件等。

4.df命令

格式:df[选项]

功能:显示文件系统的相关信息

主要选项:

-a显示命令文件系统的使用情况

-t仅显示指定文件系统的使用情况

-h以易读方式显示文件系统的使用情况

5.clear命令

格式:clear

功能:清除当前终端的屏幕内容