版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、linux知识宝库基础知识linux知识大全 linux知识大全2004-04-23 15:18 pm作者:作者来自:无名shell命令bash 是大多数linux系统的缺省外壳。它克服了Bourne 外壳的缺点,又和Bourne 外壳完全兼容。Bash有以下的特点:补全命令行。当你在bash 命令提示符下输入命令或程序名时,你不必输全命令或程序名,按Tab 键,bash将自动补全命令或程序名。通配符。在bash下可以使用通配符* 和?。*可以替代多个字符,而?则替代一个字符。历史命令。bash能自动跟踪你每次输入的命令,并把输入的命令保存在历史列表缓冲区。缓冲区的大小由HISTSIZE变量控
2、制。当你每次登录后,home目录下的.bash_history 文件将初始化你的历史列表缓冲区。你也能通过history 和fc 命令执行、编辑历史命令。别名。在bash下,可用alias 和unalias 命令给命令或可执行程序起别名和清除别名。这样你可以用自己习惯的方式输入命令。输入/输出重定向。输入重定向用于改变命令的输入,输出重定向用于改变命令的输出。输出重定向更为常用,它经常用于将命令的结果输入到文件中,而不是屏幕上。输入重定向的命令是。管道。管道用于将一系列的命令连接起来。也就是把前面的命令的输出作为后面的命令的输入。管道的命令是|。提示符。bash有两级提示符。第一级提示符就是你
3、登录外壳时见到的,缺省为$。你可以通过重新给ps1变量赋值来改变第一级提示符。当bash需要进一步提示以便补全命令时,会显示第二级提示符。第二级提示符缺省为,你可以通过重新给ps2变量赋值来改变第二级提示符。一些特殊意义的字符也可以加入提示符赋值中。作业控制。作业控制是指在一个作业执行过程中,控制执行的状态。你可以挂起一个正在执行的进程,并在以后恢复该进程的执行。按下Ctrl+Z 挂起正在执行的进程,用bg命令使进程恢复在后台执行,用fg命令使进程恢复在前台执行。这里列出的仅仅是最常用的bash命令子集,其他不太常用,但是在某方面有特殊用途的命令会在这个技术问题的目录下专门提到(例如:nche
4、ck命令会在文件系统维护里介绍)目录用户常用查找find命令用于搜索目录树,并对目录树上的所有文件执行某种操作,参数是目录名表(指出从哪些起点开始搜索),还可给出一个或多个选项,规定对每个文件执行什么操作。find / -print 将列出当前工作目录下的目录树的每一个文件。find / -user bob -print 将列出在系统中可找到的属于bob用户的所有文件。find /usr/bob -perm 666 -print 将列出/usr/bob目录树下所有存取许可为666的文件。若将666改为-666则将列出所有具有包含了666在内的存取许可方式的文件(如777)。find /usr/
5、bob -type b -print 将列出/usr/bob目录树下所有块特别文件(c为字符特别文件)。find / -user root -perm -4000 -exec ls -l ; 是一个较复杂的命令,-exec COMMAND;允许对所找到的每个文件运行指定的命令COMMAND。若COMMAND中含有 ,则 将由f i nd所找到的文件名替换。COMMAND必须以 ;结束。各选项可组合使用以达到更强的功能。远程登陆语法:rlogin 主机名-1 用户名例如:rlogin doc 远程登录到工作站doc 中。rlogin doc -l user 使用user 帐号登录到工作站doc
6、中。语法:telnet 主机名或telnet IP地址例如:telnet doctelnet 51更改密码语法: passwdOld password: New password: Retype new password: 检查自己所属的工作组名称语法:groups查看系统中的用户语法: who 或finger语法: who语法: finger 用户名或finger 用户名域名改变用户名语法: su 用户名例如:su user 进入用户user 的帐号。passwrod : 查看自己用户名语法: whoami 查看登录时的用户名。语法: whoami 查看当前的用户名。
7、若已执行过su命令,则显示出此用户的用户名。查看当前系统上所有工作站的用户语法: rusers按Ctrl+C 结束与某工作站上的用户交谈语法: talk 用户名主机名或talk 用户名 I P地址例如:1) 可先利用rusers 指令查看网络上的用户;2) 假设自己的帐号是u84987 ,在工作站indian 上使用,现在想要与doc 上的u84123 交谈。talk u84123doc此时屏幕上将会出现等待画面在对方( u84123 )屏幕上将会出现下列信息:Message from Talk_DaemonLocal_host_name at xx:xxtalk: connection re
8、quested by u84987indiantalk: respond with: talk u84987indian此时对方(u84123) 必须执行talk u84987indian 即可互相交谈。最后可按Ctrl + C结束。显示文档帮助语法: man 命令例如:man ls语法:howto 主题例如:howto man目录-文件或目录处理列出文件或目录下的文件名。语法: ls -atFlgR namename :文件名或目录名。例如:ls 列出目前目录下的文件名。ls -a 列出包括以开始的隐藏文件的所有文件名。ls -t 依照文件最后修改时间的顺序列出文件名。ls -F 列出当前目
9、录下的文件名及其类型。以/ 结尾表示为目录名,以* 结尾表示为可执行文件,以 结尾表示为符号连接。ls -l 列出目录下所有文件的权限、所有者、文件大小、修改时间及名称。ls -lg 同上,并显示出文件的所有者工作组名。ls -R 显示出目录下以及其所有子目录的文件名。改变当前工作目录语法:cd namename:目录名、路径或目录缩写。例如:cd 改变目录位置至用户登录时的工作目录。cd dir1 改变目录位置至d i r 1目录下。cd user 改变目录位置至用户的工作目录。cd . 改变目录位置至当前目录的父目录。cd ./user 改变目录位置至相对路径user 的目录下。cd /.
10、/. 改变目录位置至绝对路径的目录位置下。cd 改变目录位置至用户登录时的工作目录。复制文件或目录语法: cp -r 源地址目的地址例如:cp file1 file2 将文件file1 复制成file2。cp file1 dir1 将文件file1 复制到目录dir1 下,文件名仍为file1。cp /tmp/file1 . 将目录/tmp 下的文件file1 复制到当前目录下,文件名仍为file1。cp /tmp/file1 file2 将目录/tmp 下的文件file1 复制到当前目录下,文件名为file2。cp -r dir1 dir2 复制整个目录。移动文件目录或修改名称语法: mv
11、源地址目的地址例如:mv file1 file2 将文件file1更名为file2。mv file1 dir1 将文件file1移到目录dir1 下,文件名仍为file1。mv dir1 dir2 将目录dir1 更改为目录dir2。建立新的目录语法: mkdir 目录名例如:mkdir dir1 建立一新目录dir1。删除目录语法: rmdir 目录名或rm 目录名例如:rmdir dir1 删除目录dir1,但dir1 下必须没有文件存在,否则无法删除。rm -r dir1 删除目录dir1及其子目录下所有文件。删除文件语法: rm 文件名例如:rm file1 删除文件名为file1 的
12、文件。rm file? 删除文件名中有五个字符且前四个字符为file 的所有文件。rm f* 删除文件名中以f 为字首的所有文件。列出当前所在的目录位置语法: pwd查看文件内容语法: cat 文件名例如:cat file1 以连续显示方式,查看文件名file1 的内容。分页查看文件内容语法: more 文件名或cat 文件名| more例如:more file1 以分页方式查看文件名file1 的内容。cat file1 | more 以分页方式查看文件名file1 的内容。查看目录所占磁盘容量语法: du -s 目录例如:du dir1 显示目录dir1 的总容量及其子目录的容量(以KB
13、为单位)。du -s dir1 显示目录dir1 的总容量。文件的链接同一文件,可拥有一个以上的名称,也就是把一个文件进行链接。语法:ln 老文件名新文件名例如:ln file1 file2 将文件file2链接至文件file1。语法:ln -s 老文件名新文件名例如:ln -s file3 file4 将文件file4 链接至文件file3。目录-文件内容操作改变文件或目录的最后修改时间语法:touch namename:文件名或目录名。2.3.21 文件中字符串的查寻语法:grep string file例如:grep abc file1 寻找文件f i l e 1中包含字符串abc 所在
14、行的文本内容。查寻文件或命令的路径语法:whereis command 显示命令的路径。语法:which command 显示命令的路径,及使用者所定义的别名。语法:whatis command 显示命令功能的摘要。语法:find search-path -name filename -print 搜寻指定路径下某文件的路径。例如:find / -name file1 -print 自根目录下寻找文件file1 的路径。比较文件或目录的内容语法:diff -r name1 name2name1 name2:可同时为文件名或目录名。例如:diff file1 file2 比较文件file1 与f
15、ile2 内各行的不同之处。diff -r dir1 dir2 比较目录dir1 与dir2 内各文件的不同之处。文件打印输出用户可用.login 文件中的setenv PRINTER来设定打印机名。例如:setenv PRINTER sp 设定自sp 打印机打印资料。一般文件的打印语法:lpr -P打印机名 文件名例如:lpr file1 或lpr -Psp file1 自sp打印机打印文件file1。语法:enscript -P打印机名 文件名例如:enscript file3 或enscript -Psp file3 自sp打印机打印文件file3。troff 文件的打印语法:ptrof
16、f -P打印机名 -man-ms 文件名例如:ptroff -Psp -man /usr/man/man1/lpr1 以troff 格式,自sp 打印机打印lpr1 命令的使用说明。目录-文件传输1. 拷贝文件或目录至远程工作站语法: rcp -r 源地址主机名:目的地址源地址文件名、目录名或路径。主机名工作站名。目的地址路径名称。例如:rcp file1 doc:/home/user 将文件f i l e 1拷贝到工作站doc 路径/home/user 下。rcp -r dir1 doc:/home/user 将目录d i r 1拷贝到工作站doc 路径/home/user 下。2. 自远程
17、工作站,拷贝文件或目录语法: rcp -r 主机名:源地址目的地址主机名工作站名。源地址路径名。目的地址、文件名、目录名或路径。例如:rcp doc:/home/user/file1 file2 将工作站d o c路径/home/user 下的目录d i r 1,拷贝到当前工作站的目录下,目录名仍为d i r 1。rcp -r doc:/home/user/dir1 . 将工作站doc 路径/home/user 下的目录d i r 1,拷贝到当前工作站的目录下,目录名仍为d i r 1。3. 本地工作站与远程工作站之间的文件传输必须拥有远程工作站的帐号及密码,才可进行传输工作。语法: ftp
18、主机名或ftp ip地址例如:ftp doc 与远程工作站doc 之间进行文件传输。Name (doc:user-name): Password (doc:user-password): ftp help 列出ftp 文件传输时可使用的命令。ftp !ls 列出本地工作站当前目录下的所有文件名。ftp !pwd 列出本地工作站当前所在的目录位置。ftp ls 列出远程工作站当前目录下的所有文件名。ftp dir 列出远程工作站当前目录下的所有文件名。ftp dir . |more 分页列出远程工作站当前目录下的所有文件名。ftp pwd 列出远程工作站当前所在的目录位置。ftp cd dir1
19、 更改远程工作站的工作目录位置至dir1 之下。ftp get file1 将远程工作站的文件f i l e 1拷贝到本地工作站中。ftp put file2 将本地工作站的文件f i l e 2拷贝到远程工作站中。ftp mget *.c 将远程工作站中扩展文件名为c 的所有文件拷贝到本地工作站中。ftp mput *.txt 将本地工作站中扩展文件名为txt 的所有文件拷贝到远程工作站中。ftp prompt 切换交互式指令(使用mput/mget 时不是每个文件皆询问y e s / n o )。ftp quit 结束ftp 工作。ftp bye 结束ftp 工作。注意从PC与工作站间的文
20、件传输也可透过在PC端的FTP指令进行文件传输,指令用法与上述指令大致相同。目录-文件权限的设定改变文件或目录的读、写、执行权限语法:chmod -R mode namename:文件名或目录名。mode: 3个8位数字或rwx的组合。r-read (读),w-write (写),x-execute (执行),u-user (当前用户),g-group(组),o-other(其他用户)。例如:chmod 755 dir1 对于目录dir1,设定成任何使用者皆有读取及执行的权利,但只有所有者可做修改。chmod 700 file1 对于文件file1,设定只有所有者可以读、写和执行的权利。chm
21、od u+x file2 对于文件file2,增加当前用户可以执行的权利。chmod g+x file3 对于文件file3,增加工作组使用者可执行的权利。chmod o-r file4 对于文件file4,删除其他使用者可读取的权利。改变文件或目录的所有权语法:chown -R 用户名namename:文件名或目录名。例如:chown user file1 将文件file1 改为用户user 所有。chown -R user dir1 将目录dir1及其子目录下面的所有文件改为用户user 所有。改变文件或目录工作组所有权语法:chgrp -R 工作组名namename:文件名或目录名例如:
22、chgrp vlsi file1 将文件file1 的工作组所有权改为vlsi 工作组所有。chgrp -R image dir1 将目录dir1及其子目录下面的所有文件,改为image 工作组所有。目录-进程控制1查看系统中的进程语法:ps -aux例如:p s或ps -x 查看系统中,属于自己的进程。ps -au 查看系统中,所有用户的进程。ps -aux 查看系统中,包含系统内部的及所有用户的进程。2. 结束或终止进程语法:kill -9 PIDPID:利用ps 命令所查出的进程号。例如:kill 456或kill -9 456 终止进程号为456 的进程。3. 在后台执行进程的方式语法
23、:命令&例如:cc file1.c & 将编译file1.c 文件的工作置于后台执行。语法:按下Control+Z键,暂停正在执行的进程。键入bg命令,将暂停的进程置于后台继续执行。例如:cc file2.c ZStoppedbg4. 查看正在后台中执行的进程语法:jobs5. 结束或终止后台中的进程语法:kill %nn:利用jobs命令查看出的后台作业号例如:kill % 终止在后台中的第一个进程。kill %2 终止在后台中的第二个进程。目录-命令管道语法:命令1 | 命令2 将命令1的执行结果送到命令2,做为命令2的输入。例如:ls -Rl | more 以分页方式列出当前目录及其子目
24、录下所有文件的名称。cat file1 | more 以分页方式列出文件file1 的内容。目录-输入输出控制1. 标准输入的控制语法:命令 list 将执行“ls -l” 命令的结果写入文件list 中。语法:命令! 文件将命令的执行结果送至指定的文件中,若文件已经存在,则覆盖。例如:ls -lg ! list 将执行“ls - lg” 命令的结果覆盖写入文件list 中。语法:命令& 文件将命令执行时屏幕上所产生的任何信息写入指定的文件中。例如:cc file1.c & error 将编译file1.c 文件时所产生的任何信息写入文件error 中。语法:命令 文件将命令执行的结果附加到指
25、定的文件中。例如:ls - lag list 将执行“ls - lag” 命令的结果附加到文件list 中。语法:命令& 文件将命令执行时屏幕上所产生的任何信息附加到指定的文件中。例如:cc file2.c & error 将编译file2.c 文件时屏幕所产生的任何信息附加到文件error 中。目录-编辑目录-ViVi 输入模式要如何输入资料呢?有好几个指令可以进入输入模式:新增 (append)a 从游标所在位置後面开始新增资料,游标後的资料随新增资料向後移动。A 从游标所在列最後面的地方开始新增资料。插入 (insert)i 从游标所在位置前面开始插入资料,游标後的资料随新增资料向後移动
26、。I 从游标所在列的第一个非空白字元前面开始插入资料。开始 (open)o 在游标所在列下新增一列并进入输入模式。O 在游标所在列上方新增一列并进入输入模式。也许文字叙述看起来有点繁杂,但是只要实际操作一下马上可以了解这些操作方式。实务很重要,尤其是电脑方面的东西随时可以尝试及验证结果。极力建议实际去使用它而不要只是猛 文件,才有事半功倍的效用。(注:此段为废话。)Vi 基本编辑配合一般键盘上的功能键,像是方向键、Insert 、Delete 等等,现在你应该已经可以利用 vi 来处理文字资料了。当然 vi 还提供其他许许多多功能让文字的处理更形方便,有兴趣的看倌请继续。在继续下去之前先来点
27、BCC 吧。电脑有许多厂牌,不同的硬体及作业系统。PC 也不是仅仅只有 IBM PC 及其相容品而已。事实上,包括键盘,终端机等等往往都有不同的规格。这代表什麽?在文书编辑软体上会遇这样的问题,某些电脑的键盘上没有特定的几个功能键!那麽不就有某些功能不能用了?这个问题在 Unix系统上也一样,几乎各大电脑厂商都有自己的 Unix 系统,而 vi 的操作方法也会随之有点出入。我们固然可以用 PC 的键盘来说明 vi的操作,但是还是得提一下这个问题。删除与修改何谓编辑?在这里我们认为是文字的新增修改以及删除,甚至包括文字区块的搬移、复制等等。这里先介绍 vi 的如何做删除与修改。(注意:在 vi的
28、原始观念里,输入跟编辑是两码子事。编辑是在指令模式下操作的,先利用指令移动游标来定位要进行编辑的地方,然後才下指令做编辑。)x 删除游标所在字元。dd 删除游标所在的列。r 修改游标所在字元,r 後接著要修正的字元。R 进入取代状态,新增资料会覆盖原先资料,直到按 ESC 回到指令模式下为止。s 删除游标所在字元,并进入输入模式。S 删除游标所在的列,并进入输入模式。其实呢,在 PC 上根本没有这麽麻烦!输入跟编辑都可以在输入模式下完成。例如要删除字元,直接按 Delete不就得了。而插入状态与取代状态可以直接用 Insert切换,犯不著用什麽指令模式的编辑指令。不过就如前面所提到的,这些指令
29、几乎是每台终端机都能用,而不是仅仅在 PC 上。在指令模式下移动游标的基本指令是 h, j, k, l 。想来各位现在也应该能猜到只要直接用 PC 的方向键就可以了,而且无论在指令模式或输入模式下都可以。多容易不是。当然 PC 键盘也有不足之处。有个很好用的指令 u 可以恢复被删除的资料,而 U 指令则可以恢复游标所在列的所有改变。这与某些电脑上的 Undo 按键功能相同。Vi 进阶应用相信现在对於 vi 应该已经有相当的认识。处理文字也不会有什麽麻烦才对。如果有兴趣善用 vi 的其它功能进一步简化操作过程,不妨继续看下去。移动游标由於许多编辑工作是藉由游标来定位,所以 vi 提供许多移动游标
30、的方式,这个我们列几张简表来说明(这些当然是指令模式下的指令):指令 说明 功能键 0 移动到游标所在列的最前面 Home $ 移动到游标所在列的最後面 End CTRLd向下半页 CTRLf向下一页 PageDownCTRLu向上半页 CTRLb向上一页 PageUp 指令说明 H 移动到视窗的第一列 M 移动到视窗的中间列 L 移动到视窗的最後列 b 移动到下个字的第一个字母 w 移动到上个字的第一个字母 e 移动到下个字的最後一个字母 移动到游标所在列的第一个非空白字元指令说明 n- 减号移动到上一列的第一个非空白字元 前面加上数字可以指定移动到以上 n 列 n+ 加号移动到下一列的第一
31、个非空白字元 前面加上数字可以指定移动到以下 n 列 nG 直接用数字 n 加上大写 G 移动到第 n 列指令 说明 fx 往右移动到 x 字元上 Fx 往左移动到 x 字元上 tx 往右移动到 x 字元前 Tx 往左移动到 x 字元前 ; 配合 f&t 使用,重复一次 , 配合 f&t 使用,反方向重复一次/string 往右移动到有 string 的地方 ?string 往左移动到有 string 的地方 n 配合 /&? 使用,重复一次 N 配合 /&? 使用,反方向重复一次指令 说明 备注 n( 左括号移动到句子的最前面 句子是以 前面加上数字可以指定往前移动 n 个句子 ! . ?
32、三种符号来界定n) 右括号移动到下个句子的最前面 前面加上数字可以指定往後移动 n 个句子 n 左括弧移动到段落的最前面 段落是以 前面加上数字可以指定往前移动 n 个段落 段落间的空白列界定 n 右括弧移动到下个段落的最前面 前面加上数字可以指定往後移动 n 个段落 不要尝试背诵这些指令,否则後果自行负责。它们看起来又多又杂乱,事实上这是文字叙述本身的障碍。再强调一次,实际去使用它只要几次就可以不经大脑直接下达这些奇奇怪怪的指令,远比死记活背搞得模模糊糊强多了。(注:若真的不经大脑而误删资料与我无关。另,此段为废话。)进阶编辑指令这些编辑指令非常有弹性,基本上可以说是由指令与范围所构成。例如
33、 dw 是由删除指令 d 与范围 w 所组成,代表删除一个字 d(elete) w(ord) 。指令列表如下:d 删除(delete)y 复制(yank)p 放置(put)c 修改(change)范围可以是下列几个:e 游标所在位置到该字的最後一个字母w 游标所在位置到下个字的第一个字母b 游标所在位置到上个字的第一个字母$ 游标所在位置到该列的最後一个字母0 游标所在位置到该列的第一个字母) 游标所在位置到下个句子的第一个字母( 游标所在位置到该句子的第一个字母 游标所在位置到该段落的最後一个字母 游标所在位置到该段落的第一个字母说实在的,组合这些指令来编辑文件有一点点艺术气息。不管怎麽样,
34、它们提供更多编辑文字的能力。值得注意的一点是删除与复制都会将指定范围的内容放到暂存区里,然後就可以用指令 p 贴到其它地方去,这是 vi 用来处理区段拷贝与搬移的办法。某些 vi 版本,例如 linux 所用的 elvis可以大幅简化这一坨指令。如果稍微观察一下这些编辑指令就会发现问题其实是定范围的方式有点杂,实际上只有四个指令罢了。指令 v 非常好用,只要按下 v键,游标所在的位置就会反白,然後就可以移动游标来设定范围,接著再直接下指令进行编辑即可。对於整列操作, vi 另外提供了更方便的编辑指令。前面曾经提到过删除整列文字的指令 dd 就是其中一个;cc 可以修改整列文字;而 yy 则是复
35、制整列文字;指令 D 则可以删除游标到该列结束为止所有的文字。档案指令档案指令多以 : 开头,跟编辑指令有点区别。例如前面提到结束编辑的指令就是 :q。现在就简单说明一下作为本篇故事的结尾::q 结束编辑(quit)如果不想存档而要放弃编辑过的档案则用 :q! 强制离开。:w 存档(write)其後可加所要存档的档名。可以将档案指令合在一起,例如 :wq 即存档後离开。zz 功能与 :wq 相同。另外值得一提的是 vi 的部份存档功能。可以用 :n,mw filename 将第 n 列到第 m 列的文字存放的所指定的 filename 里去哩。时代在变,世界在变, vi 也在变,不过大致上就这
36、样。好了,但愿从此以後王子跟公主过著幸福快乐的生活。目录-EmacsEmacs 启动:直接打emacs, 如果有X-windows就会开视窗. 如果不想用X 的版本,就用 emacs -nw (No windows)起动.符号说明C-X 表示按住CTRL键, 然後按X, 再把CTRL, X一起放开.M-X META META在没有META键的电脑上, M-X 等於先按 ESC键, 接著按 X键.Sun上面META键就是菱形的那个键.有些系统META键就是ALT键.(或者某一边的ALT键)C-X或 M-X的X没有大小写分别.Emacs按键命令基本上是一串C-和M-组成的.超过两个以上的按键命令,
37、 Emacs会在萤幕最下面一行显示你按过什麽.这一行叫作mini buffer结束Emacs按 C-x C-c取消执行 C-g有些Emacs命令会跑很久, 可以用C-g中断之. 按错键也可以按C-g取消.上下移动 C-p 向上 (previous line) C-n向下(next line)左右移动 C-f 向右 (forward) C-b 向左 (backward)其实Emacs内部没有行的概念, 把一篇文章放在一个大buffer里面, 所以C-f (forward)就是向档尾移动, C-b (backward)是移回去的意思, 一次一个字.翻页 下一页 C-v (view next scr
38、een)上一页 M-v翻页时,上一 末尾会留一点在萤幕最上面,以维持连续性.Emacs在游标接近萤幕最下方时会自动跳半页, 把档案往前挪一点,方便阅读.重画萤幕 C-LEmacs里面游标的专有名词叫point. point = 游标目前的 点游标一次跳一个字(word) M-f 往後跳 M-b注意 C-f 与 M-f, C-b 与 M-b的对称性.移到行头 C-a 行尾 C-e移到句首 M-a 到句尾 M-e(M-a 到上一个句点後面,一个句子的起头.M-e 到句点後面)移到档头 M-删除游标目前指的/後面的字 C-d前面的字 DEL (Delete键)DEL的正名叫Rubout (Rub o
39、ut)M-DEL 往回删一个字(word)M-d 往前删 (游标後面)C-k 删至行尾 (kill)M-k 删到一句子结尾(删到句点) (kill)注意Backspace = C-h 在Emacs下是help的意思後面有(kill)的, 表示此删除的动作是kill, 不太等於delete.emacs会把kill掉的东西放到kill ring去, 算是一种暂存的地方,以後可以叫出来.见 yank说明.Undo: C-x uC-_ 等於 C-x u 有些DEC终端机, C-/就是C-_有时等於C-Shift- -重复执行举例, 向右移 8个字, C-u 8 C-fC-u 在Emacs里是蛮特别的,
40、用来设定一些引数(argument/repeat count)给其後的命令.C-u 2 0 C-n 向下移 20行有一个特别的例外, C-u 3 C-v 不是翻三页, 而是整个萤幕向上移三行.据说这比较有意义.C-u 1 0 C-x u UNDO 10次给C-L一个引数会怎麽样:C-u 0 C-l 会重画萤幕,并且把目前的行移到萤幕第一行.另外, C-u 100 等於 M-100C-u 数字 等於 M-数字X windows 下,C-left C-right 一次移一个字(word).C-up C-down 移动一段 (paragraphs/C语言的话是block)Home = C-aEnd
41、= C-eC-Home = M-PgUp PgDn = M-v C-v设定重覆次数更加简单,比如要向右移10个字 C-1 C-0 right-arrow就是按住CTRL, 然後打10就对了, 比 C-u 1 0 简单.Mouse中键用来选取有hi-light的地方.右键是menu-button如果不小心按两次ESC, 等於 M-ESC, 会有一个讯息跑出来说你按到一个被disable的命令. 这是高级指令, 作者认为初学者用不道,所以会问你要不要启动它, 一般回答no.如果某一行太长, 萤幕显示不下, Emacs会在萤幕最右边打个$,表示此行未完,右边还有.把一行拆成两行: 在想拆处按Ente
42、r即可.合并两行为一行: 在行尾按C-d (或行首按DEL)Yank: 吐出被删掉的(killed)东西.只要用kill (C-k, M-k等) 删除, 超过一个字的资料,emacs就会把它存起来, 然後C-y 可以把它叫出来.功能跟Cut & Paste一样. Kill 和delete不一样, 只有被kill掉的东西才能用yank吐回来.游标在同一地方不动, 连续kill掉的资料会被当成一次kill掉的,yank时会一起回来.被Kill掉的资料是放在称作 kill ring的资料结构上面, ring就是个圆圈,被kill掉的东西会依序摆在圆圈上. yank 会放回最近一次kill掉的资料.如
43、果不是你想要的话, 用M-y 可以换. (M-y就是告诉emacs, 不对不对,我不是要这一个,换前一个给我).M-y 要紧接在C-y之後.拷贝文字的方法= 连续 C-k 几次, 把要拷贝的行全部删掉,然後按 C-y 弄回来. 再到想复制的地方按一次C-y, 就成了.把要拷贝的资料kill掉在yank回来好像很笨. 是有比较文明的方法, 那就是M-w, 不过较麻烦.首先,要先设标记. Mark 用 C-SPC 或 C- 设. 然候把游标移到另一端, 按 M-w 就可以把 mark 到 point间的字存到kill ring上. point 就是游标的意思.Emacs不会把Mark起来的地方用h
44、ighlight表示, 除非在X下.在X下, 可以用M-w 来拷贝用滑鼠反白的文字.kill & yank 就是 cut & paste的意思.以上大部份指令对Bash的命令列编辑也有效档案操作读档: Emacs术语叫 finding a file.C-x C-f 然後在mini-buffer输入档名. 输入档名时, SPC键有auto-complete的功能,或者会秀出到目前为止档名前几个字和输入一样的. (TAB键也有类似功能)C-x C-f 叫 find-fileC-x C-s 存档 (save current file, save current buffer)C-x s 存所有的档C
45、-x i 插入档案 把另外的档案的内容读入目前编辑区内视窗Emacs把档案读进来,存在buffer中.我们透过window来看/编辑buffer.两个视窗会把萤幕切成两部份, 他们可以同时显示相同的, 或不同的档案.对初学者而言, 最需要的是记住怎样让不想要的视窗消失:C-x 0 关掉目前的视窗C-x 1 会让目前的视窗占满整个萤幕 (One Window),取消/关掉其他的视窗.Emacs里面有许多功能都会开一个小视窗来和使用者沟通, 显示讯息.有时候不会自动消失很讨厌, C-x 1 就很有用.另一个功能是如何跳到另一个视窗.C-x o (other-window)C-x 2 把目前的视窗切
46、成两个 (水平分割)C-x 3 (垂直分割)C-x 4 是一串与视窗有关的指令.C-x 4 是一串与视窗有关的指令.C-x 5 则是扩展到X的视窗, 称为frame.C-x 5 2 就是再开另一个X视窗 (frame).多档编辑C-x C-b 看目前有那些buffer (buffer就是emacs放开起的档案的地方).C-x b 然後在minibuffer输入buffer的名字,可以切换编辑buffer.TAB键也有作用. 有些内部的buffer (就是没有档案的buffer),是用*开头和结束, 这个也要打, 如*scratch*最候提醒:C-x 1 可以把多馀的视窗关掉.Emacs扩充指令
47、前面介绍的emacs按键大部份都是C- 或者 M-的形式.这是最简单的按法, 由一对按键构成一个指令.Emacs的按键可以超过2个以上. 如 C-x 1 或 C-x C-b.一般超过一个按键组合的命令都是用C-x 开头.另外你也可以直接下命令. 按 M-x 之後就可以打一个Emacs命令来执行. 一般这些命令名字都很长, 不过都不常用. 等一下我们会介绍一些. 还有介绍怎麽把这些命令设成按键指令.C-x C-c 就是结束Emacs. 不过一般Emacs很笨重, 一旦起动就不轻易退出. 所以比较常用的是C-zC-z 把Emacs暂停, 回到命令列. 当你下次再需要编辑时,打fg %emacs就可
48、以把Emacs唤醒.在X下, C-z会把emacs缩成iconmode lineemacs编辑画面由 编辑区(buffer) 状态列 (modeline) 和对话区 (minibuffer)构成. 这里解释 modeline 显示的讯息.以下是个范例:-*-XEmacs: xemacs.qs (Fundamental)-74%-由後面往前解释, 74% 表示游标的位置.(Fundamental)表示编辑模式.这是最原始的模式. 编辑不同种类的文章可能希望用不同的模式, 比如说C-mode, lisp-mode, tex-mode, text-mode等等. 在不同模式下可能多一些按键出来. 举例text-mode.M-x text-mode可以切入text-mode, 这是一般
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年销售业绩提升策略方案
- “7.3意识”条款应用专业指导清单(雷泽佳编制-2026A0)
- 供应商发言稿
- 石场安全管理制度讲解
- 休克患者给氧宣教
- 大学职业规划指南
- 企业消防安全防控体系
- 一年级下册找规律填数精讲|数字规律 模式发现
- 二年级道德与法治上册家庭礼仪课|尊老爱幼
- 五年级数学上册方程的意义课|等号
- 2026新教材人教版九年级上册英语暑假预习:Unit 1 The Changing World 词汇详解
- 护栏安装工程承揽协议
- 2026驾照科目一全新全攻略:新规解读、核心考点与零基础通关指南
- 、2026 广州中考历史 试卷
- 2026年云南省中考物理真题
- 2026年秋国家开放大学国开电大机考期末园艺植物栽培学总论试题及答案
- 水利水电工程单元工程施工质量检验表与验收表(SLT631.5-2025)
- 肺结核咯血患者的护理未来发展趋势
- 隧道检测安全管理课件
- 2026富海集团招聘面试题及答案
- 《关于加快建设现代化国有林场的意见》深度解读课件
评论
0/150
提交评论