ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:30.08KB ,
资源ID:4695734      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4695734.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(unix达内串讲.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

unix达内串讲.docx

1、unix达内串讲Unix串讲文档1、 Unix操作系统: 对比Windows理解。属于操作系统平台,我们的应用软件运行在这个平台上,初期没有图形用户界面,只能通过命令与操作系统交流,用户与系统交流就是通过shell,shell相当于一个翻译器,将用户的需求翻译成相应的系统调用,再由操作系统(kernel)与底层硬件(hardware)交流,完成相应的功能kernel:管理设备、内存、硬盘、CPU,是硬件和程序之间的接口,管理虚拟内存(swap space)、精灵进程和文件系统等。内存=物理内存+交换空间;精灵进程一般是在后台提供服务的进程shell:也是一个程序,是一个与用户交流,使用户可以使

2、用和管理系统中资源的程序,是一个命令解释器,相当于Windows里面的cmd.exe2、 常用Shell的介绍:区别、转换方式等Bourne Shell:即常说的B Shell,它是Unix里面最早的Shell,一般系统管理员使用这个Shell,系统脚本也是使用这个Shell编写的。对于B Shell,超级用户的提示符是#,普通用户的提示符是$,从其它Shell转换到B Shell的方式是在命令行上输入sh回车C Shell:C语言实现的Shell,加入了很多B Shell里面没有的功能,如历史命令和别名功能,C Shell和B Shell在脚本程序的语法以及环境变量设置语法等上面不兼容。超级

3、用户的提示符是#,普通用户的提示符是%,从其他Shell转换到C Shell的方式是在命令行上输入csh回车Bourne-again Shell:对B Shell的扩展,能够通过上下键取回使用过的命令,能够通过tab键快速匹配命令或文件名。超级用户的提示符是#,普通用户的提示符是$,从其他Shell转换到Bourne-again Shell的方式是在命令行上输入bash回车不同的Shell在命令、环境变量设置的语法等方面都可能有区别,见后面环境变量部分3、 登录、退出、用户切换:输入的密码都没有回显telnet协议:使用telnet ip port可以登录到一个开放的服务器,如:telnet

4、172.16.0.6 23,端口可以不写,缺省是23,或者只输入telnet命令,再输入open ip port的方式也可以登录远程登录协议:使用/usr/bin/rlogin命令,rlogin ip -l username的方式,如:rlogin 172.16.0.6 -l openlab,输入密码,也可以登录开放的服务器,如果没有-l选项,则默认以当前用户登录到其他服务器上su命令:切换用户,命令格式su - username,(注意-号后面的空格)在普通用户下输入su命令,则默认切换到root用户,如果希望切换到某个用户,需要加上用户名,如:su openlab;如果当前用户是root,

5、则切换到其他用户不需要输入密码,普通用户切换,需要密码;-的含义,如:su - openlab,登录后会使用openlab的环境设置,并且转换到openlab的主目录;还可以使用某个用户的权限执行某个命令,如:su - openlab -c ls -l,此方式只以openlab的环境和权限执行后面的命令,并不完成转换用户的功能退出:使用logout,要求是登录shell,即不能切换shell;使用exit,会退出每一层切换的shell,直到退出服务器;使用ctrl+d也可以退出,ctrl+d的含义是终止终端输入4、 系统文件/etc/passwd:存储用户账号的基本信息,如:openlab:x

6、:104:1:/user/openlab:/bin/csh,一个账号的信息以:分隔,格式为 用户名:密码占位符:用户的uid:用户的gid:用户的基本描述信息(如邮箱等):用户登录时的主目录:用户登录时默认的Shell。每个用户的信息占用一行/etc/shadow:存储用户密码加密后的信息,如:openlab:kO0xoLuG0wpo2:14175:,第二个位置就是用户加密后的密码。此文件在默认情况下只有root有读权限用户在登录时,系统会根据输入的用户名和密码到这两个文件中验证,如果验证失败,则不允许登录/etc/group:存储组信息,如:adm:4:root,daemon,格式为 组名:

7、密码:组id:组内用户列表。一个用户可以属于多个组,每个组也可以有多个用户/etc/.login和/etc/profile分别为C Shell和B Shell的系统初始化环境文件,具体内容看环境变量部分/var/adm/wtmpx和/var/adm/utmpx均为Unix系统用户登录退出信息记录文件,wtmpx存放曾经登录的记录(用last查看),utmpx存放在线的用户(用who查看);/var/log/wtmp为Linux系统用户登录退出信息记录文件。该文件会记录用户的登录名、进程id、设备名、终端号、入口类型(7为登录,8为退出)、登录或退出时间、用户登录的ip地址等。last命令可以读

8、这些文件,并以用户可以看懂的方式输出,如:last -f /var/adm/utmpx,-f选项可以指定某个文件5、 文件系统在安装Windows时,我们需要给硬盘分区、格式化、将系统安装在C盘上,可以有多块硬盘,分区后的盘符与C盘并列;Unix系统与Windows也有相似之处,只是Unix系统是一个树状结构,有一个/路径,其他的分区都挂载在/下的某个目录上而已(见df k 命令结果)。当一块硬盘被系统认出后,就会给这块硬盘起一个名字,方式为/dev/dsk/c0t0d0,c表示控制器号,t表示目标号,d表示盘符,其后面跟着的三个数字联合唯一表示一块硬盘,新的硬盘需要通过format命令进行分

9、区,分区后会变成/dev/dsk/c0t0d0s*,Solaris系统可以划分为s0-s7,其中s2表示整块硬盘,不能使用,所以最多7个分区,分区号不需要连续;再通过newfs命令创建文件系统(相当于格式化),目的是划分block(如datablock、i-node block等),以便于向系统申请空间时可以根据不同类型申请不同的block;最后通过mount命令挂载其它分区到根文件系统下的某个目录上,不同硬盘的不同分区就这样组织起来了6、 i-node每个文件系统都有一张i-node表,这个表是在newfs时生成的,里面存放的是i-node,一个i-node占用一个i-node-block。

10、每当我们向系统申请空间创建一个文件的时候,系统就会从i-node表中申请一个i-node, i-node也是文件查找的依据,如ppt中演示的执行cat /etc/passwd的过程。对于文件来说,它的datablock中存放的是文件的内容,而对于目录来说,它的datablock中存放的是文件名和i-node的对应关系ls -i 查出文件和目录的inode号,顺便解释软硬连接:ln file1 file2 硬连接:在inode文件中增加一条记录,指向同一文件,当硬连接数大于1的时候,删除文件只的删除了文件名到inode的一条对应关系。文件内容没有删除。硬连接文件是一个存在的文件ln s file

11、1 file2 软连接:在文件中保存另外一个文件的位置,磁盘中会生成俩个inode号。软连接文件是一个类型为l的文件:lrwxrwxrwx aa-a.txt7、 常用命令,只做介绍,更多内容请参见man手册mkdir -p 创建一个或多个目录 创建目录:mkdir 目录名 创建多个目录:mkdir 目录1 目录2 参数:-p可以纵向创建多层目录,如:mkdir -p a/b/ccd 路径 改变当前目录 :波浪号,代表当前用户的主目录 绝对路径:由根(/)开始的路径 相对路径:默认是当前路径,不以/开始rmdir 目录名 删除空目录,该命令只能删除空目录rm -rfi 删除文件或目录 -r:删除

12、一个目录 rm -r 目录名(目录可以不为空) -i:显示交互提示信息 -f:强制删除(包括被保护的文件) pwd 显示出用户当前工作目录的绝对路径 touch 改变文件的最后一次访问和最后一次修改时间,如果文件不存在,创建新的空文件 touch file1 file2 ls -aAdFilRtu 察看当前工作目录下的文件和目录 -a:显示所有文件或目录,包含所有以.开头的隐藏文件 -A:显示所有文件或目录,包含隐藏文件,但不显示.和. -d:如果参数是目录,则显示目录名,常与-l一起使用 -F:可以显示文件类型 *:可执行文件;/:目录;:软链接文件;=:socket文件;|:表示管道文件(

13、mkfifo);什么都没有表示普通文件 -i:显示文件的i节点数 -l:以长列表形式显示文件,如:-rw-r-r- 1 openlab other 898 8月19日 20:34 .cshrc,包括:文件类型、权限、硬链接数、属主、属组、大小、最后一次修改时间、文件名类型和权限以类似于drwxr-xr-x形式给出,第一位表示类型,可能的值有d(目录)、l(软连接文件)、b(块设备文件)、c(字符设备文件)、p(管道文件)、s(socket文件)、-(普通文件);后九位表示权限,三位一部分,表示所有者、同组、其他人的权限;对于硬链接数部分,如果是文件代表的是硬链接数,如果是目录,代表的该目录的子

14、目录数加2,这个2的含义是两个隐藏目录,.和.;此外,对于文件和目录的读写执行权限还需要特别说明,对于目录来说,读权限代表ls,写权限代表可以在目录中创建、删除文件,即对目录的datablock内容进行修改,执行权限代表可以cd进入目录-R:显示递归(recursive)列表,显示所有子目录的目录结构 -t:按最后一次修改时间顺序显示 -u:最后一次访问时间 chmod 更改文件权限,有符号法和八进制法。必须是文件的所有者或root 符号法:chmod u|g|o|a +|-|= r|w|x filename u 表示用户本人;g 表示同组用户;o 表示其他用户;a 表示所有用户 + 给予权限

15、;- 取消权限;= 将所许可的权限赋给文件 r:可以查看文件的内容,对目录来讲,可以查看目录内的内容 w:可以修改文件,对目录来讲,可以在里面建立、删除文件 x:文件可以运行,对于目录来讲,可以cd进去 还支持这样的语法:chmod o=u file,表示file文件其他人的权限赋值为u的权限八进制数字法:此方法用三位八进制数表示权限,每位数字分别表示用户本人、同组用户、其他用户的权限,其中: 4(100)表示可读;2(010)表示可写;1(001)表示可执行644 是文件常用的权限、755是目录的常用的权限,也往往被设置为默认的权限,当我们创建一个文件或者目录时,这个文件或者目录的权限,是与

16、用户自己umask值设置相关的,文件创建后的权限会用666和umask值做运算,目录创建后的权限是777和umask值做运算umask:权限掩码 eg:22 ww 掩盖掉其他和同组人的权限022 所以文件666应该设置为644 目录777应该设置为755 改变掩码:执行命令:umask 066 或者:在初始化文件中设置 权限和掩码的运算不所单纯的减运算。 chown -R username fileName|dirName 修改文件或目录的所有者,只有属主或root用户有此权限-R 表示改变目录所有者的同时,改变其所有子目录的所有者,如:chown -R openlab filename mv

17、 -i 移动和重命名 移动:mv 文件名 文件要移动到的目录 mv 目录1 目录2 把目录1整体移动到目录2下 改名:mv a.txt b.txt 给a.txt改名为b.txt,如果b.txt存在,则内容变为a.txt的内容 -i 提示是否覆盖已经存在的文件cp -ri 复制文件或目录cp file1 file2 源文件一定要存在,如果file2存在,file2的内容会被file1内容覆盖,如果不存在,会创建一个名字是file2的file1拷贝。 -i:cp -i file1 file2 如果file2存在,-i选项会按提示进行拷贝文件 -r:cp -r dir1 dir2 对目录做备份 如果

18、dir2不存在,则按原来的目录结构一样做备份,如果dir2存在,原目录变成目标目录的子目录cat fileName 显示文件内容,当文件内容在屏幕上滚动显示时,可按ctrl+S键暂停滚屏,按ctrl+Q继续,用此命令不会分屏显示。一般用这个命令查看小文件,或者将几个小文件连接成一个大文件,如:cat a.txt b.txt c.txt d.txt more fileName 分屏显示文件内容,显示时各功能键如下: space或f:继续下一屏的输出;b:返回上一屏;enter:看下一行的输出; q:退出显示文件内容;/字符串:查询字符串所在处;n:查找下一个file name* 显示文件类型,按

19、照文件内容推测文件类型,比较准确 head -n 显示文件头几行内容,缺省显示10行 -n:表示显示文件行数,如:head -n 10 /etc/passwd 或者 head -10 /etc/passwd tail -n -f 显示文件尾部,缺省10行,可用于跟踪文件增长过程 -n:显示文件最后n行;+n:从文件的第n行开始显示;-f:设置实时刷新,可用来做日志监控 who 查看当前登录用户,显示登录名、伪终端号、登录时间、登录ip w 查看当前登录用户,显示的信息比who更详细,具体显示含义使用man查询 -h:不显示起始行;-s:按短格式显示 users 显示当前登录的用户名列表 id

20、-a user 查看当前用户有效身份、用户id、组名、组id,加-a选项会显示用户属于的所有组加了用户名,如:id -a openlab,可以显示openlab帐户的信息whoami 显示用户有效身份who am i 显示用户真实身份,讲解时使用su命令whereis 确定一个命令的二进制行码、源码及联机手册所在的位置:whereis 命令名 which 显示命令名的路径或者alias,如:which 命令名 clear 清屏 ln -s 创建软、硬链接 ln file1 file2 给file1创建一个硬链接名字为file2,实际上是增加了一个文件名和i-node的对应关系,修改目录的dat

21、ablock中的内容,如果做删除文件操作,会检查文件的硬链接数,如果文件的硬链接数为1,则收回文件的datablock和i-node-block,否则仅删除一个对应关系 ln -s file1 file2 给file1(file1可以是目录)创建一个软链接,名字为file2,实际上申请了新的i-node和datablock,datablock中的内容存放的是file1的名字,如果删除了源文件,就释放了datablock,软链接文件不能找到原始文件软链接可以跨文件系统,硬链接不可以;链接文件可以解决操作系统版本问题,如某版本的可执行程序在/usr/bin目录下,而新版本的可执行程序放在/bin目

22、录下,相同的命令放两份是资源浪费,这时可以使用链接文件解决,将/bin链接到/usr/bin目录上。Linux系统的启动器和Windows中的快捷方式完成相同的功能,可以创建一个启动器,用vi打开这个文件查看它的内容,里面记录的是命令名、版本、图标等相应的信息,双击一个启动器可以访问这个程序,双击一个链接文件不能达到相同的目的,链接文件是在没有图形界面的时候就出现了,当时没有快捷方式的概念。链接文件可以使我们管理文件时方便,常用的深目录文件可以通过链接文件实现管理的方便,但是这样会造成树状结构的目录变成网状 df -hk 显示磁盘空间的使用情况,包括文件系统安装的目录名、块设备名、总字节数、已

23、用字节数、剩余字节数占用百分比等。 -k:显示磁盘空间使用信息 -h:以G、M、K等方便人阅读的方式显示 du -hks 统计磁盘使用情况 -k:当前目录下和所有子目录空间占用情况,以千字节方式显示 -h:以G、M、K等方便人阅读的方式显示,低版本系统可能不支持 -s:统计总的块数(block),1个block是512bytes grep -iv 过滤功能,把包含这个串的行输出来,可以使用正则表达式,实现过滤用 | grep 例:ls|grep a 把含有a这个字符的文件名和目录列出来 -i:忽略大小写 -v:找出不能匹配的行 xargs 建立参数表并执行命令。在使用find命令的-exec选

24、项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行。但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出现溢出错误。错误信息通常是“参数列太长”或“参数列溢出”。这就是xargs命令的用处所在,特别是与find命令一起使用。find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。 例:#find . -type f -print | xargs file wc -lwcC 对行、单词、字符进行统计 -l

25、:以行为单位统计 -w:以单词为单位统计 -c:以字节为单位统计 -C:统计字符个数 date 显示或设置日期和时间,只有超级用户才有权限设置日期 cal 用来显示某年内指定的日历 cal month year 例:cal 1998 passwd -d username 修改或删除登录口令,-d需要root权限,可删除指定账号的密码,解锁账号 echo 回显字符和查看环境变量值 回显:echo 要显示的字符,如:echo AAA 查看环境变量值:echo $环境变量名,如:echo $PATH | 管道符,连接两边的命令,把前一个命令的输出,作为下一个命令的输入 例:ls -l | grep

26、d,列出所有目录的详细列表 输出重定向:可以把一个命令的输出重定向到一个文件里,如果文件存在,覆盖源文件 追加:把一个命令的输出追加到一个文件里,文件不存在则创建man 格式化察看帮助手册,常用操作如下:(可能由于版本问题,部分命令不可用) 1) 空格: 翻向下一页 2) 回车: 看下一行 3) f : 翻页(功能同空格) 4) b : 往回翻页 5) / 字符:查找指定的字符串(按n可以继续进行查找) 6) q : 退出帮助手册 手册是分节的,可以使用-s节号来指定查询哪个节的内容,如:man -s2 read。常用的系统命令都在节1中,节2中一般是系统调用,节3中是c的函数等等find 查

