教程二

使用Google翻译翻译自: http://www.ee.surrey.ac.uk/Teaching/Unix/unix2.html


2.1复制文件

cp(copy)

cp file1 file2是在当前工作目录中创建file1的副本并将其命名为file2的命令

我们现在要做的是将存储在文件系统可访问区域的文件,使用cp命令将其复制到您的unixstuff目录下。

首先,cd到你的unixstuff目录。

%cd ~/unixstuff

然后在UNIX提示符下键入

%cp /vol/examples/tutorial/science.txt .

请注意上面命令中最后的点"."。最后,请记住,在UNIX中,点表示当前目录。

上述命令意味着将science.txt文件复制到当前目录,保持名称相同。

(注意:目录/vol/examples/tutorial/是学校的所有人可以读取和复制访问的区域,如果您来自大学以外的地方,可以在此处获取该文件的副本 。使用“文件/保存为..”'从菜单栏将其保存到您的unixstuff目录。)

练习2a

通过将science.txt文件复制到名为science.bak的文件来创建备份

2.2移动文件

mv(move)

mv file1 file2 移动(或重命名)file1file2

要将文件从一个位置移动到另一个位置,请使用mv命令。这具有移动而不是复制文件的效果,所以最终只有一个文件而不是两个文件。

它也可以用于重命名文件,方法是将文件移动到相同的目录,但是给它一个不同的名称。

我们现在要将文件science.bak移动到你的备份目录。

首先,将当前工作目录更改为unixstuff目录(你能记得吗?)。然后,在unixstuff目录中,键入

%mv science.bak backups/

输入lsls backups,看看它是否工作。

2.3删除文件和目录

rm(remove),rmdir(remove directory)

要删除文件,请使用rm命令。例如,我们将创建一个science.txt文件的副本,然后删除它。

在您的unixstuff目录中,键入

%cp science.txt tempfile.txt
%ls
%rm tempfile.txt
%ls

您可以使用rmdir命令删除目录(请确保它是空的)。尝试删除backups目录。您将无法使用,因为UNIX不会让您删除非空目录。

练习2b

使用mkdir创建一个名为tempstuff的目录,然后使用rmdir命令将其删除。

2.4在屏幕上显示文件的内容

clear(clear screen)

在开始下一节之前,您可能希望清除终端窗口中之前输入的命令,以便能够清楚地看到以后输入的命令的输出。

在提示符下,键入

%clear

这将清除所有终端窗口中的所有文本,只留下窗口顶部的%提示符。

 

cat(concatenate)

命令cat可用于在屏幕上显示文件的内容。输入:

%cat science.txt

如您所见,该文件的长度大于窗口的大小,因此它会滚动过去,使其不可读。

 

less

该命令将文件的内容一次一页的显示在屏幕上。输入

less science.txt

如果要查看另一页面,请按[ 空格键 ],如果要退出阅读,请键入[ q ]。你可以看到, lesscat适合用于长文件。

 

head

head命令将前十行的文件显示在屏幕上。

首先清除屏幕然后键入

%head science.txt

然后输入

%head -5 science.txt

-5对head命令有什么影响?

 

tail

tail命令将最后十行的文件显示在屏幕上。

清除屏幕并键入

%tail science.txt

问题:如何查看文件的最后15行?

 

2.5搜索文件的内容

使用less进行简单搜索

使用less,您可以在文本文件中搜索关键字(或模式)。例如,要在science.txt中搜索“science”一词,首先执行

less science.txt

接下来,还是在less命令执行环境中,键入一个正斜杠[ / ]后面跟着要搜索的单词'science'

/science

您可以看到,less查找并突出显示了关键字'science'。键入[ n ]以搜索关键字的下一个出现。

 

grep(不要问为什么叫grep)

grep是许多标准的UNIX实用程序之一。它搜索文件中指定的单词或模式。首先清除屏幕,然后键入

%grep science science.txt

正如你所看到的,grep已经打印出包含science关键字的每一行。

还是有吗?

尝试输入

%grep Science science.txt

grep命令是大小写敏感的; 它区分science与Science。

要忽略对大小写的区分,请使用-i选项,即输入

%grep -i science science.txt

要搜索短语或模式,您必须将其括在单引号中。例如搜索spinning top,键入

%grep -i 'spinning top' science.txt

grep的其他选项有:

-v显示那些不匹配的行
-n在每个匹配行之前显示行号
-c只打印匹配行的总计数

尝试其中一些,看看不同选项执行后的结果。不要忘记,可以一次使用多个选项。例如,统计没有science或Science关键字的行数

%grep -ivc science science.txt

 

wc(word count)

wc命令是一个很方便小巧的实用程序。要对science.txt做一个字数统计,键入

%wc -w science.txt

要找出文件有多少行,请输入

%wc -l science.txt

总结

命令 含义
cp file1 file2 复制file1并命名为file2
mv file1 file2 将file1移动或重命名为file2
rm file 删除文件
rmdir directory 删除目录
cat file 显示文件
less file 一次显示文件的一页
head file 显示文件的前几行
tail file 显示文件的最后几行
grep 'keyword' file 搜索文件中的'keyword'
wc file 统计文件中的行/字/字符数