Unix 基础

熟悉 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
拥有者  – 生产文件时登录的人
同组人  -- 系统管理员分配的同组的一个或几个人
除拥有者,同组人外的人
所有人,包括拥有者,同组人及其它人
  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

 rmrmdir

删除文件
用法:

  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 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

在光标所在位置后插入
在光标当前位置插入
o 在光标所在行插入一空行
退出插入状态

deleteing  Text

x   删除一个字符
dw   删除当前词
3 dw 删除三个词
dd    删除当前行
5 dd   删除五行
:5,10

 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

改变大小写
把当前行和下一行连起来
废除刚才的编辑操作
: set nu  显示行代码
: set nonu
: 21
: 21G
/ 串   从当前行往下查找
?串 从当前行往上查找
n    继续查找
: 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
看目录的大小
du  -- sk *
 
  ps
列出系统中当前正在运行的进程
/ usr /bin/ ps [-options]
-e  列出所有的进程
- 产生一个详细列表
Ps – ef | grep telnet
 
Kill
终止你不能退出的进程
kill  进程号
ctrl +c 终止一个在前台运行的程序。
Pkill   后面可以跟进程名
 
telnet
连接并工作在远程的系统
tcp / ip 协议去连接另外一个系统
用法
telnet  hostname[port]

 

 

你可能感兴趣的:(linux)