UNIX学习笔记.docx
- 文档编号:6285698
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:35
- 大小:3.39MB
UNIX学习笔记.docx
《UNIX学习笔记.docx》由会员分享,可在线阅读,更多相关《UNIX学习笔记.docx(35页珍藏版)》请在冰豆网上搜索。
UNIX学习笔记
UNIX的特征
1.可移植性强:
UNIX操作系统的大量代码是用C语言编写的,C语言是高级语言,具有很强的夸平台性
2.多用户,多任务的分时系统
人机间实时交互数据
多个用户可以同时使用一台机器
每个用户可以同时执行多个任务
3.软件复用
每个程序模块完成一个单一的功能
程序模块可以按需任意组合
较高的系统应用和开发效率
4.与设备独立的输入/输出操作
打印机,终端都视为文件
输入/输出操作与设备独立
5.界面方便高效
内部:
系统调用方便高效
外部:
shell命令灵活方便可编程
应用:
GUI清晰直观功能强大
6.安全机制完善
口令,权限,加密等措施
抗病毒结构
自动恢复
7.支持多国语言
有几十种语言
8.网络和资源共享
内部:
多进程易于资源共享
外部:
支持多种网络协议
9.系统工具与系统服务
100多个系统工具,即命令,完成多种功能
系统服务用于系统管理和维护
UNIX的密码输入的时候在屏幕上是没有任何显示的,这种措施提高了安全级别。
退出系统的命令:
$exit
还可以用logout命令退出系统,同时,也可以【CTRL+D】退出系统。
退出系统以后又回到了登陆屏幕。
UNIX系统启动过程
首先boot程序引导程序转入操作系统的内核=》启动硬件检查=》安装根文件系统,即root文件系统=》形成0#进程=》形成子进程,由这个子进程对应的父进程是一个sweep进程,也就是交换进程=》由0#进程的子进程产生一个1#进程,即init进程=》执行inittal这个程序=》初始化各个端口=》产生一个getty进程,由该进程产生login的提示符
登陆以后,此时退出,系统交给getty进程,又会出现loggin提示符。
UNIX系统组成
内核:
是UNIX系统的核心,与硬件交互,常驻内存;
驻留模块:
完成输入/输出,文件,设备和处理器时钟的管理,常驻内存;
系统工具:
即是通常说的shell,是UNIX系统的一部分,是用户与UNIX系统交互的接口。
常驻磁盘,在用户登录时调入内存。
UNIX的外部运行环境
终止正在执行程序的快捷键:
Ctrl+C或Del或Break
当出现$时,表明程序执行已经终止。
$finger用户名,命令:
显示一个用户的详细信息。
$clear命令:
执行清屏动作。
$echohelloworld,命令:
将命令后跟的参数helloworld显示到屏幕上。
$banner命令:
把参数以大字的的方式显示在屏幕上,有些版本的系统不支持此命令。
$wc命令:
统计文件的行数,单词数和字符数,该命令的格式:
$wc【-c】【-l】【-w】filename
其中:
【-c】计算字符的数目;
【-l】计算行的数目
【-w】计算单词的数目
联机手册命令$man:
查看帮助,该命令格式:
$manwho
注意:
退出联机手册命令:
q
联机手册命令:
$manwho作用:
命令who的详细用法;
Shell的基本功能
1.命令解释器
2.程序设计语言
每一个登录的用户,都有一个独立的shell与之对应,解释其键盘命令。
Shell的分类:
1.程序名为sh,提示符为$
2.程序名为csh,提示符为%
3.程序名为ksh,提示符为$
另外,还有超级用户提示符:
#
退出shell:
Exit是退出第一种shell;
Logout退出csh;
Ctrl+d退出各类shell。
其中,EXIT和logout是正规退出系统的命令,执行时通常包括了很多善后的工作,而ctrl+d没有这种功能。
UNIX通信
UNIX的通信系统包括内部通信系统和外部通信系统两种。
内部通信系统:
unix系统自带的用于本机内部各用户之间通信的系统;
外部通信系统:
用于unix系统配置之外的通讯系统,主要用于本机用户与其他主机上的用户之间的通讯。
半双工即时通讯命令:
write
命令格式:
writeusername【terminal】
作用:
为已登录的用户进行通讯。
如果这个用户被多个人使用,通讯时应该指明终端号。
退出键:
write命令的退出键是ctrl+d
协议:
单条消息结束用o表示结束;
整个谈话结束用oo表示结束
消息开关命令:
mesg
命令格式:
$mesg[-y][-n],其中y表示打开状态,可以接受消息;n表示设置关闭,不能接受消息
作用:
查询和开关本终端的消息接受状态。
全双工即时通讯命令:
talk
该命令与write不同的是:
消息双方必须都向对方发出talk命令才可以互通消息。
广播信息命令wall:
可以向当前系统中所有登录的用户发出广播消息;另外,普通用户的wall发出的消息只能被消息接收状态为打开的用户所接收,而超级用户的wall发出的消息不受此限制。
电子邮件:
两种邮箱:
系统邮箱个人邮箱
系统邮箱:
目录/usr/mail或/var/mail下,每个用户都有一个以用户名命名的邮箱,该用户的邮件都放在该邮箱里,用户可以从该邮箱里读取邮件,例如用户名为abc的邮箱为/var/mail/abc
个人邮箱:
通常在主目录(home)下的mbox文件下,用户读过的邮件如果没有删除或转存的邮件就放在此邮箱下,例如用户abc的个人邮箱为:
/home/abc/mbox
发送邮件:
$mail【用户名1】【用户2】……//可以给多个用户发邮件
Subject:
hello!
Hello!
Cc:
Ctrl+d
当向多个用户发送邮件时,可以设置用户别名,语法格式为:
$alias【用户别名称】【用户1】【用户2】【用户3】……
注意:
该别名只在本shell中起作用,退出该shell后就无效了。
给用户名不存在的用户发邮件,命令会正常执行,但是邮件会被退回保存到主目录下的dead.letter下。
Mail格式下的常用命令:
P:
显示本邮件信息
Sfile:
保存邮件
Muser:
给用户user发邮件
D:
删除当前邮件
N:
显示下一封邮件
Q:
退出email,把未删除的邮件保存到个人邮箱中。
R:
回复邮件
!
:
执行shell命令
?
:
系统mail的内部命令。
$date作用:
显示当前的日期和时间;
$cal作用:
查看月历,默认是查看当月的月历;
$who作用:
显示当前的所有已经登陆的用户情况,包括终端号和登陆时间;可以用该命令检查某个用户的状态;
当命令行输入错误还没有按下换行符时,可以使用BackSpace或Ctrl+h删除当前的字符,输入正确的字符;推荐使用Ctrl+h,因为兼容性更好,可以删除一整行。
当要终止正在执行的程序时,可以CTRL+C或del或break,出现命令提示符$,表明程序终止执行。
UNIX系统的文件系统
文件系统分三类:
普通文件:
文本数据或代码数据;没有内部的格式。
目录文件:
将所有内容组织成一个表:
目录内文件名的列表。
设备文件:
代表系统中的设备,存放在/dev目录中。
文件的概念
数据的集合;
字符流,或字节流;
操作系统不对任何文件结构化;
在UNIX中,文件是字节序列。
路径名
有斜杠“/”分割的由目录名组成的一个序列,它指示找到一个文件必须经历的目录。
路径有两种类型
全路径,也叫绝对路径,它是由根目录开始的路径;
相对路径:
由当前目录开始的路径。
其中,.表示当前目录,..表示上级目录,也叫父目录。
与目录有关的常用命令
PWD:
用于显示当前所处的工作目录的目录名,总是返回的当前目录的完全路径名。
CD:
从一个目录改变到另一个目录
如果不带参数,直接返回到主目录
CD..改变目录到父目录中
mkdirdir_name:
创建目录
如果带参数m,表示创建一个带特殊权限的目录
创建多级子目录:
mkdir–p
同样的,删除多级子目录rmdir–p可以逐级删除目录
注意:
要删除的目录不为空时,rmdir不起作用
要删除的目录没有写的权限时,rmdir不起作用。
ls:
显示目录下的文件命令
格式:
lsdr_name
ls–a显示目录下的所有文件;文件名以.开头的文件是隐藏文件。
ls–R显示所有子目录的文件。
ls–C以多列形式列表,按列排序;
ls–F如果是目录,文件后加/;如果是可执行文件,文件后加*
ls–l显示目录中文件的详细信息:
ls–m按页宽列文件,以逗号分开;
ls–p如果是目录,文件后加/
ls–r以字母反序列表。
ls–s以块为单位显示文件的大小。
ls-iinode序号将列放在第一列。
-lc显示文件的更新时间:
指文件的inode信息被修改的时间;
-l显示更改时间:
指文件内容被修改的时间
-lu显示访问时间:
指文件被读写的时间
-d显示目录条目的信息。
输出格式:
文件类型,保护模式,链接数,文件所有者,文件所属用户组,文件大小,最后修改时间,文件名。
ls/dev如果列出的是特殊的设备文件:
输出格式:
文件类型,保护模式,链接数,文件所有者,文件所属用户组,主设备号,次设备号,最后修改时间,文件名。
文件类型:
-表示普通文件
d表示目录文件
b表示块设备文件,比如磁盘;
c表示字符设备文件,比如打印机
文件系统的存储结构
UNIX系统可以把一个随机存取的存储介质(如硬盘,软盘等)上的存储空间划分成一个或多个区域,每个区域都可以像独立的物理设备一样单独的去管理和数据存取,这样的存储区域,既是逻辑设备。
在逻辑设备上按照一定的格式进行划分,就构成了逻辑文件系统,简称文件系统。
文件系统的组成
引导块:
系统启动的时候,其中的引导程序在读入和装载操作系统,它不是文件系统的必要组成部分。
超级块:
主要存储文件系统的标题信息,包括文件系统的大小,i节点表的大小,数据区的使用情况等。
I节点表:
其中的每一个表项存放一个文件的静态信息:
大小,类型,属主,索引表,访问权限和修改日期等。
数据存储区:
实际存放数据的地方,以块为单位存取数据。
文件系统的建立
#mkfsspecialfileblocksizegapblocks
其中:
Specialfiel要建立文件系统的逻辑设备名;
Blocksize文件系统块的大小,通常以512字节为一块;
Gap间隔因子,用于提高读写速度
Blocks文件系统的大小,即块数。
文件系统的安装
建立好的文件系统安装时,应该挂接到一个目录下,这个目录通常是根目录下的一个空目录,用户访问该目录时也就访问到了该目录下的文件系统的内容,这个挂接操作叫做安装。
命令
#mountspecialfiledirectoryname
如:
#mount/dev/hd03/mnt
一个文件系统不使用时,可以从安装目录上拆卸下来,该安装目录断开与该文件系统的任何联系,由此可以保护该文件系统不受非法访问。
命令
#umountspecialfile(ordirectoryname)
如:
#umount/dev/hd03(/mnt)
用户访问文件的过程
指定文件名=》找到相关的i节点序数=》访问i节点表=》找到文件的位置=》访问文件中的数据
touch命令
作用:
用来修改文件的访问时间和更改时间,并可创建0字节长度的文件。
格式:
$touch命令参数
使用touch有两个目的:
1.如果命令参数中指定的文件不存在,那么这个文件将被创建;
2.如果命令参数中指定的文件存在,那么这个文件中最后一次的更改时间将被更新为当前时间。
cp命令
作用:
复制文件,备份文件,用户可以把文件从一个目录复制到另一个目录。
格式:
$cpsourcetarget
-i:
如果目标文件存在,请求确认;
-r:
复制目录到新的目录。
mv命令
作用:
把文件从一个地方移动到另一个地方,或给文件或目录改名。
格式:
$mvsourcetarget
ln命令
作用:
给一个已经存在的文件再取一个名,新的文件名和原来的文件名可以处于同一个目录下,也可以不在同一个目录下。
新老文件名都代表同一个文件。
cat命令
作用:
用来显示,创建或合并文件
格式:
$catfilename1filename2
说明:
如果输出的内容超过一屏,则直接定位到最后一屏,当然可以停止滚动,快捷方式:
ctrl+s,恢复滚动的快捷方式为:
ctrl+p
一般情况下,该命令只能显示纯文本文件,否则,可能会显示混乱,甚至锁屏。
more命令
作用:
可以逐屏显示内容,翻屏时space键。
格式:
$moreabc
rm命令
作用:
删除文件;
格式:
$rmfile1file2
说明:
-i删除确认;
-r指定目录,删除目录及目录下的所有文件,即删除整个目录结构。
注意:
用rm命令删除以后无法返回。
lp命令
作用:
打印命令
格式:
$lpfile1file2
说明:
-d在指定的打印机上打印
-m打印完成后,向用户发通知邮件
-n指定打印份数
-s取消屏幕显示信息
-t在文档封面指定打印信息
-w打印完成后,在用户终端显示提示信息。
lpstat命令
作用:
显示打印系统中打印请求和打印状态。
cancel命令
作用:
撤销还未被执行或执行未被完成的打印请求。
例如:
$cancelprint3-1522撤销指定请求号的打印
$cancelprint3撤销指定打印机上的所有打印请求
pr命令
作用:
格式化输出文件
格式:
$prfile1file2
切取文件命令cut
它把文本文件的每一行的一部分显示输出,cut命令选项如下:
-f指定字段的位置
-c指定列的位置
-d指定字段分隔符,缺省的字段分割符是制表符tab
连接文件命令paste
作用:
把文件一行一行的连接在一起,或者把两个或多个文件的域连到一个新的文件里。
选项-d是分隔符,默认是制表符。
文件的权限
概述
UNIX系统是一个多用户的系统,同一时刻,可能有多个用户在工作,那么每一个用户对文件的权限都是不一样的,所以有必要对文件给以权限,便于保护文件。
文件的权限分三类:
读(r)的权限
写(w)的权限
执行(x)的权限
对于普通文件
读权限是指能够查看文件的内容。
写权限是指能改修改和删除文件的内容。
执行权限是指文件当成命令来执行的文件权限,此时该文件必须具有读的权限。
对于目录文件
读权限是指可以查看目录中有哪些文件;
写权限是可以删除和创建新的文件;如果写权限起作用,必须同时有执行权限。
执行权限是指可以通过命令cd进入该目录,或者访问该目录中的文件。
查看用户权限的命令
ls–l
修改文件权限
命令:
chmod
格式:
chmodpatternfilename1filename2
说明:
filename那么要修改权限的文件名,pattern为将改变成的权限,可以有两种形式,字母形式和数字形式。
字母形式也叫字符形式:
由字符类别(u本用户,g同组用户,o其他用户)如何改变(+增加权限,-去掉权限)和权限(rwx)组成。
如
chmodu+xfile1对用户u对file1增加一个执行权限;
chmodo-rfile1对其他用户对file1取消一个读权限。
chmodgo+rfile1同组用户和其他用户对file1增加了一个读权限。
新创建的文件或目录的权限却省值分别为:
文件:
-rw-r—r--644(8进制)
目录:
drwxr-xr-x755
可以通过修改umask值,来修改却省值。
新建文件或目录的umask的默认值为022,默认值022是在/etc/security/user中设置的。
可以更改所有用户的umask值,也可以更改特定用户的umask值。
对于一个新建文件而言,系统不会赋予它执行的权限,故新建文件的最大权限为666.即:
-rw-rw-rw-
对于一个新建目录而言,系统会赋予它执行的权限,即不能进入目录内部的权限,故该目录最大的权限为777即drwxrwxrwx
编辑器程序VI
工作流程
从磁盘文件系统里读取已有文件或创建新的文件到内存编辑缓冲区里进行文件编辑,然后把编辑结果写到磁盘中。
根据编辑器每次处理的单位,可以分为:
行编辑器:
编辑单位为行,命令:
edit或e或ex
屏幕编辑器:
编辑单位为字符,命令为:
vi或v或view
屏幕编辑器VI
分两种模式:
命令模式:
这种模式也是vi的基本工作模式,可以对文件进行粘贴,复制或删除等。
文本编辑模式:
是命令模式下的子模式,在该模式下,除了ESC键外,其他键都可以做为字符输入添加到编辑文本中。
文本编辑完成后,用户通过ESC键返回命令模式下完成其他操作。
进入vi命令模式:
$vifilename
退出vi命令模式:
:
wq并敲回车键,即可返回到shell状态下。
Vi的常用命令
从命令模式进入文本输入模式的命令键:
i:
在光标前插入文本;
I:
在光标的行首插入文本;
a:
在光标后加入文本;
A:
在光标行尾插入文件;
o:
在光标的下一行插入新行;
O:
在光标上一行插入新行;
ESC:
退出文本编辑模式,返回命令模式。
光标移动命令:
方向键:
可以控制光标上下左右移动;
hkjl:
这四个键也可以控制光标上下做有移动;
^:
光标从当前位置移动到本行行首;
$:
光标从当前位置移动到本行行尾;
+:
光标移动到下一行;
-:
光标移到到上一行;
空格键:
光标左移;
退出键:
光标右移;
删除文本命令:
x:
删除光标所在字符;
dw:
删除光标所在词(word)的从光标开始到该词结尾的部分;
D:
删除光标所在位置到行尾部分;
dd:
删除光标所在行;
其中,xdwdd前面都可以加数字,表示同时删除多个单位。
替换文本命令:
字符替换命令r:
把光标所在的字符替换成紧跟在r后面的字符,只替换一个字符。
单词替换命令cw:
把光标所在字符到该单词的结尾部分替换为紧跟在cw后输入的部分,直到ESC键退出结束,注意:
输入的部分不一定与被替换部分等长。
搜索文本命令:
/和?
搜索文本命令/:
键入/后,/出现屏幕的左下角,当输入要查询的字符串后,按下回车键,vi会从当前位置向文件结尾搜索,并停留在第一个位置,按n会继续往下搜索,直至文件的结尾,如果按N,则是向文件头搜索。
搜索文本命令?
:
和命令/完全一样,只是当前位置向文件的头方向进行搜索。
其他辅助命令:
u:
取消最后一次文本修改的命令;
.:
重复最后一次文本修改的命令;
J:
把下一行连接到当前行的行尾;
p:
把最后一次删除的内容粘贴到当前光标之后,光标之后的内容以此往后移动;如果最近删除的是行,粘贴到当前位置的下一行,原当前行的下一行以此向下移动;对一次删除的命令,可以粘贴多次。
退出命令:
:
wq保存文本,退出命令,返回shell;
:
w保存文本,不退出;
:
wfile把文本保存到文件file中,不退出;
:
q退出vi,返回到shell中;如果该命令执行成功,表明文本文件未修改或修改已经被保存,否则程序将给出错误提示,并决绝退出。
:
q!
强行退出vi,不保存被修改的文本;
vi的工作模式和状态转换图
loginexit
date
who
行编辑命令edit
进入行编辑器的方法:
从shell下进入行编辑器:
$edit(或e或ex)file
从vi下直接进入行编辑器:
从命令模式下直接加冒号:
从行编辑器退出,可以敲v或vi命令。
从行编辑器退出到shell状态:
:
wq保存文本,退出命令,返回shell;
:
w保存文本,不退出;
:
wfile把文本保存到文件file中,不退出;
:
q退出vi,返回到shell中;如果该命令执行成功,表明文本文件未修改或修改已经被保存,否则程序将给出错误提示,并决绝退出。
:
q!
强行退出vi,不保存被修改的文本;
常用行编命令(下面m和n为具体数字)
:
n把第n行作为当前行(移动到第n行去);
:
np显示第n行的内容,并把第n行作为当前行;
:
m,np显示第m行到第n行的内容,并把第n行作为当前行;
:
d显示当前行,被删除行的下一行为当前行;
:
nd删除第n行的内容,删除操作后的第n行为当前行;
:
m,nd删除第m行到第n行的内容,删除操纵后的第n行为当前行;
:
a在当前行的下一行开始输入为止。
:
1,$p从第一行到最后一行(整个文本),例如:
:
1,$p显示所有文本;
:
.,$从当前行到最后一行;
:
s/string1/string2/把当前行中的第一个string1字符串替换为字符串string2
:
m,ns/string1/string2/g把从m行到n行中的所有string1替换为string2;
:
rfilename在当前行的后面读入(附加)文件filename的内容;
:
nrfilename在第n行的后面读入(附加)文件filename的内容。
vi命令的其他选项
1.恢复上次的编辑副本
$vi–rfilename把上次已经修改过,由于某种原因意外中断而未被保存的文件filename读入到编辑缓冲区,使编辑工作接着上次继续进行。
2.编辑多个文件
$vifile1file2file3
首先编辑第一个文件,编辑完使用命令:
w保存后用命令:
n则开始编辑第二个文件。
3.编辑加密文件
$vi–xfilename
如果待编辑的文件filename是经过encrypt加密的,则可以使用-x选项回答了口令以后对文本文件进行编辑。
vi除文本编辑之外的功能:
1.可以在vi中执行unix命令(!
ls);
2.命令行编辑功能($set–ovi)
vi编辑器的工作模式
Unix系统组成部分:
shell,驻留模块和内核。
shell简介
●Shell是用户与操作系统间最主要的接口。
●Shell本身一个程序(系统工具),它在用户登录到系统上时即调入内存。
●Shell本身也包含了一些内部命令,这些命令是shell本身的一部分,并被shell在内部解释执行。
●Shell解释用户的命令以启动应用程序,并且使用系统工具来管理用户的数据。
●Shell能够使用户在与前台的进程进行交互时,在后台同时运行多个进程。
●将命令按顺序进行组合,并加上流控制盒变量机制,这样shell能够被用做综合性的编程工具。
Shell的定义和功能
●Shell是提供操作系统内核与用户之间交互的特殊程序。
●Shell的主要用途是翻译提示符后面的命令。
●Shell的另一个重要功能是通过设置shell初始化文件,使用户的工作环境个性化。
●Shell可以作为解释型的程序语言。
用户与shell的交互
●用户登录=》shell显示提示符=》用户输入命令=》shell执行相应的程序=》用户与程序交互=》用户退出(ctrl+d)
●Shell是unix中最常用的系统工具。
它是一个复杂的程序,用来管理用户与unix系统间对话。
Shell的主要特征
Shell是放在/bin目录下的,程序名为sh
●命令执行
●文件名替换
●I/O重定向
●管道
●环境控制
●后台计算
●shell脚本
异字符和通配符
●异字符是shell中有特殊意义的字符。
●异字符有:
<>|;!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UNIX 学习 笔记