当前位置:文档之家› linux知识点整理

linux知识点整理

linux知识点整理
linux知识点整理

Linux实用教程

第一章 (1)

第二章 (2)

第三章 (3)

第四章 (3)

第五章 (7)

第六章 (9)

第七章 (11)

第八章 (15)

第九章 (17)

第十章 (20)

第十一章 (24)

第十二章 (26)

额外知识点 (30)

第一章 (30)

第二章 (30)

第三章 (30)

第八章 (30)

第十章 (31)

第十一章 (31)

第十二章 (31)

第一章

?Linux是在GPL(General Public License,通用公共许可证)版权协议下发行的操作

系统,是一种类Unix的操作系统,其版权属于Linus Torvalds.

?GNU是“GNU's Not Unix”的递归缩写。Stallman宣布GNU应当发音为Guh-NOO

以避免与new这个单词混淆(注:Gnu在英文中原意为非洲牛羚,发音与new相同)。

UNIX是一种广泛使用的商业操作系统的名称。由于GNU将要实现UNIX系统的接口标准,因此GNU计划可以分别开发不同的操作系统部件。GNU计划采用了部分当时已经可自由使用的软件,例如TeX排版系统和X Window视窗系统等。不过GNU 计划也开发了大批其他的自由软件。

?Linux的应用主要有4个方面:服务器、嵌入式、软件开发、桌面应用。

Linux的长处主要在于服务器端和嵌入式两个领域。

?Linux系统的特点:

1.开放性

2.多用户

3.多任务

4.良好的用户界面

5.设备独立性

6.丰富的网络功能

7.可靠的系统安全

8.良好的可移植性

?Linux系统一般有4个主要部分:

内核、Shell、文件系统、应用程序。

?Linux与Windows的区别:

Windows Linux

文件扩展名使用文件扩展名

来区分文件类型Linux系统不使用文件扩展名来识别文件的类型。相反,Linux根据文件的头内容来识别其类型。为了提高可读性仍可以使用文件名扩展,但这对Linux系统来说没有任何作用。

图形化界面必选图形界面,

图形界面和命令

行不能分开使

用。可选图形化界面,图形环境并没有集成到Linux系统中,而是运行于系统之上的单独一层,图形化的管理工具通常是命令行工具的扩展,使用图形化工具并不妨碍对配置文件进行手工修改。

命令区分大小写命令和文件名不

区分大小写。

所有Linux系统下的命令、文件和口令等都区分大小写

?Linux版本主要指内核版本和发行版本,通常安装在服务器上的版本是发行版本。

内核版本是在Linus领导下的开发小组开发出的系统内核版本号,由三个数字组成r.x.y r: kernel的主版本号

x: 次版本号,偶数:表示稳定版本;奇数:开发中版本

y: 修正号,表示错误修补次数。

如:稳定版本2.4.4 ; 测试版本:2.1.11

什么是发行版本:

答:一些组织和厂家,将Linux系统的内核、应用软件和文档包装起来,并提供安装界面、系统配置管理工具等,就构成了Linux发行版本。

第二章

Linux通过字母和数字的组合来标识硬盘分区,如“hda1”,其具体含义是:前两个字母表明分区所在设备的类型,例如hd指IDE硬盘,sd指SCSI硬盘;

第三个字母表示分区所在的设备,如/dev/hda表示第1个IDE硬盘,/dev/sdb表示第2个SCSI硬盘。

最后的数字表示在该设备上的分区顺序,前四个分区(主分区或扩展分区)用数字1到4表示,逻辑分区从5开始,例如: hda3表示第一个IDE硬盘上的第三个主分区或扩展分区。

例:第1块IDE硬盘想分3个分区,有哪些分区策略,分区名分别叫什么?

策略1:

策略2:

策略3:

答:1:hda1,hda2,hda3(三个主分区)

2:hda1,hda2,hda5(两个主分区)

3:hda1,hda5,hda6(一个主分区)

(3)SWAP分区:起虚拟内存作用,由操作系统管理,用户不能使用,其大小一般取

min(物理内存×2,2GB)。

(4)在Linux、BSD或其它Unix类的操作系统中GRUB(GRand Unified Bootloader,启动/引导加载程序)和LILO(Linux Loader)最为常用。

MBR(Master Boot Record,主引导扇区)

执行下面命令删除MBR中的GRUB或LILO引导程序:

fdisk /mbr 例如:c:\> fdisk /mbr (在C盘根目录下执行该命令)

第三章

为了使得X Window更加易于使用,各个公司与组织做了许多集成桌面环境,在Linux 下主要是GNOME与KDE。(其中GNOME最常用。)Fedora默认使用的是GNOME。

GNOME:GNU Network Object Model Environment

KDE:K Desktop Environment

什么是工作区:虚拟桌面又叫工作区,能够扩大桌面空间,使用户可以方便的组织窗口,例如把相关的窗口放到同一个虚拟桌面上。

工作区切换:在同一时间只能看到一个桌面,可以通过鼠标点击或快捷键(Ctrl+Alt+上下箭头)进行切换。如果在同一工作区打开了多个窗口,按super键使这些窗口平铺,以便选择其中某个。

第四章

(1)如果希望系统引导后自动进入字符界面,需要修改/etc/inittab 文件,保存文件后重启生效。

使用gedit打开/etc/inittab文件(配置文件)

(2)Linux系统用户登录分两步:第一步输入用户的用户名,系统根据该用户名识别用户;第二步输入用户的口令。

登录字符界面之后,也可以通过输入“startx”命令启动Linux图形化界面。超级用户登陆后提示符是“#”,其他用户登陆后提示符是“$”。

(3)runlevel命令:查看系统当前的运行级别。

#runlevel

显示上一次的运行级别和当前系统运行级别。(显示N:表示没有上一次运行级别)

(4)在Linux系统下常用的关闭和重启系统的命令有”shutdown” ,”halt”,”reboot”和”init”. shutdown命令的语法规则:

shutdown [-cfFhknr(参数)] [-t 秒数] [时间] [警告信息]

halt就是调用shutdown –h执行关闭系统。

?halt 命令

相当于shutdown -h now

?reboot 命令

相当于shutdown -r now

?Linux的关机命令只有超级用户能使用。

init定义了7种运行级别,如

“init 0”命令为关闭系统;

“init 3”为进入完整多用户模式的字符界面;

“init 5”为进入完整多用户模式的图形界面;

“init 6”为重新引导计算机。

Linux运行级别有如下7种:

0:停止运行,所有进程中止,关闭系统。

1:单用户模式,用于维护系统,只有少数进程运行。

2:多用户模式,除了NFS服务没有启动外,其他和运行级别3一样。

3:完整的多用户模式,进入Linux系统的字符界面。

4:没有使用(可由用户定义)。

5:完整的多用户模式(带有基于X Window的图形界面)。

6:重新引导计算机。

?如果是字符界面,所在的运行级别为3。如果是图形界面,所在的运行级别就是5。(5)

?如果想得到命令的帮助信息,可以使用help、man、info命令。以得到mkdir命令

的帮助信息为例,它们的使用方法为:

?#mkdir --help

?#man mkdir

?#info mkdir

?help得到的帮助最简洁,info描述较为详细,最常用的是man。

(6)使用whereis命令可以查找命令所在的位置。

#whereis ls

查找ls命令在什么目录下。

(7)Fedora 的标准提示符包括用户登录名、登入的主机名、当前工作目录、提示符。

以普通用户zhangsan登入名为PC-LINUX的主机,当前工作目录是/home/zhangsan,如下所示:

[zhangsan@PC-LINUX ~]$

以root用户登录系统的提示符如下所示:

[root@PC-LINUX ~] #

(8)Linux系统由以下3个重要的部分组成:

内核;

Shell;

应用程序。

(9)命令可分为如下两大类:bash内置的命令和应用程序。

怎样知道哪些命令是bash内置命令,哪些是应用程序呢?

用which命令查看。

功能:在环境变量$PA TH设置的目录里查找符合条件的文件。

如:which ls 显示可执行命令ls的路径和它的别名。

bash中使用的通配符

(10)符号(11)含义

(12)? (13)代表任何单一字符

(14)* (15)代表任何字符

(16)[字符组合] (17)中括号中的任一字符皆符合,如:[a-z]代表任一小写字母

(18)[!字符组合] (19)不在中括号中的字符皆符合,如:[!0-9]代表任一非数字字符。

注:创建文件时不能使用通配符。

符号意义符号意义

~用户主目录| 管道

