Linux 应用基础教程--CH02_字符界面操作基础
本章内容要点,Linux的操作界面 Shell及其功能 命令操作基础 Linux的文件和目录 使用Linux的相关帮助,2018年11月7日,1,Creative Commons License(BY-NC-SA),本章学习目标,了解Linux的操作界面 掌握虚拟控制台和本地登录操作 掌握远程登录的方法 理解Linux的运行级别 学会系统关机和重启的字符界面操作 理解Shell功能和地位 掌握命令格式、文件和通配符 学会使用命令帮助,2018年11月7日,2,Creative Commons License(BY-NC-SA),Linux工作界面,2018年11月7日,3,Creative Commons License(BY-NC-SA),字符界面和图形界面,字符界面 使用字符界面的好处 如何进入字符界面 图形界面 两种桌面集成环境 Gnome集成环境 KDE集成环境 如何进入图形界面,2018年11月7日,4,Creative Commons License(BY-NC-SA),为什么使用字符工作方式,在字符操作方式下可以高效地完成所有的任务,尤其是系统管理任务。 系统管理任务通常在远程进行,而远程登录后进入的是字符工作方式。 由于使用字符界面不用启动图形工作环境,大大地节省了系统资源开销。,2018年11月7日,5,Creative Commons License(BY-NC-SA),进入字符工作方式的方法,在图形环境下开启终端窗口进入字符工作方式。 在系统启动后直接进入字符工作方式。 使用远程登录方式(Telnet或SSH)进入字符工作方式。,2018年11月7日,6,Creative Commons License(BY-NC-SA),字符界面登录与注销,虚拟控制台(Virtual Console) 系统默认提供了6个虚拟控制台。每个虚拟控制台可以独立的使用,互不影响。 使用Alt+F1Alt+F6进行多个虚拟控制台之间的切换 登录提示符 超级用户登录后的操作提示符是“#” 普通用户登录后的操作提示符是“$” 注销 logout命令 Ctrl+d热键,2018年11月7日,7,一般应该使用普通用户登录系统,不要使用root用户登录。 当需要进行超级用户的工作时可以使用 su - 命令切换为超级用户身份。,Creative Commons License(BY-NC-SA),在Linux环境下 使用ssh登录远程Linux系统,ssh是英文Secure Shell的缩写。 用户在通过ssh连接到远程系统时在网络上传输的口令和数据都是经过加密的。 比传统的telnet远程登录更加安全。 ssh的使用方法: $ ssh -l osmond 192.168.1.100 $ ssh osmond192.168.1.100,2018年11月7日,8,Creative Commons License(BY-NC-SA),在Windows环境下 使用putty登录远程Linux系统,putty是一个共享软件、绿色软件。 putty支持telnet、ssh、rlogin等连接方式。,2018年11月7日,9,Creative Commons License(BY-NC-SA),系统运行级别,0 - 系统停机状态 1 - 单用户工作状态 2 - 多用户状态(没有NFS) 3 - 多用户状态(有NFS) 4 - 系统未使用,留给用户 5 - X11控制台(xdm,gdm或kdm) 6 - 系统正常关闭并重新启动,2018年11月7日,10,Creative Commons License(BY-NC-SA),运行级的查看和切换,查看当前系统的运行级 runlevel 切换运行级 init 0123456Ss 修改默认运行级别 编辑配置脚本 /etc/inittab Id:3:initdefault: 启动后进入字符界面 id:5:initdefault: : 启动后进入图形界面,2018年11月7日,11,Creative Commons License(BY-NC-SA),关机与重启(立即执行),关机 init 0 halt halt -p / 停止系统后中断电源(需主板硬件支持) 重新启动 init 6 reboot,2018年11月7日,12,Creative Commons License(BY-NC-SA),关机与重启(shutdown),shutdown命令 用于多用户登录的情况 可以为登录用户发送警告信息 举例 shutdown -r +5 “System will be reboot in 5 minites, Please save your work.“ shutdown -h +5 “System will be down in 5 minites, Please save your work.“ shutdown -r now shutdown -h now,2018年11月7日,13,Creative Commons License(BY-NC-SA),CentOS 管理配置方式,直接编辑配置文件 在命令行方式下直接编辑系统中的各种配置文件 使用文本用户界面(TUI)管理工具 setup system-config-*-tui 等 使用图形用户界面(GUI)管理工具 system-config-* 使用Web用户界面(WUI)管理工具 Webmin 等,2018年11月7日,14,Creative Commons License(BY-NC-SA),Shell及其功能,2018年11月7日,15,Creative Commons License(BY-NC-SA),Shell,Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解释器) 。它接收用户输入的命令并把它送入内核去执行。起着协调用户与系统的一致性和在用户与系统之间进行交互的作用。 Shell在Linux系统上具有极其重要的地位,2018年11月7日,16,Creative Commons License(BY-NC-SA),Shell的重要功能,命令行解释 命令的多种执行顺序 通配符( wild-card characters ) 命令补全、别名机制、命令历史 I/O重定向( Input/output redirection ) 管道( pipes ) 命令替换( 或$( ) ) Shell编程语言( Shell Script ),2018年11月7日,17,Creative Commons License(BY-NC-SA),命令解释过程,Shell可以执行 内部命令 应用程序 shell脚本,2018年11月7日,18,Creative Commons License(BY-NC-SA),Shell的主要版本,2018年11月7日,19,Creative Commons License(BY-NC-SA),Linux的元字符,在 Shell 中有一些具有特殊的意义字符,称为 Shell 元字符(shell metacharacters)。 若不以特殊方式(使用转义字符)指明,Shell并不会把它们当做普通文字符使用。,2018年11月7日,20,Creative Commons License(BY-NC-SA),Linux命令格式,2018年11月7日,21,Creative Commons License(BY-NC-SA),命令基本格式,一般格式: cmd options arguments 说明: 最简单的Shell命令只有命令名,复杂的Shell命令可以有多个选项和参数。 选项和参数都作为Shell命令执行时的输入,它们之间用空格分隔开。,2018年11月7日,22,注:Linux 区分大小写!,Creative Commons License(BY-NC-SA),Linux系统中 可执行文件的分类,内置命令:出于效率的考虑,将一些常用命令的解释程序构造在Shell内部 外置命令:存放在/bin、/sbin目录下的命令 实用程序:存放在/usr/bin、/usr/sbin、/usr/share、/usr/local/bin等目录下的实用程序 用户程序:用户程序经过编译生成可执行文件后,可作为Shell命令运行 Shell脚本:由Shell语言编写的批处理文件,可作为Shell命令运行,2018年11月7日,23,Creative Commons License(BY-NC-SA),命令基本格式(续),说明: 单字符参数前使用一个减号(-) 单词参数前使用两个减号(-)。 多个单字符参数前可以只使用一个减号。 操作对象(arguments)可以是文件也可以是目录,有些命令必须使用多个操作对象, 如cp命令必须指定源操作对象和目标操作对象。 并非所有命令的格式都遵从以上规则,例如dd、find等,2018年11月7日,24,命令在正常执行结果后返回一个 0 值,如果命令出错,则返回一个非零值 (在shell中可用变量 $? 查看)。,Creative Commons License(BY-NC-SA),命令基本格式举例,$ ls $ ls -lRa /home $ cat abc xyz $ ls -help $ su - $ passwd $ date $ cal 2011,2018年11月7日,25,Creative Commons License(BY-NC-SA),Linux 常用命令,2018年11月7日,26,Creative Commons License(BY-NC-SA),目录和文件名的命名规则,在Linux下可以使用长文件或目录名 可以长达255个字符 可以给目录和文件取任何名字,但必须遵循下列的规则: 除了/之外,所有的字符都合法 有些字符最好不用,如空格符、制表符、退格符和字符:?, # $ & () | ; “ ”等。 避免使用+、-或.来作为普通文件名的第一个字符 大小写敏感 以“.”开头的文件或目录是隐含的,2018年11月7日,27,Creative Commons License(BY-NC-SA),通配符,*:匹配任何字符和任何数目的字符 ?:匹配单一数目的任何字符 :匹配 之内的任意一个字符 ! :匹配除了! 之外的任意一个字符,!表示非的意思,2018年11月7日,28,“*”能匹配文件或目录名中的“.”。 “*”不能匹配首字符是“.”的文件或目录名。,Creative Commons License(BY-NC-SA),通配符使用举例,ls *.c 列出当前目录下的所有C语言源文件。 ls /home/*/*.c 列出/home目录下所有子目录中的所有C语言源文件。 ls n*.conf 列出当前目录下的所有以字母n开始的conf文件。 ls test?.dat 列出当前目录下的以test开始的,随后一个字符是任意的.dat文件。 ls abc* 列出当前目录下的首字符是a或b或c的所有文件。 ls !abc* 列出当前目录下的首字符不是a或b或c的所有文件。 ls a-zA-Z* 列出当前目录下的首字符是字母的所有文件,2018年11月7日,29,Creative Commons License(BY-NC-SA),Linux下的文件与目录,2018年11月7日,30,Creative Commons License(BY-NC-SA),文件的类型,普通文件 ( - ) 目录 ( d ) 符号链接 ( l ) 字符设备文件 ( c ) 块设备文件 ( b ) 套接字 ( s ) 命名管道 ( p ),2018年11月7日,31,Creative Commons License(BY-NC-SA),普通文件,普通文件仅仅就是字节序列,Linux 并没有对其内容规