东方易维系列培训 |
版本: <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