` 命令取代? 通配符,代表任何单一字符

# 解释< 输入重定向

$ 变量取值> 输出重定向

& 后台进程工作' 单引号(不具有变数置换的功能)

* 通配符,代表任何字符" 双引号(具有变数置换的功能)

( 子Shell开始/ 路径分隔符

) 子Shell结束; 命令分隔符

\ 使命令持续到下一行

常用控制组合键

组合键意义

Ctrl+C终止目前的命令

Ctrl+D输入结束,即EOF之意(如使用mail信件结束时),或注销Linux

Ctrl+Z暂停目前的命令

如果输入了一个不完整的命令或文件名,按一下Tab 键,bash会自动补全命令。

通过按向上方向键,可以向后遍历最近在该控制台下输入的命令。用向下方向键可以向前遍历命令。

如果希望一次执行多个命令,Shell允许在不同的命令之间,放上特殊的排列字符。

常用的有两种方法:使用“;”与使用“&&”号。

使用“;”

格式:命令1 ; 命令2

功能:先执行命令1,不管命令1是否出错,接下来执行命令2。

使用“&&”

格式:命令1 && 命令2

功能:只有命令1正确执行完后才执行命令2。

?命令替换符号。

格式:命令1 $(命令2) 或

命令1 `命令2`

功能:将命令2的输出作为命令1的参数。

如:

# kill `pidof gedit`(注:“`”与“~”在同一键上)

命令别名

经常使用的一些较长的命令可以为其定义别名,以简化输入。

格式:alias [别名]=[需要定义别名的命令]注:“=”两边不能有空格

如:# alias ok=“ls -l /boot”

# ok

用unalias命令取消别名。

管道可以将某个命令的输出信息当作某个命令的输入,有管道符号:“|”来表示命令语法:[命令1]|[命令2]|[命令3]

管道可以把一系列命令连接起来,

第一个命令的输出会作为第二个命令的输入,

第二个命令的输出又会作为第三个命令的输入,以此类推。

显示在屏幕上的是管道行中最后一个命令的输出。

重定向有5种方式,分别是:

输出重定向:将命令的输出保存到文件中,如果存在相同的文件,则覆盖file文件中的内容。

格式:command > file

使用输出重定向将目录/boot的内容保存到文件/root/abc。

# ls /boot > /root/abc

# cat /root/abc

输入重定向:即将文件file的内容作为命令的输入。

格式:command < file

错误重定向:将命令执行的出错信息输出到文件file中。

格式:command 2> file

追加重定向:将command命令执行的输出添加到已存在的文件file中。

格式:command >> file

同时实现输出和错误的重定向:可以同时实现输出重定向和错误重定向的功能。

格式:command &> file

?程序& 表示在后台执行该程序。

如:

# gedit &

?单引号内的文字都是原样输出。

如:

# echo ‘today is `date`’

?双引号内的字符可以进行变量置换。

如:

# echo “today is `date`”

进行特殊处理的三个符号:

①美元符号②反引号③反斜杠

反斜杠被用作转义字符或命令换行符。

用echo命令显示字符串时,要使转义字符生效,需要使用选项“-e”,如:# echo –e “Hello\nHow are you”

vi 的两种模式:

指令模式:该模式下的按键做为指令处理。

输入模式:把按键当作插入的字符处理。

从输入模式切换到指令模式,按ESC键。

从指令模式切换到输入模式,可用i, a或o,

i:从光标前输入资料

a:从光标后输入资料

o:在光标所在行下新增一行并进入输入模式

存盘退出:在指令模式下输入ZZ或:x或:wq

不存盘退出:在指令模式下输入ZQ或:q!

存盘(不退出)在指令模式下输入:w

删除命令:

x 删除光标下的字符

dd 删除当前行

ndd 删除从当前行开始的n行

dw 删除光标后的单词剩余部分

dG 删除当前光标到文件尾

:20,30d 删除20到30行

被删除的内容自动复制到剪贴板,用p粘贴

复制命令:

v 进入/退出块选择模式,选好后用y复制,用p粘贴。

yy 复制当前行

nyy 复制从当前行开始的n行

yG 从当前行复制到文件尾

查找命令(末行模式)

/字符串查找字符串(n 继续查找)

?字符串是由下向上查找(n 继续查找)

第五章

1.可以用file命令查看该文件的类型。

# file it

it: ASCII text

2.Linux文件类型常见的有:

?普通文件、目录文件、字符设备文件、块设备文件、管道文件和(符号)链接文件

等。管道文件不属于用户直接命名的普通文件,它是由系统创建的。

3.Linux系统下链接有两种方式:软链接和硬链接。

软链接也叫符号链接,包含了另一个文件的路径名,可以是任意文件或目录。

在对符号文件进行读或写操作的时候,系统会自动把该操作转换为对源文件的操作。

在删除链接文件时,系统仅仅删除链接文件,而不删除源文件本身。

和硬链接有所不同,软链接文件只是其源文件的一个标记。当我们删除了源文件后,链接

文件虽然存在,却不能查看软链接文件的内容了。

硬链接是已存在文件的另一个文件,对硬链接文件进行读写和删除操作时,结果和软链接相同。但如果删除硬链接文件的源文件,硬链接文件仍然存在,而且保留了原有的内容。

inode值相同的文件,他们的关系是互为硬链接的关系。当我们修改其中一个文件的内容时,互为硬链接的文件的内容也会跟着变化。如果我们删除互为硬链接关系的某个文件时,其它的文件并不受影响。

硬链接文件有以下两个限制:

①不允许给目录创建硬链接

②只有在同一文件系统中的文件之间才能创建链接。

ln [选项] 源文件名[链接文件名]

-s 选项:用于创建符号链接,默认情况下是创建硬链接。

ln –s hello.txt a1

cat a1

ln –s ~/dir1 a 为目录创建链接。

4.pwd:显示工作目录的绝对路径。

5.cd [目录]:改变工作目录,不带参数则回到用户主目录。

~ 表示用户主目录。

.. 表示工作目录的上一级目录。

. 表示工作目录。

6.ls [选项] [目录或文件]:列出子目录的和文件信息。

-a :以“.”开头的文件被系统视为隐藏文件,用ls -a 显示所有文件。

-d :如果参数是目录,显示该目录的信息而不是该目录下的文件。

- l :使用长格式显示,可察看更详细的文件资料。

7.touch命令:可以创建空文件,更新文件时间信息。

# touch file1

将文件file1的访问/修改/状态改变时间改为当前时间,如果file1不存在,则创建新文件。

# touch file2 file3

同时创建两个空文件file2和file3

8.mkdir命令:建立目录。mkdir [选项] 目录名

-p : 要建立的目录是一个路径,用该选项可以建立该路径上的所有目录。

9.rmdir:删除空目录。

10.cp命令用于复制文件或目录,其命令格式如下:

cp[选项]源文件目标文件

cp[选项]源文件组目标目录

-a : 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录。

-r : 是指连同源文件夹中的子目录一同拷贝。

?cp a.txt b.txt (换名复制)

?cp a.txt / (将a.txt复制到根目录下)

?cp a.txt /b.txt (将a.txt换名复制到根目录下)

11.mv 命令用于移动文件和目录,兼有改名的功能。

mv [-f] [-i] 文件1 文件2

mv [-f] [-i] 目录1 目录2

mv [-f] [-i] 文件列表目录

?mv a.txt ../ 将a.txt文件移动到上层目录

?mv a.txt b.txt将a.txt改名为b.txt

?mv dir2 ../ 将dir2目录上移一层

12.rm命令可以删除文件及整个目录。rm [选项] 文件列表。

注:rmdir命令用于删除空目录。

第六章

1.cat命令:主要用于显示文件内容,还能连接两个或多个文件,形成新文件。

-n:由1开始对所有输出的行数编号。

?cat a1.txt a2.txt > a3.txt 将文件a1.txt、a2.txt中的内容合并输入到a3.txt 中

?cat a1.txt > a2.txt

?cat a1.txt a2.txt >> a3.txt将文件a1.txt 和a2.txt中的内容追加输入到a3.txt 中

?cat > my.txt 从键盘输入,存储到文件my.txt,用ctrl + d 结束输入。(>不是输出

重定向吗?)

2.more命令可以让画面在显示满一页时暂停,此时可按空格键继续显示下一页,按回车

继续显示下一行,按q键退出,按b键显示上一页内容。

-num:一次显示的行数。

+num:从第num行开始显示。

?ls -l /bin | more

分屏显示“ls -l /bin”命令的执行结果。

?more +3 -5 b.txt 从第3行开始显示文件b.txt,一次显示5行

?more a.txt 分页显示文件a.txt

3.less命令的用法与more命令类似,也可以用来浏览超过一页的文件。

less命令除了可以按空格键向下显示文件外,还可以利用上下箭头键及pgup, pgdn来卷动文件。按q键结束浏览。

4.head命令:用于显示文件前几行的内容。

-n:显示文件的前n行,默认为10。

5.tail命令:用于显示文件后几行的内容。

-num:从距文件末尾num行处开始显示文件内容,默认为10.

6.cut命令

功能:显示每行中的指定字段。

?-d:指定定界符。

