Linux
This presentation is the property of its rightful owner.
Sponsored Links
1 / 45

第十三章    Linux PowerPoint PPT Presentation


  • 96 Views
  • Uploaded on
  • Presentation posted in: General

第十三章    Linux. 第一节  Linux 简介 第二节  Linux 的特点 第三节 Linux 的命令 第四节 Shell 简介 第五节 Shell 编程. 第一节  Linux 简介. 引子

Download Presentation

第十三章    Linux

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Linux

第十三章    Linux

  • 第一节  Linux简介

  • 第二节  Linux的特点

  • 第三节 Linux的命令

  • 第四节 Shell简介

  • 第五节 Shell编程


Linux1

第一节  Linux简介

  • 引子

    1991年Linux出现,最早开始于一位名叫Linus Torvalds的芬兰赫尔辛基大学的学生。他的目的是想设计一个代替Minix(是由一位名叫Andrew Tannebaum的计算机教授编写的一个操作系统示教程序)的操作系统,这个操作系统可用于386、486或奔腾处理器的个人计算机上,并且具有 Unix操作系统的全部功能,因而开始了Linux雏形的设计。


Linux

  • 历史

    • 1991年10月,脱离Minix的Linux0.02版发布,可以运行bash和gcc。

    • 1994年初Linux 1.0 诞生,功能已经完备。

    • 1.3版开始向其它硬件平台移植。

    • 2.1版开始Linux走向高端。

    • 2.4.17开始支持超线程。

    • 最新版2.4 2.6(内核版本号)。


Linux

  • FreeBSD和Linux

    FreeBSD和Linux 是可在i386上运行的免费的操作系统,我们能够使用的也基本上只有这两个UNIX系统:

    1. FreeBSD是由最初的BSDUNIX一路发展下来的正统的

    UNIX系统,而linux是一个遵循POSIX标准所有系统代码

    全部重新编写了的操作系统。

    2. FreeBSD是完整的一个操作系统,而linux只是一个内核,

    加上各种GNU软件构成的操作系统,所以,才会有很多

    的linux系统,如RedHat Linux ,Tubro Linux,兰点linux

    等,redhat linux 就是redhat公司对linux内核作必要的修

    改,加上redhat挑选的GNU程序构成。


Linux

  • 商业版本的Linux操作系统

    Redhat Linux :世界上最流行的Linux发行版之一。

    Mandrake Linux:贴近用户的Linux。

    Turbo Linux :最早支持中文的Linux 。

    Xteam Linux:第一个国产Linux 。

    红旗 Linux:中国自己的Linux,政府支持。

    蓝点 Linux:中美共同开发的。

    Linuxware:易于安装 , 极其类似于Unix。


Linux2

第二节  Linux特点

1. 多用户多任务的操作系统。

2. Linux是一款免费的操作系统,基于GPL(General Public

License)的架构之下,用户可以通过网络或其他途径免费获

得,并可以任意修改其源代码。

3.完全兼容POSIX 1.0(Portable Operating System Interface

for UNIX 一组 OSI 与 IEEE 的规格,用来定义程序与操作系

统 (OS) 之间的接口 (interface),使符合规范的程序能在所有

符合规范的操作系统上执行)标准,这使得可以在Linux下通

过相应的模拟器运行常见的DOS、Windows的程序。


Linux

4. 采用页式存储管理。页式存储管理使Linux能更有效地利用

物理存储空间,页面的换入换出为用户提供了更大的存储空

间。

5. 架构开放,核心程序和系统支持软件大多用 C语言编写。

6. 稳定的系统。Linux 本来就是建立在 Unix 上面发展出来的操

作系统,因此,Linux 具有与 Unix 系统相似的的程序接口跟

操作方式,当然也继承了 Unix 稳定并且有效率的特点。

7. 支持多种文件系统。目前支持的文件系统有:EXT2、

EXT、XIAFS、ISOFS、HPFS、MSDOS、UMSDOS、

PROC、NFS等。Linux最常用的文件系统是EXT2,它的文

件名长度可达255字符,并且还有许多特有的功能,使它比

