基本shell命令

 基本命令简介本节主要讲解Linux下基本命令的使用,由于篇幅的关系,无法列出所有 Linux命令的 使用说明。读者在使用没有列出的命令时,可以使用“-- help”参数查询该 命令所附的在线 帮助,或者利用man来查询更详细的使用说明。 at at, batch, atq, atrm:安排,检查,删除队列中的工作。 at [-V] [-q 队列] [-f 文件名] [-mldbv] 时间 at -c 作业 [作业...] atq [-V] [-q 队列] [-v] atrm [-V] 作业 [作业...] batch [-V] [-q 队列] [-f 文件名] [-mv] [时间] at 在设定的时间执行作业。 atq 列出用户排在队列中的作业,如果是超级用户,则列出队列中的所 有工作。 atrm 删除队列中的作业。 batch 用低优先级运行作业,只要系统的loadavg(系统平均负载) <1.5(或者在atrun中 设 定的值)它就开始执行作业。 超级用户可以在任何情况下使用at系列的命令。一般用户使用at系列命 令的权利由文件 /etc/at.allow,/etc/at.deny控制。如果/etc/at.allow存在,则 只有列在这个文件中的用户才能 使 用at系列的命令。如果/etc/at.allow文件不存在,则检查文件/et c/at.deny这个文件。只要 不列 在这个文件中的用户都可以使用at系列的命令。缺省的配置是 /etc/at.deny为一个空文 件,这表明所有的用户都可以使用at系列的命令。 范例 at -f work 4pm + 3 days 在三天后下午4点执行文件work中的作业。 at -f work 10am Jul 31 在七月31日上午10点执行文件work中的作业。 bash bash - GNU Bourne-Again SHell 自由软件基金会(Free Software Foundation Inc)拥有 bash版权。 bash是Linux下的许多命令解释 器中的一个,同sh兼容,并且包含了ksh和csh中一些有 用的特性。遵从IEEE Posix Shell and Tools specification (IEEE Working Group 1003.2)。 cat cat - 连接文件并打印到标准输出。 cat是CATenate的缩写,常常用来显示文件,类似于DOS下的TYPE命令。 范例 [tlc@pht /]# cat -b -E .lessrc 显示文件.lessrc的内容 1 back-line $$ 3 forw-scroll$ 4 back-scroll $ 5 goto-line$ 6 goto-end$ [tlc@pht /]# cat myfile1 myfile2 >tmp 将文件myfile1, myfile2 连结起来输出到文件tmp cd cd - 改变当前目录。 cd 目录名 如果不加目录名,则回到用户的根目录,此外用户必须拥有读该目 录的权限。进入另 外 一个用户的目录只要 cd ~用户名即可。 范例 pht:/tmp> cd id1 进入id1目录 pht:/tmp/id1> cd ~tlc 进入用户tlc的目录 pht:~tlc> chgrp chgrp - 改变文件的组。 组 : 要改变到的组可以是组号对应的数字;也可以是/etc/group 文件中的组名。 文件名 : 以空格分开的要改变组所有权的文件列表,支持通配符 。 如果用户不是该 文件的属主或超级用户,则不能改变该文件的组。 范例 [tlc@pht /]# chgrp -R book /opt/local/book/*.* 改变/opt/local/book/及其子目录下的所有文件的组为book。 chmod chmod -改变文件保护,文件保护控制用户对文件的访问权,有三个安 全级别:所有者 级别, 组访问级别,其他用户访问级别,在这三个级别中,又有三 种权限:读(r), 写(w), 执行(x)。(用户可以 ls -lg来观看某一文件的所属 的group)对于文件来说 读权限意味 着可以看文件的内容,写文件权可以修改或删除文件, 执行权限则可以执 行它(类似于DOS 下的EXE,COM,BAT文件)。对于目录来说, 读权限意味着可以查 看目录下的内容, 写权限意味着能在目录下建立新文件,并可以从目 录中删除文件, 执行权限意味着可以从 一个目录转变到另一个目录。 保护权限 : 格式为[ugoa...][[+-=][rwxXstugo...]...][,...] ugoa”控制哪些用户对该文件的权限 将被改变:(u)文件的所有者,(g)与 文件所有者同组的用户 ╫)其他组的用户 (a)所有用户,操作符 “+”使得用户选择 的权限被追加到每个目标 文件。操作符 “-”使得这些权限被撤销。 “=”使得目标文件 只具有这些权限。 “rwxXstugo”选择 新的属性。(r)读权限 (w)写权限(x)执 行权(或对目录的访 问权)(X)只有目 标文件对某些用户是可执行的或该目标文件是目 录时才追加x属性 ╯)同时设定用户 或组ID (t) 保存程序的文本到交换设备上(u) 目标文件属 主(g)目标文件属主所在 的组(o)其他用户。如果用数字来表示属性,则 (0)没有权限, 1)执行权, (2)读权,(4)写权,然后将其相加,所以数字属 性的格式应为 3个从0到7的八进制 数其顺序是(u)(g)(o)。 文件名 : 以空格分开的要改变权限的文件列表,支持通配符。 范例 pht~>chmod a+x destfile 使所有用户对文件destfile有读写执行权。 pht~>chmod 644 destfile 使所有用户可以读文件destfile只有属 主才能 改变。 chown chown - 改变文件的属主和组。 用户: 可以是用户名或用户id。 组: 可以是组名或组的id。 文件名 : 以空格分开的要改变权限的文件列表,支持通配符。 范例 pht~>chown tlc:book destfile 将文件destfile的属主改成tlc组改 成book。 chsh 改变用户登录的shell。 chsh [-s 登录的shell] [用户名] 普通用户可以改变自己的登录shell ,超级用户可以改变其他 用户的登录shell,所有的shell 必须是在/etc/shells文件中列出的 shell,但是超级用户不受这 个限制。如果用户的shell是 一个受限制的shell则用户不能改变其登录 shell。 如果不加-s 参数则chsh输出用户的当 前登录shell并提示用户输入新shell的路径 。 改变shell时都需要输 入用户的密码。 范例 [tlc@pht /]# chsh Password: Changing the login shell for tlc Enter the new value, or press return for the default Login Shell [/bin/csh]: /bin/tcsh [tlc@pht /]# clear clear - 清除屏幕(类似于DOS的cls) 2.范例 pht~>clear 清除屏幕,提示符被移动到左上角。 cp cp - 拷贝文件。 cp [options] 源文件 目标文件 cp [options] 源文件... 目标目录 -f, --force : 删除已存在的目标文件。 -i, --interactive : 在删除已存在的目标文件时给出提示。 -R, --recursive 整目录拷贝。 --help 在标准输出上输出帮助信息并退出。 --version 在标准输出上输出版本信息并退出。 范例 [tlc@pht /]# cp sourcefile destfile 拷贝文件sourcefile到文件 destfile。 [tlc@pht /]# cp * /tmp 拷贝当前目录下所有文件到/tmp目录。 [tlc@pht /]# crontab crontab - 操作每个用户的守护程序和该执行的时间表。 crontab file [-u user] - 用指定的文件替代目前的crontab。 crontab - [-u user] - 用标准输入替代目前的crontab。 crontab -l [user] - 列出用户目前的crontab。 crontab -e [user] - 编辑用户目前的crontab。 crontab -d [user] - 删除用户目前的crontab。 crontab -c dir - 指定crontab的目录。 crontab文件的格式:M H D m d cmd M : 分钟(0-59) H : 小时(0-23) D : 天(1-31) m : 月(1-12) d : 一星期内的天(0-6,0为星期天) cmd: 要运行的程序,程序被送入sh执行,这个shell只有USER,HOME, SHELL这三 个环 境变量。 下面是一个例子文件: # MIN HOUR DAY MONTH DAYOFWEEK COMMAND # 每天早上6点 10 6 * * * date # 每两个小时 0 */2 * * * date # 晚上11点到早上8点之间每两个小时,早上部点 0 23-7/2,8 * * * date # 每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点 0 11 4 * mon-wed date # 1月份日早上4点 0 4 1 jan * date 范例 [tlc@pht /]# crontab -l 列出用户目前的crontab。 # MIN HOUR DAY MONTH DAYOFWEEK COMMAND 10 6 * * * date 0 */2 * * * date 0 23-7/2,8 * * * date [tlc@pht /]# date date - 打印或设置系统日期和时间。 date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]] +FORMAT :控制如何显示日期 指令:% : %号 n : 新行 t : TAB 时间域: %H 小时 (00..23) %I 小时 (01..12) %k 小时 ( 0..23) %l 小时 ( 1..12) %M 分钟 (00..59) %p AM 或 PM %r 12小时 (hh:mm:ss [AP]M) %s 从1970-01-01 00:00:00 UTC 开始的时间 %S 秒 (00..61) %T 24小时 (hh:mm:ss) %X 时间表示 (%H:%M:%S) %Z 时区(如EDT)如没有指定时区则不显示 日期域: %a 缩写形式的星期名 (Sun..Sat) %A 星期名(Sunday..Saturday) %b 缩写形式的月名 (Jan..Dec) %B 月名 (January..December) %c 日期和时间 (Sat Nov 0:02:33 EST 1989) %d 每个月的第几天 (01..31) %D 日期 (mm/dd/yy) %h 等同于 %b %j 一年的第几天 (001..366) %m 月份 (01..12) %U 一年中的第几个星期,星期天为星期的第一天 (00..53) %w 每个星期的第几天(0..6) 0为星期天 %W 一年中的第几个星期,星期一为星期的第一天 (00..53 (00..53) %x 日期 (mm/dd/yy) %y 年份的后两个数字 (00..99) %Y 年份 (1970...) [MMDDhhmm[[CC]YY][.ss] MM 月份 DD 日期 hh 小时 mm 分钟 CC 年份的前两位 (可选项) YY 年份的后两位 (可选项) ss 秒 (可选项) 只有超级用户才有权限设置系统时间(启动时在CMOS中读出)。 -d datestr, --date dates : 显示datestr中指定的日期和时间。 -s datestr, --set datestr : 设定datestr中指定的日期和时间。 -u, --universal : 显示或设定格林威治时间(缺省为本地时间)。 --help : 在标准输出上输出帮助信息并退出。 --version : 在标准输出上输出版本信息并退出。 范例 打印两天前的时间: [tlc@pht /]# date --date '2 days ago' Fri Aug 22 20:20:08 CDT 1997 [tlc@pht /]# 打印月份和日期: [tlc@pht /]# date '+%B %d' August 24 [tlc@pht /]# dd dd - 拷贝一个文件(并可以同时转化它) 范例 将文件sourcefile拷贝到文件destfile。 pht~>dd if=sourcefile of=destfile 0+1 records in 0+1 records out [tlc@pht /]# df df - 报告磁盘剩余空间。 范例 [tlc@pht /]# df -a -T Filesystem Type 1024-blocks Used Available Capacity Mounted on /dev/hda1 ext2 14 136751 71% / none proc 0 0 0 0% /proc /dev/hda3 ext2 267 2222699 5% /home /dev/hda2 ext2 995147 49603 894136 5% /usr/local [tlc@pht /]# du du - 报告磁盘空间使用情况 范例 pht:/tmp> du 1 ./.X11-unix 15274 ./data 4 ./id4 15293 . pht:/tmp> file file - 探测文件类型。 范例 pht:/tmp> file * destfile: ASCII text elm.rc.OLD: English text portnum: empty rc.inet1.OLD: Bourne shell script text pht:/tmp> find find - 用来在大量目录中搜寻特定文件的强有力的工具。 find [路径...] [匹配表达式] 范例 pht:/> find ./ -name "passwd" -print ./usr/bin/passwd ./home/ftp/etc/passwd ./etc/passwd pht:/> grep grep, egrep, fgrep - 在文件中搜寻匹配的行并输出。 范例 在文件services中查找含有ftp的行。 pht:/etc> grep ftp services ftp 21/tcp tftp 69/udp sftp 115/tcp pht:/etc> gzip gzip, gunzip, zcat - 压缩或展开文件。 范例 [tlc@pht /]# gzip -v sourcefile sourcefile: 15.2% -- replaced with sourcefile.gz [tlc@pht /]# head head - 显示文件的前几行。 范例 输出文件.lessrc的第一行。 [tlc@pht /]# head -n 1 .lessrc forw-line [tlc@pht /]# kill kill - 中止一个进程 kill [ -s 信号 | -p ] [ -a ] 进程号 ... kill -l [ 信号 ] kill向指定的进程发出特定的信号,如果没有指定信号则送出TERM信 号,TERM信号将 杀 死没有捕捉到这个信号的进程。对于某些进程可能要使用KILL (9)信号强制杀死。例 如: kill -9 11721。将强制杀死进程11721。大多数SHELL内建kill命令 范例 杀掉进程11721 [tlc@pht /]# ps PID TTY STAT TIME COMMAND 11668 p1 S 0:00 -tcsh 11721 p1 T 0:00 cat 11737 p1 R 0:00 ps [tlc@pht /]# kill 11721 [1] Terminated cat [tlc@pht /]# last last - 显示过去多少个用户或终端登录到本机器。 last [-数目] [-f 文件名] [-t tty] [-h 节点名] [-i IP地址] [-l] [-y] [用户名...] 范例 显示过去3次用户fangh登录的情况: [tlc@pht /]# last -3 fangh fangh ttyp1 csun01.ihep.ac.c Tue Aug 26 18:46 still logged in fangh ttyp2 csun01.ihep.ac.c Mon Aug 25 22:32 - 23:14 (00:41) fangh ttyp2 csun01.ihep.ac.c Mon Aug 25 19:58 - 21:59 (02:01) [tlc@pht /]# less less - 相对于more,用来按页显示文件。 范例 显示test文件 [tlc@pht /]# less test ln ln - 在文件间建立连接 ln [参数] 源文件 [目标文件] ln [参数] 源文件... directory 另外对链接文件做改变属性的动作是没有意义的,因为只有它们链接到 的文件的属性 才是 文件的真正属性。 范例 将文件sourcefile连接到文件test [tlc@pht /]# ln -s sourcefile test [tlc@pht /]# ls -la test lrwxrwxrwx 1 fangh users 10 Aug 26 20:36 test -> sourcefile [tlc@pht /]# ls ls, dir, vdir - 列出目录下的文件 (类似于DOS下的DIR命令)。 范例 列出当前目录下的所有文件 [tlc@pht /]# ls -la total 6 drwxr-x--- 2 fangh users 1026 20:52 ./ drwxr-xr-x 19 root root 1026 21:09 ../ -rw-r--r-- 1 fangh users 15 Aug 21 21:57 .bash_history -rw-r--r-- 1 fangh users 30 20:41 .less -rw-r--r-- 1 fangh users 115 19:58 .lessrc -rw-r--r-- 1 fangh users 72 Aug 24 18:43 sourcefile lrwxrwxrwx 1 fangh users 10 Aug 26 20:36 test -> sourcefile [tlc@pht /]# man man - 显示具有一定格式的在线手册。 man 对于新手和老手来说都是非常有用的一个工具,用来快速查询命令 和程序的使用 方法 和参数。编程人员也可以用来查询C函数的用法。对于'rn(1)' 或 'ctime(3)'这样的输 出,其 中括弧中的数字是指 Unix 手册中该文件所在的章节。当你打 man 3 ctime 时, 表示 是要查 阅在第 3 节中的 ctime 的内容。下面是常见的Unix手册的分类: 1 用户命令 2 系统调用 3 库函数 4 设备和设备驱动程序 5 文件格式 6 游戏 7 有用的杂类,如宏命令包 8 系统维护和管理命令 范例 查询ls的用法 pht~>man ls mtools mtools - 用来在UNIX下访问DOS下磁盘的工具包。 工具介绍 mcd - 进入DOS子目录。 mcopy - 拷贝DOS文件。 mdel - 删除DOS文件。 mdeltree - 删除DOS目录。 mdir - 查看DOS目录。 mformat - 格式化DOS磁盘 mkmanifest - 创建一个恢复UNIX格式的文件名的SHELL mlabel - 给DOS磁盘加卷标 mmd - 创建DOS目录。 mmove - 移动DOS下的文件。 mmount - mount DOS磁盘。 mtype - 显示DOS下的文件。 mrd - 删除DOS下的目录。 mren - 将DOS下的文件改名。 mkdir mkdir - 建立目录(同DOS下的md)。 more more - 在终端上按页观看文件的过滤器。 more的功能没有less那么强大。而且less还提供了对more的模拟,不过 一般用户可能 更习 惯于使用同DOS环境下相似的more。 范例 显示文件/etc/group 并搜寻字符串bbs [tlc@pht /]# more +/bbs /etc/group ...skipping users::100:games nogroup::-2: bbs:x:99:bbs,bbsroot,bbsuser [tlc@pht /]# mv mv - 将文件改名。 mv [参数] 源文件 目标文件 mv [参数] 源文件列表(支持通配符) 目标目录 范例 [tlc@pht /]# mv -v sourcefile destfile sourcefile -> destfile [tlc@pht /]# passwd passwd - 设置用户的密码。 passwd [-f|-s] [用户名] passwd [-g] [-r|R] 组名 passwd [-x max] [-n min] [-w warn] [-i inact] 用户名 passwd {-l|-u|-d|-S} 用户名 用户可以用passwd这个命令更改自己的登录密码,一般用户只能更改他 自己的密码,超 级用户可以更改其他所有用户的密码,超级用户和组的管理者可以更 改组的密码,还 可以 用这个命令来更改用户的其他信息,如用户的全名,用户的登录 shell,用户的密 码失效的 时间间隔等等。  范例 更改密码 [tlc@pht /]# passwd Changing password for fangh Old password:oldpass 密码并不显示出来 Enter the new password (minimum of 5, maximum of 8 characters) Please use a combination of upper and lower case letters and numbers. New password:newpass Re-enter new password:newpass Password changed. [tlc@pht /]# passwd -S 显示用户情况 fangh P 09/05/97 0 99999 7 -1 [tlc@pht /]# ps ps - 查看进程状态。 下面解释一下各栏的意义: FLAGS : 长格式的F域。 UID : 用户的ID。 PID : 进程的ID。 PPID : 父进程的ID。 PRI : 进程优先级。 NI : 标准UNIX的优先级。 SIZE : 虚拟内存的大小。 RSS : 驻留空间的大小。 WCHAN : 进程等待的内核事件。 STAT : 进程状态:代码如下。 R : 正在运行。 S : 睡眠。 D : 不可打断的睡眠。 T : 停止或跟踪。 Z : 僵尸进程。 W : 进程没有驻留页。 N : 进程有一负nice值。 TTY : 进程的控制台。 PAGEIN : 主内存页失败的数目(页失败造成页从磁盘或CACHE中读取)。 TRS : 文本驻留大小。 SHARE : 共享内存。 SWAP : 交换设备上的K字节数。 范例 显示当前进程: [tlc@pht /]# ps -c PID TTY STAT TIME COMMAND 8724 p4 S 0:00 tcsh 8876 p6 R 0:00 ps [tlc@pht /]# pwd pwd - 显示正在工作或当前目录名。 范例 列出当前工作目录 [tlc@pht /]# pwd /home/fangh [tlc@pht /]# reset reset - 将终端复位。 在使用终端的过程中,有时会发现屏幕的字符 “花”掉了,这时使用 reset就可以恢 复,例如在运行完电路分析软件PSPICE后,就会发现屏幕字符错乱,使用 reset就恢复正 常。 reset 调用tput函数,向终端发出复位信号。如果屏幕被Ctrl+S 锁住了,可以用Ctrl+Q 来解除锁定。 范例 将终端复位: [tlc@pht /]# reset rm rm - 删除文件或目录。 注意,在LINUX下如果产生类似于 “-f”这种文件名的文件,删除是先 跟 “--”选项。 这表明后面所跟的 “-f”不是选项而是文件名,例如“rm -- -file” 是删除文件 “-file”, 在删除文件名中包含特殊字符的文件时,可以用“/+特殊 字符”,或用"" 将 文件名括起来, 例如要删除文件 “this is a test”可以用下列命令: rm this/ is/ a/ test 或者 rm "this is a test" 另外要特别注意,使用rm -rf * 这个命令,如果用户是超级用户, 并且在root下使用此命 令,那么系统的所有文件将被删除。而在UNIX下恢复文件几乎是一件不 可能的事情。 因 而要谨慎对待这个命令。另外建议用户将rm定义为“rm -i”,并加 入到用户的登录 文件 中。 范例 删除文件destfile [tlc@pht /]# rm -v destfile destfile [tlc@pht /]# rmdir rmdir - 删除空的目录。 su su - 改变用户的ID或成为超级用户。 tail tail - 显示文件的最后一部分 tail缺省显示文件名列表中的每个文件的最后十行,如果没有文件名或 文件名为 “-” 则其从标准输入中读取文件,如果有多个文件则其会在文件前面加上 “==> 文件名 <==” 以便区分。 范例 显示文件/etc/DIR_COLORS的最后三行: [tlc@pht /]# tail -v -n 3 /etc/DIR_COLORS tar tar - GNU 版的文件打包备份的工具。 范例 将当前目录下所有.txt文件打包并压缩到归档文件bak.tar.gz [tlc@pht /]# tar czvf bak.tar.gz ./*.txt 将目录./sec打包到归档文件sec.tar.gz [tlc@pht /]# tar czvf sec.tar.gz ./sec tcsh tcsh - 一个带有文件名自动补充和行编辑功能的C shell。 tcsh是著名 的伯克利UNIX的C SHELL的增强版本,它既可以作为一个交互式的登录 SHELL又可以作为脚 本文件的处理 器。 tcsh在作为登录shell启动时,首先读取系统配置文件/etc/csh.cshrc和 /etc/csh.login. 接着到用户 的根目录下去读取~/.tcshrc,如果没有 ~/.tcshrc则去读取~/.cshrc, 接着读取 ~/.history,~/.login 最后是 ~/.cshdirs.非登录shell启动时只读取/etc/csh.cshrc和~ /.tcshrc。 命令行编辑器: 使用方向键来编辑,上下为在历史记录中选择命令 ,左右键为在命令 行上前后移动进 行编辑。 命令补充和列表: 在用户键入命令时,经常不能记住命令或目录的全名,这时候tcsh可以 帮助用户将剩 余部分补全,例如用户键入 “/usr/lost”但是忘记后面的部分,这时 候用户只需要键入 TAB 键,tcsh就会自动将剩余的部分补全-- “/usr/lost+found/”,当 用户给出的部分有多个 匹配 的情况下例如 “/usr/l”则TAB将无法补全,这时候用户只须键 “CTRL+D”则tcsh 将替用户列出所有匹配的情况: “lib/ local@ lost+found/”, 用户就可以自 己选择了。 top top - 显示系统的最高进程 top 这个命令可以即时显示当前系统最占CPU时间的进程, 时提供一个交互的界 面 让用户可以观察系统进程情况,它可以按照CPU使用情况,占内存大小 ,运行的时间 来 对进程排序,这是系统管理的一项必不可少的工具。 touch touch - 改变文件的时间参数。 touch将文件的访问时间,修改时间设置为系统的当前时间,如果该 文件不存在则建立 一个 空的新文件。 范例 将当前目录下的文件的时间参数修改为当前时间: [tlc@pht /] # touch * umount,mount mount - 装载一个文件系统。 umount - 卸下一个文件系统。 列出系统目前mount的文件系统 : [tlc@pht /]# mount /dev/hda1 on / type ext2 (rw) none on /proc type proc (rw) /dev/hda3 on /home type ext2 (rw) /dev/hda2 on /usr/local type ext2 (rw) [tlc@pht /]# 加载光驱: [tlc@pht /]# mount /dev/hdb /mnt unarj,unzip,lha 在DOS下最常用的压缩软件有arj,pkzip和早期的lha,他们产生的压缩 文件如何在 Linux下 展开呢?这就要用到unarj,unzip,lha 这三个工具软件了,其用法同其 在dos下 的同类软件 用法几乎一样。只是请注意unarj和lha都是版权软件,是没有源码的, 不属于 GNU。且 unarj和unzip只能解压不能压缩。 unarj l 压缩文件名 查看压缩文件目录。 unarj x 压缩文件名 解开压缩文件。 unzip -v 压缩文件名 查看压缩文件目录。 unzip -d 压缩文件名 解开压缩文件。 lha l 压缩文件名 查看压缩文件目录。 lha x 压缩文件名 解开压缩文件。 lha a 压缩文件名 源文件名 压缩新文件。 uudecode,uuencode uuencode - 将一个二进制文件编码为一个文本文件。 uudecode - 将uuencode产生的文件复原。 在Internet尚未十分发达的时候,很多用户只能使用E-mail,要 交换软件的话是一件十 分 麻烦的事情,因为不能用E-mail直接传送二进制文件,于是uuencode和 uudecode就成为 十分 有用的两个工具。 uuencode 产生的文本文件以begin 644 为开始标志, 以end为结束 标志在 这中间的就是编码过的文件。编码后的文件将比源文件大35%左右。 uuencode产生 的文 件将输出到标准输出,如要存成文件,请使用管道功能将其重定向到 一个磁盘文件 中。 uuencode 源文件名 编码时使用的文件名 uudecode 要解码的文件名 vi vi - 功能强大的UNIX编辑器。 Vi 简介 Vi 是 UNIX 世界里最通用的全屏编辑器,所有的UNIX机器都提供本 编辑器Linux里提供 的 是vi的加强版-vim,但是是同vi完全兼容的。Vi的原意是 “visual”即可视编辑器, 用户 键入的会立即被显示出来。而且其强大的编辑功能可以同任何一个最新 的编辑器相媲 美,而且学会vi可以让用户在任何一台UNIX机器无论是SUN,HP,AIX, SGI,还是 Linux 或FreeBSD上都可以得心应手地编辑文件。 只要在命令行上键入 vi 就可以进入vi的编辑环境。 Vi有两种状态,输 入状态以及指令状 态。用户在输入状态下可以输入文字资料指令状态是 用来执行打开文件 ,存档,离开 vi等操作命令,执行vi后首先进入指令状态,此时输入的 任何字符都作 为指令来处理。 输入 “vi 文件名”则vi自动装入文件或开始一个新文 件,vi屏幕的左 方会出现波浪号 “~”,代表本行为空行。 要如何进入输入状态呢?以下为相应的指令: 追加 (append) a 从光标所在位置后面开始追加文字,光标后的文字随追加的文字向后移动。 A 从光标所在列最后面的地方开始追加文字。 插入 (insert) i 从光标所在位置前面开始插入文字,光标后的文字随追加的文字向后移动。 I 从光标所在列的第一个非空白字符前面开始插入文字。 开始 (open) o 在光标所在列下新增一列并进入输入状态。 O 在光标所在列上方新增一列并进入输入状态。 x 删除光标标所在字符。 dd 删除光标所在的列。 r 修改光标所在字符接下来要修正的字符。 R 进入改写状态,新增文字会覆盖原先文字 s 删除光标所在字符,并进入输入状态。 S 删除光标所在的列,并进入输入状态。 :q 结束编辑(quit) 如果不想存档而要放弃编辑过的文件则用 :q! 强制离开。 :w 存档(write) 其后可加所要存档的名。 :wq 即存档后离开。 zz 功能与 :wq 相同。 wc wc - 统计一个文件中的字节数,单词数,行数。 who who - 查看其他登录的用户。 which which - 显示命令的全路径。 which 程序名 控制用户权限
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值