?-f:指定要显示的字段列表。

#cut –f 1,5 -d : /etc/passwd

root:root

bin:bin

daemon:daemon

adp:adm

上面命令显示passwd文件中的第1个和第5个字段,字段间的分隔符为“:”。

7.grep 命令

grep [参数] <要找的字串> <要找字串的源文件>

功能:在文件内容中搜索匹配的字符串。

grep ‘linux’ a.txt

在a.txt中查找linux字符串

grep ‘linux’ *.txt

在所有.txt文件中查找linux字符串

ls | grep ‘txt’

在ls命令的输出结果中查找txt字符串。

8.find 命令:按文件名或属性查找文件

格式:find [<路径>] [匹配条件]

find / -name abc.txt

在/及其子目录下查找名为abc.txt的文件。

find -name “*.txt”

在当前目录及其子目录下查找以txt为扩展名的文件。(使用通配符时要加引号) find /home -user tom

在/home及其子目录下查找用户tom的所有文件。

9.locate命令:使用locate命令可以用于查找文件,比find命令的搜索速度快,它需要一

个数据库,这个数据库由每天的例行工作程序(crontab)来建立。

10.whereis命令:使用whereis命令可以查找指定文件、命令和手册页的位置。whereis命令

也是在数据库中查找。

命令语法:

whereis [选项] [文件名]

11.whatis命令

功能:查询指定命令的命令功能。

命令语法:whatis [命令]

#whatis ls

查询ls命令的功能。

12.uname命令

功能:显示计算机以及操作系统的相关信息。

命令语法:

uname [-amnrsv]

r(--release):显示操作系统内核版本。

13.hostname命令

功能:显示或修改计算机的主机名。

语法:hostname [计算机名]

hostname

显示当前计算机主机名。

hostname LINUX

修改计算机主机名为LINUX。

14.date命令:显示和设置计算机系统的日期和时间(超级用户才可以设置)

–s:设置描述的日期

#date

显示当前计算机上的日期和时间

15.echo命令

格式:echo [-n] 字符串

功能:主要用于在屏幕上显示一串字符,“-n”表示输出后不换行。

# echo hello linux

输出字符串时可以用引号也可以不用。

# echo hello linux > file.txt

将字符串写入到文件file.txt中。

# echo $变量名

显示变量内容。

16.wall命令

格式:wall [消息]

功能:向所有用户发送消息。

# wall “close computer”

发送指定的字符串。

# wall

输入消息,以ctrl+d 结束。

17.write命令

格式:write 用户名[终端号]

功能:向指定用户发送信息。

# write root tty1

向tty1终端上的用户root发送信息,以ctrl+d 结束输入。

18.clear

清除计算机屏幕上信息。

第七章

1.一个简单Shell程序的创建过程(1->2->3或1->4)

1、文件/root/date的内容为:

#! /bin/bash

# filename:date

echo “Mr. $USER, Today is:”

echo `date`

2、使文件具备执行权限:

chmod u+x /root/date

3、执行Shell程序

# /root/date

如果date文件在当前目录下,还可这样执行:

# ./date

4、用bash命令执行程序

如果文件不具备可执行权限,那么可以用bash命令来执行该文件:

# bash /root/date 或

# bash < /root/date

2.Shell程序中用“$var”的形式来引用名为var的变量的值。如:

# echo $PATH

3.预定义变量:与环境变量不同的是,用户只能根据Shell的定义来使用这些变量,常

见的有:

$# 存储命令行参数的个数

$? 存储前一命令返回的状态值

$0 存储shell程序自己的名称

$[1-n] 存储第[1-n]个命令行参数

$* 存储shell脚本的所有参数(不包含$0)

$$ 存储shell脚本的进程号(pid)

$! 存储上一个后台执行命令的进程号(pid)

4.字符串比较

= 比较字符串是否相同,相同为真。

!= 比较字符串是否不同,不同为真。

-n 判断字符串的长度是否大于0,大于0为真。

-z 判断字符串的长度是否等于0,等于0为真。

例:

?# test “abc” = “abc” //等号两边要有空格

# echo $? //值为0表示前一命令结果为真,为1表示假

?# str=“abc”

?# test $str = “ab”

?# echo $?

?# test –n str

?# echo $?

5.数字比较

?-eq 相等

?-ne 不等于

?-ge 大于等于

?-le 小于等于

?-gt 大于

?-lt 小于

例:

?# test 2 -eq 3

# echo $?

?# num=3

# test $num –gt 2

# echo $?

6.逻辑测试

-a 与

-o 或

! 非

例:

# test -f file1 -a -w file1

file1是文件并且file1可写。

# echo $?

7.文件测试

-d 对象存在且为目录,则返回值为“是”。

-f 对象存在且为文件,则返回值为“是”。

-L 对象存在且为符号连接,则返回值为“是”。

-r 对象存在且可读,则返回值为“是”。

-s 对象存在且长度非0,则返回值为“是”。

-w 对象存在且可写,则返回值为“是”。

-x 对象存在且可执行,则返回值为“是”。

! 测试条件的否定。

8.条件判断

●从键盘输入两个数,按由小到大的顺序输出。

●例:从键盘输入三个数,按由小到大输出。

9.循环控制

例:求1加到100的和

编写shell程序add10,一次性添加10个用户user0~user9。

第八章

1.Linux下的三类用户

超级用户(root)具有操作系统的一切权限,UID值为0。

普通用户具有操作系统有限的权限,UID>=1000

虚拟用户/伪用户/假用户(系统用户)是为了方便系统管理,満足相应的系统进程对文件

属主的的要求而设置的。伪用户不能登录,UID值1~999。

2./etc/passwd文件是系统安全的关键文件,用于在用户登录时校验用户名、口令等信息。

只有root用户对该文件具有修改权限。

该文件每行保存一个用户的资料,各数据项间用“: ”分隔。修改passwd文件时尽量不要改root与伪用户。

3.用户名与UID是一一对应的,只有UID为0时例外,任何UID为0的用户都有root

的权限。

4.shadow文件

为了增强安全性,Linux将加密的口令存放到/etc/shadow文件里,从而使口令与用户的其他信息分离。/etc/passwd中的密文域显示为一个x 。/etc/shadow文件是/etc/passwd 的影子文件,这个文件并不由产生,这两个文件应该是对应互补的。

该文件只有超级用户可读。

https://www.doczj.com/doc/f68984794.html,eradd命令功能:添加用户

格式:useradd [选项] 用户名

●useradd user1 添加新用户user1

●useradd user3 –u 1200 –g user2

创建新用户user3,UID为1200,属于组user2

https://www.doczj.com/doc/f68984794.html,ermod命令功能:修改用户信息

格式:usermod [选项] 用户名

说明:该命令的参数与useradd的基本一致

https://www.doczj.com/doc/f68984794.html,erdel命令功能:删除用户

格式:userdel [-r] 用户名

-r 删除用户的同时删除用户主目录。

8.group文件

在文件/etc/group中列出了所有的用户组,每行一个记录,记录的各个域之间用冒号分隔。

每行的四个域依次是:

组名;组口令;GID;组成员清单

9.gshadow文件

/etc/gshadow文件也是为了加强安全性而采取的将组口令与组的其它信息分离的安全机制。

每行记录的格式为:

组名: 加密的口令: 组管理员: 成员列表

10.groupadd命令功能:新建组

格式:groupadd [选项] 组名

11.groupmod命令

功能:修改组属性

格式:groupmod [选项] 组名

●groupmod -n grp22 grp2

将组2改名为grp22

●-n 更改组名

●groupmod -g 1300 grp22

将grp22的GID改为1300

●-g 更改组ID

12.groupdel命令

功能:删除指定的组,若组中仍有用户,则必须先删除用户后,方能删除组。

格式:groupdel 组名

13.passwd命令

功能:修改用户口令。

●passwd 修改当前用户口令。

●root 用户执行

passwd 用户名修改指定用户的口令,不必输入原口令。

14.chsh命令功能:更改用户的登录shell

格式:chsh [账号]

说明:省略账号表示修改自己的

15.su命令功能:切换到其他用户账户进行登录。

格式:su [选项] [用户]

说明:单独的su表示切换到root用户。

16.finger命令

可以查看用户的相关信息,包括用户的主目录、启动shell、用户名等。

格式:finger [选项] 账号即用户名

finger user1

17.groups命令功能:查看指定用户的属组。

格式:groups [用户名]

说明:省略用户名表示查看当前用户属于哪些组群的成员。

18.id命令功能:查看用户的UID、GID及属组信息。

格式:id [选项] 用户名

-g 显示用户起始组的GID

-G 显示用户所有属组的GID

-u 只显示UID

19.who命令:

功能:查看登录到本机的用户的简单信息,包括:用户其登录终端号、登录时间等。

20.w命令:

功能:who命令的增强版,能显示更多的信息。