常规的Unix文件系统更加安全。


Linux3

Linux环境的建立


Linux4

第三节 Linux的命令

1.Linux进入与退出系统

1.1 必须要输入用户的账号,在系统安装过程中可以创建以下两种帐号:1.root--超级用户帐号(系统管理员),使用这个帐号可以在系统中做任何事情。2.普通用户--这个帐号供普通用户使用,可以进行有限的操作。

  • 当用户正确地输入用户名和口令后,就能合法地进入系统。屏幕显示: [[email protected] /root] #

  • 这时就可以对系统做各种操作了。注意超级用户的提示符是“#”,其他用户的提示符是“$”。

    1.2 虚拟控制台 Linux是一个真正的多用户操作系统,它可以同时接受多个用户登录,还允许一个用户进行多次登录,按一下Alt-F2键,用户又可以看到"login:"提示符,说明用户看到了第二个虚拟控制台。然后只需按Alt-F1键,就可以回到第一个虚拟控制台。

    1.3 退出系统 不论是超级用户,还是普通用户,需要退出系统时,在shell提示符下,键入exit(logout,login,halt,reboot)命令即可。


Linux

2. Linux文件的复制、删除和移动命令

文件系统概述

1 2 3 4 5 6 7


Linux

1.文件类型

d 目录。

l 符号链接(指向另一个文件)。

s 套接字文件。

b 块设备文件。

c 字符设备文件。

p 命名管道文件。

- 普通文件,或者更准确地说,不属于以上几种类型的文件。

文件权限

r 读权限

w 写/更改权限

x 执行该脚本或程序的权限

(第一个字符) - 普通文件

(接下来的三个字符) r w - 文件属主的权限

(再接下来的三个字符) r- - 同组用户的权限

(最后三个字符) r- - 其他用户的权限


Linux

2. 该文件硬链接的数目 1 。

3. 文件的属主 root 。

4. 文件的属主root所在的缺省组(也叫做root ),组名称 root。

5. 用字节来表示的文件长度,记住,不是K字节 836。

6. 文件的更新时间 May 28 04:15。

7. 文件名 anaconda-ks.cfg。


Linux

2. Linux文件的复制、删除和移动命令

2.1 cp命令

该命令的功能是将给出的文件或目录拷贝到另一文件或目录中 :

语法:cp [选项] 源文件或目录 目标文件或目录

例如:cp data1.txt data2.txt

2.2 rm命令

删除档案:

参数:

-i 删除前逐一询问确认。

-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。

-r 将目录及以下之档案亦逐一删除。

语法:rm [options] name...

例如:将 Finished 子目录及子目录中所有档案删除 : rm -r Finished


Linux

2.3 mv命令

将一个文件改名成另一文件,或将数个文件移至另一目录。 :

参数:-i 若目的地已有同名文件,则先询问是否覆盖旧文件。

语法:mv [options] source dest mv [options] source... directory

例如:将档案 aaa 更名为 bbb : mv aaa bbb

将所有的C语言程式移至 Finished 子目录中 : mv -i *.c


Linux

3. Linux目录的操作

3.1 创建目录

mkdir [参数] 目录名

3.2 列出目录和文件

ls

格式:ls [-alrtAFR] [name...]

说明:显示指定工作目录下之内容(列出目前工作目录所含之档案及子目录)。

参数:

-a 显示所有档案及目录 (ls内定将档案名或目录名称开头为“.”的视为隐藏档,不会列出) 。

-l 除档案名称外,亦将档案型态、权限、拥有者、档案大小等资讯详细列出。


Linux

3.3 目录切换

cd 变换工作目录至 dirName。 其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home directory (也就是刚 login 时所在的目录)。

使用方式 :

"~" 也表示为 home directory 的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录。

语法:cd [dirName]

例如: 跳到 /usr/bin/ : cd /usr/bin

跳到自己的 home directory : cd ~

跳到目前目录的上一层 : cd ..

3.4 删除目录

rmdir。


Linux

4. Linux文本的操作

4.1 连接文件

cat

说明:把文件串连接后传到基本输出(屏幕或加 > fileName 到另一个文件)

