1.前言:三个问题
1.1什么是操作系统,操作系统的作用,操作系统的接口?
操作系统是管理计算机资源的主程序,是系统软件的核心。
它控制程序的执行和提供资源分配、调度、输入/输出控制和数据管理等服务。
操作系统提供三种类型的接口:命令接口、程序接口、图形接口。
1.2系统组成:
由四个部分组成: 内核、文件系统、外壳、命令:
内核:核心程序,主要分配系统资源,例如:调度任务,管理数据存储等。
文件系统:提供一个组织、修改和管理数据的方法。
SHELL外壳:命令解释程序。
命令:需要计算机运行的程序名,例如:用于文件处理、信息管理、电子邮件等。
按功能分三部分:核心程序、外围程序、实用程序 。
1.3 Linux常用命令
安装和登录命令:login、shutdown、halt、reboot、mount、umount、chsh
文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln、cp
系统管理相关命令:df、top、free、quota、at、lp、adduser、groupaddkill、crontab、tar、unzip、gunzip、last
网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rloginrcp、finger、mail、nslookup
系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo、pswho
1.4 Linux服务器领域:
----代理服务器,使用的是Linux的iptables功能;
----电影服务器,使用的是Linux的samba服务的功能,文件和打印共享服务器
----游戏服务器,cs服务器,在Linux系统下使用cs的Linux版本建立的服务器
----客户存档服务器,采用的Linux的ftp服务器,常用的有:wu-ftp,pro-ftp软件建立的
----www服务器,使用的是Linux下的apache服务器软件
----ftp服务器,下载服务器,使用的是Linux下的wu-ftp,pro-ftp,vs-ftp软件
----mail服务器,采用的是Linux下的sendmail,qmail软件
----dns服务器,使用的是Linux下的bind软件
----数据库服务器,使用的是mysql或者oracle软件
----防火墙,软件防火墙服务器,使用的是Linux的iptables功能建立的
----路由器,软路由器,使用的是Linux下的routed软件建立的
----拨号服务器,vpn服务器等等
2.linux上手第一步
2.1初学简单命令
date date ‘+DATE:%m/%d/%y TIME:%H:%M:%S’; -s ’13:13:13’设定时间
cal [月] [年] cal[年] 显示日历
echo 功能:重复(回显)自变量。idea=“I am a student” echo $idea
echo $PATH; 用-e 使转义字符起作用。
who 是所有在线用户,whoami 只有自己的用户名,(who am i 只列自己的详细信息)
finger查询本地与远程用户的信息,常用选项 -H -a
passwd 用户名,修改帐号的密码(口令);两个重要文件:/etc/passwd /etc/shadow
man 命令名,查看联机的用户手册中命令的使用方法
help [命令名],功能:查看命令和信息的具体解释
clear 清屏
2.2命令输入方式:
在系统提示符后面,嵌入命令后,回车确认
利用上 下的方向键
利用 Tab 键补全命令
利用 History
利用 !
2.3关于进程
进程的产生:一个进程可以理解为一个运行的程序的执行过程。他是系统中资源分配的单位,是进行调度和运行的活动实体。它是一个动态的概念,一个进程由一组相关的程序、数据以及控制进程活动的数据结构等组成。进程的族系关系中,除了最初的0进程外,每个进程都有父进程(PPID)
对于linux(以及UNIX)来说,每个运行中的程序至少由一个进程组成,,从操作系统的立场出发,每个进程与其他进程都是彼此独立的,除非某个进程发出与其他进程共享资源的特殊请求,一般情况下它是被局限在分配给它的内存和CPU位置上的,跨出分配内存的进程(它们可能会引起另外一个运行程序的崩溃并使系统不稳定)将立刻被终止,管理进程的这个方法对UNIX/LINUX系统的稳定性起了很大的作用,一个用户的应用程序不会干扰到其他用户的程序或者操作系统本身.
PS命令常用的选项:(功能;查看进程)
l : 以长格式显示进程的信息 否则只显示基本信息
a: 列出与终端有关的所有进程的信息,包括其他用户的信息
u users: 列出与users指定的用户相关的进程的信息
f: 显示进程的全部信息 特别是给出进程的父子关系
r:只列出正在运行中的进程
x:列出没有控制终端的那些进程
w:显示进程的命令行参数
ww:显示进程的全部命令行参数,不管其长度是多少
进程管理信息中其他项目的含义:
F:八进制数字,表示进程状态 UID:进程组属的用户ID号
C:进程最近占用CPU的估算 PRI:进程优先级别(数字越小,级别越低)
NI:进程的nice值 ADDR:在进程表中进程项的虚地址
SZ:进程的虚拟数据和栈段的可对换的大小,以KB为单位
WCHAN:睡眠进程地址 STIME:进程开始时间
pstree 功能说明:以树状形式显示程序
Kill 杀死进程,命令的可选参数是-n,其中n是新的编号,管理员通常感兴趣的是信号9(终止程序运行)和1(挂起)
3.linux多用户文件系统
3.1基本概念
文件:命了名的一组信息,是一组相关记录的集合。
文件的系统:描述一组文件的“组织”结构,文件和目录的记录方式, 是某个分区中的子目录分布情况和文件的层次结构。各个系统在逻辑上是独立的。
文件系统:文件系统是对磁盘进行组织,在扇区和磁道组成的物理基础上提供抽象操作层面的机制。
LINUX中的一切都是进程或者文件,例如鼠标看成是文件/dev/mouse;
3.1.1分件的分类
文件分五类:普通文件、目录文件、特别文件、链接文件、套接字
普通文件:可以永久地存放信息,常用作为一般信息地长期存储,分为:正文文件与二进制文件,即保存着数据和可执行程序.
目录文件:系统为了维护其“树型”结构的文件系统,而设置的文件,包含了文件名、子目录名以及指向那些文件的指针。
特别文件:为I/O硬件提供连接,在UNIX文件系统中,所有的I/O设备都与一个文件名有关,系统对每一个特别文件的操作实际上是对该文件所代表的硬件进行操作
链接文件:给文件起别名
Sockets: 进程间通信时使用的特殊文件
特别文件分为:字符特别文件、块特别文件
有两个特殊的特别文件:FIFO(先入先出缓冲区)、位存储筒(bit bucket)。
一个块设备文件的属性中,有主号码和从号码。
增加新设备时,就要增加必要的链接。
建立链接文件的命令是ln,分为硬链接和软链接:硬连接相当于复制+联系;软相当于快捷方式。
LINUX中的常见文件类型:
b -- 块设备(例如一个硬盘)
c -- 字符设备(例如一个串行口)
d -- 子目录
l -- 符号链接(指向另一个文件的小文件)
- -- 普通文件
p -- 管道文件
文件有三种操作方式: r读 、w写、 x执行
文件的归属性有三类:所有者、同组用户、其他用户 rwx---rwx
3.2文件目录
/bin 存放的是一般用户的执行文件,内容与/usr/bin相似
/boot放置Linux核心与开机相关的文档
/etc/rc.d 开机用到的脚本 /etc/rc.d/init.d 所有系统服务的启动脚本
/usr/src放置核心原码的预设目录 /var 所有服务的登陆文件或错误信息文件都在/var/log
3.2.1结点与超级块
i-结点:是一个包含着指针的控制结构,其中的指针指向其它i-结点或者指向数据块
超级块:从磁盘上读出来的第一块信息就是它的超级块,这个小数据结构中保存着很多关键数据。
3.2.2挂载点
命令格式: mount [options] device directory
例子: mount -o ro /dev/hda3 /usr
把/dev/hda3 分区以只读方式挂装在/usr子目录
当挂装一个新子目录时,mount会把原来挂装在这个位置的全部内容隐藏起来.这样在上面那个例子中,如果原来/usr目录下有文件,那挂装之后原来文件看不见了(并没有被删除,一旦/usr/hda3分区被卸载,原来的/usr的文件就又出现了)
解挂umount [-f] directory 上例umount /usr
3.2.3/etc/fstab文件
包含着系统中全部已知的硬盘分区清单,在引导过程中,这个清单被读出,其中所包含的各个分区被自动挂装到系统上.编辑/etc/fstab 与 运行linuxconf配置工具程序一样作用
4.常用命令介绍
4.1文件系统的浏览与搜寻命令
使用cd进入不同目录 Ó
使用pwd查看当前目录Ó
使用find在指定目录中搜索匹配文件Ó
使用whereis查找文件Ó
使用which定位文件Ó
使用whatis和apropos获取命令简介
whereis [命令名] 功能:迅速查找文件,可显示二进制的可执行文件、源代码文件及使用手册的存放位置,即查找命令的保存位置。
which 命令名,功能:在用户的全部路径中对在它命令行上给出的文件进行查找,如果找到了,命令输出中就包含了这个文件真实的路径名,这个命令用来查找文件所在子目录的完整路径。
whatis功能:whatis从手册中抽出介绍性文字,快速了解命令;
apropos :利用程序的功能,来查找该程序名,与man中的-K选项作用相同
4.2 子目录和文件内容的阅读
使用ls列出指定目录的清单 Ó
使用dir与vdir列出指定目录的清单Ó
使用cat阅读以及合并文件Ó
使用more阅读文件Ó
使用less阅读文件Ó
使用head和tail阅读文件
ls功能:列出指定目录的内容,并能显示有关文件的信息(文件名、大小、所有者、操作权限、时间等)掌握常用的6个选项 l、a、d、r、F、t.
dir命令相当于 ls vdir命令相当于ls -l
cat查看文件内容(滚动显示)、串接文件。cat 文件1 文件2 文件3>文件4
-e:每行结尾用$标示 -s:隐瞒文件不能打开的信息 -v: 显示非打印字符 –t:用特殊符号表示非打印字符.
more功能:查看文件内容(以页方式分屏显示),输入文 件可以来自标准输入stdin,也可以来自命令行参数.
less功能:less命令类似于more命令,但是less命令的功能比more命令更强大。
head/tail功能:head和tail命令并不是页命令,当只想阅读一个文件的开头或者结尾的部分的时候,非常有用。head -n 2 /home/ywh/a*
4.3子目录和文件的操作
使用touch建立文件修改文件时间属性
使用rm删除文件
使用mkdir建立子目录
使用rmdir删除子目录
使用mv移动更名文件
使用cp拷贝文件
使用ln链接文件
使用dd转换并拷贝文件
touch功能:一般会在两种情况下用到它。第一种情况是建立文件,第二种情况是更新文件的修改日期。 1、touch newfile 2、 touch -t 1225130000 newfile2
rm功能:删除文件
1、rm file
rm file1 file2 file3
rm file*
2、 rm -i new* 交互删除
3、 rm -f temp* 强行删除匹配文件,!不显示提示信息
4、 rm –r temp* 递归删除
mkdir功能:一次可以建立一个或者几个子目录。mkdir命令还可以只使用一个命令行,一次就建立起包括全部的父目录和子目录在内的一个完整的子目录继承结构,
mkdir temp mkdir –p temp/child
rmdir功能:删除子目录,这个子目录必须是空rmdir temp5;要删除一个非空的子目录,可先用rm -fr temp5/*; rmdir -p temp5/parent/child 依次删除路径中指明的三个目录 –p:删除子目录的继承结构,rmdir temp5/parent/* 当parent下有若干子目录时采用
mv功能:移动或者更名文件(包括目录)常用选项:-b(备份)、-i(交互)增加安全性
cp功能:对文件或者子目录进行拷贝操作 cp -r dir1 dir2拷贝目录
dd命令可以读出一个文件的内容再把它送到另一个文件中,与cp的区别是:dd可以即时进行文件格式转换,还可以从其他设备上接受数据.当dd命令访问每个设备时,它不对文件系统进行任何假设,只是把设备上的数据原样读下来.因此,常用dd来生成磁盘的映像.
grep是UNIX与Linux中使用最广泛的命令之一,全称为”全局正则表达式”,它允许对文本文件进行模式查找,如果找到匹配模式,就显示包含模式的所有行.命令格式是:
grep 选项 正则表达式 文件名(上面的正则表达式可以用字符串替代)
tar,使用tar命令可以生成一个包含有多个子目录和多个文件的档案文件。各选项的含义:c:创建文档 v:观察命令的执行过程 f:指定文档文件名 w:交互参数 x:释放文档 t:查看文档文件内容-r:添加到已存在的打包文件中 u:只添加更新的
tar -cf mydir.tar mydir
gzip,compress是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。