第九章

1.分区和格式化

Linux系统下的常用分区命令是fdisk。

fdisk, cfdisk, parted 三个分区命令用法类似。

分区只是对硬盘上的磁盘空间进行了保留,不能产生文件系统,分区要进行格式化后才能使用,Linux下的格式化命令是mkfs。

2.使用fdisk进行硬盘分区

●fdisk -l

查看所有磁盘的分区信息。

●fdisk -l /dev/sda

查看磁盘/dev/sda的分区信息。

3.使用文件系统存放数据需要经过的步骤

1)使用fdisk命令创建分区。

2)使用mkfs命令创建文件系统。

3)使用mount命令挂载文件系统。

4)使用umount命令卸载文件系统。

4.使用mkfs命令可以在分区上建立各种文件系统

mkfs –t [文件系统类型] [磁盘设备名]

-t:指定要建立的文件系统类型,有ext3,ext4,reiserfs,ext2,fat,fat32,vfat和modos等。

格式化并创建文件系统

●查看/dev/sda的分区情况:

# fdisk –l /dev/sda

●对/dev/sda5格式化并创建ext4文件系统。

# mkfs –t ext4 /dev/sda5

5.用mount命令挂载文件系统

功能:将硬盘分区、光盘、U盘挂载到某目录下。

格式:mount [参数] [设备名称] [挂载点]

-t:指定设备的文件系统类型,如vfat表示fat文件系统;auto表示自动检测文件系统。 -o:指定挂载文件系统时的选项。

?ro:以只读方式挂载

?rw:以读写方式挂载

?iocharset:指定字符集

?将/dev/sda5挂载到/mnt/kk中

# mkdir /mnt/kk

# mount /dev/sda5 /mnt/kk

?以只读方式将/dev/sda5挂载到/mnt/kk中

# mount -o ro /dev/sda5 /mnt/kk

# mkdir /mnt/kk/abc

6.挂载光盘:

# mount /dev/cdrom

会自动挂载到/run/media的某子目录下。

或者:

# mkdir /mnt/cdrom

# mount /dev/cdrom /mnt/cdrom

会挂载到指定的目录下。

7.挂载U盘

U盘被Linux系统作为SCSI设备,插上U盘后会被自动挂载到/run/media的子目录下。也可指定其它目录:

# mkdir /mnt/usb

# mount /dev/sdb /mnt/usb

# ls /mnt/usb

说明:

在挂载时如果出现中文显示问题,可以用iocharset 选项指定字符集。如:# mount /dev/hda5 /mnt/diskd –o iocharset=gb2312

有时需指定设备的文件系统类型,如:

# mount /dev/sdb1 /mnt/usb –t vfat

同一设备可同时挂载到不同的目录中,可分别卸载。

8.卸载文件系统使用umount命令,卸载分区参数可以是文件系统、设备名或目录名,

卸载光盘或U盘时参数可以是设备名或挂载目录。

●# u mount /dev/sdb

●# u mount /mnt/usb

9.查看分区挂载情况

一、mount –s 命令

二、查看/etc/mtab文件(输入命令cat /etc/mtab)

三、df 命令(第十章)

四、fdisk –l [设备名]

10.文件和目录的访问权限

文件或目录的访问权限有可读、可写、可执行三种。

有三种不同类型的用户可以对文件或目录进行访问:所有者、同组用户、其他用户。

每一个文件或目录的访问权限都有三组,每组三位,分别表示所有者、同组用户和其他用户的读(r)、写(w)、执行(x)权限。

?用ll (ls -l)命令查看文件的详细信息时,列出的信息从左到右依次是:

文件类型与权限;硬链接数;文件属主;文件属组;大小;修改时间;文件名。

?类型有:

- :普通文件

d :目录

l :符号链接

?权限从左到右依次是所有者、同组用户、其他用户的r , w , x 权限。

“-”表示不具备这种权限。

11.使用chmod改变访问权限

该命令有两种用法:文字设定与数字设定。

文字设定法:

格式:chmod [who] [+|-|=] [mode] 文件名

其中who可以是u(user:所有者);g(group:同组用户);o(other:其他用户);a(all:所有用户) +:增加某权限;-:取消某权限;=:赋予某权限并取消本用户的其它权限。

?mode 表示的权限可用下述字母的任意组合:

r:可读

w:可写

x:可执行

u:与所有者权限一样

g:与所有者的同组用户权限一样

o:与其他用户权限一样

?chmod a+x abc 使文件abc的所有用户都拥有执行权限。

?chmod ug+w,o+x abc 使abc的所有者与同组用户具有写权限,其他用户具有执

行权限。

数字设定法:

4 表示可读

2 表示可写

1 表示可执行

0 表示没有权限

所以数字是三个0~7之间的数字,从左到右的顺序依次是:u,g,o

●chmod 644 a.txt u读写;g读;o读

12.使用chown改变所有权

chown [选项] 用户.组文件|目录

-R:改变指定目录及其下所有内容的所有者。

-v:显示chown命令所做的工作。

●chown wang a.txt

●chown –R https://www.doczj.com/doc/f68984794.html,ers /dir 将dir及其下的所有内容,属主改为wang,属组改为

users

●chown –R wang:users /dir

ll /dir -d

13.使用chgrp改变文件属组

chgrp [选项] 组文件

-R:递归地改变指定目录及其下子目录和文件的属组。

将文件a的属组改为newgrp

●# chgrp newgrp a

# ll a

第十章

1.安装软件包

rpm –ivh file.rpm 安装指定的软件包

-i 表示安装软件包。

-v 显示附加信息。

-h 安装时输出#号(进度条)。

2.卸载软件包

rpm –e 软件名称卸载指定软件。

注意此处是软件名称,不是软件包的文件名。(版本号左边的部分)。

3.升级安装

rpm –Uvh file.rpm

升级安装。事实上,用户总能通过-U来安装软件包。

rpm –ivh file.rpm --replacepkgs

强制重新安装已经安装的软件包。

4.查询软件包

rpm –q 软件包名

●查询指定软件包是否被安装,如:

# rpm –q httpd

httpd-2.2.8-3.i386

●rpm –qa

列出系统中所有已安装的rpm软件包。

?rpm -ql 软件包名

查询已安装软件包所包含的文件列表,如

Linux考试知识点总结

Linux服务器配置与应用考试覆盖范围知识点总结 考前★绝密知识点覆盖率95% 总结人:敌无小新时间:2009年12月23日晚 此复习题尽量保密,被老师发现可能会重考,慎重带入考场! 1.安装软件的方法? RPM包,源码包安装,*.bin格式安装文件安装 2.RPM命令参数使用? 安装软件#RPM -ivh 软件包名参数:-q 查询-U 升级-V检查-e卸载3.源码包安装过程实例? #tar -xzvf *.tar.gz #cd * #./config #make # make install 4.bin文件安装? #./*.bin 5.Linux下设置服务自启动的过程(两种)? ntsysv chkconfig --level 35 服务名称on 6.Samba服务正常工作至少需要两个守护进程,分别是? nmbd smbd 7.Samba服务的核心配置文件? /etc/samba/smb.conf 8.Samba服务器使用的安全等级? share安全等级共享级别,不需要账号和密码,安全性最低 user 安全等级用户级别,需要账号和密码,默认为该级别 server安全等级服务器级别,与user同级别,但验证由另一台SMB负责9.NFS需要哪两个安装包? nfs-utils主要提供nfs服务目录共享 portmap 主要提供远程连接 10.NFS的主配置文件? /etc/exports 11.启动停止与重启NFS服务?(此题顺序不能错) /etc/init.d/portmap start 或service portmap start /etc/init.d/nfs start service nfs start /etc/init.d/nfs stop service nfs stop /etc/init.d/portmap stop service portmap stop /etc/init.d/nfs restart service nfs restart 12.查看NFS服务器192.168.16.177上共享目录? #showmount -e 192.168.16.177 13.挂载NFS服务器上输出目录?(实例) #mount -t NFS 服务器名或IP地址:输出目录本地挂载目录 #mkdir /mnt/nfs #mount -t nfs 192.168.16.177:/nfs/public /mnt/nfs 14.卸载NFS服务器挂载目录? #umount /mnt/nfs 15.实现自动挂载NFS目录,应修改哪个文件,怎么设置? /etc/fstab (储存系统内的静态挂载点,即每次启动时挂载的文件系统。) NFS服务器名或IP:输出目录本地挂载目录nfs defaults 0 0

Linux学习总结报告

