Linux 课程总结.doc_第1页
Linux 课程总结.doc_第2页
Linux 课程总结.doc_第3页
Linux 课程总结.doc_第4页
Linux 课程总结.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux 课程总结 Linux与IDL课程总结Part I.Linux第一章.引言 一、Linux的发展1.IDL的全称是Interactive DataLanguage交互式数据语言2.Unix是多用户、多任务操作系统,1969年由AT&T的贝尔实验室开发,具有以下特点技术成熟、可靠性高、网络和数据库功能强、开放性好。 发展出SCO、SUN Solaris、BSD、FREEBSD、MINIX、OPENBSD、NETBSD等多个分支。 1990年芬兰黑客发展处LinusMinix,改名Linux。 Linux是一种类Minix系统、可使用、遵循GNU的自由软件和开放源代码精神、狂热的个人爱好。 3.Linux内核示意图计算机系统硬件软件Linux术语中被称为“内核”操作和控制硬件完成工作的软件,成为操作系统,在。 Linux内核模块主要包括以下11个部分系统启动、进程管理、中断管理、内存管理、设备驱动程序、文件系统、虚拟文件系统接口、模块管理、进程间通信、网络管理、定时器。 4.Linux内核版本号以2.4.0为例,2代表主版本号、4代表次版本号(该位如果为偶数则为稳定版、奇数为测试版)、0代表较小改动的末版本号。 如果稳定版发展成熟后,序号第三位不再发生变化。 5.Linux的发行版本需要包括Linux系统内核、外围应用程序软件和文件包、系统安装界面、系统配置、设定与管理工具。 Linux的发行版本号随着发布者不同而不同,它与Linux系统内核的版本号是相对独立的,但是它们都使用Linus主导开发并发布的同一个Linux内核。 著名的Linux发行版本有Ubuntu、Fedora、openSUSE、Gentoo Linux、Redhat Linux、Debian GNU/Linux、Mandriva Linux、PCLinuxOS、MEPIS Linux和红旗Linux。 第二章.Ubuntu的安装和配置1.Ubuntu祖鲁语和科萨语,具有“天下共享的信念,连接起每个人”。 xx年由马克.舍特尔沃斯创立,以Debian GNU/Linux为开发蓝本。 Ubuntu的发行版包括:Ubuntu(桌面环境GNOME)、Kubuntu(桌面环境KDE)、Xubuntu(桌面环境Xfce4)、Edubuntu(教育发行版本)、Gobuntu(GNU协议)、Ubuntu ServerWdition、Dubuntu(非正式衍生版)。 每年 4、10月发布,10.10LTS(Long TermSupport长期支持版本)。 2.Ubuntu发布形式包括Desktop、Netbook和Server。 安装方式分为Desktop CD(Live CD图形界面安装,是一套已经安装好的系统,更像是复制或还原,类似ghost)、Alternate CD(文字界面安装,真正意义上的正统安装版本,有许多deb包组成,可详细定制安装内容)。 区别Desktop CD安装速度更快,Alternate CD运行速度更快;Desktop CD安装前可以看到基本界面和试用(Live CD功能),Alternate CD面向个性化需求更高的专业用户;Alternate安装过程会有高级分区以及grub安装选项,Desktop则没有;Desktop CD是把安装好的软件放在光盘里面,安装时就把光盘上的内容复制到硬盘再进行简单的配置;Alternate CD上放的DEB的软件包,安装时要解压、配置。 3.光盘安装方法下载Ubuntu ISO文件、刻录光盘、图形界面安装。 4.硬盘分区分为主分区、扩展分区、逻辑分区。 主分区是硬盘的启动分区,是独立的,也是硬盘的第一个分区,通常是系统安装所在的分区;分出主分区之后,其余部分是扩展分区;扩展分区再分区,分出D、E、F等分区时就是逻辑分区。 硬盘的容量=主分区容量+扩展分区容量扩展分区的容量=各个逻辑分区的容量之和5.Linux分区至少包括两个部分主分区(ext3日志文件)和交换分区(至少是内存的两倍)。 6.Ubuntu下表示硬盘sda1=grub下(hd0,0),都表示第一块硬盘的第一个分区。 7.MBR(Master BootRecord)是硬盘的主引导扇区,共512个字节,在第一个分区的前面。 Linux安装grub,启动时先从MBR引导,MBR指向grub,由grub选择window或Linux。 8.文本模式安装,经过以下10个步骤语言选择、国家地区选择、键盘类型选择、主机名、硬盘分区、时钟设置、创建初始用户账号、安装基本系统、分辨率设置、安装结束重启。 9.Live USB安装模式。 制作需要Ubuntu CD和USB U-盘(大于700M),使用“USB StartupDisk Center”制作。 Windows下使用工具Ubootin。 10.Wubi安装要求NTFS分区、Ubuntu ISO文件和Wubi.exe。 可以像卸载windows软甲一样直接卸载掉wubi安装。 第三章.Ubuntu的基本设置和操作1.多重操作系统启动管理器GRUB的配置文件位于/boot/grub/menu.lst(或grub.conf)修复grub的命令为sudosu、grub、root(hdx,y)、setup(hdx),quit。 2.进入Ubuntu终端的两种方式全shell环境(Ctrl+Alt+F1-Ctrl+Alt+F16共6个控制台,Ctrl+Alt+F7切换到图形模式)、窗口下选择“应用程序附件终端”。 3.Ubuntu默认情况下root账号是停用的,所有与系统相关的指令都要先输入sudo并输入密码。 Sudo的默认密码是第一个账户的密码。 4.要执行shutdown命令必须是root用户或者operator组成员shutdown-cfFhknr(参数)-t秒数时间警告信息-t seco:设定在几秒钟之后关机-r:关机后立即重新启动,和reboot命令等价-h关机后不重新启动设定关机时间时间参数有hh:mm或+m两种模式警告信息要传送给所有登录用户的信息例如sudo shutdown3:42we willshut down!5.帮助系统man/info/helplinux命令,按q键退出。 或使用Linux命令help。 6.Ubuntu的菜单包括应用程序菜单、位置菜单和系统菜单。 第四章.软件安装与管理1.Ubuntu主要有以下几种软件包管理工具apkg(Debian包安装工具)、aot-get(apt的命令行前端)、Synaptic(图形界面的apt前端,新立得)、aptitude(apt的高级字符和命令行前端)、Dselect(使用菜单界面的包管理工具)、Tasksel(Task安装工具)。 2.软件包包括二进制包和源码包。 二进制包是以Ubuntu特定的格式发布、使用.deb为扩展名以示区别、可以使用Ubuntu的工具dpkg解包。 源码包包括三种文件.dsc文件(用于描述源码包)、.orig.tar.gz文件(未经修改的原始源代码压缩文件)和.diff.gz文件(包含了该软件包Ubuntu化时所做的修改);可以使用dpkg-source工具打包、解包Ubuntu源码包。 3.软件包命名约定:如foo_ver-rev_arch.deb中,foo是软件包的名字,ver是软件本身的版本号,rev是Ubuntu的修订版本号,arch是目标架构名称。 4.软件包依赖关系A依赖B(运行A必须安装B)、A推荐B(软件包维护者认为所有用户都会喜欢缺少某些功能的A,这些功能需要B来提供)、A建议B(B中某些文件与A的功能相关,并能够增强A的功能)、A与B冲突(如果安装B则A不能运行)、A替换B(B安装的文件被A中的文件移除和覆盖)、A提供B(A中包含了B中的所有文件和功能)。 5.Apt安装更新卸载程序包,The AdvancedPackaging Tool,高级软件工具,是强大的包管理系统、图形化安装程序都是建立在其基础之上、apt会自动处理依赖关系、运行apt要求用户具有管理员权限。 常用的操作命令如下查看软件的信息sudo apt-cache showsrc获得源代码sudo apt-get source安装软件包sudo apt-get install删除软件包sudo apt-get remove获取新的软件包列表sudo apt-get update升级有可用更新的系统sudo apt-get upgrade列出更多命令和选项apt-get help6.安装deb包的命令sudodpkgi卸载deb包的命令sudodpkgr7.使用源码包安装程序对源码包进行相应的解压;进入到解压目录下;配置软件包编译环境./configure;编译make;安装make install。 .8.rpm包的转换使用安装alien工具sudo apt-get installalien;将rpm包转换成同名的deb包sudo alienpackage_file.rpm;使用dpkg安装转换后的软件包sudodpkgi package_file.deb。 9.图形界面安装使用“添加/删除程序”。 10.终端下更新软件源备份当前的源列表文件sudocpp/etc/apt/sources.list/etc/apt/sources.list_backup;使用文本器sudogedit/etc/apt/sources.list;将新的软件源写入文件。 图形界面更新软件源使用“系统管理软件源”。 第五章.基本命令一.目录结构二.基本命令ls1.Linux是多用户、多任务的操作系统。 2.文件所在的路径分为绝对路径(以“/”为起始)和相对路径。 “.”代表当前目录,“.”代表上一层目录,“”代表用户主目录,“-”代表上一个使用的目录。 3.pwd命令用于查看当前工作目录。 Tab键具有补齐作用、4.ls-acl-color=never/always/auto ls默认不显示隐藏文件,-a显示所有文件,包括隐藏文件-l长列出,列出文件的具体信息,显示的文件大小不是真实大小never代表不显示颜色,slways均显示颜色,auto由系统自行判断是否显示颜色。 硬件挂载5.dir命令与ls作用相同,均用于列出文件和目录信息。 6.alias可以对别的可执行命令进行注释alias别名=命令alias llss=ls aliasllss=ls-l如果有空格,需要用单引号括起来。 Ubalias取消命令别名unaliaslls7.ls的运行机制操作系统首先去找环境变量PATH后面描述的文件目录,在这些目录里寻找ls命令;操作系统按照PATH环境变量中的目录顺序依次寻找ls命令,找到之后直接执行,不在查询后面的目录。 8.du查看文件真实大小。 9.env命令,列出系统里面的所有环境变量。 echo$变量名用于打印变量值。 echo$PATH打印PATH变量值。 which命令用于查找命令所在的目录。 它会显示所有包含该命令的目录。 cmpa b用于比较两个文件内容是否相同cmp/bin/ls/bin/dir.10.ls显示的结果drwxr-xr-x2ywamgywang4096xx-10-0915:15examples.desktop第一位表示文件类型,d表示文件夹,-普通文件,l链接文件。 第2-4为表示所属用户的权限。 r文件可读,w文件可写,x文件可执行第5-7位表示所属用户组的权限。 第8-10位表示其他的用户或用户组的权限。 数字表示文件包含多少硬链接,即包括自身有多少文件连接到该文件(因此,至少为1)。 后面分别表示所属的用户和所属的用户组,文件所占空间、最近访问(修改)时间以及文件名。 11.改变文件的权限chmod u/g/o/a+/-r/w/x文件名,让user/group/other/all得到/失去读/写/执行权限。 另外,r=4,w=2,x=1,所以,可用chmod777filename数字表示权限,分别表示user、group和other的权限。 12.lsattr列出文件的高级属性;lsusb列出系统里的usb设备;lspci列出所有的pci设备信息(lscpiv查看详细设备信息)。 三.计算机信息1./proc/cpuinfo存储cpu信息。 2./pro/meminfo存储内存信息,利用free命令也可以查看内存信息。 3.fdisk命令查看硬盘信息fdiskl。 4.lsmod查看设备加载的驱动信息。 5.uname查看当前用户使用的linux内核版本信息、6.cat/etc/issue查看使用的ubuntu版本信息。 四.文件管理1.touch创建文件。 2.clear命令,用于命令行的清屏。 3.rm file1fiel2file3用于删除文件,-i删除前逐一询问确认;-f即使文件属性为只读,也直接删除,无需逐一确认;-r删除目录及其下文件,rmdir命令只能删除空目录;-force强力删除。 4.cat查看文件;tac反向查看文件;less查看文件内容,可用上下键和上下翻页键翻看,逐行或逐屏显示;more查看文件内容,只能用空格键向后逐屏显示。 退出均为q。 5.head/tailnnumber文件名用于查看文件前面/后面指定行数的内容。 6.cp被复制文件新文件。 7.mv文件名新的文件名可以用于移动或改名。 8.find目录name要找的文件名用于在指定文件下查找文件。 五.目录管理1.mkdir目录名用于创建目录。 2.rmr删除目录,rmdir只能删除空目录。 3.pwd用于查看当前目录。 4.cd改变目录。 5.cpr目录新目录用于复制目录。 6.mv目录新目录用于目录改名或移动路径。 7.find目录name被找的文件名用于查找文件,*为任意数目字符的通配符,?为单个字符的通配符,用*搜索包含某些内容的文件时如果所搜索的文件包含目录,则需要用单引号括起来。 如find./-name*DDR*find./name*DDR*8.chown-R用户名称文件或目录改变文件或目录的所有者chown-R用户名称:组名称文件或目录改变文件或目录的所有者、用户组chgrp组名称文件或目录改变文件或目录的用户组9.注意,上面的一定要是大写的R;chmod和chgrp在修改目录和文件时的命令完全一样;如果加上-R代表对文件夹及其内的文件、文件夹递归处理。 六.磁盘管理1.df查看磁盘容量,-h使以K、M、G为单位,-T显示文件系统类型。 如dfhT2.free查看内存和wap分区容量3.du查看目录容量,-h使以K、M、G为单位,-s仅显示总计。 注意,Ubuntu显示容量默认单位为KB。 4.fdisk-l设备名称磁盘分区命令,-l直接列出该硬盘设备的分区表。 如sudofdisk/dev/sda15.cfdisk具有互动式界面的磁盘分区命令。 6.mkfs-T文件格式设备名称磁盘格式化,如mkfsT fat32/dev/sda1。 7.mount/umount加载或卸载磁盘如mount/dev/cdrom/mnt;umount/dev/cdrom;umount/mnt。 8.sync磁盘同步命令。 9.hdparm-tT设备名称查看硬盘速度,-t代表硬盘读取速度,-T代表硬盘快读的读取速度。 七.用户管理1.useradd参数用户名添加用户,-e禁止账号的日期,格式为YYYY-MM-DD;-m若主目录不存在,则创建它。 2.adduser用户名相当于useraddm用户名。 具有类似于人机交互界面。 3.groupadd参数用户组名添加用户组4.userdel参数用户名删除用户,-r表示用户目录下的文件以及其他位置上的相关文件和目录一并删除。 5.deluser与userdel的用法相同。 6.groudel参数用户组名删除用户组。 7.usermod参数用户名更改用户,-e为禁止账号日期,-d为更改用户的登录主目录,如sudousermodd/home/user2wang;-l更改用户登录的名称,如sudousermodl galaxywang。 8.groupmod参数用户组名更改用户组,-n表示更改组名,如gropmodn newnamename.9.passwd用户名更改用户密码。 10.su用户名切换用户,su命令后面经常加一个“-”,这样可以保证你的环境变量也全部切换到要切换用户的环境变量。 sudo切换用户执行。 11.id用户名查看用户/组id。 八.进程管理1.在内存中处于运行中的程序,严格讲只要是内存中的程序(无论是运行的还是死掉的程序)都叫做进程。 计算机内存中主要包括两部分内容程序和数据。 程序是不可写的(除病毒外),数据是可写的。 2.ps参数查看进程,-A列出所有进程,-au显示较详细的信息,-aux显示包含其他用户的进程,-l显示加长,从而可以显示较多的信息。 3.ps显示结果USER说明该程序是哪一个用户使用的;PID表示进程的代号;%CPU代表进程占用多少CPU资源;%MEM代表进程占用多少内存资源;TTY是否为登入者执行程序,如果是tty1-tty6则为本机登入者,如果是ps/?则为远程登入者执行程序;STAT为程序的状态,R为可执行的,S为改程序在睡眠中即没有执行,Z为僵尸程序即死掉的进程,要用kill杀掉;START为进程开始时间;TIME为进程已经运行多长时间;MAND为该进程执行命令。 4.psl显示结果UID为执行用户id;PID为进程id;PPID为这个进程由哪个进程发展出来,即父进程id;NI描述程序运行的优先级。 5.pstree给出进程数,描述哪些进程是由哪些进程发展出来的,也就是描述出父进程和子进程的关系。 6.kill信号代码进程id杀死进程,信号代码,-15代表停止一个程序,为默认值;-9表示立刻终止一个程序,不论该进程是否为死进程。 7.pkill正在运行的程序名用来杀死程序,不能杀死进程。 8.xkill是在桌面上用来关闭图形界面的指令,输入xkill后在需要终止的图形界面上单击左键,就能终止图形界面。 右键退出。 9.ctrl+c将前台运行的命令终止;ctrl+z将前台执行的命令放到后台,并暂停。 10.top动态查看进程,top运行期间的一些交互参数h或?显示帮助信息;k终止一个进程,系统提示输入进程PID和终止进程信号(即kill的信号代码);q退出程序。 11.如果进程后面有&表示这是后台进程;jobs参数查看后台进程,-l显示所有后台任务的PID。 12.fgjon number将后台运行的命令调回前台。 不改变是否正在执行的状态。 Bgjob number让后台暂停的命令继续执行。 不调回前台。 13.renicenumberPID调整运行当中的程序的优先级。 root用户可以将进程分为40级,从-20到19级,-20代表优先级最高;一般用户可分配20级,从0-19级。 九.系统管理1.env查看系统环境变量。 2.echo$变量名用于显示变量内容。 3.export变量名=变量内容用于更改变量内容或创建变量。 如export PATH=$PATH:/etc/apt。 4.unset变量名直接将改变量的内容去掉。 5.变量设定规则变量与变量之间以等号=连接;等号两边不能直接接空格符;变量名只能是英文字母和数字,但是数字不能作为开头字符;如果有空格可以使用双引号或单引号来将变量内容结合起来,双引号内的特殊字符保留变量特性,单引号内的特殊字符仅为一般字符;必要时需要以来将特殊字符(Enter,$,空格)变成一般字符;如果变量需要在其他子程序中起作用,需要以export来使变量生效,如export PATH;通常大写字母的变量为系统的预设变量,自定义变量使用小写字母,以方便判断。 6.time可执行文件查看程序的运行时间。 7.historynumber查看最近运行的指定数字的命令(包括history命令)。 如果不指定数字,则显示所有曾经运行过的命令。 8.uptime查看系统的运行时间。 9.who参数显示当前在线上的用户状况。 -a显示所有用户信息,-H显示列标题,-m显示运行该程序的用户名,和“whoami”命令的作用一样。 10.last显示近期用户或终端的登录情况,它的使用权限是所有用户。 通过last命令查看该程序的log,管理员可以获知谁曾经或企图连接系统。 十.网络管理1.网络的五要点MAC地址(物理地址)、IP地址(在互联网上的地址)、网络掩码(和IP地址结合起来,判断机器是在局域网还是广域网)、网关、DNS(域名服务器Domain NameServer)。 2.ifconfig查看机器的网络设置。 HWaddr是Mac地址,iaddr是IP地址;Mask是子网掩码。 3.route命令查看网关。 4./etc/resolv.conf文件中的nameserver代表是是DNS。 5.ping IP地址(或网络名)测试某个ip是否连通。 过程如下第一步主机首先要看一下你的/etc/resolv.conf这个文件的域名服务器第二步主机向域名服务器发出一个数据包,申请对google.ca做一个域名解析,要求得到google.ca的ip地址第三步域名服务器得到google.ca的ip地址,反馈给主机第四步把得到的ip地址和子网掩码相与,判断是局域网还是广域网第五步如果发现是广域网,这个时候,主机要寻找你的缺省网关第六步网关向google.ca所指向的ip发出一个ping的数据包的请求第七步google.ca做出回应,发回网关,网关再反馈给主机十一.基本的远程连接操作1.安装SSHsudo apt-get installssh。 2.启动OpenSSH服务、停止服务和重启服务的命令sudo/etc/init.d/ssh start(stop、restart)3.sshlusername远程主机ip;sshusername远程主机ip sshusername远程主机ip操作命令在输入正确的密码后,在程序主机上指定的命令,然后退回到本机shell下。 4.nohup断开网络连接后,命令继续运行。 Nohup mand&。 5.scp文件名用户名远程机器ip:远程机器路径将文件传送到远程机器上。 scp用户名远程机器ip:远程机器文件路径本机存放路径将文件从远程机器传回本机。 如果所传送的是目录,则在scp后加-r参数。 十二.启动管理1.MBR(Master BootRecord)是硬盘的主引导扇区,共512个字节,在第一个分区的前面。 Linux安装grub,启动时先从MBR引导,MBR指向grub,由grub选择window或Linux。 2.grub的配置文件位于/boot/grub/menu.list(或grub.conf)。 default0(默认启动的系统序号)timeout3(默认启动选择时限,上下键解除该原则)hiddenmenu(隐藏grub的选择菜单)title Ubuntu9.04,kernel2.6.28-18-generic(title后加一个空格)root(hd0,0)(/boot目录所在分区)kernel/boot/vmlinuz-2.6.28-18-generic roroot=LABEL=/(Linux内核及根分区所在位置,ro是readonly的缩写)initrd/boot/initrd.img-2.6.28-18-generic(指定initrd文件位置,被用来临时的引导硬件到达内核。 是initial ramdisk的缩写。 )十三.压缩包管理1.打包对应归档文件,文件没有经过压缩,它所使用的磁盘空间是其中所有文件和目录的总和。 压缩对应压缩文件,占用磁盘空间减少。 包括有损压缩(压缩率比较高,如常见的声音、图像、视频文件压缩基本都是有损的,如mpeg 2、mpeg4,mp3等)和无损压缩(压缩率低,数据、文档等需要保持完全一致性的内容。 )2.tarc vx zj f文件名(目录名)创建压缩文件,-c表示建立一个压缩文件,-v表示在压缩过程中显示文件,-x表示解压,-z表示同时具有gzip的属性,-j表示同时具有bzip2的属性,-f表示使用文件名。 例如tar cvff1.tar f3f2;tar cvjff1.tar.bz2f3f2;tar xvff3.tar.gz;tarcvf f1.tar./file/。 3.gzip、gunzip处理.gz文件,gzip f1f2(生成f1.gz和f2.gz);gunzip f1.gz bzip2,bunzip2:处理.bz2文件,bzip2f1f2;bunzip2f1.bz2。 注意gzip和bzip2后面接多少文件名就会生成多少响应的压缩文件.生成后将会删除原始文件。 4.压缩文件rar a文件名;压缩目录rar ar目录名;(新版的rar要求压缩文件rar a压缩文件名原始文件名或目录名)解压文件rar x文件名。 十四.任务管理1单次任务任务at;查询任务atq;删除任务atrm。 周期任务任务crontabe;查询任务crontabl;删除任务crontabr。 2.at命令制定单次任务。 输入at时间后输入要执行的命令,然后ctrl+D退出即可。 sudo at命令是执行超级用户才能执行的任务。 3.crontab命令处理周期任务。 输入crobtabe进入状态。 #表示注释。 m hdommondowmand分钟小时每月的第几天月每周的第几天执行命令/etc/init.d/cronstart|stop|restart|reload|status命令分别代表周期任务的启动、关闭、重启、重新载入、查看状态第六章.shell脚本及应用一.vim简介1.vim的三种操作模式Normal Mode,Insert Mode,Ed Mode。 2.vim可以跟多个文件,如vim f1f2f3;在命令行模式下,:n看下一个文件,N看上一个文件,files列出当前打开的所有文件。 3.Normal Mode默认模式下左/右/上/下键光标向左右上下移动数字+左/右/上/下键光标向左右上下移动数字指定的行/列数0光标移动到这一行的最前面字符处$光标移动到这一行的最后面字符处gg移动到文件的第一行G移动到文件的最后一行dd删除光标所在的那一整行nddn为数字,从光标位置开始,删除向下n列。 4.Insert Mode下i在当前光标所在处输入数字。 5.Ed Mode命令行模式下:w将的数据写入硬盘文件中:w!强制写入该文件:q退出:q!若修改过该文件,又不想保存,可用该命令强制退出,且不保存修改:w文件名将的数据存储为另一个文件:n1,n2w文件名将n1到n2行的内容写入到新的文件中6.vim的配置文件通常在/usr/share/vun/vimrc或/etc/vim/vimrc中。 syntax on根据程序相关语法显示不同颜色;set autoindent设置自动缩进,回车后新行与上一行自动对齐;set tabstop=n设置tab键缩进量为n列;set nu设置行号;set nonu取消行号。 二.Shell基础设置1.shell(壳)、linux kernel(核)。 shell是用户和系统内核之间的接口程序;shell是命令解释器;shell是一个特殊的应用程序,用户一旦登陆成功,就被调入内存;本章中shell是指linux的终端即解释用户命令和shell程序的文字终端。 2.shell分为交互模式(直接执行命令)和非交互模式(读取存放在文件中的命令)。 3.常用的shellBourne Shell(sh);C Shell(csh)执行效率有点差,多用于交互;Korn Shell(Bourne Shell超集,ksh)集合了C Shell和Bourne Shell的优点,并且和Bourne Shell完全兼容;Bourne-Again Shell(Bourne Shell的扩展,bash)bash与Bourne shell完全向后兼容,也包含了许多C shell和Korn shell里的优点。 4.Shell学习内容shell命令、shell的命令集成;shell的配置文件;shell的用户环境设定;shell程序的控制结构;shell脚本的使用。 5.查看/etc/passwd可以查看用户使用shell的类型其中包含一段文字“ywang:x:1000:1000:ymwang,:/home/ywang:/bin/bash”含义分别是用户名加密的密码用户id组id描述信息起始目录用户登录shell。 6.更改用户shell的方法更改/etc/passwd文件;usermodsshelluser。 7.通过cat/etc/shelss命令可以查看安装了哪些shell及路径。 8.Bash文件配置.bash_history记录命令历史记录;.bash_logout退出shell时要执行的命令;.bash_profile登入shell时要执行的命令,只在会话开始时被读取一次;.bashrc每次打开新的shell时要执行的命令,别名和函数之类通常放在该文件中。 系统级的配置文件存储在/etc/profile、/etc/bashrc及/etc/profile.d中。 9.Bash的几种特性使得命令的输入变得更加容易命令补齐;通配符;命令历史记录;输入重定向;输出重定向;管道。 10.sourcefilename命令用于重新执行刚修改过的初始化文件,使之立即生效,而不必注销并重新登录。 三.命令补充1.分号mand1;mand2,先执行mand1,不论mand1是否出错,都继续执行mand2。 2.&mand1&mand2,只有mand1正确运行完毕,才执行mand2。 3.命令替换mand1$(mand2)或mand1mand2(注意,是后引号)。 如vim$(locate main.f)vimlocate main.f。 4.命令延伸一行命令太多,可以用来延伸至下一行。 在脚本中,如果一行命令太长,也可以用进行连接。 5.通配符*匹配任何字符和任何数目的字符;?匹配任何单个字符;,-,!按照范围“-”、列表“”或不匹配等形式匹配指定的字符。 注意l13*代表以1或3开头的文件,13*代表以13开头的文件,!6*表示不以6开头的文件。 6.管道,通用的管道符号|来标识。 语法是mand1|mand2|mand3|。 例如分屏显示ps aux的结果psaux|more。 管道的作用前一个的输出作为后一个命令的输入。 7.输入/输出重定向mandfile把mand命令的输出重定向到文件file中,如果file已经存在,则清空原有文件。 mandfile把mand命令的输出重定向到文件file中,如果file已经存在,则把信息加在原有文件後面。 mand mandfile2mand命令从文件file1读,输出到文件file28.成组命令,以括起来的全部命令可以视为语法上的一条命令,出现在管道符的一边。 注意,的后面应该有一个空格,的前面应该有一个分号。 如$echo“User Reportfordata.”;who;|pr9.管道和命令替换的区别关键在于管道输入(文件)替换参数(字符串)所以当mand2需要的输入是文件时,才用管道。 相当于mand1/tmp/file mand2/tmp/file四.Shell脚本简介1.Shell脚本的特点及用途shell脚本可以认为是将shell命令按照控制结构组织到一个文本文件中,批量的交给shell去执行;不同的shell解释器使用不同的shell语法命令;shell脚本解释执行,不生成可以执行的二进制文件;可以帮助用户完成特定的任务,提高使用、维护系统的效率;了解shell脚本可以更好的配置和使用linux。 2.脚本的编译和运行过程文件、保存文件、将文件富裕可执行的权限、运行及排错。 3.良好的脚本书写习惯先声明适合那种shell;著名脚本的内容功能、版本信息、作者、文件创建日期等;每一个大步骤的主要功能;造好加一个后缀.sh,以便他人识别。 4.脚本运行方法更改脚本属性,将脚本该为可执行,chmod+x scripts.sh,然后直接输入脚本名称运行;使用sh命令执行脚本内容,sh scripts.sh。 5.shell脚本的一般结构包括三个部分shell类型声明(以#!开头,如#!/bin/bash),函数(function fname()),主过程。 6.shell脚本示例7.shell下最简单的交互式命令read。 8.脚本的参数代号$0脚本的文件名;$1第一个附加参数;$2第二个附加参数五.Shell脚本语法1.变量命名规则(第五章第九部分已经叙述)2.在shell中,所有没有声明的变量都是默认字符串形式。 declare-afirvar=-a定义为数组,-f定义为函数,-i定义为整数,-r定义为只读3.declarer命令相当于readonly命令。 4.$变量名或$变量名引用变量,如果变量名多于一个字符,就要用第二种方式。 5.bash只支持一维数组,但是,没有参数个数限制。 数组赋值方法 (1) (2)Array=(var1,var2,var3varN)Array=(0=var11=var2n-1=varN) (3)array0=var1array1=var2计算元素个数$#array或$#array*。 Bash里和*都表示扩展位置参数,在数组里可以通用。 引用数组echo$arrayn注意,不管数组名是不是一个字符,都要用。 6.echo用于显示变量内容,export用于更改变量内容或创建变量,unset直接将变量的内容去掉。 7.exprarg计算数学表达式如s=expr2+3,注意,expr下arg如果出现括号,应该用引号括起来。 exprarg的运算结果是字符串,如echoexpr2+3的输出结果是2+3letarg命令计算表达式的值如let s=(2+3)*4,结果是计算结果。 注意,echolet2+3输出空结果;let i=2+3;echo$i才能输出正确结果。 arg是单独的数学表达式,它使用c语言表达式的语法、优先级和结合性,除+、-和逗号之外的所有整形运算都得到支持。 另外提供*幂运算。 可以使用+、-、*、/、%、+=、-=、*=、/=、%=、*。 8.常见的条件有变量属性、文件属性、命令执行结果、多种条件的逻辑组合。 条件判断格式:test condition或condition9.测试文件属性10.测试字符串属性11.整数间关系判断六.控制结构1.定义更具某个条件的判断结果,改变程序执行的路径。 可以简单的将控制结构分为分支和循环两种。 2.常见的分支结构为if和case;常见的循环结构为for、while和until、3.if分支格式if条件1&(|)条件2;then命令elif条件3&(|)条件4;then命令else命令fi注意then可以另起一行写;else和elif的内容可以省略;if和条件之间没有空格;和条件之间有空格;&和|与之间有空格。 “test”=”testx”是一个字符串,正确的判断条件应该是”test”=“testx”。 逻辑运算符!非;-a逻辑与;-o逻辑或;圆括弧可以把一个逻辑表达式括起来,使之成为一个整体,如(“$a”ge0)a(“$b”le100)。 所有的条件测试运算符和逻辑运算符两侧都要有空格;条件测试运算符优先级高于!,!高于-a,-a高于-o,圆括号高于-a。 错误和条件之间缺少空格4.case分支case条件in模式1)命令1;模式2)命令2;?esac注意条件可以是变量、表达式、shell命令等;模式为条件的值,并且一个模式可以匹配多种值,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论