27、找文件 语法:find 路径 查询条件 find是精确匹配:find . -name file1 模糊匹配为:find . -name file* -name:按文件名查找 -mtime 10 修改时间距今10天的文件,+10大于10天,-10小于10天 -size +400 表示文件大小超过400个block -type f 只查找普通文件crontab -elr username File 定时服务,系统会定时执行用户配置的任务username:是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表

28、示设定自己的时程表 -e:设置定时任务(回车后进入vi模式) -l:查看有哪些定时服务-r:删除目前的任务表配置的任务文件格式是:* * * * * 指令;每位表示的含义是:分钟(0-59);小时(0-23);日期(1-31);月(1-12);星期(0-6,0表示周日)例:26 17 * * 5 ls -l test.txt,表示每到周五的17点26分,执行命令ls -l test.txt查看结果:mailxalias 用户可以将常用的命令用自己习惯的名称来重新命名,不同的Shell语法不同 C Shell:alias dir ls -F;Bourne Shell:alias dir=ls -

29、a8、 进程相关命令(了解)/usr/bin/ps -ef -U uid 列出系统当前运行的状态 -f:详细列表(UID:启动进程的用户;PID:进程号;PPID:父进程号;STIME:进程开始时间;TTY:进程和哪个终端相关;TIME:进程累计使用CPU时间;CMD:进程运行的命令) -U uid:列出某个用户或用户id相关的进程 -e:列出所用进程 无参数:列出当前终端相关的进程/usr/ucb/ps -auwx 列出系统进程,比/usr/bin/ps更详细 -a:所有进程;-u:显示USER、%CPU等信息;-w:使用宽格式输出;-x:包括无终端控制的进程 USER:进程属于谁 PID:

