- 1. Unix/Linux系统
主讲教师:王宇宾
学时:36
- 2. 第5章 字符操作环境在某些情况下,尤其是作为服务器时,加载图形界面会占用大量系统资源,因此比较适合于字符环境。
Linux下字符操作环境有两种,一种是虚拟控制台或终端,一种是在图形界面中提供的多种虚拟终端工具,如Xterm、rxvt甚至是Windows环境中的虚拟终端工具Hyper Terminal等。
- 3. 常用操作登陆
注销
图形界面:主菜单注销选择”注销”
文本界面中使用命令:”logout”或”exit”
关机
图形界面:主菜单注销选择”关机”
文本界面命令:”shutdown –h now”
重新启动
图形界面:主菜单注销选择”重新启动”
文本界面命令:”shutdown –r now”或”reboot”
- 4. 进入字符操作环境的方法以图形环境启动
桌面上右击,选择“新建终端”
切换虚拟控制台
直接以字符环境启动
- 5. 5.1 使用终端终端又称控制台。每个用户都是通过终端访问计算机资源。终端主要指用户的显示和输入设备。
Linux不仅能够支持多达256个终端连接到计算机上,还实现了6个虚拟终端,也就是说 ,将计算机主机上的显示器和键盘,当成6个终端接入到系统中。
- 6. 1. 虚拟控制台Linux自带6个虚拟控制台,用tty1到tty6表示。图形窗口被认为是第7个控制台。
可以在不同的控制台中用不同的用户身份登录。
切换控制台的方法是:Ctrl+Alt+Fn
注意:虚拟机释放鼠标的热键就是Ctrl+Alt,此时在虚拟机中用“Ctrl+Alt+Fn”切换控制台将会变成释放鼠标。因此,需要改变虚拟机热键:“编辑——参数——热键”
- 7. 2. 终端启动以字符界面启动终端时,会首先提示内核版本信息。
要求输入用户名和密码,其中密码不显示。
登陆后,如果和root用户,则显示“#”提示符,否则显示“$”提示符。
- 8. (本页无文本内容)
- 9. 3. 从虚拟控制台启动X Window如果是在tty1到tty6这6个虚拟控制台,可以直接用Ctrl+Alt+F7返回图形环境。
如果是直接启动到字符界面的话,则可以用startx命令启动图形界面。
- 10. 5.1.2 转换系统模式设置启动模式。可以修改文本文件/etc/inittab,修改“id:5:initdefault”为“id:3:initdefault”。
运行时设为文字模式。在图形环境中,可以启动一个终端,并输入init 3命令就可以切换到文字模式。但下次启动,还会进入图形界面。
- 11. 系统引导默认使用的界面模式与init进程的关系init进程是一个由内核启动的用户级进程。
内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所以,init始终是第一个进程(可以理解为系统所有进程的祖先进程,其进程编号始终为1)。
- 12. init运行级别运行级别
简单的说,运行级就是操作系统当前正在运行的功能级别。这个级别从0到6 ,具有不同的功能。
这些级别在/etc/inittab 文件里指定。这个文件是init程序寻找的主要文件,
不同的运行级定义如下:
# 0 – 关机(千万不能把initdefault 设置为0 )
# 1 - 单用户模式
# 2 - 多用户,没有 NFS
# 3 - 完全多用户模式(标准的运行级)
# 4 – 用户自定义
# 5 - X11 (x-window模式,即图形模式)
# 6 - 重新启动 (千万不要把initdefault 设置为6 )
- 13. 5.1.3 shell的历史终端主要是指显示和输入设备。shell则是用户与系统交互的接口。即用户通过终端输入设备输入命令,shell负责解释命令并要求系统完成操作,操作结果通过终端输出设备显示。
Red Hat Linux中带有几种不同的shell,默认的是BASH。
- 14. 2. 启动shellLinux下有多种shell,都在/etc/shells文件中。可以用cat命令查看。cat /ctc/shells
登录后,系统的提示就是BASH提示。
要想知道当前的shell,可以用:echo $SHELL
图形界面下,可以用“主菜单|系统工具|终端”命令打开。
退出可以单击关闭按钮,或输入exit,或按Ctrl+D
- 15. 5.2 使用shell5.2.1 为什么使用shell
近年来,Linux的图形化环境已经有了很大改进,在X窗口系统下,几乎可以完成全部的工作。
但通常情况下,同样的功能在shell中完成的比在GUI下完成得快。
- 16. 5.2.3 常用的shell操作浏览目录及文件
使用pwd判定当前目录。Pwd是指Print working derectory。
改变所在目录命令cd。cd ~(cd):回用户主目录。cd ~username:到指定用户主目录。cd -:回刚才的目录。cd ..:回上一级目录。cd 绝对路径(相对路径):到指定路径。
- 17. cd命令举例假设有/dir1/dir2/dir3,当前处于dir3中,则如何转到dir1中?
Cd /dir1
Cd .. Cd ..
Cd ../..
- 18. 5.2.3 常用的shell操作使用ls查看目录内容。Ls命令可以查看当前目录内容,加-a参数可以显示隐藏文件。加-l参数可以显示创建日期、大小、所有者、权限等。可以加目录名显示指定目录内容。可以用man ls查看ls命令的详细用法,上下键浏览,q键退出。可以建立别名,方便操作。如:alias dir=‘ls -al’
- 19. find命令命令格式:
find [目录列表] [匹配标准]
说明:
目录列表:希望查询文件或文件集的目录列表,目录间用空格分隔。
匹配标准:希望查询的文件的匹配标准或说明。常见的匹配标准如下表所示。
- 20. find命令的常用选项-name 文件名
告诉find要找什么文件;可以使用通配符。
-size n
匹配所有大小为n 块的文件(512字节/块,若k在n后,则为1K字节块,+n表示大于n块,-n表示小于n块)。
-type x
匹配所有类型为x的文件。x是f(一般文件), d(目录), c(字符特殊),b(块特殊),p(有名管道),l(符号连接)或s(套接文件)。
-user 用户名 / -group 用户组
匹配文件属主/用户组
以时间特征为查找条件
-mtime n 匹配所有在前n天内修改过的文件。
-amin n 匹配所有在n分钟以前被访问过的文件。
-atime n 匹配所有在n天以前被访问过的文件。
-cmin n 匹配所有在n分钟以前文件状态被修改过的文件。
-ctime n 匹配所有在n天以前文件状态被修改过的文件。
-mmin n 匹配所有在n分钟以前文件内容被修改过的文件。
- 21. du命令作用:显示目录/文件占用空间大小(以KB为单位)
命令格式:
du 【选项】 【目录/文件】
常用选项:
-s:只显示指定目录的大小
-h:以用户友好的格式显示文件大小
-a:输出所有子目录和子文件的使用空间情况(默认值只显示子目录的情况)
- 22. 2. 命令行打印lpr命令可以把文件做到打印队列中。如lpr test.txt -p参数指定打印机,-#num指定份数。lp命令可以完成相同的功能
lpq命令可以查看打印队列信息。-p参数指定打印机。
lprm命令可以取消打印队列中的作业。但只有root用户可以取消其他用户作业。
- 23. 3. 清除和重设终端机用clear命令可以清除终端中所显示的内容。
用reset命令可以重设终端。
- 24. 4. 管道和重定向cat命令把文件连接后送到基本输出。
Cat filename 可以显示文件的内容。
Cat file1 file2可以把两个文件内容连接后显示。
直接cat,则每输入一些字符,按回车后,屏幕就显示刚才的内容。
Ctrl+D退出cat。
- 25. 重定向重定向是指改变标准输出。
标准设备有标准输入、标准输出、标准错误输出3种,代码分别为0,1,2。重定向可以分别用<、>、2>。
例如:ls > list.txt可以将本应该在屏幕上输出的信息重定向到list.txt文件中。
还可以用cat > test.txt创建一个新文件,回车后可以输入数据,这些数据会重定向到该文件中。
- 26. 重定向Cat > test1.txt,然后输入字符,可以得到新文件test1.txt。
Cat test1.txt test2.txt > test3.txt。得到新文件test3.txt,且内容和test1.txt内容相同,屏幕输出错误信息:没有test2.txt文件
Cat test1.txt test2.txt > test4.txt 2> test5.txt。则test4.txt内容和test1.txt相同,test5.txt存储了错误信息。
- 27. 重定向用>重定向的时候,如果文件不存在,则创建;如果已存在,则将文件原有内容清除,写入新内容。
用>>重定向的话,如果文件已存在,则在文件原有内容的后面添加新内容。
用< 可以重定向输入。如:cat > test1.txt < test2.txt可以把test2.txt的内容输入到test1.txt中。
- 28. 4. 管道和分页器常用的分页工具:less,more。他们都可以一页一页的查看信息。More只能向下翻,less则更灵活。
以less为例:pagedown(空格键)向下翻动一页,pageup(b键)向上翻动一页。/字符串 向下搜索字符串。n:查找下一个。N:查找上一个。
q:离开。
- 29. 4. 管道和分页器选取工具:grep。可以在标准输入中分析各行,如果包含所需要的信息,则输出该行。
-i参数忽略大小写。
-n参数同时输出行号。
如: grep –in abc /root/mytest/test1.txt。表示在/root/mytest/test1.txt中搜索包含字符串“abc”的行,忽略大小写,同时输出行号。
- 30. 4. 管道和分页器管道命令“|”把两个命令连接起来。并把前一个命令的输出(标准输出,不包括标准错误)送给后一个命令作为标准输入。
例如用ls看到的信息很多的话,无法停止,可以用:ls –al | less,就可以一页一页的看ls的信息了。
又如只想看test1.txt文件中包含“hello”字符串的行,则可以:cat test1.txt | grep –n hello(grep –n hello /test1.txt)
- 31. 5. 阅读文本文件的其他命令head命令读取前n行。
tail命令读取后n行。
以head为例:head -n number filename。表示读取filename文件中的前n行数据。
不加-n,则默认10行。
- 32. 6.命令历史和Tab自动补全可以用上、下箭头获得命令历史。
按Tab键可以自动把命令补全。
如果可能的情况有多种,则响铃,此时再按一次Tab键可以出现一个可能补全的列表。
- 33. 7. 使用多重命令Linux下可以一次输入多重命令,但需要使用分号来分隔命令。
多重命令和管道命令不同,多重命令只是简单的顺序执行多个命令。
例如:date;mozilla;date,命令全部执行完后,可以通过前后两次date命令得知mozilla的使用时间。
- 34. 8. 所有权和许可权限Linux下有强大的文件权限管理。用ls -l命令可以看到文件或目录的权限情况。
其第一列就显示了当前的权限,共10位。第一位代表文件类型,其他9为对应3种不同用户的3种不同的权限。
- 35. 8. 所有权和许可权限表示文件类型的位可以有以下取值:
d:目录
- : 常规文件
l:连接文件
- 36. 8. 所有权和许可权限对应文件的3种不同访问权限分别是:
r:文件可以被读取。
w:文件可以被写入
x:文件可以被执行(如果它可以执行的话)
- 37. 8. 所有权和许可权限对应每个文件的3种不同用户,按顺序分别是:
所有者。通常就是创建者。
组群。即所有者所在的组的用户。
其他用户。除了所有者和组用户之外的其他所有用户。
以上每种用户都可以有前面所说的3种权限。
如-rwxr- - - - -,表示这是一个文件,所有者具有读写执行的权限,组用户只读,其他用户拒绝访问。
- 38. 改变文件权限改变文件权限命令是chmod,改变权限可以有符号和数字两种方式。
符号方式的格式是:Chmodu(所有者)+(添加权限)
-(删除权限)
=(指定权限)r(读取)文件或目录g(用户组)w(写入)o(其他用户)X(执行)a(所有人)
- 39. 改变文件权限如为组用户添加写权限,同时删除其他用户的所有权限。可以用如下命令:chomd g+w,o= test1.txt
设置所有用户可读,但删除其他用户的写权限。可以用如下命令:chmod a+r,o-w test1.txt
-R参数表示递归的持续更改,因此可以将目录下的所有文件和子目录都改变权限。
- 40. 改变文件权限也可以用数字来代表每种权限。
r=4,w=2,x=1,-=0
将各种权限所对应的数字加在一起,就可指定某种权限。
例如要设置所有者具有所有权限,组用户只读,其他用户拒绝所有权限,可以用如下命令:chmod 740 test1.txt
一些权限可以参看课本P104
- 41. 5.3 字符编辑器vi 字符模式下进行配置工作时,需要使用字符界面下的编辑器,vi是最常用的一个。
在字符模式下输入vi即可打开vi编辑器。打开后可以看到,实际上现在用的都是vim。
要退出vi,按Esc后,再输入“:q”即可退出。
- 42. 5.3.2 vi的操作模式Vi的界面分为两个部分:编辑区和命令区。命令区在屏幕最下方的一行,可以输入命令。其他区域则是编辑区,是实际进行编辑文字的地方。
Vi有3种模式:Command Mode:控制光标移动,复制、删除,进入其他模式。Insert Mode:新增文字、修改文字。Last Line Mode:保存、退出、查找字符串
- 43. 5.3.2 vi的操作模式Command Mode移动光标或编辑文字Input Mode输入文字Last Line Mode搜索或替换,保存及退出按Esc键按a、i、o键按 :键命令错误或按Esc
- 44. 5.3.3 Command Mode命令1 移动光标
上下左右键(K,J,H,L) :上下左右移动一格
Home(0):移到行首
End($):移到行尾
Page Up和Page Down:向上、下滚动一页
G:移到最后一行
gg:移到第一行
nG:移到第n行
- 45. 5.3.3 Command Mode命令2 复制文字
yy:复制整行
nyy:n为数字,表示复制光标所在的向下n行。例如5yy表示复制5行。
p:将复制的内容粘贴在光标所在位置的下一行。
P(大写):将复制的内容粘贴在光标所在位置的上一行
- 46. 5.3.3 Command Mode命令3 删除
X(大写):向前删除一个字符,相当于Backspace键
x(小写):向后删除一个字符,相当于Del键
dd:删除光标所在行
ndd:删除光标所在行及以下的n行
- 47. 5.3.3 Command Mode命令5 其他按键
r:修改光标所在字符
u:取消上次操作
Ctrl+r:恢复上次+操作
.:重复上一个动作
- 48. 5.3.4 Last Line Mode命令 按“:”键可以从Command Mode进入Last Line Mode
w:存盘
w filename:存储到filename文件中,相当于“另存为”
q:退出vi,如果不想保存的话,则使用q!
wq:存盘并退出
set nu:在vi中显示行号,取消显示行号则使用set nonu
- 49. 5.3.4 Last Line Mode命令/word:从光标位置开始,向下查找“word”
?word:从光标位置开始,向上查找“word”
n:重复前一个搜索的动作
N:“反向”进行前一个搜索的动作
n1,n2s/word1/word2/g:在n1行到n2行之间,把word1替换为word2