例子:cat -n textfile1 > textfile2 把 textfile1 的档案内容加上行号后输入

textfile2 这个档案里。cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的档

案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。


Linux

4.2 显示文件内容

more

例子:more -s testfile 逐页显示 testfile 之档案内容,如有连续两行以上空白行则以一行空白行显示。 more +20 testfile 从第 20 行开始显示 testfile 之档案内容。

4.3 查找文件内容的命令是grep命令

例如:grep test *.conf

4.4 显示目前登入系统的用户信息

who,whoami,pwd


Linux

4.5 变更文件或目录的权限

chmod

格式如下 : [ugoa...][[+-=][rwxX]...][,...]

其中 u 表示该档案的拥有者

g 表示与该档案的拥有者属于同一个群体(group)者

o 表示其他以外的人

a 表示这三者皆是+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。 r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。-c : 若该档案权限确实已经更改,才显示其更改动作 -f : 若该档案权限无法被更改也不要显示错误讯息 -v : 显示权限变更的详细资料 -R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)


Linux

例如:将档案 file1.txt 设为所有人皆可写 : chmod o+w file1.txt

通过键入 go-rw,告诉系统删除文件 file1.txt 中组群和其它人的读取和写入权限

chmod go-rw file1.txt

4.6 显示目录或文件的大小

du

参数:

-a或-all   显示目录中个别文件的大小。

-b或-bytes   显示目录或文件大小时,以byte为单位。

-c或--total   除显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。

例如:

du –ab test1


Linux

4.7 文件打包

tar

格式: tar 选项 文件目录列表

功能: 对文件目录进行打包备份

选项:

-c 建立新的归档文件

-r 向归档文件末尾追加文件

-x 从归档文件中解出文件

-O 将文件解开到标准输出

-v 处理过程中输出相关信息

-f 对普通文件操作

-z 调用gzip来压缩归档文件,与-x联用时调用gzip完成解压缩

-Z 调用compress来压缩归档文件,与-x联用时调用compress完成解压缩

例如:

tar –cvf t1bak.tar /root/test/t1

tar -xvf filename.tar这个命令不会删除 tar 文件,但是它会把被解除归档的内容复制到当前的工作目录下,并保留归档文件所使用的任何目录结构。


Linux

4.8 文件压缩与解压

gzip,unzip

参数:

-q或--quiet  不显示警告信息。 

-r或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。

例子:

1.压缩一组文件为tar.gz后缀。# tar cvf backup.tar /etc#gzip -q backup.tar或# tar cvfz backup.tar.gz /etc/

2.释放一个后缀为tar.gz的文件。#gunzip backup.tar.gz#tar xvf backup.tar或# tar xvfz backup.tar.gz

课后练习:

zip 和 unzip


Linux

5. Linux文件系统

5.1 关键目录结构

/bin 这个目录存放着最经常使用的命令。

/boot 这里存放的是启动Linux时使用的一些核心文件,包括一些链接文件以及镜像文件。

/dev 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。

/etc 这个目录用来存放所有的系统管理所需要的配置文件和子目录。

/home 用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

/lost+found 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

/mnt 在这里面中有四个目录,系统提供这些目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/cdrom上,然后进入该目录就可以查看光驱里的内容了。


Linux

/proc 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

/root 该目录为系统管理员,也称作超级权限者的用户主目录。

/sbin s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

/tmp 这个目录是用来存放一些临时文件的。

/usr 我们要用到的很多应用程序和文件几乎都存放在usr目录下。


Linux

/usr/X11R6 存放X-Window的目录;

/usr/bin 存放着许多应用程序;

/usr/sbin 给超级用户使用的一些管理程序就放在这里;

/usr/doc 这是Linux文档的大本营;

/usr/include Linux下开发和编译应用程序需要的头文件,在这里查找;

/usr/lib 存放一些常用的动态链接共享库和静态档案库;

/usr/local 这是提供给一般用户的/usr目录,在这里安装软件最适合;

/usr/man man在Linux中是帮助的同义词,这里就是帮助文档的存放目录;

