Linux操作系统简单Shell.ppt
- 文档编号:1397886
- 上传时间:2022-10-22
- 格式:PPT
- 页数:35
- 大小:262.50KB
Linux操作系统简单Shell.ppt
《Linux操作系统简单Shell.ppt》由会员分享,可在线阅读,更多相关《Linux操作系统简单Shell.ppt(35页珍藏版)》请在冰豆网上搜索。
AcegeneITCo.Ltd.,1,Linux操作系统shell和常用命令,AcegeneITCo.Ltd.,2,内容提要,1shell2进程和shell命令行2常用命令,AcegeneITCo.Ltd.,3,1、使用SHELL,1.1什么是Shell1.2系统中有几种Shell1.3Shell脚本,AcegeneITCo.Ltd.,4,1.1什么是Shell,shell提供了一个到Linux操作系统的界面以方便运行程序。
事实上,shell也只不过是另外一个Linux操作系统程序而已。
shell是一个命令解释器,它可以用来启动、挂起、停止甚至编写程序。
shell是Linux操作系统的一个整体组成部分,也是Linux操作系统和UNIX设计的一部分。
AcegeneITCo.Ltd.,5,1.1什么是Shell,如果把Linux操作系统的内核想象成一个球体的中心,那么shell就是包围内核的外层。
从shell或其他程序向Linux操作系统传递命令的时候,内核就会做出相应的反应。
用户Shell配置的位置/etc/passwd,AcegeneITCo.Ltd.,6,1.2shell,这种shell的内建命令都有哪些?
怎样进行任务控制?
这种shell是否支持命令行编辑?
这种shell是否支持命令行历史记录?
什么是它的重要的开机启动文件或者配置文件?
各个shell的重要环境变量有哪些?
可以使用什么样的命令行提示符?
它支持什么样的编程框架?
AcegeneITCo.Ltd.,7,1.2系统中有几种Shell,ash袖珍的sh兼容的shell由KennethAlmquist编写的ashshell是Linux操作系统上尺寸最小的shell之一。
这个shell有24个不同的内建命令和10个不同的命令行参数。
bashBourneAgainShell(与ksh和sh兼容)bash就是由BrianFox和ChetRamey编写的BourneAgainShell,它是Linux操作系统上最流行的shell之一。
csh对tcsh的一个符号链接kshpdksh,公共域Korn(与ksh兼容)shellpdkshshell在Linux操作系统中叫做ksh。
这个shell和商业化UNIX中的版本几乎是完全兼容的。
sh对bash的一个符号链接tcsh与csh兼容的shellzshZ-shell,一个与csh、ksh、和sh兼容的shell,AcegeneITCo.Ltd.,8,1.2.2bash,bash就是由BrianFox和ChetRamey编写的BourneAgainShell,它是Linux操作系统上最流行的shell之一。
它有48个内建的命令和十多个命令行参数。
可以使用方向键查阅以前输入的命令(历史记录功能)可以对某个命令行进行编辑敲入命令的一部分然后再按下Tab键获得其他部分自动执行脚本初始化设置文件/etc/rc/etc/bashrc/etc/profile用来设置全局(对所有用户都起作用的)参数,比如环境变量或者在第一次登录进入的时候给你发送一条消息(比如一条欢迎标语)。
用户子目录中的.bashrc登录文件控制bashshell启动运行方式或者对不同的击键(如退格键)的响应;用户子目录中.bash_profile文件,通知shell在用户登录后系统应该使用哪一个资源文件。
AcegeneITCo.Ltd.,9,1.3建立Shell命令脚本程序,shellscript(脚本文件)编辑文件将其所有命令写入到该文件中,添加执行权限将该文件设置为可以执行运行,AcegeneITCo.Ltd.,10,2Shell命令行和进程,2.1对shell进行定制设置2.2进程管理2.3使用重定向和管道,AcegeneITCo.Ltd.,11,2.1对shell进行定制设置,shell包含了“环境变量”重要的就是$PATH变量$PS1变量alias命令显示环境变量printenvenvset环境变量由资源文件预先定义bashshell全局性系统环境变量的资源文件/etc/rc/etc/bashrc/etc/profile用户定制的系统环境变量/.bashrc/.bash_profile,AcegeneITCo.Ltd.,12,2.2进程的定义,Linux是一个多用户多任务的操作系统。
多用户是指多个用户可以在同一时间使用计算机系统;多任务是指Linux可以同时执行几个任务,它可以在还未执行完一个任务时又执行另一项任务。
Linux用分时管理方法使所有的任务共同分享系统资源。
进程:
Linux系统上所有运行的程序都可以称之为一个进程。
进程的一个比较正式的定义是在自身的虚拟地址空间运行的一个单独的程序。
进程与程序是有区别的,程序只是一个静态的指令集合,不占系统的运行资源;进程不是程序,虽然它由程序产生。
进程是一个随时都可能发生变化的、动态的、使用系统运行资源的程序。
而且一个程序可以启动多个进程。
AcegeneITCo.Ltd.,13,2.2在后台运行程序,后台运行程序的意思是这个命令继续在内存中执行,而在这同时shell命令行的控制权已经返回到了控制台。
对巨型文件进行排序或者对子目录和其他类型的文件系统进行搜索等等操作都是可以放到后台去执行的好例子。
运行一个进程命令格式:
进程名&nohup进程名&,AcegeneITCo.Ltd.,14,2.2报告进程状况PS,ps命令是进程查看命令。
ps命令语法格式如下:
psoptionpsaxps-ef常用选项说明如下:
-e:
显示所有进程。
-f:
全格式。
-u:
打印用户格式,显示用户名和起始时间。
ps重要的输出字段USER进程所有者的用户名PID进程号STAT进程状态,常见的值有:
R:
可执行的。
S:
睡眠状态。
Z:
僵尸。
I:
空闲。
AcegeneITCo.Ltd.,15,2.2结束进程kill,结束进程的办法有:
组合键:
当需要中断一个前台进程的时候,通常是使用组合键;kill命令:
该命令可以终止后台进程。
kill命令的语法格式很简单,大致有以下两种方式:
kill-s信号|-p-a进程号kill-l信号命令中的参数说明如下:
-s:
指定需要送出的信号。
既可以是信号名也可以对应数字。
-p:
指定kill命令只是显示进程的pid,并不真正送出结束信号。
-l:
显示信号名称列表,这也可以在/usr/include/linux/signal.h文件中找到。
AcegeneITCo.Ltd.,16,2.2休眠进程,sleep命令可使当前正在执行的进程在规定的时间内处于睡眠。
其使用的语法格式为:
$sleeptimetime为进程将睡眠的时间,以秒为单位,AcegeneITCo.Ltd.,17,2.3使用重定向和管道,重定向操作符:
helphelplist.txthelphelplist.txt管道:
|psax|grepftpd|wc-l例子:
find/home-name*.doc|xargsfgrepadministration|lessfind*.doc|xargscat|trn|sort|uniq|teedict|less,AcegeneITCo.Ltd.,18,3、常用命令,3.1使用man命令获得帮助3.2浏览及搜索文件系统3.3阅读子目录及文件其他命令df、date、who、cp、mv、rm、mkdir、wc、vi、gcc、ln、nohup、nice、passwd、echo、mail、talk、du、grep、chown、chgrp、chmod、uname,AcegeneITCo.Ltd.,19,3.1使用man命令获得帮助,man可以得到几乎所有命令的有关信息,包括man命令本身。
#manmanLinux操作系统发行版本也为几乎每个程序、工具、命令或系统编程调用编制了使用手册页。
存放在/usr/man的子目录下。
man命令的使用手册页文件被命名为:
/usr/man/man1/man.1.gz,AcegeneITCo.Ltd.,20,3.2浏览及搜索文件系统,3.2.1使用cd命令进入不同的目录3.2.2使用pwd命令查看自己所在的位置3.2.3使用find命令在子目录中搜索匹配的文件3.2.4使用whereis命令查找文件3.2.5使用locate命令定位文件3.2.6使用whatis和apropos命令获取命令简介,AcegeneITCo.Ltd.,21,3.2.1使用cd命令进入不同目录,输入cd命令,后面跟着一个路径名,就可以直接进入到另外一个子目录中去#cd/usr/bin#cd.#cd./.你总能够用下面的命令回到自己的用户子目录(也就是保存自己文件的子目录):
#cd或者#cd,AcegeneITCo.Ltd.,22,3.2.2pwd命令查看所在位置,pwd(显示工作子目录)命令告诉你自己所在的位置,并显示当前工作子目录。
例如,执行命令:
#cd/usr/bin接着输入:
#pwd会看到:
/usr/bin注意:
pwd有内置命令和外部命令,AcegeneITCo.Ltd.,23,3.2.3用find在子目录搜索文件,find命令在硬盘驱动器上查找文件。
-name按名字查找。
比如说,如果想查找子目录/usr中的spell命令,可以采用下面的方法:
#find/usr-namespellprint-atime按照日期查找文件,或者可以指定一个日期范围。
例如查找最近一百天没有使用过的程序:
#find/usr/bin-typef-atime+100print-mtime按修改时间查找,如查找建立不到一天的新文件或者二十四小时内修改过的文件:
#find/usr/bin-typef-mtime-1print-xdev按Windows分区查找,xdev参数把查询操作限制在当前的文件系统之中,检索子目录下所有以.sys结尾的文件:
#find/mnt/dos-name*.sys-printxdev,AcegeneITCo.Ltd.,24,3.2.4使用whereis命令查文件,whereis命令可以迅速地找到文件,而且提供二进制可执行文件、源代码文件和使用手册页存放的位置。
例如:
#whereis(-b)findfind:
/usr/bin/find/usr/man/man1/find.1.gz,AcegeneITCo.Ltd.,25,3.2.5使用locate命令定位文件,文件名数据库(updatedb)locate命令在文件名数据库中检索文件名检索要比搜索整个硬盘驱动器要快#locate*.ps,AcegeneITCo.Ltd.,26,3.2.6whatis和apropos命令简介,whatis命令:
从程序使用手册中抽出介绍例如:
#whatiswhowho
(1)-showwhoisloggedonmakewhatis创建数据库apropos命令:
查找可以执行某个操作的程序man-K:
实现apropos命令同样的功能其搜索过程会很慢,搜索结果给出的是每个含有匹配字符串的使用手册页。
AcegeneITCo.Ltd.,27,3.3阅读子目录及文件,3.3.1使用ls/ll命令列出子目录的内容清单3.3.2使用dir和vdir命令列出子目录的内容清单3.3.3使用cat命令列出及合并文件3.3.4使用more命令阅读文件3.3.5使用less命令浏览文件3.3.6使用head或tail命令阅读文件的开头和结尾,AcegeneITCo.Ltd.,28,3.3.1ls:
列出子目录的内容清单,ls:
列出子目录内容清单常用参数:
-l长文件名列表-a显示所有文件(包括隐含文件)-m把文件用逗号分隔显示在一行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 操作系统 简单 Shell
![提示](https://static.bdocx.com/images/bang_tan.gif)