• 1. 第三章 Shell命令课程代码:
  • 2. 课程介绍目的:本章主要目的是掌握各种shell命令的使用。 内容:学习shell的种类,掌握系统命令和文件操 作命令,重定向,管道的使用。 重点:shell系统相关命令的使用和文件相关命令的使 用,标准输入输出,管道。 难点: 系统相关命令和文件相关命令的使用,管道和 重定向的使用。
  • 3. Shell命令Shell Shell命令 Shell 文件操作命令
  • 4. 3.1 Shell确定系统安装的是那种Shell Shell版本切换
  • 5. 1、确定系统安装的是那种ShellShell是Linux内核的一个外层保护工具,也就是说我们可以通过Shell来控制内核工作。 Shell主要有bash、tcsh、zsh、csh等几种。 使用ps实用程序可识别出正在运行的Shell。 Ps :将某个时间点的程序运作情况撷取下来 注: PID:进程标示符 TTY:终端 TIME:CPU TIME CMD:运行程序
  • 6. 2、Shell版本切换可以用如下命令来临时转换到别的shell:# shellname。这样启动的shell是下级的shell或子shell。 使用命令:# exit,可以退出这个子shell。 注: sudo –i 终端命令下改变用户对命令使用权限的命令 sudo sudo是linux下常用的允许普通用户使用超级用户权限的工具,该命令为管理员提供了一种细颗粒度的访问控制方法,通过它人们既可以作为超级用户又可以作为其它类型的用户来访问系统。这样做的好处是,管理员能够在不告诉用户root密码的前提下,授予他们某些特定类型的超级用户权限。
  • 7. 3.2 Shell命令Shell命令格式 命令补全功能 历史表文件.bash_history 获取联机帮助
  • 8. 1、Shell命令格式命令提示符 username@hostname:direction$ 一般用户显示的命令提示符都是“$”符号,超级用户的命令提示符是“#”号。
  • 9. 1、Shell命令格式命令格式 一条命令一般情况下包含3个要素,命令名称,选项和参数 Shell命令或程序,严格区分大小写 命令选项用来改变命令执行动作的类型,由“-”引导,可以同时带有多个选项。 命令参数指出命令作用的对象或目标,一些命令允许可以带有多个参数。
  • 10. 2、命令补全功能tab键可用来对命令补全,是Linux操作中最常用的技巧之一。 若系统没有给予完全补全,说明存在近似的文件需要选择。
  • 11. 3、历史表文件.bash_history 每个用户的主目录下都有一个名为.bash_history文本文件,该文件记载了用户操作的历史记录。 更常用的技巧:在bash下可直接用上光标键回溯操作历史。
  • 12. 4、获取联机帮助联机帮助文档可以随时帮助用户了解Shell命令的语法和参数。 主要使用man和info命令来获取帮助文档。 man man commandname 输入“:q”退出帮助文档页面。 使用参数“-k”再接上和该命令相关的一些关键词可以模糊查询命令。
  • 13. 3.4 Shell 操作命令文件操作命令 系统相关基本命令 标准输入/输出和错误输出 管道
  • 14. 1、文件操作命令cd 进入指定目录 例: cd /home/t1 进入/home/t1 cd myc 进入当前目录下的myc目录 cd .. 进入父目录(注意..前必须有空格) cd / 进入根目录(注意/前必须有空格) cd 或 cd ~ 进入操作者的主目录 注: ~ 表示当前登录用户的主目录
  • 15. 文件操作命令pwd 显示当前工作目录(print working directory)
  • 16. 文件操作命令ls [option] [file] 功能是列出目录内容 文件列表中的信息,包括文件的属性、连接个数、所有者、从属组、文件长度、文件的最后更改时间、文件名。
  • 17. 其中文件属性的第一个字符标识文件的类型: 类型的其它9位字符分别表示所有者、从属组、其他用户对此文件的读、写、执行权限(-表示无相应权限)。d 目录s 套接字- 普通文件p 命名管道b 块设备l 符号连接c 字符设备
  • 18. ls命令有几个常用的可选参数: -a 列出全部文件名,包括以“.”字符开始的项目 -l 以长格式列出文件详细信息 -d 只显示目录名称,不显示其中内容 -R 递归(Recursive)列出所有子目录层 使用通配符:如 * ?
  • 19. 文件操作命令touch [option] … 功能是生成新的空文件或者改变现有文件的时间戳 举例: 把file2的时间属性改成和file1一样的时间属性 touch -r file1 file2 注: -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。 -c 不建立任何文件。 -t <日期时间>  使用指定的日期时间,而非现在的时间。
  • 20. 文件操作命令mkdir [option] dirname 功能是建立目录并同时设置目录的权限。 注: -p 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录。 -v 执行时显示详细的信息。 --help 显示帮助。
  • 21. 文件操作命令cp [option] 功能是实现文件和目录的复制 举例 文件复制 目录复制 注: -i 覆盖既有文件之前先询问用户。 -r 递归处理,将指定目录下的文件与子目录一并处理。
  • 22. 文件操作命令rm [option] … 功能是删除文件和目录 举例: 删除文件 默认时,rm不会删除目录。使用-recursive(-r或–R)选项可删除每个给定的目录,以及其下所有的内容。 注: -f 强制删除文件或目录。 -i 删除既有文件或目录之前先询问用户。 -r或-R 递归处理,将指定目录下的所有文件及子目录一并处理。
  • 23. 文件操作命令rmdir [option] directory… 功能是删除空目录 举例:创建了空目录“aaa/bbb/ccc” 注: -p 删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除。 -v 显示指令执行过程。
  • 24. 文件操作命令mv [option] sourcefile destinationfile 功能是移动文件或目录、文件或目录改名 举例 通过实例验证其他常用选项的使用。
  • 25. 文件操作命令cat [option] [file]… 该命令的功能是把文件内容串联到一起然后输出到屏幕。 举例: cat -n file1 显示file1文件的内容,并同时显示行号
  • 26. 文件操作命令More [less] 分屏显示 用法:more 文件名 翻屏操作: 空格键 下翻一屏 回车键 下翻一行 b 前翻一屏 q 退出
  • 27. 文件操作命令grep 功能是在一个或多个文件中搜索是否包含给定的字符串,该命令只显示查找到的文本行,并不修改文件。 举例
  • 28. 文件操作命令head [option] < filename> 功能是显示文件的前10行(默认情况下)信息 举例 tail [option] 功能是显示文件最后10行(默认情况下)信息 举例
  • 29. 文件操作命令 find [path]… [option]… 功能是用于查找符合条件的文件。任何位于选项之前的字符串都将被视为欲查找的目录。 举例验证该命令的使用。 -name   filename             #查找名为filename的文件
  • 30. 文件操作命令关于查找命令: locate命令也可用来定位查找文件,执行速度要快地多。但有时需要执行updatedb更新其数据库。 whereis 查找命令相关文件所在的位置 例:whereis ls 朝找出与ls命令相关文件的位置
  • 31. 2、系统相关基本命令wall < filename 是向所有已经登陆的用户广播消息,用户可以把要广播的消息先存入文件中,然后再使用以下的命令格式广播出去。 举例验证该命令的使用。 sync 功能是将内存中的数据写回磁盘并释放缓存 举例验证该命令的使用
  • 32. wall
  • 33. 2、系统相关基本命令shutdown 功能是关闭或者重启Linux系统 命令还允许用户在指定的一个时间点或者一个指定的时间段之后关闭或重启Linux系统,例如3分钟后关闭系统。
  • 34. 2、系统相关基本命令功能说明:系统关机指令。 语  法:shutdown [-命令选项][-t 秒数][时间][警告信息] 补充说明:shutdown指令可以关闭所有程序,并依用户的需要,进行重新开机或关机的动作。 参  数:  -h  将系统关机。  -r  shutdown之后重新启动。  [时间]  设置多久时间后执行shutdown指令。  [警告信息]  要传送给所有登入用户的信息。
  • 35. 2、系统相关基本命令df 功能是用于查看磁盘空间的使用情况 举例 free 功能是查看系统内存的使用情况 举例
  • 36. 2、系统相关基本命令passwd 功能是为已有用户修改密码 举例验证使用方法 sudo 功能是临时为普通用户授权为超级用户的命令。 注意:默认授权时间大约在5分钟左右,超过5分钟系统会要求用户再次输入密码。 举例
  • 37. 2、系统相关基本命令echo 功能是在标准输出设备-显示器上输出一段文字。 举例验证其使用。 clear 功能是清空屏幕上的信息,清屏后命令提示符移动到屏幕左上角。
  • 38. 3、标准输入/输出和错误输出标准输入(stdin)默认情况下一般是指键盘。 默认的标准输出(stdout)是指为屏幕输出。 标准错误输出的概念主要是为程序调试和系统维护目的而设置,默认情况下标准错误输出(stderr)也是屏幕。 bash中标准输入一般标记为0。 bash中标准输出,被标记为1。 bash中标准错误输出被标记为2。 在重定向中还有一个特殊的文件/dev/null如果重定向到了这个文件中,那么什么信息都不保留,也就是说将输出忽略掉了。
  • 39. 3、标准输入/输出和错误输出举例 显示文件for的内容然后通过重定向符“>”将显示结果输出到文件result中,接着想打印一条分隔符“>>>>>>>>>>>>>>>”然后使用重定向符“>>”拼接到result文件中,接着显示case文件的内容继续输出到result文件。 在/home目录下查找以lost开头的文件,通过重定向符将标准错误输出到了文件err_result中。 “>”会清空result文件中的内容重新写入,而“>>”则不会清空其内容只是叠加上去。
  • 40. 4、管道管道是单向的字节流,它将某个进程的标准输出连接到另外进程的标准输入。 管道的符号为一条竖线(|),命令的语法格式如下所示: commandA [argumengts] | commandB [argumengs] 举例 通过ls命令查看工作目录下的文件列表,通过管道连接到pr命令。 ls –l | pr
  • 41. 本章小结本章对Linux的shell发展历程做了简要的介绍。集中介绍了在常用操作中使用到的对文件操作的shell命令,和与系统相关的shell命令。最后讲解了重定向和管道的工作原理。