Linux学习总结报告 一、嵌入系统应用前景 Linux的应用领域不断扩展,从最早的Web、FTP、邮件服务开始,逐步扩张到个人桌面应用、网络安全、电子商务、远程教育、集群计算、网络计算、嵌入式系统等各个领域。更是吸引了想IBM、SUN、惠普这样的IT巨头积极参与到Linux应用的开发和推广中来。Linux之前主要应用于服务器及计算集群,未来应该该在个人计算机上有所发展,优化目前的图形化界面,以及加快桌应用的开发,以及在智能终端的应用。首先,微软不会甘心让出市场让Linux来壮大,所以Linux必须发挥其本身的优势,赢得更多的用户,已达到其能不断的开发和更新。再者,由于开源软件的商业模式及技术模式没有前例可循,注定了Linux的前路不会是一帆风顺的。我认为,当前Linux的发展主要面临以下几个问题:一是Linux企业众多但未形成规模,也还没有找到有效的赢利途径,并且版本繁多,互不兼容,削弱了竞争力;二是随着逐渐流行而引发的安全问题;三是人才不足的隐忧。Linux的最大优势在于它是开源的,也即开放的。但出于各自的商业利益,各企业分别在其发行的版本上加载各种不同的功能,彼此之间不兼容。这些不同的版本意味着厂商和用户测试的工作量加大,意味着硬件厂商需要为每一个版本的Linux提供驱动程序……这种情形目前正在削弱整个Linux的市场竞争力。安全方面,随着Linux越来越受欢迎,越来越多针对Linux的蠕虫、病毒和恶意软件也会层出不穷。虽然开放源代码社区都在及时响应并修补Linux上存在的漏洞,但Linux的非集中管理本质特性使Linux升级的发布和审查变得非常困难。一旦Linux 由于安全问题给用户特别是企业用户造成损失,其不良影响及对用户信心的打击是巨大的。当前制约着Linux发展的还有一个关键因素,那就是人才。相比前几年,国内懂Linux的技术人员已经多了很多。但是作为一个快速发展的产业,人才的广度和深度都远远不够。能够对内核有所研究的人才少之又少,多数都是一知半解。有限的人才又都集中在Linux厂商内,系统集成商、代理商、应用软件开发商等拥有的人才更少,制约着完整的Linux产业链的形成 二、研究方向 嵌入式的发展方向有很多,门槛高低不一样。具体来说: 1.单片机:工控程序(不跑os)--入门容易,无外乎就是掌握汇编和c,能够根据datasheet来写,发展前景一般,也没有太大的技术难度,除非你在算法上面有优

linux考试知识点汇总.doc

LINUX 考试知识点总结 %1. 填空题 1. 文件权限 %1. 简答题 1. 1 inux 的特点 与Windows 的区別 特点:①.真正的多用户多任务操作系统 %1 .良好的兼容性,开发功能强 %1 .可移植性强 %1 .高度稳定性 %1 .丰富的图形用户界面 区别:①?多用户方面:同一时刻不同的用户访问 %1 .GUI (图形用户界面)方面 Linux 与内核相互独立 Windows 与内核结合 %1 .共享资源的相互访问 rwx rwx rwx 类型 user gro 叩 other d rwx rwx rwx 2. 文件编辑器的基本操作 w 保存 q 退出 q!强制退出 3. 文件链接命令 软链接:In -s 目标 硬链接:In 4. 创建文件/文件夹 touch mkdir 5. 文件不同对比命令 diff 6. 显示文本 cat less more 7. 删除命令 rm rm -f 强制删除 rm -r 递归删除 8. 移动文件/重命名 mv 文件名目标目录 mv 文件名新文件名 9. 复制命令 #cp ~a #cp -r 目录目标目录 #cp 文件名新文件名 文件 文件夹 链接名 rmdir 删除非空文件夹 rmdir -r 递归删除非空文件夹 移动 重命名 保留文件权限复制 复制目录 重命名

3.正则表达式 元字符:元字符名 A $* Linux -> windows 使用 NFS 与 Samba 服务器 Windows -> linux 通过网上邻居 %1 .配置文件 Windows 在注册表 Linux 由指定的存放位置女口: /etc /dev ⑤.域 linux windows 身份验证 无 有 性能 强 弱 可靠性(稳定性) 强 弱 系统管理 有抗拒感 简单易用 安全性 强 弱 功能 强 弱 2. 查找命令归总 find 命令 不根据数据库查找,速度慢,默认区分大小写 在指定的目录开始,递归的搜索各个子目录,查询满足条件的文件并对应采取相关操作 Slocate 命令 slocate 本身具有一个数据库,里面存放了系统中文件与目录的相关信息。 语 法:slocate [-u][-help][-version][-d <目录〉][查找的文件] 使用一u 选项更新数据库数据 whereis whereis 指令会在特定目录屮查找符合条件的文件。这些文件的烈性应属于原始代码, 二进制文件,或是帮助文件 语 法:whereis [-bfmsu][-B < 目录>…]卜M < 目录>...][-S < 目录>...][文件…] which which 指令会在环境变量$PATH 设置的冃录里查找符合条件的文件。 语 法:which [文件…] locate locate 指令用于查找符合条件的文件,它会去保存文件与目录名称的数据库内,查找合 乎范本样式条件的文件或目录。 语 法:locate [-d v 数据库文件>][-help][-version][?a 本样式…] 说明 只匹配行首 只匹配行尾

linux课程学习心得

Linux课程学习心得 在这学期中,我选修了linux操作系统这门课程。在没上大学之前,我就 曾经听过linux,听说它和windows不太一样,有很多好处,希望有一天能好 好学学它。所以当我看到有这门课程选的时候,我就马上选了,一下子满足了 我的好奇心。 在学习这门课程中我才知道原来还有“虚拟机”这种东西,只要你有各种 操作的镜像文件它就可以虚拟出很多个不同的操作系统,而且这些操作系统之 间是互不影响的。所以我们就可以做到一部电脑可以同时使用几种操作系统, 觉可有意思了。 老师教我们用虚拟机装好Ubuntu这个Linux内核的操作系统后,我们就开始真正踏入Linux操作系统的学习了。在学习中,我觉得最令我感到与众不同 的是,Linux操作系统是可以直接在终端中输入命令来对本机进行各种操作的,本来在windows中,我们都是用鼠标来对我们电脑上的一些文件、应用进行操 作的,但在Linux中,我们可以完全不用鼠标,只需要在键盘上敲命令的代码 就可以对它们进行操作了。 不过这在刚开始的时候,其实感觉还是很麻烦的,可能是因为那些指令还 没记熟,敲起来不太习惯吧,不过我知道,学习一样新的东西前期都算很痛苦的,不过只要坚持下去,到后面慢慢熟练起来的时候,就会用的很上手,就会 觉得越来越有趣,不会再感到痛苦了。 在过程中,我学到了许多常用的命令,比如说:ls(显示目录中的文件)、 cp(复制文件)、rm(删除文件)、mv(移动、重命名文件)、touch(创建空文件)、cd(改变文件路径)、mkdir(建立目录)、rmdir(删除目录)等等。让 我可以只需要输入这些命令就可以完成对系统中文件的管理了,虽然这看起来 好像很麻烦,感觉用鼠标可能会更简单一点,但是在后面我们遇到了一些很难 的问题时,才发现用命令操作系统其实真的很方便,非常多的好处。 在学习中,我通过上网,看书等途径了解到,原来Linux应用领域还是很 广的,而且非常实用,以后工作会帮上大忙,所以我觉得是有必要好好学习它的。我们都知道Linux和Windows一样,也是一个操作系统软件,但与Windows不同的是, Linux是一套开放源代码程序的,并可以自由传播的类 UNIX操作系统软件,随着信息技术的更新变化,Linux应用领域已趋于广泛。在此,我收集了一些Linux的常见的一些应用领域的资料,给大家分享一下。 1、IT服务器Linux系统应用领域 如今的IT服务器领域是Linux、UNIX、Windows三分天下,Linux系统可 谓是后起之秀,尤其是近几年,服务器端Linux操作系统不断地扩大着市场份

Linux复习资料整理(jxust)

1、Linux可以运行在两种模式 用户模式和内核模式 2、VFS及其的四个数据结构 虚拟文件系统是Linux内核中的一个软件层,用于给用户空间的程序提供文件系统接口;它也提供了内核中的一个抽象功能,允许不同的文件系统共存。 系统中所有的文件系统不但依赖VFS共存,而且也依靠VFS协同工作。 四个数据结构:超级块对象、索引结点对象、文件对象以及目录项对象 3、进程号、用户号? Linux系统上所有运行的东西都可以称为一个进程。 进程的基本状态三种:运行态、就绪态和阻塞态(或等待态)。

进程大致上来讲可分为两大类:系统进程与用户进程。 4、Linux进程有五种状态 linux上进程有5种状态: 1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生) 4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释 放) 5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行) 5、函数库 人们把大量的基础性操作编写成一个个独立的函数,这些函数具有低耦合、高内聚的特点,这些函数集合成一个已经编译好的不完整的二进制代码文件,就是函数库 写出函数原型或函数功能(字符串、开方) 测试参数所对应的字符是否为拉丁字母 #include int isalpha(int c); 测试参数所对应的字符是否为大写字母(isupper)或小写字母(islower) #include int isupper(int c); int islower(int c); 测试参数所对应的字符是否为阿拉伯数字(isdigit)或十六进制数字(isxdigit) #include int isdigit(int c); int isxdigit(int c);

