实验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 [选项] 文件列表

选项: