管理员
|
阅读:2946回复:0
linux文件与目录的基本操作命令
楼主#
更多
发布于:2011-12-15 18:36
![](http://www.atcpu.com/themes/extres/ithread/images/8A.gif) | | ![](http://www.atcpu.com/themes/extres/ithread/images/8C.gif) | ![](http://www.atcpu.com/themes/extres/ithread/images/8.gif) | 1、Linux下的目录结构:/:根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中/bin:/usr/bin:可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。/boot:放置linux系统启动时用到的一些文件。/boot/vmlinuz为linux的内核文件,以及/boot/gurb。建议单独分区,分区大小100M即可/dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱mount /dev/cdrom /mnt。/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。注:/etc/X11存放与x windows有关的设置。/home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,~表示当前用户的家目录,~test表示用户test的家目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据/lib:/usr/lib:/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为/lib/modules。/lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下,通常这个目录会自动出现在装置目录下。如加载硬盘于/disk 中,此目录下就会自动产生目录/disk/lost+found/mnt:/media:光盘默认挂载点,通常光盘挂载于/mnt/cdrom下,也不一定,可以选择任意位置进行挂载。/opt:给主机额外安装软件所摆放的目录。如:FC4使用的Fedora 社群开发软件,如果想要自行安装新的KDE 桌面软件,可以将该软件安装在该目录下。以前的Linux 系统中,习惯放置在/usr/local 目录下/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等/root:系统管理员root的家目录,系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下。/sbin:/usr/sbin:/usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount等。与/bin不同的是,这几个目录是给系统管理员root使用的命令,一般用户只能"查看"而不能设置和使用。/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下/srv:服务启动之后需要访问的数据目录,如www服务需要访问的网页数据存放在/srv/www内/usr:应用程序存放目录,/usr/bin存放应用程序,/usr/share存放共享数据,/usr/lib存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local:存放软件升级包。/usr/share/doc:系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录,使用man ls时会查询/usr/share/man/man1/ls.1.gz的内容建议单独分区,设置较大的磁盘空间/var:放置系统执行过程中经常变化的文件,如随时更改的日志文件/var/log,/var/log/message:所有的登录文件存放目录,/var/spool/mail:邮件存放的目录,/var/run:程序或服务启动后,其PID存放在该目录下。建议单独分区,设置较大的磁盘空间 2、颜色在linux下的重要性: 蓝色:目录,绿色:可执行文件,天蓝色:符号文件,白色:普通文件,黄色:设备文件,红色:失效文件的链接,浅红:压缩文件或tarball文件,粉色:图片文件3、[zhy@localhost root]$[当前登陆用户名@机器名 当前目录]管理员 4、更改用户权限: 更改用户身份su命令1) 由普通用户更改为root$ su Password:不显示2) 由root更改为普通用户# su zhangsan不需要口令5、命令 1)、cd 更改的路径名 cd / 根目录 cd .. 上级目录 2)、ls 显示文件(目录)信息帮助信息:man ls ls --help (有中文)参数: -a 显示所有文件,包括以.开头的隐藏文件 -l以长格式显示文件或子目录的详细信息 -R 递归的显示指定目录中的各个子目录中的文件 -S 以文件大小排序 -s 给出每个目录项所用的块数 -t 以文件的修改时间的先后顺序排序 -d 如果参数是目录,只显示其名称而不显示其下的各文件,往往与1选项一起使用,已得到目录的详细信息 -m 横向显示目录下的文件,文件名之间以逗号分隔。 Ls –l 以长格式显示 自己的权限可读可写作者权限所属组权限其他人权限文件所有者 所属的组 文件类型 d表示目录 -表示文件 l表示连接R w x4 2 1-l:以长格式显示 - rwx rw- r-- 文件类型 作者权限 所属组权限 其他人权限 111 110 100 4+2+1=7 4+2=6 4 r:read 读取 4 w:write 写入 2 x: 可执行 1 3)、cd更改目录cd 文件目录 4)、 mkdir touch(创建文件) 语法: mkdir [参数] 目录名[目录名]目录加上绿色必须有x权限 能用cd命令 文件创建之后,没有x权限 参数:-m 指定权限:[root@localhost home]# mkdir dir2 -m 755 -p 创建多级目录,同时可创建它的子目录[root@localhost dir2]# mkdir -p d1 d2 d3 touch 如果touch 后面紧跟的文件名称存在 就会更新为当前的时间 否则生成一个新的文件(相当于新建一个空文件) [root@localhost dir2]# touch *将当前目录下的所有文件时间修该为当前系统时间。 [root@localhost dir2]# touch –d 200111118 test 将文件test的时间修改为20011年11月18日 权限掩码umask 022 设置掩码 在umask 后加上你要设置的 权限掩码422 目录真实权限=777-umask 755 文件真实权限=666-umask 644 5)、rmdir rm 语法: rmdir [参数] 目录名[目录名] rmdir 参数: -p 递归删除目录,当子目录删除后其父目录为空时,也一同被删除。 删除的必须是一个空目录 ,并且当前目录也不能为被删除的目录,或者是子目录,否则目录不能从系统中删除。 参数: rm 参数: -i询问用户是否删除,在进行删除。 -r 递归删除 Ctrl+c 停止删除 -f 强制删除 用rm删除目录时不能删除子目录,必须加上 -r 这个参数才可以 递归删除 ctrl+c 停止删除 强制删除目录 rm –f 对于连接文件,只是删除了连接,原有文件均保持不变。 6)、建立连接文件: ln命令 ln [-s] 源文件或目录 连接文件名 参数:-s 建立软连接(或符号连接) 7)、查看被起别名的命令:alias alias 命令名 8)、临时修改权限:Chmod 1) 使用字母方式U 表示user用户分为:加、减、等于u- (r w x)u+ (r w x)u=(r w x)[root@localhost root]# ls -l test.html-rw-r--r-- 1 root root 65 12月 9 08:30 test.html[root@localhost root]# chmod u-w test.html[root@localhost root]# ls -l test.html-r--r--r-- 1 root root 65 12月 9 08:30 test.html 2) 使用数字方式 chmod 权限 文件名dir11 dir4 etc file1 file2 shadow [root@localhost dir1]# chmod 644 file1[root@localhost dir1]# lsdir11 dir4 etc file1 file2 shadow 9)、文件或目录复制cp copy 语法: cp [参数] 源文件或目录 目标文件或目录参数:-f 如果目标文件或目录已经存在,不询问用户是否删除,直接删除在赋值 -i 如果目标文件或目录已经存在,询问用户是否删除,在进行复制。 -R 递归复制目录,即连同目录下的子目录和文件一起复制 -p 在复制时保持源文件的所有者、权限和时间标志。 *:通配符,在文件名中出现表示通配符 cp file1 file2 在同一个目录下表示将file1重命名为file2 Tab 补齐文件名 10)、mv 文件移动和重命名 语法: mv [参数] 源文件 目标文件 mv用于文件名的修改,或者是将文件或目录由一个目录移入另一个目录 如果移入一个目录则原来的文件名不会变,如果目标文件也是一个文件,则源文件会改为目标文件的名称 参数:-f 如果目标文件或目录已经存在,不询问用户是否覆盖,直接进行覆盖操作 -i 如果目标文件或目录已经存在,询问用户是否覆盖原文件或目录 [root@localhost user]# mv /tmp/a.txt . 将a.txt移动到当前目录下 [root@localhost user]# mv mydata myfile 11)、cat 显示文件内容 语法: cat [参数] 文件名[文件名] 将输出的内容显示等到屏幕上,如果有多个文件,则依次读取文件内容并显示,如果文件过长,会自动出现滚屏,按ctrl+s 停止滚屏, ctrl+q 回复滚屏。 参数: -n 显示输出行的行号。 -s 将相连的多个空行用单一空行代替。 -e 在每行末尾显示$符号。 12)、显示文本时用到的命令:more less wc head tail (1)more语法: more[参数] 文件名 ----分页显示more 文件名称 回车显示下一行 空格显示下一页 不能回滚 只能向下移动 (2)less语法: less[参数] 文件名 -分页显示more 文件名称 回车显示下一行 空格显示下一页 能回滚 (3)wc 统计-c或--bytes或--chars 只显示Bytes数。 -l或--lines 只显示行数。 -w或--words 只显示字数。每一个空格算一个 例题: [root@localhost user]# wc 3.txt /home/user/a.php统计3.txt a.php 文件中分别出现的行数、单词数、字符数,以及总的结果数3 4 65 3.txt4 2 57 a.php7 6 122 总用量 (4)head 显示头几行 Head -10 文件名 语法: head[参数] 文件名列表(5)tail 显示后几行 Tail -10 文件名语法: tail[参数] 文件名列表 [root@localhost user]# hear -10 | tail -1 a.php显示a文件第十行hear -10 | tail -1 13)、find查找find 可以指定查找条件如名称,类型,时间,文件大小,权限和所有者查找,针对多个条件进行与或非的逻辑运算。我们可以控制find的查找的行为,还可以和其他命令组合使用。 findfind .find . -print三者等效, 查找当前目录下所有的文件和目录(递归子目录),以每行一个文件或者目录的形式列举出,不包含隐藏文件 find lib opt bin同上,查找指定的多个目录(lib/opt/bin) (1) 指定查找条件 1) 按名称查找 find . -name readme.txt查找当前目录下(递归子目录)的所有名为readme.txt的文件 find . -name *.txtfind . -name "*.txt"查找当前目录下(递归子目录)的所有名称以.txt结尾的文件,注意*号的写法,需要前面加或者放到双引号中 find . -iname *.txt默认find是区分大小写的,如果不想区分大小写,请使用-iname替代-name,如上则"abc.TXT"将被查找到 2) 按类型查找 find . -type d查找当前目录下(递归子目录)的所有目录 find . -type f查找当前目录下(递归子目录)的所有文件 find . -type l查找当前目录下(递归子目录)的所有符号链接 3) 按时间查找 1. 以小时为单位的时间find 命令三个选项用于按照时间查找,单位都是小时: mtime — 文件内容上次修改时间atime — 文件被读取或访问的时间ctime — 文件状态变化时间 这三个选项都需要配置一个n值使用,可以是-n / n / +n:-n 小于nn 正好与n 相等+n 大于n find . -mtime -1查找当前目录下(递归子目录)的所有1小时内修改的文件和目录find . -mtime +1查找当前目录下(递归子目录)的所有修改时间超过1小时的文件和目录find . -mtime 1查找当前目录下(递归子目录)的所有恰好在1小时前修改的文件和目录 2. 以分钟为单位的时间用法和*time类似,mmin、amin和cmin 的不同在于单位时间是分钟,用于查找在不到1小时的时间内变化了的文件和目录 find . -mmin -10查找当前目录下(递归子目录)的所有10分钟内修改的文件和目录 find . -mmin +20查找当前目录下(递归子目录)的所有20分钟外1小时内修改的文件和目录 3. 与特定的文件比较-newer,-anewer和-cnewer选项用于查找与特定的文件比较的已修改或访问过的文件,类似mtime,atime和ctime-newer 指内容最近被修改的文件-anewer 指最近被读取过的文件-cnewer 指状态最近发生变化的文件 find . -newer a.txt查找当前目录下(递归子目录)的所有修改时间在a.txt之后(所以文件更新)的文件和目录 4) 按文件大小查找 1. -size 选项用于查找满足指定的大小条件的文件(注意不查找目录), +表示大于, -表示小于, 没有+1表示正好等于。文件大小的单位可以是字节(用c表示), kb(用k表示)。 find . -size -100c查找当前目录下(递归子目录)的所有文件大小小于100字节的文件 find . -size +100k查找当前目录下(递归子目录)的所有文件大小大于100k的文件 find . -size 0查找当前目录下(递归子目录)的所有文件大小为0的文件 2. -empty 查找空文件和空文件夹, 和-size 0不同的在于-size 0 只查找空文件,或者说-empty -type f 等同于-size 0 : find . -empty查找当前目录下(递归子目录)的所有文件大小为0的文件和空文件夹 find . -empty -type f查找当前目录下(递归子目录)的所有文件大小为0的文件 find . -empty -type d查找当前目录下(递归子目录)的所有空目录 5) 按权限和所有者查找 find . -perm 777查找当前目录下(递归子目录)的所有权限为777的文件和目录 find . -perm -u=rwx查找当前目录下(递归子目录)的所有user权限为rwx的文件和目录 find . -perm -ug=x查找当前目录下(递归子目录)的所有user和group权限为x的文件和目录 find . -user sky查找当前目录下(递归子目录)的所有user为sky的文件和目录 find . -group users查找当前目录下(递归子目录)的所有group为users的文件和目录 (2) 查找条件的逻辑运算 1. 逻辑与find . -name "*.java" -size -mmin -10find . -name "*.java" -a -size -mmin -10查找当前目录下(递归子目录)的所有名为*.java并且修改时间在10分钟之内的文件,-a是默认选项 2. 逻辑或find . -name "*.class" -o -name "*.jar"查找当前目录下(递归子目录)的所有名为*.class或者*.jar的文件和目录 3. 逻辑非 find . ! -user sky查找当前目录下(递归子目录)的所有user不是sky的文件和目录 (3) 控制查找的行为 find . -maxdepth 3 -name "*.txt"查找当前目录下(递归子目录)的所有名为*.txt的文件,目录深度不超过3层 find . -maxdepth 1 -name "*.txt"查找当前目录下(不递归子目录,因为maxdepth为1)的所有名为*.txt的文件 find . -mindepth 3 -name "*.txt"查找当前目录下(递归子目录)的所有名为*.txt的文件,目录深度不低于3层 find . -mindepth 1 -name "*.txt"查找当前目录下的子目录中(递归子目录)的所有名为*.txt的文件,不包含当前目录 find . -depth -name "*.txt"查找当前目录下(递归子目录)的所有名为*.txt的文件,每个目录都是先在目录中进行查找,然后才继续查找其子目录 (4) find和其他命令的组合 find . -name "*.jar" -exec ls -l {} ;find . -name "*.jar" -ls查找当前目录下(递归子目录)的所有*.jar文件并使用ls -l列出详细信息 find . -name "*.java" -exec grep HashMap {} ;查找当前目录下(递归子目录)的所有的含有"HashMap"字样的*.java文件 find . -name "*.sh" -exec mv {} backup ;查找当前目录下(递归子目录)的所有的*.sh文件并移动到backup目录中 14)、locate 查找 [root@localhost user]# Locate file1 Locate: 在文件名数据库中查找文件和目录,速度比find命令快(不存在库就会查不到) 需要注意的是 如果用locate查找必须先执行它Updatedb,保证查找的准确性15)、grep 查找语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...] 参 数: -a或--text 不要忽略二进制的数据。 -A<显示列数>或--after-context=<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之后的内容。 -b或--byte-offset 在显示符合范本样式的那一列之前,标示出该列第一个字符的位编号。 -B<显示列数>或--before-context=<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之前的内容。 -c或--count 计算符合范本样式的列数。 -C<显示列数>或--context=<显示列数>或-<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之前后的内容。 -d<进行动作>或--directories=<进行动作> 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。 -e<范本样式>或--regexp=<范本样式> 指定字符串做为查找文件内容的范本样式。 -E或--extended-regexp 将范本样式为延伸的普通表示法来使用。 -f<范本文件>或--file=<范本文件> 指定范本文件,其内容含有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每列一个范本样式。 -F或--fixed-regexp 将范本样式视为固定字符串的列表。 -G或--basic-regexp 将范本样式视为普通的表示法来使用。 -h或--no-filename 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。 -H或--with-filename 在显示符合范本样式的那一列之前,表示该列所属的文件名称。 -i或--ignore-case 忽略字符大小写的差别。 -l或--file-with-matches 列出文件内容符合指定的范本样式的文件名称。 -L或--files-without-match 列出文件内容不符合指定的范本样式的文件名称。 -n或--line-number 在显示符合范本样式的那一列之前,标示出该列的列数编号。 -q或--quiet或--silent 不显示任何信息。 -r或--recursive 此参数的效果和指定“-d recurse”参数相同。 -s或--no-messages 不显示错误信息。 -v或--revert-match 反转查找。 -V或--version 显示版本信息。 -w或--word-regexp 只显示全字符合的列。 -x或--line-regexp 只显示全列符合的列。 -y 此参数的效果和指定“-i”参数相同。 --help 在线帮助。 使用如果预料到有许多输出,您可以通过 管道将其转到‘less’上阅读:feedom.net$ grep magic /usr/src/linux/Documentation/* | less这样,您就可以更方便地阅读。有一点要注意,您必需提供一个文件过滤方式(搜索全部文件的话用*)。如果您忘了,‘grep’会一直等着,直到该程序被中断。如果您遇到了这样的情况,按<CTRL c> ,然后再试。下面是一些有意思的命令行参数:· grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,· grep -l pattern files :只列出匹配的文件名,· grep -L pattern files :列出不匹配的文件名,· grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),· grep -C number pattern files :匹配的上下文分别显示[number]行,· grep pattern1 | pattern2 files :显示匹配pattern1 或pattern2 的行,· grep pattern1 files | grep pattern2 :显示既匹配pattern1 又匹配pattern2 的行。这里还有些用于搜索的特殊符号:· < 和> 分别标注单词的开始与结尾。例如:o grep man * 会匹配 ‘Batman’、‘manic’、‘man’等,o grep '<man' * 匹配‘manic’和‘man’,但不是‘Batman’,o grep '<man>' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。· '^':指匹配的字符串在行首,· '$':指匹配的字符串在行尾,· 如果您不习惯命令行参数,可以试试图形界面的‘grep’,如reXgrep 。这个软件提供AND、OR、NOT 等语法,还有漂亮的按钮:-) 。如果您只是需要更清楚的输出,不妨试试fungrep 。 .grep 搜索字符串命令格式:grep string filename寻找字串的方法很多,比如说我想找所有以M开头的行.此时必须引进pattern的观念.以下是一些简单的□例,以及说明:^M 以M开头的行,^表示开始的意思M$ 以M结尾的行,$表示结束的意思^[0-9] 以数字开始的行,[]内可列举字母^[124ab] 以1,2,4,a,或b开头的行 * 星号表示0个以上的字母(可以没有)+ 加号表示1个以上的字母/ 斜线可以去掉特殊意义 16)、重定向和管道符号(|)> 覆盖 >>追加 cat (读取文件)>定向 把要输出到屏幕的内容保存下来,定向到一个指定的文件中 ,发生覆盖 ls > file1 将显示的内容写入file1里Cat file1 > file3 读取file1到file3里 cat file1 显示内容 >>重定向 到另一个地方 不会发生覆盖,会在尾部追加。 Cat file2 >> file3 将file2里德内容追加到file3中Cat file3 17)、Tar 命令(归档、备份(也可压缩))Tar 压缩文件 相当于归档(不完全是压缩)有*.tar.zp压缩文件 *.Z *.c *.gz *.Zip等 参数-c create创建归档文件-t list显示归档文件的内容-x 恢复(显示)归档文件-C 保存归档文件到外部的存储设备-f file 指定归档文件的名称-F force-v berbose 显示执行过程中的详细信息-z 压缩 1、创建归档文件(备份) 整合需要的文件和文件夹(不等于压缩) Tar –cvf /etc 自定义的归档文件名称.tar 需要归档的文件或文件夹名称(多个之间用空格分开)2、查看归档文件内容(多个归档文件共存) 当passwd huo shadow 被损坏时[root@bogon home]# tar -tvf user.tar(归档文件名)3、释放归档文件(需要还原系统) 从外部设备拷贝到系统mnt挂载点 释放归档文件 Tar -xvf (归档文件名) 18)、压缩:zip unzip 语法:zip[参数] 压缩文件名 被压缩的文件或目录 参数: -D 不在zip文件中存储文件的目录信息 -g 将文件压缩后添加到zip文件中 -m 将特定文件移入zip文件中,并且删除特定文件 -r 递归压缩 [root@bogon home]# zip test.zip test/* 将test目录下的所有文件压缩为test.zip 解压:unzip [参数] (指定要被解压的文件名) -d 将解压后的文件存放到指定的文件夹下。 -v 查看压缩文件目录,但不解压。 -n 不覆盖已经存在的文件 -o 覆盖已经存在的文件,但是不需要用户确认 -j 不重建文档的目录结构,把所有文件解压到同一目录下。 19)、gzip gunzip Linux系统中常见的压缩和解压缩的命令,文件名以“.Gz“为后缀。压缩后,默认情况下源文件被压缩后的文件所取代。 语法:gzip[参数] 压缩 (解压缩) 的文件 参数: -c 将输出写到标准输出上,并保留源文件。 -d 将压缩文件解压 -l 对每个压缩文件,显示压缩文件的大小,未压缩文件的大小,压缩比等信息。 -v 对每一个压缩和解压的文件,显示文件名和压缩比。 -r 递归式的查找指定目录并压缩其中的所有文件或者是解压缩。 [root@bogon home]# gzip -v ls.txt [root@bogon home]# gzip -dv ls.txt.gz 解压 -d [root@bogon home]# gunzip ls.txt.gz 解压 gunzip 20)、vi编辑器1、用vi打开一个已经编辑过的文件 vi test.html内容为:qqqqqqq现在:(注意:必须是已经编辑完的文件并且都要在命令状态下(ESC))Esc退出按键: 小写a 此时输出的内容在光标所处地之后输出 小写i 此时输出的内容在光标所处地之前输出小写o 此时输出的内容在光标所处的行之后另起一行输出 大写a 此时输出的内容在光标所处的行尾输出 大写i 此时输出的内容在光标所处的行首输出大写o 此时输出的内容在光标所处的行之前另起一行输出 2、ESC命令后 由编辑状态到命令状态退出 :q 保存退出:shift+Z+Z 强制保存退出:wq! 3、加上行号set nu(number) 加行号 取消行号set nonu 4、Ctrl+d 强制结束输入Ctrl+ZCtrl+C强制结束执行 5、合并两个文件的内容File1 aaaaaaaFile2 bbbbbbb现在将file1的内容读入到file2中首先打开file1 在命令状态下(ESC或者进来什么都没有操作的情况下)Shift+:read file2 -> enter 这时就会把file2中的内容复制到光标所在地6、执行外部命令::r ! 命令 命令状态下: :r !date :r !ls –l 同样会把应当显示到屏幕上的内容保存到该文件中 7、gg 文件第一行 Shift+g 文件尾行 H 当前页第一行(header) L 当前页尾行 (lower) M 当前页中间行(middle):set ic 不区分大小写的查找 按照行号查找:先要设置行号:set nu:行号 (12) 8、替换 s 1):s/要替换的内容/替换成什么/2):s/要替换的内容/替换成什么/g g表示替换当前行中的所有出现的要替换的内容 3) 多行替换: :2,34s/要替换的内容/替换成什么/ [g] 10、复制yy yy前无数字表示复制一行 像这样:3yy复制3行(复制包括当前光标在向下数3-1行) 粘贴 p u撤销 d删除11、 删除 X 按照字符删除 x nx dd 按照段落删除 ndd 多段删除 r 替换一次(光标上的那个) abcdefg R 替换多次abcdefg 12、在文件里写命令# 表示注释,但是在#! bin/bash这条语句中不是,他代表要用那种shell 在这里可以写任意的命令不过要把它的权限设置为可执行文件用到的时候就去执行这个文件,他会把里面的命令全部执行,比如可以做一个定时执行的东西注意:只有在该文件为绿色的时候才能被执行,修改它的权限的方法是chmod 数字权限 文件名 21)、清屏 Clear
| | ![](http://www.atcpu.com/themes/extres/ithread/images/8G.gif) | | ![](http://www.atcpu.com/themes/extres/ithread/images/8I.gif) |
|