/usr/src Linux开放的源代码就存在这个目录;

/var 这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。


Linux

5.2 inode和EXT2,EXT3

Ext2的特点

1.Ext2 可以支持256字节的长文件名

2.簇最大为 4KB, 则单一文件大小上限为 2048GB, 而文件系统的容量上限为 6384GB

3.ext2在写入文件内容的同时并没有同时写入文件的meta-data(和文件有关的信息,例如:权限、所有者以及创建和访问时间)。换句话说,Linux先写入文件的内容,然后等到有空的时候才写入文件的meta-data。这样若出现写入文件内容之后但在写入文件的meta-data之前系统突然断电,就可能造成在文件系统就会处于不一致的状态。在一个有大量文件操作的系统中出现这种情况会导致很严重的后果。

4.另外但由于目前核心 2.4 所能使用的单一分割区最大只有 2048GB,尽管文件系统的容量上限为 6384G但是实际上能使用的文件系统容量最多也只有 2048GB。

ext3的优点:安全性,完整的日志系统(ext2区别)


Linux

inode(index node)文件结构:记录文件的类型、大小、权限、所有者等属性,以及指向数据块(block)的指针。


Linux

Inode相关命令:

ls –i

df -i


Linux

6. 组和用户系统

6.1 创建用户

useradd(adduser) 用户名

passwd 用户名

账号名称 用户口令 用户标识符 组标识符 用户相关信息 用户目录 用户环境

6.2 停用或删除用户

停用用户 vi /etc/passwd中的用户注释掉(#)

Userdel –r 用户名 (删除用户的所有目录)


Linux

6.1 创建组

groupadd 组名

组名称;加入该组的口令;组标识符(0~499系统用);用户账号(自建组一般是空白的)

6.2 删除组

groupdel 组名


Linux

7. 挂接及mount,umount的使用

  • 在Linux下使用优盘

  • 在Linux下使用光驱 1)创建一个目录,用来挂上光盘目录树: mkdir /mnt/cdrom 目录名可以根据你自己的习惯命名; 2)插入光盘,执行“mount –t iso9660 /dev/hdc /mnt/cdrom”命令;

    注意:如果你的光驱接在第一硬盘线的从盘上,需将/dev/hdc改为/dev/hdb;3)然后你就可以通过访问/mnt/cdrom来实现对光盘访问; 4)当你不使用时,执行“umount /mnt/cdrom”<必须不在/mnt/cdrom 目录下>,再取出光盘。

  • 在Linux下使用软驱 1) 与光盘类似,创建floppy目录; 2) 软盘插入后,执行“mount –t msdos /dev/fd0 /mnt/floppy”命令

    注意:若是软盘中是长文件名格式的,将上条命令中的“msdos”改为“vfat”,

    若是 Linux文件格式,则去掉“-t msdos”;3) 当你不使用时,执行“umount /mnt/floppy” ”<必须不在/mnt/ floppy 目录下>,再取出软盘。


Linux

8. 管理进程

如何管理进程? 进程是程序的一次执行。可以使用“ps –auxw”列出在当前正在执行的进程的详细信息,包括每个进程都有的进程ID号。你可以通过“kill 进程ID号”来终止这个进程。


Linux

9. vi编辑器(全屏幕编辑器)

另一种是emacs编辑器。

vi的三种操作模式

  • 编辑模式

  • 插入模式

  • 命令模式


Linux

1.进入和退出

:q; :q!; :wq

2.复制和粘贴

nyy ;nyw;p

3.查找和替换

在命令模式下,“/查找的字符串”

/ 字符串在光标之后寻找该字符串

? 字符串在光标之前寻找该字符串

n 往下继续查找下一个相同的字符串

N 往上继续查找下一个相同的字符串

4.上下左右

h(左)l(右)j(下)k(上)


Linux

  • 多文档编辑

    • 编辑其它文档:edit foo.txt

    • 编辑下一个文档:next

    • 编辑前一个文档:previous

    • 如果你想查看整个列表中就有哪些文件, 使用命令 :args


Shell