30、进程号 PPID: 父进程号。 %CPU:累计使用的CPU %MEM:占用的memory,百分比 SZ:进程的地址空间大小size RSS:resident set size驻留集大小 TT:终端号S:进程的状态(R可运行状态;O正在运行;S休眠Sleep;T是进程挂起,相当于暂停;Z是僵尸进程,Solaris中僵尸进程的进程名是) START:启动时间 TIME:累计使用时间 COMMAND:执行的命令prstat 实时显示当前系统中所有进程,退出使用qkill -signal pid 向进程发送信号,只有root和所有者有权限 -signal是一个信号,pid为进程号。kill -l可以列

31、出系统支持的所有信号,前面的数字就是signal的值 如,kill -9 1230,向1230号进程发送SIGKILL信号 kill 1230,向1230号进程发送SIGTERM终止信号。SIGKILL信号不能被捕获忽略,SIGTERM可以捕获忽略pkill 进程名 终止所有与进程名匹配的权限之内的进程sleep n 休眠n秒后退出,会占用当前终端,使用ctrl+c可以退出。ctrl+c终止前台的一个程序ctrl+z 使前台运行的一个程序挂起& 将进程放在后台运行,如:sleep 1000&jobs -l 列出所有工作的状态,-l参数可以显示工作的进程号 +表示最近的作业,-表示先前的作业fg %job_id 将工作号是job_id的工作转到前台bg %job_id 将工作号是job_id的工作转到后台运行,一般在挂起之后做这个操作stop %job_id 使后台工作号是job_id的工作挂起

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1