$tail -n: 输出最后N行。
$tail -q: 隐藏文件的文件名,不显示文件的标题。
$tail -v: 始终显示给定文件的标题。
④举例:
$tail file: 显示文件file的最后10行。
$tail +20 file: 显示文件的内容,从第20行到文件末尾。
$tail -c -10 file: 输出文件file最后10个字符。
(7)touch命令:touch命令可以修改指定文件的时间标签或者创建一个空文件。
①格式:touch [选项] file
②功能:touch命令将会修改指定文件的时间标签,将已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动的保留下来。如果文件尚未存在则建立一个空的文件。
③选项:
$touch -a: 仅改变指定文件的存取时间。
$touch -c: 不创建任何文件。
$touch -m: 仅改变指定文件的修改时间。
$touch - t: 使用指定的日期时间而非现在的时间,设定时间与日期,格式与date相同,YYYYMMDDhhmmss。
④举例:
$touch filename: 在当前目录下建立空文件filename
【匹配、排序及显示指定内容的命令】
(1)grep命令:在文本中查找指定的词或短语,该命令只显示查找到的文本行,不修改文件。
该命令组包含三个命令:grep、egrep、fgrep:
grep: 每次只能搜索一个指定的模式。
egrep(grep - E):可以使用拓展的字符串模式进行搜索。
fgrep(grep - F):快速搜索命令,检索固定字符串但不识别正则表达式。
①格式:grep [选项] 查找内容串 [ 文件名1,文件名2,····]
②选项:
grep -c: 显示文件中符合搜索内容的行的总数。
grep -i: 搜索时不区分字母的大小写。
grep -n: 在输出符合搜索内容的行之前,顺便输出该行的行号。
grep -v: 反向选择,显示不符合搜索内容的文本行。
③举例:grep 'the' test
(2)sort命令:sort命令对文本文件的各行进行排序。
①格式:sort [选项] 文件列表
②功能:sort命令将逐行对指定文件中的所有行进行排序,并将结果显示在标准输出上。
③选项:
$sort -m: 对已经排好序的文件统一进行合并但不做排序。
$sort -c: 检查给定的文件是否已经排好序,若没有则显示错误消息,不排序。
$sort -u: 与c选项一起使用,严格的按顺序检查,去除对排序后的重复行。
改变排序规则的选项:
$sort -d: 按字典顺序进行排序。
$sort -f: 忽略字母的大小写。
$sort -i: 忽略非打印字符。
$sort -r: 按逆序进行排序。默认排序顺序是按升序排序的。
$sort -k n1,n2: 指定文本行的第n1字段开始至第n2字段(不包括n2字段)中间的内容作为排序关键字。n1列为主要关键字,n2列作为次要关键字。
④举例:
$head filename1 > filename2: 将文件filename1的前10行定向到文件filename2中。
$sort filename2: 对filename2文件进行排序。
$sort -k 2,3 filename: 以行的第二列作为主要关键字,第三列作为次要关键字第三个字段,对filename文件进行排序。
(3)uniq命令:该命令从排好序的文件中去掉重复行。
①格式:uniq [选项] [输入文件[输出文件]]
②功能:uniq命令读取输入文件并比较相邻的行,去掉重复的行并将结果写到输出文件中。输入文件和输出文件必须不同。
③选项:
$uniq -c: 显示输出时,在每行的行首加上该行在文件中出现的次数。
$uniq -d: 只显示文件中重复行的。
$uniq -u: 只显示文件中不重复的行。
④举例:
$uniq -u test: 显示文件test中不重复的行。
(4)find命令:查找符合条件的文件或目录。
选项:
$find -name
举例:
①知道文件名字,忘记存放位置:
find / -name "filename"
②知道部分文件名,查找位置:
find /etc-name *gc*: 查找包含gc的
find /etc-name gc*: 查找gc开头的
【 比较文件内容的命令】
(1)comm命令:comm命令对两个已经排序的文件进行逐行比较。
①格式:comm [-123] file1 file2
②功能:comm命令对两个已经排好序的文件进行比较,comm从这两个文件中读取正文行进行比较,最后生成三列输出:仅在file1中出现的行、仅在file2中出现的行、在两个文件中都出现的行。
③选项;
$comm -1: 表示不显示第一个文件出现的内容。
$comm -2: 表示不显示第二个文件出现的内容。
$comm -3: 表示不显示同时在两个文件中都出现的内容。
④举例:
$comm -12 file1 file2: 比较文件file1和file2并且只显示他们共有的行(相当于交集)。
(2)diff命令:diff命令比较两个文本文件并找出他们的不同。diff命令比comm命令完成更复杂的检查,并且不要求两个文件预先排好序。
①格式:diff [选项] 文件1 文件2
②功能:该命令逐行比较两个文件并列出他们的不同之处,告诉用户为了使两个文件相同需要修改它们的哪些行。如果两个文件完全一样则该命令不显示任何输出。
该命令输出的一般形式:字母(a、d、c)前的行号(n1、n2)是针对文件1的,后面的行号(n3、n4)是针对文件2的。其中a表示附加、d表示删除、c表示修改。
n1 a n3 n4: (表示把文件1的n1行添加到文件2的n3~n4行后两者相同)
n1,n2 d n3: (表示删除文件1的n1~n2行以及文件2的n3行后两者相同)
n1,n2 c n3,n4:(表示把文件1的n1~n2行改为文件2的n3~n4行后两者相同)
③选项:
$diff -b: 忽略空格造成的差别。例如:How are you与How are you被看作相同的字符串。
$diff -i: 忽略字母大小写的区别。
$diff -r: 当文件1和文件2都是目录时,递归比较找到的各子目录。
【复制、删除和移动文件的命令】
(1)cp命令:cp命令将源文件或目录复制到目标文件或目录中。
①格式:cp [选项] 源文件或目录 目标文件或目录
②功能:如果源文件是普通文件,则该命令把它复制到指定的目标文件中;如果是目录就需要使用“-r”选项,将整个目录下所有的文件和子目录复制到目标位置。
③选项:
$cp -a: 该选项通常在复制目录时使用。它将递归地将源目录下的所有子目录及其文件复制到目标目录中,并且保留文件链接和文件属性不变。
$cp -i: 在覆盖目标文件之前先给出提示,要求用户予以确认。回答y将覆盖目标文件,这是交互式复制。
$cp -d: 复制时保留文件链接。
$cp -p: 除复制源文件的内容外,还将其修改时间和存取时间权限也复制到新文件中。
$cp -r(-R): 递归复制目录,将源目录下的所有文件及其各级子目录都复制到目标位置。
④注意:
cp命令复制一个文件,而原文件保持不变。如果将一个文件复制到目标文件中,而目标文件已经存在则该目标文件的内容破坏。
⑤举例:
$cp file /home/meng/exam1: 将文件file复制到目录/home/meng下并改名为exam1。
$cp -r /home/meng /home/test: 将目录/home/meng下的所有文件及子目录复制到目录/home/test中。
(2)rm命令:rm命令删除指定的文件和目录,删除后无法恢复。
①格式:rm [选项] 文件列表
②选项:
$rm -f: 忽略不存在的文件,并且不给出提示信息。
$rm -i: 交互式的删除文件。
$rm -r(-R): 递归地删除指定目录及其下属的各级子目录和相应文件。
(3)mv命令:mv命令对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。
①格式:mv [选项] 源文件或目录 目标文件或目录
②选项:
mv -i: 交互式操作。如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入y表示将覆盖目标文件;输入n表示取消对源文件的移动。
mv -f: 禁止交互式操作。
③举例:
$mv file filename: 将文件file改名为filename。
$mv /home/meng/* . :将目录/home/meng中的所有文件移到当前目录(用“.”表示)中。
【文件内容统计命令】
(1)wc命令:wc命令统计指定文件的字节数、字数、行数,并将统计结果显示出来。
①格式:wc [选项] 文件
②说明:wc输出的顺序和数目不受选项顺序和数目的影响。显示格式:行数 字数 字节数 文件名
③选项:
$wc -c: 统计字节数
$wc -l: 统计行数
$wc -w: 统计字数
④举例:
$wc -lcw ex1 ex2: 统计文件ex1和ex2的行数、字数、字节数。
$wc ex1 ex2: 不带选项,统计文件统计文件ex1和ex2的行数、字数、字节数。
【目录概述】
(1)用户主目录:注册进入系统时主目录就是用户当前工作目录,主目录包含子目录、数据文件及用于注册环境的配置文件。主目录通常位于/home下并且与注册名相同。(例如:/home/meng)
(2)路径名:
①绝对路径名:每个文件有唯一的绝对路径名,它是沿着层次树从根目录开始,由到达相应文件的所有目录名连接而成的,各目录名之间以斜线(/)字符隔开。绝对路径名总是以斜线(/)开头表示根目录,使用pwd命令可以在屏幕上显示当前工作目录的绝对路径名。
例如:
$pwd
/home/meng
②相对路径名:相对路径名利用相对当前工作目录的路径指定一个文件,相对路径名不能以斜线(/)字符开头。
如果访问当前工作目录和当前工作目录之上的文件,可以在相对路径名中使用特殊路径名—(.)和(..):
(.):表示本目录本身。
(..):表示当前目录的父目录
当前目录为/home/meng/lib,想列出/home/liu目录的内容,可使用命令:ls ../../liu
例如:
/home/meng/lib的父目录是/home/meng,后者的父目录是/home。
【创建和删除目录的命令】
(1)mkdir命令:mkdir命令用来创建目录。
①格式:mkdir [选项] dirname
②说明:该命令创建由dirname命名的目录,在创建目录时应保证新建的目录与它所在目录下的文件没有重名。
③选项:
$mkdir -p: 可以一次建立多个目录,
该选项可以是路径名称,此时若路径中的某些目录尚不存在,加上此选项后系统将自动建立那些尚不存在的目录。
④举例:
$mkdir -p d2/d3: 在当前目录下建立目录d2和d2下的d3目录,即连续建立两个目录(建立多层目录)。
(2)rmdir命令:rmdir命令可以从目录中删除一个或多个空的子目录。
①格式:rmdir [选项] dirname
②选项:
$rmdir -p: 递归的删除目录dirname,即先删除内层后外层变为空也同时被删除。当子目录删除后其父目录变为空目录时也一同被删除,如果有非空的目录,则该目录保留下来。
③注意:
子目录被删除前应该是空目录,当前工作目录必须是被删除目录之上,不能是被删除目录本身,也不能是被删除目录的子目录。
④举例:
$rmkdir -p bin/test: 删除子目录test和父目录bin。
【改变工作目录和显示目录内容的命令】
(1)cd命令:cd命令改变工作目录。
①格式:cd [dirname]
②功能:如果想访问其他目录下的若干文件,简便的方法是把当前工作目录改到那个目录上去,然后从新的工作目录出发去访问那些文件。使用cd命令可以改变当前工作目录,且有唯一参数即表示目标目录的路径名(相对路径名或绝对路径名)。
利用(..)形式可以把工作目录向上移动两级目录。
如果从系统的任何地方返回到主目录,可以使用不带任何参数的cd命令。
③举例:
$cd/home/meng: 将当前目录改到/home/meng。
$cd: 将当前目录改到用户的主目录。
$cd ../../: 将当前目录向上移动两级。
$cd/: 进入根目录
(2)pwd命令:pwd命令显示出当前工作目录的绝对路径。
①格式:pwd
②说明:该命令不用带任何选项或参数,利用pwd命令可以知道当前工作在哪个目录下。
(3)ls命令:ls命令列出指定目录的内容,是管理文件时最常用的命令。
①格式:ls [选项] [目录或文件]
②说明:如果给出的参数是目录,该命令将列出其中所有子目录与文件的信息;如果给出的参数是文件,将列出有关该文件属性的一些信息。在默认情况下,输出条目按字母顺序排列。如果没有给出参数,将显示当前目录下所有子目录和文件的信息。
③选项:
ls -a: 显示指定目录下所有子目录和文件,包括隐藏文件。
ls -c: 按文件的修改时间排序。
ls -s: 显示文件和目录的大小,以区块为单位
ls -d: 如果参数是目录,则只显示它的名字(不显示其内容)。
ls -r: 按逆序显示ls命令的输出结果,默认ls命令以文件名的字典顺序排列。
ls -R: 递归地显示指定目录的的各个子目录中的文件。
ls -F: 在列出的文件名后加上不同的符号,区分不同类型的文件。
/ 表示目录
* 表示可执行文件
@ 表示符号链接文件
| 表示管道文件
ls -l: 以长格式显示文件的详细信息。输出的信息分成多列,依次为:
文件类型与权限 链接数 文件主 文件组 文件大小 建立或修改最近的时间 文件名
例如:
-rw-r--r-- 2 meng group 198 10月20 2010 file
字段的含义说明:
1.第一个字段中第一个字符表示文件类型,含义是:
-: 普通文件
d: 目录
b: 块设备文件
c: 字符设备文件
2.随后的字符表示文件的存取权限,含义是:
r: 可读
w: 可写
x: 可执行(对于目录表示可以访问该目录)
【系统相关命令】
(1)chmod命令:chmod命令用于改变或设置文件和目录的存取权限。
1. 说明:根据表示权限的方式不同,chmod命令有两种用法:
①以符号模式改变权限
格式:chmod key 文件名
说明:key由三部分组成:[who] [操作符号] [mode]
[who]操作对象可以是下述字母中的任意一个或者他们的组合。
u(用户):文件或目录的所有者。
g(同组用户):与文件属主有相同组ID的所有用户。
o(其他用户)
a(所有用户)
[操作符号]
+:添加某个权限
-:取消某个权限
=:赋予给定权限并取消其他所有权限
[mode]所表示的权限可用下述字母任意组合
r:可读
w:可写
x:可执行
u:与文件属主拥有一样的权限
o:与其他用户拥有一样的权限
②举例:
$chmod a+x file: 将文件file的权限改为所有用户都有执行权限。
$chmod u=r,ug=x file: 将文件file的权限重新设置为文件主可以读和执行,组用户可以执行,其他用户无权访问。
(2)sudo命令:临时为普通用户授权为超级用户的命令,将sudo放到要执行的命令前即可,授权时间为5分钟,过期后会再次要求输入密码。
(3)shutdown命令:关闭或者重启Linux系统,允许用户在指定的时间点或者时间段之后关闭或重启Linux系统。
①格式:shutdown [选项] [+时间]