第四节  Shell简介

  • Shell是什么

    Shell是一种具备特殊功能的程序,它是介于使用者和 UNIX/Linux 操

    作系统之核心程序(kernel)间的一个接口。其实shell 也是一支程序,它

    由输入设备读取命令,再将其转为计算机可以了解的机械码,然后执行它。

    ● 用户与Linux的接口

    ● 命令解释器

    ● 支持复杂的编程语言(通过在多条命令的序列中使用变量和流程控制,Shell可以作为一名复杂的编程语言。)

    Shell有很多种,如:csh,tcsh,pdksh,ash,sash,zsh,bash等。Linux的缺省Shell为bash(Bourne Again Shell)。


Linux

  • 各种操作系统都有它自己的 shell,以 DOS 为例,它的 shell 就是 command.com 檔。如同 DOS 下有 NDOS,4DOS,DRDOS 等不同的命令解译程序可以取代标准的 command.com ,UNIX 下除了 Bourne shell(/bin/sh) 外还有 C shell(/bin/csh)、Korn shell(/bin/ksh)、Bourne again shell(/bin/bash)、Tenex C shell(tcsh) … 等其它的 shell。

  • UNIX/Linux 将 shell 独立于核心程序之外,使得它就如同一般的应用程序,可以在不影响操作系统本身的情况下进行修改、更新版本或是添加新的功能。


Shell1

第五节 Shell编程

  • 编写Shell的工具 Linux下的文本编辑器vi等。

  • 执行Shell的方法

    一、设定权限

    # chmod u+x hello

    # ./hello

    二、bash内建的指令

    # source hello

    # . hello

    三、解释器执行

    # sh hello或bash hello


Shell2

Shell下的变量赋值

  • 用户定义的变量

    变量名=值

    例子:

    $myname=gyl

    $echo $myname

    gyl

    $echo myname

    myname

  • 位置变量

    $0 $1 $2……


Shell3

Shell下的特殊字符

  • 特殊字符

    ‘:取代命令字符。Alias dir=‘ls -al’

    *:对应任何字符串,字符或空字符串。

    ?:对应任何单一字符

    .:当前目录

    ..:上层目录

    ;:多命令分割

    >:把执行结果输入到一个文件中,若该文件已经存在,则原来内容会被删除

    >>:把执行结果附加到一个已存在的文件后面

    \:转义字符,解除特殊符号的含义

    |:管道,前一个命令的结果给下一个命令用

    ||:OR运算

    []:对应括号中任意范围的字符

    [!]:排除对应括号中任意范围的字符


Shell4

Shell下的特殊字符

  • 特殊指令

    test指令:有关文件方面的测试

    -f 文件名 若文件存在并且是普通文件,则测试条件为真

    -d文件名 若文件存在并且是目录文件,则测试条件为真

  • 特殊字符

    “” 内的是普通字符(除了$,倒引号,反斜杠外)

    ‘’ 普通字符

    `` 被shell当命令对待


Shell5

Shell下的控制结构

  • If语句

    if 测试条件

    then 命令表1

    else 命令表2

    fi

    例子:

    #!/bin/bash

    # filename=ifdemo

    if test –d “$1”

    then echo $1

    else mkdir $1

    fi


Shell6

Shell下的控制结构

  • 循环语句(while,until,for)

    1. while 测试条件

    do

    命令表

    done

    2. until 测试条件

    do

    命令表

    done

    3. for 变量 in 参数表

    do

    命令表

    done


Shell7

Shell下的控制结构

  • 循环语句例子

    #!/bin/bash

    # filename=whiledemo

    while test –d $1

    do

    sleep 5

    done

    echo dir $1 does not exist…


Shell8

Shell编程的用例

  • 永远的Hello World

    #!/bin/sh

    # Filename=Hello

    echo “Hello World!”

  • 新建和移动

    #!/bin/bash

    # filename tt

    srccp=$1’/*’

    paracp=‘-fr’

    if test –d $2

    then

    # rm ‘-fr’ $2

    # mkdir $2

    cp $paracp $srccp $2

    else

    mkdir $2

    cp $paracp $srccp $2

    fi


  • Login