•
熟悉
Unix
操作系统
•
掌握基本的
Unix
命令
•
掌握常用的通配符
•
掌握
Vi
用法
•熟悉环境配置
什么是Unix
•
Unix
是最悠久的操作系统
•
1969年美国贝尔实验室里开发出来
Unix介绍
•
Sun
–
Solaris
–
SunOS
•
IBM
–
AIX
•
HP
–
Unix
•
RedHat
–
Linux
Unix能做什么
•
Server
–
Web Server
–
Mail Server
–
Database Server
–
•
程序开发
Solaris OS
•
Kernel
–
跟硬件打交道,让硬件动起来
•
Shell
–
用户和
Kernel
的接口。
•
File System
–
存放文件
Kernel
•
管理硬件,内存,
cpu
,
让硬件动起来。
•
•
是硬件和应用程序的接口。
Shell
•
什么是
shell?
是用户和
kernel
的 接口,扮演的是翻译器或者解释器角色,又叫命令解释器。
•
windows
下
cmd
•
linux
下 右键
à
新建终端
5种 shell
•
Bourneshell (
sh
)
最早的
shell
•
Korn
shell (
ksh
)
•
C shell (
csh
)
最广泛
•
Bourne-again-shell (bash)
linux
中默认的
shell
•
tcsh
•
shell
–
bash(“$”)
–
csh
(“%”)
BourneShell (sh)
•
Written byStephen Bourne
•
最早的最有名的
shell
•
系统里面提供的脚本多是用
B shell
写的
•
%
c shell
提示符
•
$
b shell
提示符
•
#
root
提示符
–
su
命令进入
CShell ( csh )
•
作者
BillJoy , vi
的作者
•
由于
Bshell
功能不完善而产生。比如:新增
,
等。
–
无
History
功能
–
无别名功能
–
B shell
必须要有自己的一套语法
•
缺省为 %
•
Tcsh
•
缺省的
shell
为
c shell
TheFile System
•
Unix
下文件系统包括目录,子目录和文件。
•
目录
•
子目录
Unix下是怎么来组织文件?文件最终存放硬盘。把文件存放在你操作的地方
pathnames
•
绝对路径
–
从 / 开始
•
相对路径
–
.
–
..
Login/Logout
•
Login
–
telnet 10.10.3.237
•
login: (username)
•
password: (user’s password)
•
Logout
–
exit or logout
密码要求
•
长度为6-8位
•
至少有2个字母和1个数字
•
要与
login
的
id
不一样
•
与上次密码至少要有3个不相同
改变密码
•
passwd
命令
•
当前密码
•
新密码
•
再次新密码
用户帐号
•
/
etc/
passwd
–
存放用户名
•
/etc/shadow
–
存放密码
Clear
•
清终端的屏幕
•
•
clear
pwd
•
以绝对路径的形式显示路径。
•
•
pwd
cd
•
改变目录
•
接受绝对路径和相对路径
•
当前目录 .
•
父目录 ..
•
cd
[
目录名]
ls
•
显示文件和目录的列表
•
ls
–a
显示隐藏文件
•
ls
-R
把每个目录下的东西多列出来
•
ls
–t
按时间进行排序后显示列表
•
ls
-l
显示一个长的列表
文件类型
•
d
表示目录
•
ls
-F
显示文件类型
–
目录文件 /
–
可执行文件 *
–
文本文件 (
none)
文件权限
•
r
读权限
•
w
写权限
•
对目录来说,可生成文件与子目录或者删除文件与子目录。
•
x
执行权限
•
对目录来说,可查找该目录下内容。
改变权限
•
chmod
g-r file1
–
u
拥有者 – 生产文件时登录的人
–
g
同组人 -- 系统管理员分配的同组的一个或几个人
–
o
除拥有者,同组人外的人
–
a
所有人,包括拥有者,同组人及其它人
•
chmod
555
dante
4 Read
2 Write
1 Execute
touch
•
touch
文件名
•
•
创立新的,空的文件
•
•
如果文件已经存在,修改最后的访问时间。
mkdir
•
创建目录
•
必须要有相关的权限去建目录
–
什么权限? 属主和
root
•
mkdir
[-p]
目录名
•
mkdir
dir1/dir2
•
mkdir
dir3 dir4 dir5
•
mkdir
-p dir6/dir7/dir7
练习
•
mkdir
dir1/dir2
•
mkdir
dir3 dir4 dir5
cp
•
拷贝文件
•
用法:
cp 源文件 目标文件/目标目录
•
拷贝 目录
cp -r 源目录 目标目录
练习
•
cp beans apple
•
cp beans apple dir2
•
cp –
i
beans apple
•
cp –r dir3 dir4
•
cp –r dir3 dir4/
tmp
注意
•
-
i
–
如果目录文件不存在,建新目录
–
如果目录存在,提示覆盖
•
- r
–
表示后面备份的是目录。当拷贝
层次目录,当目标层次目录不存在,
则创建;如果拷贝到目标文件下,目
标文件已经存在,则多生成一个目录。
mv
•
移动或者重命名文件或者目录
•
用法
–
mv
[-
i
] source
target_file
–
mv
[-
i
] source
target_dir
练习
•
mv
nuts beans
•
mv
/export/home/t.java ~
•
mv
dir5 dir6
rm& rmdir
•
删除文件
•
用法:
rm [-i] filename(s)
rmdir directory_names
rm –r[I] directory_names
•
rm
–
i
确认选项
•
rm
–f
强制删除
•
一次可以删多个文件
•
rmdir
删除目录
•
rm
–r
可以删除层次目录
练习
•
rm
file1
•
rm
f1 f2 f3
•
rm
–
i
f4
•
mkdir
empty_dir
•
rm
–r dir6
•
rm
–
ir
~/dir7
Metacharacters
•
带有具体意思的关键字字符
•
比如: $ ; > ! ~ *
% ? [] <> |
注意: . 和 _ 除外
Asterisk(*)
•
代表0或者更多字符的统配符
•
ls
d*
Question Mark (?)
•
代表单个的字符
•
ls
d?
•
ls
z?.txt
练习
•
cal 10 2004 > a.txt
•
cal 11 2004 >> a.txt
•
cat <f1.txt > f2.txt
Piping( | )
•
把一个命令的输出,传给下一个命令,作为下一个命令的输入。
•
即前一个命令的输出作为后一个命令的输入。
•
用法:
–
ls
–l /etc | more
文本编译
•
配置文件,
Web
页面, 程序源代码多是基于文本的.
cat
•
显示文本文件的内容到屏幕.
•
常用来连接2个或者更多的文件到一个更大的文件.
练习
•
用法
cat filename(s)
•
cat file1
•
cat file1file2 file3 > new
more
•
在同一时间内, 显示文本的内容到屏幕
•
用法
more filename(s)
•
常用参数:
–
b
–
f
–
q
–
/string
–
n
head
•
显示文件前多少行
•
默认显示 10 行
•
用法
–
head [-n] filename(s)
tail
•
显示文件的后多少行
•
默认显示 10 行
•
用法
–
tail [-n] filename(s)
总结
•
看文件命令
–
cat
–
more
–
tail
–
head
vi ---- 全屏文本编辑 (1)
•
Entry
模式 (
a
i
o)
•
命令模式 (
Esc/ Return)
•
最后一行模式(: / ?)
invoking vi
•
vi filename
–
打开或者创建一个文件
•
vi
–
打开一个没命名的文件
positioning
•
向上
k
•
向下
j
•
向左
h
•
向右
l
•
行尾 $
•
行头 ^
•
第几行
nG
•
屏幕最底
L
•
屏幕最上面
H
•
屏幕中间
M
Input
•
a
在光标所在位置后插入
•
I
在光标当前位置插入
•
o
在光标所在行插入一空行
•
<Esc>
退出插入状态
deleteing Text
•
x
删除一个字符
•
dw
删除当前词
•
3
dw
删除三个词
•
dd
删除当前行
•
5
dd
删除五行
•
:5,10
d
Changing Text
•
r
替换一个字符
•
cw
替换一个单词
•
cc
替换一行
•
C
替换从光标至行尾
copyingand pasting text
•
yw
拷贝词
•
yy
拷贝行
•
p
当前行下粘贴
•
:1,2
co3
拷贝行1, 行2在行3之后
•
: 4,5
m6
移动行4,行5在行6之后
Saving and Quitting Files
•
:w
存盘
•
:
w
newfile
存成新文件
•
:
wq
存盘退出
vi
•
: q!
强行退出不存盘
•
Advanced Editing Options
•
~
改变大小写
•
J
把当前行和下一行连起来
•
u
废除刚才的编辑操作
•
:
set nu
显示行代码
•
:
set
nonu
•
: 21
•
: 21G
•
/
串 从当前行往下查找
•
?串 从当前行往上查找
•
n
继续查找
•
:
r file2
在光标所在位置插入另一个文件
•
:1,$
s/
旧串/新串/
g
练习
•
:1,$
s/
旧串/新串/
g
•
•
将所以
x
换成*
Id
•
显示跟用户
id
相关的用户名
•
用法
–
id [option(s)]
•
id
•
id root
•
id –a root
Users
•
显示
logged in
用户的列表
•
用法:
users
Who
•
显示所有登陆上来的本地用户
•
•
/
usr
/
ucb
/who
•
•
who
find
•
找符合特证的文件
•
用法
find path expression [action]
•
find /-name per1
•
find .–name “file*”
grep
•
在一个文件里搜索指定的文本串,然后把包含文本串的文本打印在屏幕上。
•
大小写敏感
•
grep
root /etc/
passwd
wc
•
显示一个文件里面行数,单词数或者字符数。
•
用法
–
wc
[options] filename(s)
•
wc
–l
行数
•
wc
–w
单词数
•
wc
–c
字符数
•
grep
wang
/etc/
passwd
|
wc
-l
du
ps
•
列出系统中当前正在运行的进程
•
/
usr
/bin/
ps
[-options]
–
-e
列出所有的进程
–
-
f
产生一个详细列表
–
Ps –
ef
|
grep
telnet
Kill
•
终止你不能退出的进程
•
kill
进程号
•
ctrl +c
终止一个在前台运行的程序。
•
Pkill
后面可以跟进程名
telnet
•
连接并工作在远程的系统
•
用
tcp
/
ip
协议去连接另外一个系统
•
用法
–
telnet hostname[port]