一、Linux基础及安装
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文件系统
高可用性
数据的完整性
文件系统的速度
数据转换
多种日志模式 ext3有三种日志模式
文件类型
普通文件
目录文件
设备文件
符号链接文件
路径
绝对路径
相对路径
文件操作命令
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 #链接文件命令
三、Vim编辑器
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 左下上右
文本删除
文本的复制与粘贴
文本的移动
文本的查找与替换
重复与取消
vim中执行shell命令
文件的读写
四、系统管理基础
系统启动
系统运行
系统运行级别:
0:系统停机状态,默认运行级别不能设为0,否则不能正常启动
1:单用户工作状态,root权限,用于系统维护,禁止远程登录
2:多用户状态(没有NFS支持)
3:完全的多用户状态(有NFS)
4:系统未使用,保留
5:多用户模式,X11控制台,登录后进入GUI模式
6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
运行级别切换
查看运行级别 $ runlevel
进入其他运行级别 $init N
系统关闭 shutdown
用户管理
Linux系统用户三种类型:超级用户、普通用户、特殊用户
用户管理方法
(1) 通过GUI方式管理
(2) 通过修改用户管理相关配置文件管理
(3) 通过系统管理命令管理
设备管理
Linux系统中设备分为:字符设备、块设备、网络设备
磁盘和分区管理命令
fdisk 创建、删除、更改分区
mkfs 格式化
fsck 修复
df 检查文件系统的磁盘空间占用
du 统计目录所占磁盘空间的大小
quota 显示磁盘已使用的空间与限制
存储设备的挂载与卸载
挂载设备 mount
卸载设备 umount
设备自动挂接
进程管理
系统进程和用户进程
ps 进程查看
top 显示系统当前的进程和其他状况
renice 在命令执行时调整其优先权
wait 对一个进程的等待
sleep 将进程挂起一段时间
at 实现指定时刻执行指定的命令序列
cron 按一定时间自动完成任务调度
corntab 用于安装、删除或者列出用于驱动cron后台进程的表格
kill 中断一个前台进程
日志管理
Linux有三个主要的日志子系统:连接时间日志子系统、进程统计日志子系统、错误日志子系统。
五、网络管理及应用
六、shell编程
通配符 * 代表任意字符串 ?代表单个字符 []代表指定的一个字符范围
引号 单引号作为普通字符出现 双引号特殊字符保留特殊功能 反引号被shell解释为命令
注释符 #
别名 alias cdir=‘cd /home/user/dir’ 取消别名 unalias
命令历史 history
重复执行命令历史中指定的命令 !+命令编号
shell脚本执行方式
为脚本文件加上可执行权限,然后在命令行直接输入shell脚本文件名执行
sh shell脚本名
.shell脚本名
#!/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
1
2
环境变量
查看环境变量 env
特殊变量
**$#😗*表示传递给脚本的实际参数个数
**$: ∗ ∗ 当前 s h e l l 脚本的进程号。 ∗ ∗ :**当前shell脚本的进程号。 **:∗∗当前shell脚本的进程号。∗∗*😗*位置参数的值,各个参数之间用环境变量IFS中定义
的字符分隔开。
**$@😗*也表示位置参数的值,它不使用IFS环境变量,所以当IFS为空时,参数值不会结合在一起。
**! : ∗ ∗ 上一个后台命令的进程号。 ∗ ∗ !:** 上一个后台命令的进程号。 **!:∗∗上一个后台命令的进程号。∗∗?😗*执行最后一条命令的退出状态
七、 C编程
首先选择编辑器 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 <stdio.h>
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并运行
gcc main.c stack.c -o main
./main
输出 cba
gcc -c stack.c
gcc -c main.c
gcc -o main mian.o stack.o
./main
输出 cba
程序中的错误分为三类:编译时错误、运行时错误、逻辑错误和语义错误
程序调试工具 gdb
八、 GTK+图形界面程序设计
九、Qt图形界面程序设计
如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!
添加我为好友,拉您入交流群!
请使用微信扫一扫!