实验2 linux基本命令与工具(一)
- 格式:doc
- 大小:657.00 KB
- 文档页数:15
广东技术师范学院实验报告
学院: 计算机科学学院 专业: 软件工程 班级: 09软件 成绩:
姓名: 学号: 组别: 组员:
实验地点: 工业中心204 实验日期: 2011.9.8 指导教师签名:
实验
2 项目名称: 基本命令与工具(一)
1、 实验目的
学习Linux命令的基本结构,掌握Linux操作系统的基本命令使用方法,为进一步学习Linux高级命令的使用做准备。
2、 实验内容
2.1 回顾:UNIX系统的基本结构
程序库
系统调用界面 用户程序
进程
控制
子系统 进程通信
进程调度
进程存储文件子系统 高速缓冲
字符设备 块设备
设备驱动程序
硬件控制
硬件 用户级
核心级
硬件层
尽管我们在《操作系统原理》中已经了解过UNIX系统,但在这里仍有必要对UNIX系统的基本结构作简单的回顾,目的是要更好地理解AIX操作系统基本工作原理。UNIX系统包括两级:用户级和核心级。用户程序通过系统调用界面获得内核的服务。核心级中包括进程控制子系统、文件子系统,设备系统等,底层是操作系统对硬件层的控制。
如果要对UNIX系统结构做一个最简单的划分,就是内核(kernel)和“外壳”(shell)了。系统管理的大部分工作,都需要通过字符终端在shell下完成。Shell就是用户使用操作系统各种功能的基本界面。课程实验的许多内容,都是在shell中展开的。
Linux系统初始化时就会自动启动shell。用户是通过一个所谓的字符终端去从用户登录到用户退出登录,用户输入的每个命令都要由shell接收,并由shell去解释输入的命令。如果用户输入的命令正确,shell会去调用相应的命令或程序,并由内核负责其执行,从而实现用户所要求的功能。
UNIX的Shell有许多种,有Bourne Shell,C Shell,Bourne-Again Shell(简称Bash,最流行的shell),korn Shell(简称k
shell)。Linux默认使用Bash,但也有使用k shell等其他shell的。要知道现在所在系统的shell类型,可利用字符终端登录系统预习情况 操作情况 考勤情况 数据处理情况 后用命令查看当前系统使用的shell类型:
$ echo $SHELL
/bin/bash
2.2 字符终端的概念
一谈到字符终端,许多人就会贴上“落后”的标签,毕竟图形界面已经广泛使用,有许多用户已不能接受输入命令的方式。事实上,随着现今Linux桌面的不断发展,应用程序的逐渐丰富,因此字符终端在许多场合中并不是必须的。
不过,从上述UNIX结构中,你会发现shell在UNIX中的作用远非一个用户操作的界面那么简单。总的来说,SHELL是一个解释器,对命令进行解释并交由内核执行,在字符终端上用户能利用SHELL语言编写具有强大系统管理功能的脚本,这些功能是图形界面说不具备的。此外,作为一个复杂的应用程序,图形界面出错的可能性比字符终端要高得多,字符终端的稳定性在一些关键的应用场合还是很有必要的。
在字符终端下,用户是通过一定的协议实现远程登录并使用机器,主要有telnet协议和SSH协议。由于Telnet的不安全性,Linux下多用SSH协议。SSH 为 Secure Shell 的缩写,是专为远程登录会话和其他网络服务提供安全性的协议。参见的使用ssh协议的远程访问工具有SecureShellClient等。
2.3 命令的基本格式
当你通过字符终端登录后,便进入命令提示符,命令提示符有许多表达形式,可以附带用户名和主机名称等信息,但也可以很简洁。下图是一个典型的命令提示
UNIX中一个基本命令包含三个要素:命令名、选项、参数。本质上命令名是指用户要运行的程序的名称。用户通过设定选项指出命令要执行的特定功能,参数是命令执行时需要的输入值。选项和参数不是一定要填写的。
命令名、选项、参数都区分大小写,它们通过空格或制表符(TAB键)隔开。初学者经常容易犯的一个错误是把选项和参数混淆,一般来说,选项带有符号“-”,如“-a”,而参数没有,但也有特例,在学习具体例子时会指出。此外,选项和参数都是可以多个的。如果需要多个选项,可把选项连续表示,如“-abc”,也可以单独表示,如“-a -b -c”,但选项间需要用空格区分开来。多个参数也是需要用空格隔开。
为什么要用空格把命令名、参数、选项隔开?因为shell作为解释器,以空格或制表符作为间隔标志来读取命令,如果没有空格隔开,shell就会认为是一个独立的整体而对其进行解释。
下面是一些命令的例子,大家指出哪部分是命令名,选项和参数:
# wc -cl /etc/inittab
# find . -name "unix" –print
# kill -9 23094
2.4 一些常用的基本命令
下面介绍一些常用的基本命令,这些命令是一些日常系统管理时经常用到的工具,掌握这些命令以及下面所提及的选项是系统管理所必需的(课程要求能熟练使用)。
(1) who命令
功能:列出当前系统注册的用户,另外有whoami命令 选项:无
参数:无
例子:注意看系统有多少人在线,并思考以下问题,如何自动统计在线人数?
#who
#whoami
(2) ls命令
功能:显示目录内容
格式:ls [选项] [文件或目录]
选项:
-a:列出目录中所有项,包括以“.”开始的项(以点开头的为隐藏文件)
-l:以列表形式显示文件
-R:递归列出所有
例子:注意对比三个命令的结果差异
# ls -a /etc
# ls -al /etc
# ls -R /ect
(3) pwd
功能:显示当前目录
选项:无
例子:
#pwd
(4) cd命令
功能:更改当前目录
格式:cd [选项] [文件或目录]
选项:无
例子:注意三个cd命令的区别和结果
# cd
/proc
# ls
# cd ~
# ls
# cd ..
# ls
(5) stat命令和file命令
功能:获得关于某文件的基本信息
格式:stat 文件 / file命令
例子:stat命令和file命令在功能上的差异
# stat
/etc/environment
# file /etc/environment
(6) touch命令 功能:更新一个文件的访问和修改时间,如果没有对应文件则新建该文件
格式:touch 文件名
例子:注意前一次使用stat命令和后一次使用stat命令的返回结果的差异
# cd ~
# touch
tt
# stat
tt
# touch tt
# stat tt
(7) mv命令
功能:移动或重命名文件或目录
格式:mv [选项] 源文件或目录 目的文件或目录
选项:
-b:若存在同名文件,覆盖前先备份(backup)原来的文件
-f:强制(force)覆盖同名文件
例子:留意最后目录中是否多了一个备份文件(文件末尾有“~”符号)
# cd ~
# touch ttt
# touch tt
# mv –b tt
ttt
# ls
(8) cp命令
功能:复制文件或目录
格式:cp [选项] 源文件或源目录 目的文件或目的目录
选项:
-f:强制(force)覆盖同名文件
-b:若存在同名文件,覆盖前先备份(backup)原来的文件
-r:-r选项是以递归方式复制文件
# cd ~
# cp a
acopy
# ls
(9) rm命令
功能:删除文件或目录
格式:rm [选项] 文件或目录
选项:
-f:强制(force)删除文件
-r:rm命令默认只删除文件,-r选项是以递归方式删除目录
例子:
# cd ~
# touch a b
c
# rm a
b
# rm –f b
(10) mkdir命令和rmdir命令
功能:增加文件夹和删除文件夹
格式:mkdir [选项] 目录 / rmdir
选项:无
例子:注意要删除的文件夹要求是空的,如果里面有文件,则使用“rm –r 文件夹”
# cd ~
# mkdir
testdir
# cd testdir
# touch a b
c
# ls
# cd ..
# rmdir
testdir
# rm -r testdir
(11) cat
功能:连接或显示文件
格式:ls [选项] [文件]
选项:
-n:显示行号
# cat /etc/environment
(12) more命令
功能:分屏显示文本文件的内容。首先显示一屏后若还有内容,按回车键再显示下一行,按空格键显示另一屏。
格式:more 文件
# more /etc/environment
(13) tail命令
功能:显示文本文件的结尾部分,默认显示文件的最后10行
格式:tail [选项] [行数] [文件]
选项:
-n:指定显示的行数
# tail -n 5 /etc/environment
(14) grep命令
功能:从指定文件或标准输出中中查找符合条件的字符串。
格式:grep [选项] 字符串 文件列表
例子:
# grep init /etc/inittab
(15) wc(WordCount)命令
功能:依次显示文本文件的行数、字数和字符数
格式:wc [选项] 文件列表
选项: