一、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#用于查看一个文本文件的开头部分,行数由参数值决定,默认值是10tail#用于查看一个文本文件的末尾部分,行数由参数值决定,默认值是10grep#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 runningdatecd /home/user/dir
echo"The working directory is:"pwd#end
- shell变量- 用户自定义变量
var=helloecho$varhellovar="hello world"echo$varhello worldvar=1+2echo$var1+2
- 清除变量unset var
- 环境变量- 查看环境变量 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;voidpush(char c){ stack[++top]= c;}charpop(void){return stack[top--];}intis_empty(void){return top ==-1;}/* main.c */#include<stdio.h>voidpush(char);charpop(void);intis_empty(void);intmain(void){push('a');push('b');push('c');while(!is_empty())putchar(pop());putchar('\n');return0;}
将两个文件编译链接成可执行文件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图形界面程序设计
持续更新中…
版权归原作者 小孙的代码星球 所有, 如有侵权,请联系我们删除。