390 likes | 515 Views
第三章 字符界面与 Shell. 使用字符界面的原因:. 占用系统资源少,运行速度快 更加直接高效 图形化界面还不能完成所有的系统操作. Linux 的虚拟终端. Linux 的字符界面也称为虚拟终端,也称为字符界面或虚拟控制台。
E N D
使用字符界面的原因: • 占用系统资源少,运行速度快 • 更加直接高效 • 图形化界面还不能完成所有的系统操作
Linux的虚拟终端 Linux的字符界面也称为虚拟终端,也称为字符界面或虚拟控制台。 所谓虚拟终端,区别于类似于Windows的真实终端。虚拟终端可以为用户提供多个互不干扰、独立工作的工作界面,用户可以以同一个或多个用户帐号登录多个虚拟终端,同时使用计算机。操作Linux计算机时,虽然物理终端只有一套,但仿佛在操作多个终端。Linux的虚拟终端默认有7个,第7个虚拟终端为图形化界面,其他均为字符界面。Alt+F1~Alt+F7可从自符界面的终端切换到其他终端,Ctrl+Alt+F1~Ctrl+Alt+F6可从图形化界面切换到字符界面的终端。
命令的使用方式 • 文本界面 • 在图形界面中打开终端的方式有以下两种: • 在桌面上依次单击“主菜单→系统工具→终端”可打开终端窗口; • 在Linux的Gnome桌面系统上单击鼠标右键,从弹出的快捷菜单中选择“新建终端”命令,也可打开终端窗口。
Shell命令 • Shell是Linux内核与用户之间的接口,其负责将用户从终端输入的命令行解释为系统内核能够接受的低级语言,让系统完成用户指定的任务,再将操作系统响应的信息以用户能理解的方式显示出来。 • 一个Shell可以理解为一个“命令解释程序”,每个Linux的发行版本都提供两种以上的Shell供用户自行选择使用。各种Shell的最基本功能相同,但也有一些差别。比较常用的Shell有:Bourne Shell(Bsh)、C Shell、Korn Shell、Bourne-Again Shell(Bash,专为Linux开发,RHEL默认使用) • 当用户启动Linux并成功登录后,系统会自动启动到用户默认的Shell。 • Shell不仅是一种交互式命令解释程序,而且还是一种程序设计语言。 Shell有变量、位置参数、特殊符号、别名、各种控制语句、函数等。用户既可以输入命令执行,又可以利用Shell脚本编程,完成更加复杂的操作 。
Shell命令提示符 • “#”为超级用户提示符,“$”为普通用户提示符 • Shell命令格式 • 命令名 • 选项 • 参数 注:命令名、选项与参数以及参数与参数之间都必须用空格分隔;Linux严格区分大小写。
命令的使用方式 • 终端显示提示符后,用户就可以输入命令请示系统执行。这里所谓命令就是请示调用某个程序。例如当用户输入date命令时,系统就去调用date程序显示当前的日期和时间,终端屏幕上会出现类似下面的信息: [root@lbliubing root]# date 日 2月 1 15:49:11 CST 2004 • 当命令输入完毕后,一定不要忘记按回车健,因为系统只有收到回车键才认为命令行结束。 • 命令的选项有两种类型(注意多选项的联合使用问题): • 需指定参数 • 不需指定参数,完成特定功能
常用操作 登陆 注销(文本界面中使用命令:exit) 关机 • 图形界面:主菜单注销选择”关机” • 文本界面命令:”init 0”或”shutdown –h now”或“halt” 重新启动 • 图形界面:主菜单注销选择”重新启动” • 文本界面命令:”init 6”或”reboot”或“shutdown –r now” 模式切换 文本界面 init 3 ;图形界面 init 5 或者在字符界面中想启动图形界面,只需执行startx命令 可按Ctrl+Alt+F2 启动后直接进入字符界面
第四章 Linux基本命令 • 一、查看命令帮助文档(man) • 二、简单Shell命令 • 三、文件(目录)查看/查找 • 四、文件(目录)的写操作命令 • 五、用户管理 • 六、权限设置 • 七、进程操作命令 • 八、vi编辑器
简单的Shell命令 • date 命令 • 格式:date 【mmddhhmm【YYYY】】 • 功能:查看或修改系统时间 • cal命令 • 格式:cal 【YYYY】 • 功能:显示日历 • clear命令 • 功能:清除当前终端的屏幕内容 • su命令 • 格式:su username • 功能:切换当前终端用户身份 • 注意:使用“su - username”可以既切换用户的身份,也切换用户的环境
文件(目录)查看/查找 • pwd命令:显示当前目录的绝对目录 • cd命令:进入目录 • ls命令( 与dir相似):显示当前目录中的文件和子目录列表>> • cat命令:显示文件(文本)的内容(直接跳到最后一屏) • more命令:显示文件(文本)的内容(分屏显示) • less:显示文件(文本)的内容(分屏显示、可回溯) • tail: 显示文本文件的结尾部分 • sort命令:对文本文件中的各行按字母进行排序 • du命令:查看文件/目录的磁盘空间使用情况(单位为KB)>> • find命令(类似命令:locate):文件或文件夹搜索>> • grep命令 查找文件内容>> • wc命令: wc [选项] 文件列表 统计指定文件中的字节数(-c)、字数(-w)、行数(-l), 并将统计结果显示输出。
ls命令 • 命令格式: • ls [选项] [文件名/目录列表] • 注:文件名可以使用通配符 • ls命令中的常用选项如下: • -l:除文件名外,也将文件状态、权限、拥有者、文件大小等信息详细列出 • -a:显示所有文件及目录 (ls规定将文件名或目录名中开头为"."的视为隐藏档,不会列出) • -t :根据文件建立时间的先后次序列出 • -A :同 -a ,但不列出 "." (目前目录) 及 ".." (父目录) • -X:按扩展名排序显示 • -R:递归显示下层子目录 返回
du命令 • 作用:显示目录/文件占用空间大小(以KB为单位) • 命令格式: • du 【选项】 【目录/文件】 • 常用选项: • -s:只显示指定目录的大小 • -h:以用户友好的格式显示文件大小 • -a:输出所有子目录和子文件的使用空间情况(默认值只显示子目录的情况) • 注意:在Linux中,目录也是一种文件,叫“目录文件”,每个目录本身会占用4KB的空间 返回
find命令 • 命令格式: • find [目录列表] [匹配标准] • 说明: • 目录列表:希望查询文件或文件集的目录列表,目录间用空格分隔。 • 匹配标准:希望查询的文件的匹配标准或说明。常见的匹配标准如下表所示。 返回
find命令的常用选项 • -name 文件名 • 告诉find要找什么文件;要找的文件包括在引号中,可以使用通配符(*、[ ]和?,通配符中不匹配“.”,名字不要和系统命令关键词冲突) • -type x • 匹配所有类型为x的文件。x是f(一般文件), d(目录), c(字符特殊),b(块特殊),p(有名管道),l(符号连接)或s(套接文件)。 • -size n • 匹配所有大小为n 块的文件(512字节/块,若k在n后,则为1K字节块)。 返回
find命令的常用选项 • 以时间特征为查找条件 • • mtime —文件内容上次修改时间 • atime — 文件被读取或访问的时间• ctime — 文件状态变化时间 这些时间选项都需要与一个值 n结合使用,指定为 -n、n或 +n。 • • -n返回项小于 n • +n返回项大于 n• n返回项正好与 n相等 返回
grep命令 • 语法如下: grep [选项] 匹配字符串 文件列表 • 命令中的参数说明如下: • 匹配字符串:希望在文件中查到的串(不能使用通配符)。 • 文件列表中可以使用通配符 • grep命令的常用选项: 选项 说明 -v 列出不匹配字符串的行。 -i 产生不区分大小写的匹配,缺省状态是区分大小写。 -c 对匹配的行计数。 -l 只显示包含匹配的文件的文件名。 -h 抑制包含匹配文件的文件名的显示 -n 每个匹配行只按照相对的行号显示。 返回
获得帮助 1、 man命令 格式:man 命令名 2、--help选项 格式: 命令名 --help
通用操作 命令补齐 历史操作(history n或上下键搜索) 管道命令(例如让一个命令的输出作为另外一个命令的输入) 通配符 • ?:表示该位置可以是一个任意的单个字符。 • *:表示该位置可以是若干个任意字符。 • 方括号[charset]:可替代charset集中的任何单个字符,例如:[cChH]表示在文件的该位置中可出现任意单个的c或h字符的大小写形式。另外,通配符集还能描述介于字符对之间的所有字符。如“[a-z]”就可以代 替任意小写字母,而[a-zA-Z]则可替代任意字母。注意可替代的字符包括a到z和A到Z字符对之间的所有字符。
命令补齐 所谓命令补齐是指当键入的字符足以确定一个唯一的文件(普通文件或目录文件)时,只须按 Tab 键就可以自动补齐该文件名的剩下部分。 例如要把目录 /freesoft下的文件gcc-2.8.1.tar.gz解包,当键入到 tar xvfz /freesoft/g时,如果此文件是该目录下唯一以 g开头的文件,这时就可以按下 Tab 键,这时命令会被自动补齐为: tar xvfz /freesoft/gcc-2.8.1.tar.gz
输入输出重定向 • 输入输出重定向是指不使用系统的标准输入、标准输出或标准错误输出端口,重新进行指定。Shell中输入输出重定向主要依靠重定向符号来实现,通常重定向到一个文件。根据输出效果的不同,可分为:输出重定向、附加输出重定向和错误输出重定向。 • 输出重定向:通过符号“>”实现将命令执行的结果保存到某一文件。与cat命令相结合,可实现文本文件的创建及合并。 • 附加重定向:与输出重定向的区别在于前者将输出内容附加在原有文件后面,不会覆盖其内容。通过符号“>>”实现
错误输出重定向 :即重定向命令执行中的错误信息。使用“2>”符号将命令的执行结果显示在屏幕上,而错误信息重定向到指定文件;使用“&>”将执行结果和错误信息都重定向到同一文件。 • 输入重定向:不从标准输入键盘读入数据,而是从文件读入数据,用符号“<”实现。
管道 • 管道将多个命令前后连接起来形成一个管道流。前一个命令的输出结果传送到后一个命令作为输入,从左到右依次执行每个命令。用符号“|”实现。 别名 • 别名就是按照Shell命令的标准格式所写的命令行的缩写,用来减少键盘输入。alias命令可查看和设置别名。 格式:alias [别名=’标准Shell命令行’]
文件(目录)的操作命令 • mkdir • 创建目录(注意:“-p”选项可以递归创建目录,”-m选项可以设置目录权限”)。 • ln命令 • 创建文件链接。>> • cp命令 • 用于复制文件或目录。>> • mv命令 • 移动文件或目录。>> • rm命令 • 文件删除 >>
ln命令 • 格式 • ln [options] 源文件 链接名 • 参数:-s:进行软链结(Symbolic Link)。 • 链接有两种: • 硬链接(Hard Link),将文件名直接连接原文件在磁盘上的inode节点号,链接文件和原文件都共用一个磁盘上的文件。 • 符号链接(Symbolic Link),即快捷方式,链接的是文件的路径。 • 默认情况下,ln命令产生硬链接。
软连接和硬连接的区别: • 硬连接就像一个文件有多个文件名, 软连接就是产生一个新文件,这个文件指向另一个文件的位置, 硬连接必须在同一文件系统中,而软连接可以跨文件系统. • 硬连接不管有多少个,都指向的是同一个节点,只会把结点连接数增加 ,只要结点的连接数不是 0,文件就一直存在 ,不管你删除的是源文件还是连接的文件 。当你修改源文件或者连接文件任何一个的时候 ,其他的文件都会做同步的修改 。软链接不直接使用节点号作为文件指针,而是使用文件路径名作为指针。所以 删除连接文件 对源文件无影响,但是删除源文件,连接文件就会找不到要指向的文件 。 • 软连接可以对一个不存在的文件名进行连接 ,也可以对目录进行连接。
cp命令 • 命令格式如下: • cp[选项] 源文件|源文件组 目标文件/目标文件夹 • cp命令常用选项 常用选项 说明 -p 保持原先文件的所有者,组权限和时间标志。 -r (同-R)递归拷贝目录,把所有非目录文件当普通文件拷贝。 -a 在备份中保持尽可能多的源文件的结构和属性。 -b 作将要覆盖或删除文件的备份。 -f 删除已存在的目标文件。 -i 提示是否覆盖已存在的目标文件。
mv命令 • 语法格式: mv 文件1 文件2 mv 目录1 目录2 mv 文件列表 目录 • 注意: • 1、可以作为文件或目录的重命名使用。 • 2、这个命令没有普通文件和目录的区别
rm命令 • 命令格式: • rm [选项] 文件列表 • 文件列表:希望删除的用空格分隔的文件列表,可以包括目录名。 • rm命令常用选项 常用选项 说明 -r :删除文件列表中指定的目录,若不用此标志则不删除目录 -f :指定强行删除模式。通常,在删除文件权限可满足时rm提示。本标志强迫删除,不用提示。
rm命令常用选项 -i :指定交互模式。在执行删除前提示确认。任何以Y开始的响应都表示肯定;其他则表示否定。 -v :在删除前回显文件名。 -- :指明所有选项结束。用于删除一个文件名与某一选项相同的文件。例如:假定偶然建立了名为-f 的文件,又打算删除它,命令rm –f 不起任何作用,因为-f被解释成标志而不是文件名;而命令rm -- -f能成功地删除文件。
3-4文本编辑器vi • 文本编辑器是所有计算机系统中最常用的一种工具。UNIX下的编辑器有ex,sed和vi等,其中,使用最为广泛的是vi • Vi的三种工作模式: • 命令模式:启动vi后直接进入命令模式,命令模式下只能接受文本编辑命令. • 文本编辑模式:文本编辑模式用于字符编辑.在命令模式下输入i (插入命令), a (附加命令) 后可切换到文本编辑模式;按Esc键就可返回到命令模式。 • 最后行模式:在命令模式下,按“ :”键进入最后行模式,等待用户输入命令。命令执行完毕后,vi自动回到命令模式。
进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename vi filename....filename :打开多个文件,依次进行编辑
移动光标类命令 • nG:光标移至第n行首 n+:光标下移n行 n-:光标上移n行 n$:光标移至第n行尾 H :光标移至屏幕顶行 M :光标移至屏幕中间行 L :光标移至屏幕最后行 0:(注意是数字零)光标移至当前行首 $:光标移至当前行尾
插入文本类命令i :在光标前 I :在当前行首 a:光标后 A:在当前行尾 o:在当前行之下新开一行 O:在当前行之上新开一行 • 删除命令 ndw或ndW:删除光标处开始及其后的n-1个字 do:删至行首 d$:删至行尾 ndd:删除当前行及其后n-1行 x或X:删除一个字符,x删除光标后的,而X删除光标前的 Ctrl+u:删除输入方式下所输入的文本
搜索命令/pattern:从光标开始处向文件尾搜索pattern ?pattern:从光标开始处向文件首搜索pattern n:在同一方向重复上一次搜索命令 N:在反方向上重复上一次搜索命令 • 最后行方式命令:w :保存当前文件 :x:保存当前文件并退出 :q:退出vi :q!:不保存文件并退出vi :!command:执行shell命令command :r!command:将命令command的输出结果放到当前行
撤销与重复 u 撤销上一步操作 . 重复上一步操作 • 文本块操作 : set nu :每一行前出现行号 :n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下 :n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下 :n1,n2 d :将n1行到n2行之间的内容删除
练 习 1、Tenny对date命令所输出的时间格式不是很满意,他希望的输出格式是“年-月-日 时:分:秒”,且以12小时制表示。例如“2005-01-27 10:14:37 AM”。请借助man命令的帮助给出能完成此任务的date命令。 【提示】已知命令“date +%m'-'%d”的输出结果是“01-27”。
2、请借助man命令回答下列问题: (1)w命令的功能是什么?如何使用? (2)who命令的功能是什么?如何使用? (3)df命令的功能是什么?如何使用? (4)top命令的功能是什么?如何使用?