arm嵌入式linux安装课程设计心得

arm嵌入式linux安装课程设计心得 篇一:116709047陈俊松嵌入式Linux课程设计 福建农林大学金山学院电子信息类课程设计 课程名称:设计题目:姓名: 系: 专业:年级:学号:指导教师:职称: 嵌入式linux应用开发课程设计嵌入式linux Web服务器的设计 陈俊松信息与机电工程系电子信息工程2011级116709047 朱仕浪讲师 2014年11 月24 日 福建农林大学金山学院电子信息类 课程设计结果评定 目录 设计的目的

-------------------------------------------------------- 1 设计要求---------------------------------------------------------- 1 主要仪器设备(软硬件环境)---------------------------------------- 1 设计内容---------------------------------------------------------- 1 设计原理---------------------------------------------------- 1 总体方案设计------------------------------------------------- 3 程序设计---------------------------------------------------- 3 程序的调试和运行结果---------------------------------------- 7 总结-------------------------------------------------------------- 8 参考文献---------------------------------------------------------- 9 嵌入式linux Web服务器的设计 1. 设计的目的

linux实习心得体会

linux实习心得体会 为期一周的LINUX课程实训已经结束。现在我把这次收获丰富的实训自我总结一下。 我们的实训有许多的项目,首先由老师指导然后分小组独立完成老师布置的实验内容,实训的内容十分丰富详实,课程很实用。主要的大项有:认识网络设备与组网拓扑,交换机的配置,路由器交换机的配置命令,静态路由的配置。 现在首先回顾一下网络设备与组网拓扑这节有趣的课程。在这个实验中我们必须记住了解很多网络物理设备,例如:交换机,路由器等设备;还有很多通信接口,例如:AUI(粗同轴电缆连接接口),RJ45(双绞线以太网接口),SC接口(网络接口)。不同的设备之间的需要连接需要不同的线缆,必须使用正确的接法和线缆才能保证设备之间的正常通信。了解拓扑结构图是十分重要的课程,无论什么样的网络都是从最基本的拓扑结构中研究出来的,基本的网咯拓扑结构是十分重要的基础,很多网咯工程都需要设计拓扑结构图,了解拓扑结构图十分必要。在这节课程中我们知道了拓扑的广泛应用,无论是广域网还是局域网都是由拓扑结构设计出来的,这节课程我学到了很多有用的,例如:单位内的网络设计,家庭内的网络扩展,Modem和路由器的连接,双网介入局域网,计费管理拓扑结构,无线局域网拓扑结构,3G网络的拓扑结构等设计方案和案例。

网络中很重要的一个设备是交换机,这节实训课说实话比较枯燥,交换机的线路连接很容易,可是线路连接只是很轻松的一环,交换机的配置主要在于交换机的设置,其中有很多命令,从登陆,设置各种参数,运行指令,到最后退出,命令很多,需要十分用心的记忆。 在为期一周的LINUX课程实训中,我每天跟随老师一起做实验,与同学们一起观看PPT教程,对网络有了更深刻的认知,在自己做实验中不断与老师的教学内容相比较,尽力独立完成各种实验内容,虽然困难很多,但是实训很高兴。 本学期对于Linux系统的学习,让我对Linux有了一定的了解。我知道了Linux只是个内核。现在的Linux操作系统,都是用这么一个内核,加上其它的应用程序构成的。Linux最大的特点就是其开源性,这一点是十分难得的,这也是它能够存在到现在的原因之一,使其在金融、安全等部门有很重要的应用。 学习Linux,首先我们应该从基础开始学起。对Linux 操作系统的功能、版本、特点,以及Linux系统安装和图形环境有较全面的了解。 Linux命令是必须学习的。虽然Linux 桌面应用发展很快,但是命令在Linux中依然有很强的生命力。Linux是一个命令行组成的操作系统,精髓在命令行,学习如何在安全的环境中执行系统命令,包括有关文件、目录、文件系统、进程等概念,如何使用相应的命令对文件、目录、

Linux知识点总结

第一章 1. Linux 是多用户、多任务操作系统。 2. 程序是计算机完成一项任务的指令集合。 3. 数据是由程序使用或生成的不同类型的信息。 4. 软件分为三大类: 1) 系统软件 2) 应用软件 3) 支撑软件 5. 系统软件包括操作系统、编译程序、汇编程序、数据库管理系统、网络软件等。系统软件对计算机系统的资源 进行控制、管理,并为用户的应用和其他程序的运行提供服务。 6. 支撑软件包括编辑程序、查错程序、项目管理程序等。辅助软件技术人员从事软件开发和项目管理人员进行项 目管理工作的软件。 7. 应用软件是为解决某一类应用需要或某个特定问题而设计的程序。 8. Linux 提供4 种不同的用户接口: 1) 命令行接口 2) 菜单 3) 图形用户接口 4) 程序接口 9. 命令解释程序称为shell 。 10. 程序接口也称为系统调用接口。系统调用时操作系统内核与用户程序、应用程序之间的接口。 11. 内核之外的程序都必须经由系统调用才能获得操作系统的服务。系统调用只能在C 程序中使用,不能作为命令 在终端上执行。由于系统调用能直接进入内核执行,所以执行效率很高。 12. Linux 解决资源使用过程中的冲突,保证资源最后能被系统再次使用所采取的方法: 1) 通过记录和文件加锁,保证数据的完整性 2) 利用调度进程和审计系统 3) 当系统出现错误时,提供错误诊断信息 4) 终止运行不正常的进程,甚至在最坏的情况下停止系统 13. 软件以是否以营利为目的分为三种模式: 1) 商业软件 2) 共享软件 3) 自由软件 14. Linux 用户分为: 1) 个人用 户2) 专业用 户 3) 商业用 户 15. Linux 的特点:(1 )与unix 系统兼容

linux知识点总结

四:thread 1.什么是线程的detach状态?怎样设置? detach状态: 一般情况下,线程终止后,其终止状态一直保留到其它线程调用pthread_join获取它的状态为止。 但是线程也可以被置为detach状态,这样的线程一旦终止就立刻回收它占用的所有资源,而不保留终止状态。 不能对一个已经处于detach状态的线程调用pthread_join,这样的调用将返回EINVAL。 设置方法: 对一个尚未detach的线程调用pthread join或 pthread detach都可以把该线程置为detach状态,也就是 说,不能对同一线程调用两次pthread join,或者如果已经对一个线程调用了pthread detach就不能再调用 pthread_join了。 int pthread_detach(pthread_t tid); 返回值:成功返回0,失败返回错误号。 2.叙述函数pthread_join的功能。 函数pthread_join用来等待一个线程的结束,线程间同步的操作。 头文件: #include 函数定义: int pthread join(pthread t th, void **value_ptr ); th: 被等待线程的标识符 value_ptr :用户定义指针,用来存储被等待结束线程的返回值, 调用该函数的线程将挂起等待,直到id为th的线程终止。 3.进程中使用return、exit、pthread exit和pthread cancel分别起到什么作用?return,如果thread线程通过return返回,value_ptr所指向的单元里存放的是thread线程函数的返回值。 exit 终止整个进程。如果进程中的任一线程调用了exit,那么整个进程就会终止。

Linux课程设计

摘要 Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux 吸收了无数程序员的精华,不断壮大。 Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。 这次的课程设计为了熟悉以下内容Linux 基本网络命令,配置网络文件,建立个人账户,配置samba服务器,配置vsFTp服务器,shell编程。 关键词:Linux 基本网络命令配置网络文件建立个人账户配置samba服务器配置vsFTp服务器 shell编程

Linux课程设计 目录 1. 绪论 (1) 1. 1引言 (1) 2. 操作系统特性 (1) 2.1 linux的主要特性 (1) 2.2 UNIX的主要特点 (2) 3.系统设计 (3) 3.1设计的目的与意义 (3) 3.2课程设计的目标 (3) 3.3课程设计的要求 (3) 4 .课程设计的具体内容 (4) 4.1 基本网络命令及使用方法 (4) 4.2 telnet建立多账户测试 (8) 4.3 配置samba服务器,实现不同系统之间的文件共享 (10) 4.4 配置vsFTP服务器 (11) 4.5 简单shell编程 (14) 总结 (17) 参考文献 (18)

