📄 65.html
字号:
cp file1 file2 <br>
<br>
注意,如果你当前目录里已经含有file2这个文件,这个操作将会覆盖原来的file2。也许 在Dos里不会这样,它会要你确认。但你现在在用Unix,在你没有叫它确认之前,它不会那么做。 <br>
<br>
cp -i file1 file2<br>
<br>
当你使用了-i这个选项,再遇到重名的情况系统将要你确认是否继续。 cp命令还有两个比较重要的选项:-r -p <br>
<br>
cp -r /dir1 /dir_temp 这条命令是将目录dir1完全地复制到目录/dir_temp里,在Dos里着条命令叫xcopy <br>
<br>
cp -p file1 file2<br>
<br>
Unix的系统和dos有一个不同的地方,在dos里copy一个文件是不会改变它的文件修改时间 的,除非你确实那样做了。在Unix里不同,它要改你的时间,或许它认为cp也是一种修改吧。 当你加上-p以后就不会改时间了。 <br>
<br>
用惯Dos的人或许会对下面的一行命令大惑不解: <br>
<br>
cp file1 file2 file3 dir_dest 这条命令把file1,file2,file3三个文件一起复制到/dir_dest里去。 <br>
<br>
好了今天就讲到这里,最后留一个思考题,请说明一下下面一行命令的作用,请不要用Dos 的思考方式。我们下个星期再见。 <br>
<br>
思考问题,请说出以下命令的作用:<br>
<br>
cp file1+file2 file3<br>
<br>
cp 上个星期我提出的问题你能解吗?实际上以下命令的意义是这样的:<br>
<br>
cp file1+file2 file3<br>
<br>
表示将一个名字为file1+file2的文件拷贝成file3。而不是在dos里<br>
<br>
的将file1和file2加在一起拷贝成文件file3。在unix的文件系统里,<br>
<br>
文件名字可以到255或254个字符,具体要看你到底使用那种类型的<br>
<br>
Unix。<br>
<br>
回页首<br>
<br>
cat<br>
<br>
这个命令可不是“猫”的意思,而是catenate的缩写。顾名思义,是<br>
<br>
把东西串起来。比如:<br>
<br>
cat file1 file2<br>
<br>
就是把文件file1和file2连在一起,然后输出到屏幕上。注意,输出<br>
<br>
到屏幕上是cat的自定义目的。如果要改变它的输出方向,就必须使用<br>
<br>
Unix系统的输出重定向符“>”<br>
<br>
回页首<br>
<br>
><br>
<br>
输出重定向符。稍微高级一点的dos用户都知道这个符号。在Unix里的<br>
<br>
用法同Dos的区别不是很大。但比较不同的地方是,Unix系统将任何的<br>
<br>
一个外设都认同为一个文件。所以如果你要将输出重定向到打印机之<br>
<br>
类的地方,只要写上代表打印机的设备文件名。前一将里我们曾讲过<br>
<br>
终端机器名,它也是一个文件。比方我的设备机器是ttya,而小李的<br>
<br>
设备机器是ttyb,他想让我把当前目录的内容给他看。那么用这条命<br>
<br>
令就可以了<br>
<br>
ls -a-u-F >ttyb<br>
<br>
这充分利用了Unix系统多用户的设计思想。<br>
<br>
同样的使用ls -a-u-F>file1就是将当前目录列表输出到file1中。<br>
<br>
又比如:<br>
<br>
cat file1 file2>file3<br>
<br>
就是将文件file1和file2的内容输出到file3中。在Dos里这条命令被<br>
<br>
写成copy file1+file2 file3<br>
<br>
当你用'>'来输出重定向的时候,系统马上打开一个空文件来准备存放<br>
<br>
'>'之前那个文件命令的输出结果。比如:<br>
<br>
cat file1 file2>file3<br>
<br>
系统先将file3的内容清空。所以:<br>
<br>
cat file1 file2>file1这条命令将产生一个错误提示。也许这条命令<br>
<br>
的本意是增加file1里的内容,但在系统初始这条命令的时候就把file1<br>
<br>
里的内容清空了。所以你得到一个错误提示。如果要追加文件内容请<br>
<br>
使用以下命令:<br>
<br>
cat file2>>file1<br>
<br>
">>"表示追加,而不是先清空file1中的内容。<br>
<br>
上面讲的是输出重定向,还有输入重定向。这个留在以后讲。<br>
<br>
回页首<br>
<br>
man<br>
<br>
是英语"manual"的缩写。这是一条使用频率很高的命令,用来得到系统<br>
<br>
对一个特定命令的帮助信息。请各位读者一定要掌握这条命令。<br>
<br>
格式为:man -k 命令关键字<br>
<br>
回页首<br>
<br>
mv<br>
<br>
这个命令是move的缩写,就是把一个目录或文件搬来搬去。实际上我常<br>
<br>
把它当成改文件名字的命令来用。比如:<br>
<br>
mv file1 ABC就是把文件file1改成ABC。<br>
<br>
rm<br>
<br>
记住rm是remove,是清除文件的意思。在Unix里是没有undelete这会事<br>
<br>
情的,所以请在使用的时候加上-i这个选项。表示确认。<br>
<br>
回页首<br>
<br>
在这个星期我们的Unix教程就到这里了。有许多朋友写信告诉我无法使<br>
<br>
用cyberspace的unix,也许是那里的速度比较慢。如果你实在没地方练<br>
<br>
习unix命令,我向你推荐一个工具,叫unixdos。它是一个unix环境的<br>
<br>
dos模拟器,基本上常用的unix命令你都可以使用。有兴趣的朋友请写<br>
<br>
信给我,我告诉你在那里下载。<br>
<br>
文件权限 各位读者,经过上两个星期的热身,我们开始渐渐接近Unix操作的核心。在本周<br>
<br>
我们着重谈谈Unix的文件系统,下次再讲vi编辑器。<br>
<br>
现在我们来看一个示例:<br>
<br>
Username:unixfree<br>
<br>
Password:********<br>
<br>
(登陆到Unix)<br>
<br>
%:ls -l(显示文件表)<br>
<br>
drwxr-xrw- 1 unixfree project1 128 Apr 4 12:19 dir<br>
<br>
-rw-r--r-- 1 unixfree project1 545 Apr 4 12:19 file1<br>
<br>
lrwxrwxrwx 1 unixfree project1 124 Jan 13 09:01 file2-->file3<br>
<br>
-rw------- 1 unixfree project1 212 Jul 22 14:23 file3<br>
<br>
在文件列表最前边的就是文件的属性。一般来说,它有十个小项目,也就是十个<br>
<br>
符号。它们以1+3+3+3的方式表示四个意义:<br>
<br>
文件类型(1)、文件拥有者(user)对此文件的权限(3)、同组者(group)对此文件<br>
<br>
的权限(3)、其他人(others)对此文件的权限(3)。<br>
<br>
文件类型:文件类型有三种符号,分别为:<br>
<br>
"-":普通文件<br>
<br>
"d":目录<br>
<br>
"1":表示连接(下面会详细讲)<br>
<br>
<br>
<br>
文件权限:文件的权限也有三种<br>
<br>
"r":只读文件<br>
<br>
"w":可写文件<br>
<br>
"-":不可执行文件,不可读文件,不可写文件<br>
<br>
"x":可执行<br>
<br>
<br>
<br>
在Unix系统里用户是分组的,就象NT的分组一样。一般来说同一组的人往往比较<br>
<br>
接近,比如公司的同一个部门就是一个组。而不同组的人则不在同一个组。分组<br>
<br>
情况是由系统管理员制定的。普通用户不能自行更改。<br>
<br>
所以在上面的例子里的第一行表示该目录User可读可写可执行,本组的用户可读<br>
<br>
不可写可执行,其他用户可读可写不可执行。其他的你就自己解释吧。<br>
<br>
前面我提到了一个文件类型"1"。这是比较特别的类型,它只是一个门牌,任何<br>
<br>
对它的访问都会自动到它指向的文件。比如上例中我们看到file2是连向file3<br>
<br>
的一个文件,那么任何对file2的操作都是对file3的操作,并且文件的实际属性<br>
<br>
是file3的属性,而不是file2的属性。<br>
<br>
回页首<br>
<br>
改变文件属性的命令:chmod<br>
<br>
chmod 是chang mode的缩写,用来改变文件的权限。用以下的文件为例:<br>
<br>
-rw-r--r-- 1 unixfree project1 545 Apr 4 12:19 file1<br>
<br>
第一个"-"表示本文件是一个普通的文件。"rw-"表示文件拥有者对此文件的权限<br>
<br>
为可读可写不可执行。其他的你自己看了。<br>
<br>
要改变次文件的权限,比如我怕将此文件改坏掉,所以希望自己不可写此文件<br>
<br>
chmod u-w file1<br>
<br>
符号"u"表示文件的拥有者,"g"表示同组者,"o"表示其他用户,"a"表示全体用<br>
<br>
户,就是前面讲的所有的人。"-"表示去掉某个属性,"+"表示加上某个属性。<br>
<br>
又比如我要讲file1改成全体用户都可读可写可执行的文件:<br>
<br>
chmod a+rwx file1<br>
<br>
然后去掉其他用户执行的权利:<br>
<br>
chmod o-x file1<br>
<br>
你懂了吗?如果你有兴趣,快去试试吧。我们下周开始讲令人厌烦的vi。Bye!<br>
<br>
各位细心学习的朋友,非常感谢你能继续看这个教程。这个星期我们开始学习VI编辑器。从功能上说它是一个同EDIT基本一样的工具,但是它非常难学!以至于在现在我不得不引用一句在unix初学者口中的话来告戒大家"To vi or not to vi,that is a question"!<br>
Vi的模式:<br>
Vi有两种基本模式:命令模式和编辑模式,他们以<ESC>键切换。<br>
OK,我们启动一下vi,看看这么使用这个工具。<br>
%vi<br>
启动vi,第一件事先按<ESC>,记得你在vi里要常常用它。然后输入"i"。<br>
屏幕上绝对不会出现任何字,因为<esc>后你在命令模式,输入"i"则表示你进入编辑模式,并且现在的状态是insert,就是插入文本。<br>
如果你还没有被搞糊涂,那么继续输入。 I love Unix.<br>
<br>
是的,屏幕上出字了,你顺利地输入第一行文字。现在我们要保存这个文件。再按一次<ESC>,到命令模式,输入":w",表示存盘。你也可以输入<br>
":w Unix.txt",那么就是以Unix.txt为文件名字存盘。<br>
好了基本vi概念就是如此。我把常用的一些命令都写在下面,你自己试着输入吧。<br>
<br>
<br>
i牋 <br>
<br>
"insert"的缩写<br>
<br>
在光标之前插入文字<br>
<br>
a牋 <br>
<br>
"append"的缩写 <br>
<br>
在光标之后插入文字<br>
<br>
o<br>
<br>
"open"的缩写 <br>
<br>
在光标所在行的下面开始新一行的输入<br>
<br>
O<br>
<br>
"Open"的缩写 <br>
<br>
在光标所在行的上面开始新一行的输入<br>
<br>
I
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -