第1页Linux系统管理2019年12月14日星期六1第四章Shell的基本应用第2页Linux系统管理2019年12月14日星期六项目4Shell基本应用【职业知识目标】了解:Linux系统Shell作用及Bash的常用功能掌握:对目录、文件的常用操作命令使用方法,输入输出重定向的使用方法,vim编辑器的使用方法,基本Shell脚本编程及应用【职业能力目标】会使用目录操作命令维护管理目录会使用文件操作命令维护管理文件会使用文件压缩和归档命令对文件或目录打包和压缩能使用输入/输出重定向与管道技术灵活管理文件和目录会使用vim文本编辑器编辑文本文件会基本的Shell脚本编程第3页Linux系统管理2019年12月14日星期六3Shell命令概述及基本命令Shell的变量Bash的常用功能正则表达式、管道与重定向程序编辑器vimShell基本脚本编程(概念,基本脚本编程和脚本运行)项目4Shell的基本应用第4页Linux系统管理2019年12月14日星期六4Shell的作用及常见种类Shell的作用——命令解释器,“翻译官”介于操作系统内核与用户之间,负责解释命令行Shell计算机用户应用程序Linux内核输入输入控制控制系统硬件输出输出第5页Linux系统管理2019年12月14日星期六5Shell的作用及常见种类KshBshCshBashZsh兼具Bsh的语法和Csh的交互特性70年代中期诞生于贝尔实验室,有较强的脚本编程功能80年代早期诞生于加利福尼亚大学,使用C语言风格,命令交互方便Bsh的升级版,Linux系统中的默认Shell兼具各种Shell程序优点,交互式操作效率更高第6页Linux系统管理2019年12月14日星期六6Shell环境的切换如何切换Shell环境临时切换:直接执行其他Shell程序,例如ksh、zsh等更改用户登录Shell:需修改/etc/passwd文件中用户记录的最后一个字段或执行:usermod-sShell程序路径用户名登录Shell指用户每次登录系统后自动加载的Shell程序,大多数Linux系统采用/bin/bash作为默认登录Shell/etc/shells文件记录了系统支持的有效登录Shell[root@localhost~]#cat/etc/shells/bin/sh/bin/bash/sbin/nologin/bin/tcsh/bin/csh/bin/ksh第7页Linux系统管理2019年12月14日星期六7[lxx@bogon桌面]$cd[lxx@bogon~]$greplxx/etc/passwdlxx:x:500:500:liuxinxin:/home/lxx:/bin/bash[lxx@bogon~]$echo$SHELL/bin/bash[lxx@bogon~]$chshChangingshellforlxx.密码:Newshell[/bin/bash]:/bin/cshShellchanged.[lxx@bogon~]$greplxx/etc/passwdlxx:x:500:500:liuxinxin:/home/lxx:/bin/cshShell环境的切换原shell更改shell命令更改后的shell第8页Linux系统管理2019年12月14日星期六8Linux命令的分类Linux命令用于实现某一类功能的指令或程序命令的执行依赖于解释器程序(例如:/bin/bash)Linux命令的分类内部命令:属于Shell解释器的一部分外部命令:独立于Shell解释器之外的程序文件第9页Linux系统管理2019年12月14日星期六9Linux命令行的格式Linux命令的通用命令格式命令字[选项][参数]选项及参数的含义选项:用于调节命令的具体功能以“-”引导短格式选项(单个字符),例如“-l”以“--”引导长格式选项(多个字符),例如“--color”多个短格式选项可以写在一起,只用一个“-”引导,例如“-al”与“-l-a”的功能完全相同参数:命令操作的对象,如文件、目录名等[root@localhost~]#ls-l/home总计8drwx------2benetbenet409609-0808:50benet第10页Linux系统管理2019年12月14日星期六10Linux命令行的格式命令行编辑的几个辅助操作Tab键:自动补齐反斜杠“\”:强制换行快捷键Ctrl+U:清空至行首快捷键Ctrl+K:清空至行尾快捷键Ctrl+L:清屏快捷键Ctrl+C:取消本次命令编辑第11页Linux系统管理2019年12月14日星期六11获得命令帮助内部命令help查看Bash内部命令的帮助信息,如helpcd命令的“--help”选项适用于大多数外部命令如ls--help使用man命令阅读手册页使用“”、“”方向键滚动文本使用PageUp和PageDown键翻页按Q或q键退出阅读环境、按“/”键后查找内容使用info命令阅读信息页第12页Linux系统管理2019年12月14日星期六12文件和目录管理目录操作命令pwd、cd、ls、mkdir、du文件操作命令touch、file、cp、rm、mv、which、find、ln文件内容操作命令cat、more、lesshead、tail、wc、grep归档及压缩命令gzip、bzip2、tar第13页Linux系统管理2019年12月14日星期六13目录操作命令——pwd、cdpwd命令用途:查看工作目录(PrintWorkingDirectory)cd命令用途:切换工作目录(ChangeDirectory)格式:cd[目录位置][root@localhost~]#cd/etc/httpd[root@localhosthttpd]#cdconf[root@localhostconf]#cd~benet[root@localhostbenet]#pwd/home/benet[root@localhostzhangsan]#ls-dl../jerrydrwx------2jerryjerry409609-1421:50../jerry绝对路径相对路径相对路径第14页Linux系统管理2019年12月14日星期六14目录操作命令——pwd、cdcd命令cd目录名进入指定的目录,使该目录成为当前目录cd~或cd进入当前用户的主目录,使主目录成为当前目录cd..返回上一级目录。..代表上一级目录,.代表当前目录。cd../../返回上二级目录,其余依次类推cd/返回到根目录cd–在最近访问过的两个目录之间快速切换cd~用户名进入指定用户的主目录第15页Linux系统管理2019年12月14日星期六15目录操作命令——lsls命令用途:列表(List)显示目录内容格式:ls[选项]...[目录或文件名]常用命令选项-l:以长格式显示,ls命令默认显示短格式-a:显示所有子目录和文件的信息,包括隐藏文件-d:显示目录本身的属性-A:类似于“-a”,但不显示当前目录“.”和父目录“..”的信息-h:以更易读的字节单位(K、M等)显示信息-R:递归显示内容--color:以颜色区分不同类型文件第16页Linux系统管理2019年12月14日星期六16[root@localhost~]#lsinstall.log*install.loginstall.log.syslog[root@localhost~]#ls-lhinstall.???-rw-r--r--1rootroot37K09-0816:46install.log[root@localhost~]#ls-a..chewing.gnomeinstall.log.syslog.tcshrc...cshrc.gnome2.lesshst.Trash……[root@localhost~]#aliasmyls='ls-alh'[root@localhost~]#myls/usr/src总计32Kdrwxr-xr-x4rootroot4.0K09-0816:40.drwxr-xr-x14rootroot4.0K09-0816:28..drwxr-xr-x3rootroot4.0K09-0816:33kernels……目录操作命令——ls星号通配符问号通配符定义命令别名第17页Linux系统管理2019年12月14日星期六17目录操作命令——mkdirmkdir命令用途:创建新的目录(MakeDirectory)格式:mkdir[-p][/路径/]目录名-p选项用于创建多级目录[root@localhost~]#mkdir-pmydir/level1/level2[root@localhost~]#ls-Rmydirmydir:level1mydir/level1:level2mydir/level1/level2:第18页Linux系统管理2019年12月14日星期六18目录操作命令——mkdirrmdir命令用途:删除目录格式:rmdir[-p][/路径/]目录名-p选项表示子目录删除后,父目录为空也一同被删除[root@localhost~]#rmdir-pmydir/level1/level2[root@localhost~]#ls-Rmydirls:无法访问mydir:没有那个文件或目录第19页Linux系统管理2019年12月14日星期六19目录操作命令——dudu命令用途:统计目录及文件的空间占用情况(estimatefilespaceusage)格式:du[选项]...[目录或文件名]常用命令选项-a:统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录-h:以更易读的字节单位(K、M等)显示信息-s:只统计每个参数所占用空间总的大小[root@localhost~]#du-sh/etc/httpd/184K/etc/httpd/第20页Linux系统管理2019年12月14日星期六20文件操作命令——touch、filetouch命令用途:新建空文件,或更新文件时间标记格式:touch文件名…file命令用途:查看文件类型格式:file文件名…[root@localhost~]#touchfile1.txtfile2.doc[root@localhost~]#lsfile*file1.txtfile2.doc[root@localhost~]#file/bin/ls/bin/ls:ELF32-bitLSBexecutable,Intel80386,version1(SYSV),forGNU/Linux2.6.9,dynamicallylinked(usessharedlibs),for……第21页Linux系统管理2019年12月14日星期六21文件操作命令——cpcp命令用途:复制(Copy)文件或目录格式:cp[选项]...源文件或目录…目标文件或目录常用命令选项-r:递归复制整个目录树-p:保持源文件的属性不变-f:强制覆盖目标同名文件或目录-i:需要覆盖文件或目录时进行提醒-b若存在同名文件,覆盖前备份原文件[lxx@bogon桌面]$mkdir-pmydir/level1/level2[lxx@bogon桌面]$touchfile1.txtfile2.doc[lxx@bogon桌面]$cp-rffile1.txtmydir/level1/level2[lxx@bogon桌面]$mv-ffile2.odtmydir/level1/level2[lxx@bogon桌面]$rm-rfmydir/level1/level2/file1.txt第22页Linux系统管理2019年12月14日星期六22文件操作命令——rmrm命令用途:删除(Remove)文件或目录格式:rm[选项]...文件或目录常用命令选项-f:强行删除文件或目录,不进行提醒-i:删除文件或目录时提醒用户确认-r