1.绪论 1. 1引言 Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux 版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。Linux得名于天才程序员林纳斯?托瓦兹。 Linux操作系统是UNIX操作系统的一种克隆系统,它诞生于1991 年的10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX 和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。它主要用于基于Intel x86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。 2. 操作系统特性 2.1 linux的主要特性 (1)基本思想 Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。 (2)发展领域 职业领域:系统应用类(网管\系统管理和维护人员\安全管理人员中低端行业领域)待遇属于中下。 系统开发类行业(JAVA软件开发\C语言软件开发\WEB开发\嵌入式软件开发)其中嵌入式软件开发是linux应用最广的领域待遇属于中等发展方向:UNIX往高端领域和产业发展,例如:AIX、HP-UX、Solaris 等等。 (3)完全免费 Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。

关于Linux学习的总结

关于Linux学习的总结 一知识总结:我很荣幸选了“linux操作系统”这门课程,因为在这门课程的学习过程中,我们通过老师的讲解以及在网上查阅资料,学到了许多关于linux操作系统的知识,更重要的是学会了如何应用与操作linux操作系统,我们在自己的电脑上已经安装了linux操作系统,通过亲身体验,我们真正了解到linux系统的方便与快捷,体会到了linux操作系统与windows操作系统的异同之处。以下是我对linux操作系统的一些总结: (一)linux系统简介 linux是一类unix计算机操作系统的统称。linux操作系统的内核的名字也叫“linux”。linux 操作系统也是自由软件和开放源代码发展中最著名的 例子。严格来讲,linux这个词本身只表示linux内核,但在实际上人们已经习惯了用linux 来形容整个基于linux内核,并且使用gnu 工程各种工具和数据库的操作系统。linux得名于计算机业余爱好者linus torvalds。一般可以认为,linux是一套自由使用(一般可以免费使用)和自由传播的unix操作系统。这个系统是由世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约、全世界都能自由使用的unix兼容产品。实际上,linux仅仅是linux 中的操作系统核心(kernel)。

(二)linux操作系统的安装linux操作系统的安装方法主要有3种,其方法如下: 1.光盘安装到市场上的软件连锁店直接购买linux 光盘发行版,用光盘来安装是最方便快捷的。目前redhat,turbolinux和corel都可以在连锁店买到。一定要注意,大部分linux发行版本有“完整版”和“精简版”的区分,例如turbolinux有1cd,3 cd和10cd三个版本。 2.网络安装 3.硬盘安装 从硬盘安装linux操作系统,首先要准备安装包,linux操作系统的安装包通常是一个或多个iso镜像文件(一般通过网络下载就可以得到);其次,要通过某种手段启动镜像文件中的系统安装程序;接下来,按照安装程序的提示信息进行安装就可以了。安装过程中,需要指定linux操作系统的安装位置,这主要涉及硬盘分区的一些知识。总之,对于linux操作系统的硬盘安装,关键要学会两点:第一、为linux操作系统准备硬盘空间。第二、启动iso镜像文件中的安装程序。 (三)常用的命令1、文件目录操作命令ls 显示文件和目录列表touch 生

最新Linux复习大汇总

第一章概述 1、什么是POSIX标准,为什么现代造作系统的设计必须遵循POSIX标准? 答:POSIX表示可移植操作系统接口(Portable Operating System Interface)。 POSIX是在Unix标准化过程中出现的产物。 POSIX 1003.1标准定义了一个最小的Unix操作系统接口。 任何操作系统只有符合这一标准,才有可能运行Unix程序。 2、什么是GNU?Linux与GNU有什么关系? 答:GNU是GNU Is Not Unix的递归缩写,是自由软件基金会的一个项目。 GNU项目产品包括emacs编辑器、著名的GNU C和Gcc编译器等,这些软件叫做GNU 软件。 GNU软件和派生工作均适用GNU通用公共许可证,即GPL(General Public License)。 Linux的开发使用了众多的GUN工具。 3、Linux系统由哪些部分组成?Linux内核处于什么位置? 答:(1)符合POSIX标准的操作系统内核、Shell和外围工具。(2)C语言编译器和其他开发工具及函数库。(3)X Window窗口系统。(4)各种应用软件,包括字处理软件、图象处理软件等。 Linux内核是所有Linux 发布版本的核心。 第二章内存寻址 1、在80x86的寄存器中,哪些寄存器供一般用户使用?哪些寄存器只能被操作系统使用?答:通用寄存器EAX,EBX,ECX,EDX,EBP(基址指针),ESP(堆栈指针),ESI(扩展源指针),EDI(扩展目的指针),还有EFLAGS(标志寄存器). 专供操作系统使用的寄存器:IDTR中断描述符寄存器,GDTR全局描述符表寄存器,LDTR 局部描述符表寄存器,TaskRegisters任务寄存器,DebugRegister调试寄存器,ControlRegister 控制寄存器,Model-SpecificRegisters模型专用寄存器。 3、请用C语言描述段描述符表。 答:#include #include #define BASE_H 0xff00 #define BASE_M 0x00ff #define BASE_L 0xffff #define LIMIT_H 0x000f

《linux操作系统实训》总结报告

《linux操作系统实训》总结报告 班4 组姓名赵笑笑、何勇、王儒霖、宋泽琛、杨浩全文结束》》年12月2日目录 一、分组计划及评分表2 二、实训总结报告:4 (一)linux操作系统安装与基本配置4 (二)配置LINUX与windows共享资源7 (三)配置WEB服务器,发布网站12 (四)配置FTP服务器,上传资料19 (五)配置Webmin服务器33 (六)分析与总结(实训过程遇到的问题、解决方法、收获体会)40 一、分组计划及评分表分组准备及评分表班级60935组长赵笑笑项目小组编号4 一、项目名称: 二、项目小组的组成(任务分配、根据组员的表现确定其个人系数):编号姓名学号在项目小组中的任务个人贡献系数(0、0 – 1、0)1赵笑笑配置WEB服务器,制作一个简单的静态网页展示小组风貌及实训情况并发布到web服务器上2何勇配置实现linux与windows资源共享3王儒霖配置FTP服务器,将小组的相

关学习资料发布到网上供大家分享4宋泽琛组建LINUX局域网,在服务器上安装配置LINUX操作系统5杨浩在客户端,安装windows xp操作系统6 二、实训总结报告: (一)linux操作系统安装与基本配置一、实验目的: 1、熟悉和掌握Red Hat Linux 9、0操作系统的安装与配置; 2、掌握Linux网络配置命令的功能和使用。二、实验内容: 1、利用Vmware 6、0虚拟机来安装与配置Red Hat Linux9; 2、 Linux系统下网络配置和连接。三、实验步骤: 1、配置vmware 6、0虚拟机:1) 启动vmware虚拟机2) 单击“文件>CD-ROM>CD-ROM>网络设备控制)。重复上述过程,实现Linux虚拟机和Windows系统主机的网络连接。写出详细实验过程,包括命令和IP地址。四、思考题:1)Linux有几种安装方法?2)什么是主分区?什么是扩展分区?什么是逻辑分区?这些分区在Linux中如何表示?3)怎样使用Disk Druid 工具建立磁盘分区?说明过程。4)ifconfig指令能对哪些参数进行配置?5)ipconfig指令有哪些用法?

linux考试重点总结

Bootload的两个阶段: 阶段1主要包含依赖于CPU体系结构的硬件初始化代码,而且通常都是用汇编语言来实现的,以达到短小精悍的目的。这个阶段通常包括以下步骤: (1)硬件设备初始化。这是BootLoader开始就执行的操作,其目的是为阶段2的执行,以及随后内核的执行准备好基本的硬件环境。 (2)为加载BootLoader的阶段2准备RAM空间。为了获得更快的执行速度,通常把阶段2加载到RAM空间来执行。 (3)拷贝BootLoader阶段2的代码到RAM空间中。 (4)设置好堆栈。 (5)跳转到阶段2的C程序入口点。 阶段2通常用C语言来实现,这样可以实现更复杂的功能,而且代码会具有更好的可读性和可移植性。通常包括以下步骤: (1)初始化本阶段要使用到的硬件设备。 (2)检测系统内存映射。 (3)将内核映像和根文件系统映像从Flash上读到RAM空间中。 (4)为内核设置启动参数。 (5)调用内核。 什么是嵌入式系统: 嵌入式系统是以应用为中心,以计算机技术为基础,其软/硬件可裁减,可满足应用系统对功能、可靠性、成本、体积、功耗的严格要求的专用计算机系统。 嵌入式系统的基本特点: 面向特定应用、设计高效、综合性强、生命周期长、程序固化、需要独立的开发系统、可靠性高、成本低、功耗低、体积小。 嵌入式系统的发展趋势: 产品种类不断丰富,应用范围不断普及;性能不断提高;功耗不断降低,体积不断缩 小;网络化、智能化程度不断提高;软件成为影响价格的主要因素。 嵌入式处理器的特点: 低档处理器多采用哈佛结构,高档处理器多采用冯·诺伊曼结构;品种规格系列化;对实时多任务有很强的支持能力;可靠性高、功耗低、集成度高、性价比高。 嵌入式处理器的选择原则: 1、应能满足应用的设计目标; 2、开发工具是否好用? 3、市场占有率; 4、应该遵循“够用”原则,不应片面追求高性能。

