LINUX是在UNIX基础上开发,具有UNIX全部功能。
Linux特点: 开放性、多用户、多任务、出色的稳定性、良好的用户界面、设备独立性、丰富的网络功能、安全性、可移植性
Linux由4个主要部分组成:内核、Shell、文件系统、应用程序
内核:硬件方面:控制硬件设备、管理内存、通过接口、处理基本I/O;软件方面:管理文件系统、为程序分配内存和CPU时间。
Shell:系统的用户界面、命令解释器、编程语言。
文件系统:/为根目录 目前流行的文件系统:ext2、ext3、fat等
应用程序:应用程序的程序集,包括文本编辑器、编程语言、X Window、办公套件、Internet工具、数据库等。
Linux是多用户系统,用户分为根用户(系统管理员)和普通用户两大类
文本界面下注销
$ logout
$ ctrl+d
$ exit
Linux的运行级别
0-关机(千万不要把initdefault 设置为0)
1-单用户模式
2-多用户模式,但是没有NFS
3-完全多用户模式
4-没有用到
5-X11
6-重启(千万不要把initdefault设置为6)
Linux的基本命令:
passwd #更改用户密码
--help
man #显示系统稳定中的man也内容
info # 超文本系统
who #用于查看当前登录到系统的用户信息
uname #显示正在使用的Linux系统信息
date #显示或设置系统时间
cal #在屏幕上输出日历信息
echo #用于回显输入内容
clear #清除shell窗口中的内容
su #用户进入到系统后,切换到其他用户,使用su命令
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。
ping命令的运用
1、在“开始”——“运行”中输入“cmd”进入XP的命令提示符模式。
2、输入命令:ping 127.0.0.1观察结果
得到回复的数量: TTL值是:
3、先在网上邻居查看本机IP,如192.168.1.61然后ping 本机IP观察结果。
得到回复的数量: TTL值是:
4、ping 本局域网的其它IP,如192.168.1.62,观察结果
得到回复的数量: TTL值是:
5、ping我校的默认DNS服务器58.20.127.238
得到回复的数量: TTL值是: 说明经过了几个路由:
6、ping www.baidu.com
百度网服务器的IP地址是: TTL值是: 说明经过了几个路由:
7、ping www.csdn.net
百度网服务器的IP地址是: TTL值是: 说明经过了几个路由:
8、输入ping 192.168.1.62 –t 观察结果:
9、输入ping 192.168.1.62–l 3000 观察结果:
10、输入ping 192.168.1.62–n 10 观察结果:
小结:ping命令的主要用途是:
ipconfig命令的运用
1、输入命令 ipconfig 可以得到本机的下列信息:
1)本机的IP地址是:
2)本机的子网掩码是:
3)本机网卡的物理地址是:
4)本机的默认网关是:
2、输入ipconfig /all,观察结果。
3、输入Ipconfig/release观察结果
4、输入IPconfig/renew观察结果
Linux系统在中国用户使用最多的版本是CentOS
VMware虚拟网络中的网络模式 桥接 网络地址转换 NAT
Linux文件系统采用的是树形结构
Linux支持多种文件系统
Linux文件系统提供丰富的文件和目录操作命令
/bin: 存放二进制可执行命令目录
/home: 用户主目录的基点目录,默认情况每个用户主目录都设在该目录下,如默认情况下用户user01的主目录是/home/user01;AHE
/lib:存放标准程序设计库目录,又叫动态链接共享库目录目录中文件类似windows里的dll文件;
/etc: 存放系统管理和配置文件目录
/dev: 存放设备特殊文件目录,如声卡文件、磁盘文件等
/usr: 最庞大的目录,存放应用程序和文件目录/proc: 虚拟目录,是系统内存的映射,可直接访问这个目录来获取系统信息;
/root: 系统管理员的主目录
/var: 存放系统产生的经常变化文件目录,例如打印机、邮件、新闻等假脱机目录、日志文件、格式化后的手册页以及一些应用程序的数据文件等等;
/tmp: 存放公用临时文件目录
EXT文件系统
文件类型
路径
文件操作命令
cat #显示文件命令
more # 该命令显示文本文件的内容,一次显示一屏,满屏后
停下来
less #与more命令相似,分屏显示文件的内容less命令允许用户向前 (PageUp)或向后(PageDown)浏览文件。在less命令提示符下按q键退出。
head #用于查看一个文本文件的开头部分,行数由参数值决定,默认值是10
tail #用于查看一个文本文件的末尾部分,行数由参数值决定,默认值是10
grep #grep家族包括grep、egrep和fgrep。egrep是grep的扩展,可使用扩展的字符串模式进行搜索,fgrep就是fixed grep或fast grep,把所有字母看作单词,不识别正则表达式。如果没有指定文件名,grep命令会搜索标准输
sort #排序
uniq #检查及删除文本文件中重复出现的行
comm #对两个已经排好序的文件进行比较
diff #比较文本文件,并找出他们的不同
cp #复制
rm #删除
mv #移动
wc #套件字节数、字数、行数
find # 查找符合条件的文件和目录
bzip2 # .bz2的压缩程序,并删除原始的文件
gzip # .gz的压缩程序,并且删除原始的文件
tar # 解开备份文件内的文件
cd # 切换目录
pwd # 显示当前目录
ls # 列出目录内容
mkdir # 创建目录
rmdir # 删除目录
chmod [mode] 文件或目录名 #修改文件权限
hgrp[选项]...所属组 文件或目录#改变指定文件所属的用户组
ln #链接文件命令
Linux系统提供了如ed、ex、vi和emacs等编辑器按功能可以将编辑器分为两大类:
行编辑器 (ed、ex)
全屏幕编辑器 (vi、emacs)
vi属于全屏幕编辑器,是Linux系统的第一个全屏幕交互式的编辑程序。
vim编辑器没有菜单,只有命令,提供三种基本的工作方式:
进入vim
$vim
$vim filename
$vim +n filename
$vim +/pattern filename
退出vim
命令模式下 连续按两下大写Z
末行模式下 :q :wq :q!
移动光标
HJKL 左下上右
文本删除
系统启动
系统运行
用户管理
Linux系统用户三种类型:超级用户、普通用户、特殊用户
用户管理方法
(1) 通过GUI方式管理
(2) 通过修改用户管理相关配置文件管理
(3) 通过系统管理命令管理
设备管理
进程管理
系统进程和用户进程
日志管理
#!/bin/bash
#this script is to test shell running
date
cd /home/user/dir
echo"The working directory is:"
pwd
#end
shell变量
用户自定义变量
var=hello
echo $var
hello
var="hello world"
echo $var
hello world
var=1+2
echo $var
1+2
清除变量
unset var
环境变量
特殊变量
**$#*表示传递给脚本的实际参数个数
**$ : ∗ ∗ 当前 s h e l l 脚本的进程号。 ∗ ∗ :**当前shell脚本的进程号。 ** :∗∗当前shell脚本的进程号。∗∗**位置参数的值,各个参数之间用环境变量IFS中定义
的字符分隔开。
**$@*也表示位置参数的值,它不使用IFS环境变量,所以当IFS为空时,参数值不会结合在一起。** ! : ∗ ∗ 上一个后台命令的进程号。 ∗ ∗ !:** 上一个后台命令的进程号。 ** !:∗∗上一个后台命令的进程号。∗∗?*执行最后一条命令的退出状态
首先选择编辑器 VIM
然后选择编译器 GCC
选择调试器 GDB
利用程序维护工具进行程序维护 make
预处理-编译-汇编-链接
.c-.i-.s-.o
编写程序将a、b、c三个字符压入堆栈,然后依次从堆栈中弹出三个字符并打印在屏幕上。
/* stack.c */
char stack[512];
int top = -1;
void push(char c)
{
stack[++top] = c;
}
char pop(void)
{
return stack[top--];
}
int is_empty(void)
{
return top == -1;
}
/* main.c */
#include
void push(char);
char pop(void);
int is_empty(void);
int main(void)
{
push('a');
push('b');
push('c');
while(!is_empty())
putchar(pop());
putchar('\n');
return 0;
}
将两个文件编译链接成可执行文件main并运行
程序中的错误分为三类:编译时错误、运行时错误、逻辑错误和语义错误
程序调试工具 gdb