| 东方易维系列培训 |
版本: <1.0>
|
| Unix基础(一) | 日期: <2002-6-6> |
| <document identifier> |
1.常用Unix命令
注:有些命令只有root用户才能使用。| 命令 | 解释 | 典型用法 |
| 文件和目录操作 | ||
| ls | 显示文件列表 | ls ls –l ls –a ls –l ~ |
| pwd | 显示当前目录 | pwd |
| cd | 改变当前目录 | cd /bin cd .. cd ~ cd |
| mkdir | 创建目录 | mkdir java mkdir –p dir1/dir2/dir3 |
| rm | 删除文件和目录 | rm test.java rm –r dir1/* rm –rf dir1/* |
| rmdir | 删除目录 | rmdir dir1 |
| cp | 拷贝文件 | cp /vol/examples/tutorial/science.txt . |
| mv | 重命名文件和目录 移动文件和目录 | mv dir1 dir2 mv file1 file2 |
| find | 查找文件 | find . -name 'test*' |
| touch | 生成一个空文件 | touch file1 |
| cat | 显示文件内容 | cat file1 |
| head | 显示文件内容(头n行) | head file1 head –n 20 file1 |
| tail | 显示文件内容(最后n行) | tail file1 |
| more | 分页显示文件 | more file1 |
| less | 分页显示文件 | less file1 |
| sort | 对内容排序输出 | sort file1 w | sort |
| grep | 在文件内容中查找指定的字符串 | grep science science.txt grep -i science science.txt grep -i 'spinning top' science.txt |
| wc | 计算字数或行数 | wc -w science.txt wc -l science.txt |
| ln | 创建符号链接或硬链接 Usage: ln [OPTION]... TARGET [LINK_NAME] or: ln [OPTION]... TARGET... DIRECTORY or: ln [OPTION]... --target-directory=DIRECTORY TARGET... | ls –l > list1 ln –s list1 slist1 |
| file | 显示文件的类型 | file * |
| * ? | 文件通配符 | ls list* ls ?list |
| 编辑器 | ||
| vi | 编辑文件 | vi .profile |
| 输入、输出和重定向 | ||
| |,>,< | 管道和输入输出重定向 | ls –ls | more ls > ls.txt ls >> ls.txt cat >> list1 a b c ^D sort < biglist.txt sort < biglist.txt >slist who > names.txt sort < names.txt who | sort who | wc -l ls > /dev/pts/3 |
| 帮助 | ||
| man | 获得联机手册 | man ls |
| whatis | 解释命令的含义 | whatis ping |
| 文件权限 | ||
| chmod | 改变文件的权限 u user g group o other a all r read w write (and delete) x execute (and access directory) + add permission - take away permission | drwxr-xr-x 2 root root 4096 Jun 6 09:10 dir2 chmod go-rwx biglist chmod a+rw bigfile chmod 777 bigfile |
| 进程和任务 | ||
| ps | 显示进程信息 | ps ps –ef ps –ef | grep vi |
| kill | 杀掉进程 | kill 1234 kill –9 1234 kill %1 |
| & | 在后台运行命令 | sleep 20 & |
| ^Z | 暂停当前进程 | |
| ^C | 停止当前进程 | |
| jobs | 显示任务列表 | |
| fg | 把某项任务唤到前台 | fg %1 |
| bg | 把某项任务唤到后台 | fg |
| 系统信息 | ||
| df | 磁盘剩余空间 | df |
| du | 目录用掉的空间 | du ~ |
| sar | 系统运行信息(CPU、内存、磁盘读写等) | sar sar –b |
| top | 系统运行的进程信息。[linux only] | top |
| 系统维护 | ||
| useradd | 添加用户账号 | useradd richard |
| userdel | 删除用户账号 | userdel Richard |
| groupadd | 添加用户组 | groupadd oracle |
| groupdel | 删除用户组 | groupdel oracle |
| passwd | 修改口令 | passwd passwd tom |
| su | 改变当前用户身份 | su Richard su – Richard su su - |
| 环境 | ||
| history | 列出以前运行过的命令 | history |
| who | 当前登录系统的人 | who |
| w | 当前登录系统的人及正在执行的操作 | w |
| who am I whoami | 当前用户的身份 | who am I whoami |
| date | 当前系统时间 修改系统时间 Usage: date [OPTION]... [+FORMAT] or: date [OPTION] [MMDDhhmm[[CC]YY][.ss]] | date date 06061240 |
| uname | 当前系统的名称 | uname uname –a |
| 网络 | ||
| netstat | 网络使用状态 | netstat |
| ping | 是否能够连接到某个主机 | ping 192.168.0.1 |
| telnet | 远程登录 | telnet 192.168.0.14 |
| ftp | 文件传输 | ftp 192.168.0.14 |
| ifconfig | 显示IP地址信息 配置IP地址 | ifconfig |
| 系统启动和关闭 | ||
| init | 改变系统状态 0 关闭 1 单用户/系统管理员 2 多用户 3 多用户,允许本地资源被网络访问 4 备用的多用户状态 5 关闭计算机 6 先到0,后到却省的状态(经常是3,在/etc/inittab里定义) | init 0 int 5 init 6 |
| reboot | 重新启动 | reboot |
| shutdown | 关闭系统 | shutdown |
| sync | 同步磁盘缓冲区 | |
| 压缩和归档 | ||
| compress | 压缩,声称.Z文件,并删除原来文件 | compress science.txt |
| uncompress | 解压缩.Z文件 | compress science.txt.z |
| gzip | 压缩为.gz文件 | gzip science.txt |
| gunzip | 解压缩.gz文件 | gunzip science.txt.gz |
| tar | 归档文件,生成.tar文件 | tar –cvf test.tar * cd dir1 tar –xvf ../test.tar |
| 屏幕输出 | ||
| echo | 屏幕回显 | echo $PATH |
| clear | 清空屏幕 | |
| 文件系统 | ||
| mount | 加载文件系统 | |
| umount | 卸掉文件系统 | |
| fdisk | 磁盘分区 |
趣味练习:
- 向某人(如richard)正在使用的的终端(远程或本地)输出文字,进行干扰。
2.vi的简单使用
1. vi的启动与退出要进入 vi 可以直接在SHELL下运行
vi <文件名>
如果文件名所指定的文件存在,则打开原有文件,否则建立一个新文件。进入 vi 后,默认的是命令模式,在屏幕下方会有简单的提示,建立新文件会提示“[New File]”,编辑旧文件会提示文件名称、字符数、行数等。凡是文件中的空行,在最左端会有波浪线提示。
需要离开vi时,可以在命令模式先输入:(冒号),这时就进入到命令行状态,在屏幕最下端一行可以输入命令q(退出,quit)即可退出。如果文件被修改之后需要保存的话,在输入:之后接着输入wq(保存后退出),其中w表示写入(write),如果不保存已进行的修改,就直接使用q!命令退出。
2. 光标移动
在有些系统,可以使用键盘的箭头键来移动光标,但并不是所有的系统下都可以正确使用。在vi设计之初,很多终端还没有箭头键,因此,在vi的命令模式下,可以使用h、j、k、l四个键来移动光标,按照正确的键盘输入指法,这四个键刚好都是右手手指的基本位置,具体的对应关系为h、j、k、l键分别对应着向左移动一个字符、向下移动一行、向上移动一行、向右移动一个字符。
光标移动键和数字键配合使用,可以一次完成重复的移动,大大提高了光标移动的速度,nh、nj、nk和nl分别表示一次性向左移动n个字符、向下移动n行、向上移动n行、向右移动n个字符,n是一个整数。
除了这几个基本的命令之外,vi还提供了以单词、屏幕、文件为相对定位标记的光标移动命令,这里不再一一列出。
3. vi的模式转换
vi有两种模式:输入模式和命令模式。从输入模式到命令模式,是由Esc键控制的,只要按下Esc键即可,必要的情况下,多按几次,计算机会发出声音表示已经是命令模式。而从命令模式到输入模式的转换,则是由添加、插入、替换等一共十个命令(a、A、i、I、o、O、s、S、c、C)来实现。这里我们只介绍前六个命令:
添加(append)
a 从光标所在位置后面开始新增资料,光标后的资料随新增资料向后移动。
A 从光标所在行尾部开始新增资料。
插入(insert)
i 从光标所在位置前面开始插入资料,光标后的资料随新增资料向后移动。
I 从光标所在行的第一个非空白字元前面开始插入资料,即从行头部开始插入资料。
开始(open)
o 在光标所在行下新增一行并进入输入模式。
O 在光标所在行上方新增一行并进入输入模式。
4. vi基本编辑命令
在这里我们认为编辑就是文字的新增修改以及删除,还包括文字区块的搬移、复制等等。实际上,在 vi 的原始观念里,输入跟编辑是两码事,编辑是在命令模式下操作的,先利用命令移动光标来定位要进行编辑的地方,然后才下指令做编辑。
删除与修改
x 删除光标所在字符。
dd 删除光标所在的行。
r 修改光标所在字符,r后接着输入要修改为的字符,比如原有字符为1,我们打算把它修改为5,在命令模式下,把光标移动到要替换的字符“1”处,输入““r5”即可。
R 进入替换状态,新输入的资料会覆盖原先资料,直到切换到命令模式下为止。
s 删除光标所在字符,并进入输入模式。
S 删除光标所在的行,并进入输入模式。
恢复命令(undo)
“只有死人和圣人才不会犯错误”,作为常人的我们,万一不小心进行了错误的操作,该怎么办。如果是错误地多输入一个字符,这比较好办,可以在输入模式下使用退格键或者在命令模式下在对应位置使用x命令来删除。对于比较严重一点的,错误地删除了一大段程序,这时,恢复命令就尤为可贵。
u 恢复最近一次所做的修改。
查找(/ ?)
正则表达式:* ? [ ] | ^ $
No comments:
Post a Comment