linux实训心得体会

linux实训心得体会 更重要的是一些道理,包括一些做人的道理,讲课时也抓住重点,循序渐进,以下是小编收集的linux实训心得体会,仅供大家阅读参考! linux实训心得体会我们这一代90后,从小接触的是windows98,家里条件好的自己有电脑装的是XX,后来又有了XP,上大学时又有了win7。说实话小时候没想过搞IT,也计算机了解也只是一些皮毛,至于什么UNIX,Linux,听过没见过,就更别说用过了。 以前觉得Linux就跟dos一样,全是用命令窗口,相对于窗口界面来说多麻烦呀。直到学习Linux这门课以后,我才知道,原来我错了。 一.为什么要学Linux呢?每个人都有不同的看法,下面我说说自己的感想吧。 首先Linux是开源的,这也是最主要的原因,想学windows,Unix,对不起我们没源代码。也正是因为这样,Linux才能够像滚雪球一样越滚越大,发展到现在这种规模。其中不乏很多IT精英的心血。我们学透以后更可以做成自己的OS! 其次,Linux简单易学,因为我们初学者只是学的基础部分,Linux的结构体系非常清晰,再加上老师循序渐进的

教学以及耐心的讲解,使我们理解起来很快,短期内就基本掌握了操作和运行模式。对我们学习操作系统有很大的帮助,加深我们对OS的理解。 再次,Linux是用C语言编写的,我们有学习C语言的基础,读程序和编写代码方面存在的困难小一点,也是我们能较快掌握的原因之一。 二.学习情况 在学习的过程中,我们用的是VM虚拟机,开始时真的不真的该怎么去做,特别是我的是命令窗口界面,别人的是图形界面,我都不知道怎么调过来。后来通过自学老师给的资料和向同学请教,掌握了一些基本的操作,比如挂载优盘,编译程序,在Linux环境下运行,转换目录等等。学了这些基础才能进行下面的模拟OS程序。 老实说,第一个程序是在C中编译好的,调试好了才在Linux下运行,感觉用vi比较麻烦,因为有错了不能调试,只是提示错误。但是一些显而易见的小错误还是用vi改正比较方便。以后的大一点的程序就得在Linux下调试了,因为有的头文件在VC里面说找不到。 就这样,我们一边上OS理论课,一边上这个实验,这样挺互补的,老师讲课,一步一步地布置任务,我们自学,就这个循环的过程中,我们学习了基本操作,用vi,shell,模拟内存的分配过程等一些OS管理。可以说自己收获很大,

Linux职业认证考试50必考知识点

Linux职业认证考试50必考知识点 以下是Linux 职业认证考试 (the Linux Professional Institute Certification-----LPI)的一些知识点, 大家有兴趣可以测一下. 硬件和体系结构 1. /proc/interrupts 文件显示当前系统中正在使用的中断. 2. Linux支持标准串/并口和游戏棒口. /dev目录下对应每个设备/端口有一个文件.setserial命令用于显示修改串口配置. 3. dmesg命令可显示Linux在启动时发现了哪些硬件. 4. fdisk用于硬盘分区. newe2fs用于建立文件系统. mount 用于将分区挂在总文件树上. 5. ifconfig是最常用的网络配置工具. ping通过发送ICMP消息观察一台网上机器是否可被连通. RedHat的sndconfig用于配置声卡. minicom用于配置modem. 6. PPP协议是最通用的串行通讯协议. /etc/ppp/options中有PPP的配置信息. PAP(Password Authentication Protocol)和CHAP(Challenge Handshake Authentication Protocol)是PPP下最流行的两个认证协议. 系统安装和软件包安装

7. hda 表示第一个IDE盘, hda1是它的第一个分区. sda表示第一个SCSI盘, sda1是它的第一个分区. 8. swap分区的大小应至少和内存大小一样. root分区应尽量小.data/user等分区越细, 备份就越容易. 9. 分区完成后, 可以用mke2fs建立文件系统. 10. /etc/lilo.conf 中有Lilo的配置信息. 编辑完此文件后必须运行/sbin/lilo安装LILO bootloader. 11. tarball是最方便的打包工具. "x"选项用于解包, "c" 选项用于打包, "v"选项提供更多过程信息. "f"选项用于指明包文件名. 12. make使用Makefile文件提供的编译参数命令编译系统. "configure"脚本用于软件的环境配置. 13. 动态共享库方便不同的软件共享库函数, 而且在库升级时, 使用它的软件无需重新编译. ldd命令用于显示软件的共享库使用 情况. ldconfig命令用于更新维护系统的共享库数据缓存(cache of shared library data). "ldconfig -p"显示当前的共享库缓存. 14. 软件包管理工具有RedHat的RPM和Debian的dpkg. 15. rpm选项包括: -i 安装包 -e 卸载包

linux知识点总结

七: 1.叙述的文件系统框架,并解释其中各个部分。 :启动相关的程序和配置 :常用的命令,这些命令通常为可执行文件或这些文件的链接 :通常为根用户准备的命令 :系统常用库 :用户安装的文件、库、开发库等 :根用户的用户文件 :普通用户的用户文件 :系统或程序的配置文件 :系统中服务器数据、日志 :系统状态信息 :系统设备 、:其他分区的挂载点(如磁盘分区、光盘或软件等) :临时文件 磁盘孤立扇区 2.叙述超级块、、和四大数据结构的作用和主要内容。 超级块: 作用:代表了整个文件系统,记录了文件系统的整体信息 内容:文件系统的状态、文件系统类型、块大小、区块数、索引节点数、脏标志、操作方法

(索引节点) 作用:代表了操作系统中的一个文件,无论该文件是否被打开,它都包含了文件操作的所有信息 内容:文件大小,设备标识符,用户标识符,用户组标识符,文件模式,扩展属性,文件读取或修改的时间戳,链接数量,指向存储该内容的磁盘区块的指针,文件分类等等。 (目录项): 作用:代表了一个目录,用来组成文件的路径,并利用其实现路径的管理 内容:包括该目录对象对应的索引节点,子目录链表,父目录目录项对象,与它同级的目录的目录项对象链表,使用计数,缓存标志 (文件): 作用:代表了被进程打开的文件,是可以读写的实体 内容:包括相应的目录项对象、使用计数、访问模式、当前偏移量、操作方法等 3.什么是文件描述符?它与返回的文件指针有什么关系? 文件描述符是一个索引值,指向内核为每一个进程所维护 的该进程打开文件的记录表。 关系:返回的文件指针是文件描述符所指向的文件描述符表中的一个表项 4.分别叙述和的参数设置以及它们的区别。

Linux学习总结

二、LINUX安装 1. RHEL4是由RED HAT公司发布的 2. Linux硬盘概念: ①可以分为主分区、扩展分区、逻辑分区。 ②硬盘采用hdX格式表示,X表示a.b.c.d。 ③系统最多只有4个IDE设备,其中第一个IDE设备名称为hda,第4个为h dd。 3主分区:①一个硬盘最多只能4个主分区。 ②主分区采用hdXN的格式,hdX为硬盘,N是1-4的数字,分别表示4个主分区,第一个硬盘的第一个主分区表示为hda1,以此类推。 4扩展分区:扩展分区作为特殊的主分区需要占用硬盘分区表中4个分区记录中的1个记录 5逻辑分区:①逻辑分区只能建立在扩展分区中,可以建立文件系统。逻辑分区同样采用了hdXN的格式,区别在于,逻辑分区的N是从5开始算的,第一个硬盘的第2个逻辑分区就为hda6。 6文件系统:①EXT2和EXT3都是Linux操作系统默认使用的文件系统,EXT3属于日志文件系统,比较出色。 ②swap文件系统在Linux系统的交换分区中使用,也是Linux系统默认支持的,一般设置为主机系统内存的2倍大小。 ③其他的文件系统包裹xfs、jfs等,这些大多使用与商业的UNIX系统。 ④FAT文件系统Linux可以读写,NTFS中能读,不能写。 最经典的分配方案:/boot 、swap和/ 3个目录. 三、LINUX目录 Linux系统使用树形目录结构,所有文件都在根目录( / )下。 /bin bin是binary的缩写。这个目录沿袭了UNIX系统的结构,存放着使用者最经常使用的命令。例如cp、ls、cat,等等。 /boot 这里存放的是启动Linux时使用的一些核心文件。/dev dev是device(设备)的缩写。这个目录下是所有Linux的外部设备,其功能类似DO S下的.sys和Win下的.vxd。在Linux中设备和文件是用同种方法访问的。例如:/dev/hda代表第一个物理IDE硬盘。

相关主题
文本预览
相关文档 最新文档