Linux期末考试复习大纲

Linux复习概要

  1. 填空
  2. 选择
  3. 写命令
  4. 简答(linux文件属性,如何查看和修改| 配置NFS的步骤 | 交叉编译环境的步骤 | 源程序到可执行文件的步骤)
  5. 综合 (编写一个工程文件 目标体,依赖体,目标文件)

第一章

文件系统:在linux是一棵树,分区属于目录结构
挂载:把分区和目录对应的过程
硬盘分区:主分区,扩展分区,逻辑分区。
Swap交换分区:相当于Windows的虚拟内存,一般为内存大小的2倍
GRUB:引导装入器,负责装入内核并引导linux系统
文件类型:普通文件 目录文件 链接文件 设备文件(块设备和字符设备)
文件属性:
“-”表示普通文件
“d”:目录文件
“l”:链接文件
“b”:块设备
“c”:字符设备
“s”:套接字文件
“p”:管道文件
三字符组:
drwxrwxrwx:
d表示目录文件,第一个三位字符组rwx表示文件拥有者(u)对该文件的权限、第二个三位字符组表示文件用户组(g)对该文件的权限,第三个三位字符组表示系统其它用户(o)对该文件的权限。r表示可读,w表示可写,x表示可执行。
文件系统类型:ext2 ext3,swap文件系统,vfat文件系统,NFS文件系统 ,ISO9660文件系统
Linux目录结构:
/bin 存放linux常用操作命令的执行文件
/boot 存放操作系统启动是要用到的程序
/dev linux系统中使用的外部设备
/etc 存放系统管理时用到的各种配置文件和子目录
/root 超级用户登录的主目录
/usr 存放用户的应用程序和文件
/usr/bin 系统用户使用的应用程序
/usr/src 内核源代码默认的放置目录

第二章

用户在命令行下工作时,不是直接同操作系统内核交互信息的,而是由命令解器接受命令,分析后再传给相关的程序。
用户相关命令:
su [选项] [用户] : 切换用户 useradd:添加用户账号
usermod:设置用户账号属性 userdel:删除对应用户账号
groupadd:添加组账号 groupmod:设置组账号属性
groupdel:删除对应组账号 passwd:设置账号密码
id:显示用户ID、组ID和用户所属的组列表 groups:显示用户所属的组
who:显示登录到系统的所有用户
系统管理命令:
ps:显示当前系统中由该用户运行的进程列表 ps –aux ps –ef ps -w
top:动态显示系统中运行的程序(一般为每隔5s)
kill:输出特定的信号给指定PID(进程号)的进程 kill -9 进程名 强制结束进程
uname:显示系统的信息(可加选项-a)
shutdown:关闭或重启linux系统
clear:清除屏幕上的信息
磁盘相关命令:
free:查看当前系统内存的使用情况 df :查看文件系统的磁盘空间占用情况
du :统计目录(或文件)所占磁盘空间的大小
fdisk :查看硬盘分区情况及对硬盘进行分区管理(需要root权限)
文件挂载命令mount mount –t 卸载命令umount
挂载:在分区和目录之间建立映射关系的过程
Linux常用的文件系统 ext2 ext3 nfs
文件相关命令:
cd:改变当前工作目录 ./当前目录 cd – 回到前次工作目录 …/上级目录
ls:列出目录和文件的信息 ls –l ls –a ls -d
mkdir :创建一个目录 mkdir –m mkdir –p(一次可以建立多个目录)
cat :连接并显示指定的一个和多个文件的有关信息。 -n -b
cat[选项]文件1文件2…
其中的文件1、文件2为要显示的多个文件
cp:将给出的文件或目录复制到另一文件或目录中。 -a -r -i
cp:cp [选项] 源文件或目录 目标文件或目录
mv:为文件或目录改名或将文件由一个目录移入另一个目录中。-i -f
mv [选项] 源文件或目录 目标文件或目录
mv命令根据命令中第二个参数类型的不同来判断是重命令还是移动,第二个参数类型是文件,mv命令完成文件重命名,第二个参数类型是已存在的目录,mv命令将各参数指定的原文件移至目标目录中
rm:删除一个目录中的一个或多个文件或目录。-i -f –r(删除目录)
rm [选项] 文件或目录
chown:修改文件所有者和组别。
chown [选项]…文件所有者[所有者组名] 文件
其中的 文件所有者为修改后的文件所有者。
chgrp:改变文件的组所有权。
chgrp:chgrp [选项]… 文件所有组 文件
其中的文件所有组为改变后的文件组拥有者。
chmod :改变文件的访问权限。 -c –f -v
chmod [选项]…符号权限[符号权限]…文件
chmod [选项] …八进制权限 文件…
grep :在指定文件中搜索特定的内容,并将含有这些内容的行标准输出
grep [选项] 格式 [文件及路径]
find :在指定目录中搜索文件,它的使用权限是所有用户。
find [路径][选项][描述]
locate:用于查找文件。其方法是先建立一个包括系统内所有文件名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。因此其速度比find快很多。
In:为某一个文件在另外一个位置建立一个符号链接 -s 建立符号链接
类型:软链接和硬链接
压缩打包命令:
gzip:对文件进行压缩和解压缩,而且gzip根据文件类型可自动识别压缩或解压缩
tar:对文件目录进行打包或解包
打包:tar –czvf linux.tar linux 解包:tar –xzvf linux.tar(gzip格式)
Tar –xjvf linux.tar(bzip2格式)
文件合并相关命令:
diff
patch
网络相关命令:
ifconfig
ftp
ping
netstat
nslookup
finger
telnet
ssh
Linux启动过程详解:

  1. 内核引导,BIOS开机自检
  2. 运行init程序,启动mingetty,进入shell

第三章

vi编辑器的三种模式:命令行模式、底行模式、插入模式。
gcc编译器:
编译流程分为4个步骤:

  1. 预处理阶段:gcc –E hello.c –o hello.i
  2. 编译阶段:gcc –S hello.i –o hello.s
  3. 汇编阶段:gcc –c hello.s –o hello.o
  4. 链接阶段:gcc hello.o –o hello
    gdb调试器:
    3种状态:运行,暂停 ,停止
  5. gcc -g test.c -o test(加上g才包含调试信息,否则之后gdb无法载入该可执行文件)
  6. gdb test
  7. l:查看文件
  8. b 6 :设置断点
  9. info break:查看断点情况
  10. run: 运行代码
  11. p(print):查看变量值
  12. next:单步运行
  13. c:恢复程序运行
    make工程管理器
    目标体:依赖体
    Command(前必须有tab符号)
    makefile是make读入的唯一配置文件
    makefile实验
    hello.o: hello.c hello.h
    gcc –c hello.c –o hello.o
    使用makefile
    $ make hello.o
    gcc –c hello.c –o hello.o
    $ ls
    hello.c hello.h hello.o makefile
    makefile中的变量使用均使用的格式为 ( v a r ) 自 动 变 量 : (var) 自动变量: (var)* $+ $< $? $@ $^ $%
    Makefile规则:
    隐式规则:告诉make怎样使用传统的规则完成任务,包含了目标体,依赖文件及其之间的命令语句
    模式规则:用来定义相同处理规则的多个文件,可以引入用户自定义变量
    习题练习:P86-P90

第四章

嵌入式系统的定义:嵌入式系统是指以应用为中心,以计算机技术为基础,软件硬件可剪裁,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
嵌入式系统体系结构:硬件设备(嵌入式处理器和外围设备) 嵌入式操作系统 应用软件
计算机系统结构类型:冯.诺依曼结构和哈佛结构。(两种结构的区别P103)
RISC:精简指令结构 CISC:复杂指令结构
ARM(Advanced RISC Machine)的交叉编译器为arm-linux-gcc
ARM的大段格式和小端格式的辨认
JTAG的烧写
交叉编译环境的搭建:

  1. 安装标准的C开发环境
    sudo apt-get install build-essential
  2. 下载arm-linux-gcc-4.3.2.tgz到任意的目录下,进入这个文件夹
    sudo tar xvzf arm-linux-gcc-4.3.2.tgz –C
  3. 在/etc/profile文件里修改环境变量,把交叉编译器的路径加入到PATH。
    export PATH=$PATH:/usr/local/arm/4.3.2/bin
  4. 立即使新的环境变量生效
    source /etc/profile
  5. 检查是否将路径加入到PATH:
    $ echo $PATH
  6. 测试是否安装成功
    $ arm-linux-gcc -v
    成功会显示arm-linux-gcc信息和版本。
  7. 编译Hello World程序,测试交叉工具链
    执行下面的命令:
    $ arm-linux-gcc -o hello hello.c
    源程序有错误的话会有提示,没有任何提示的话,就是通过了。

第五章

NFS:Network File System的简称,其目的就是让不同的机器、不同的操作系统之间通过网络可以彼此共享文件 。
Bootloader:在操作系统内核运行之前运行的一段程序,它类似于PC机中的BIOS程序。通过这段程序,可以完成硬件设备的初始化,并建立内存空间的映射关系,从而将系统的软硬件环境带到一个合适的状态,为最终加载系统内核做好准备。
Uboot:支持嵌入式linux系统的引导。
配置NFS的步骤:

  1. 安装nfs服务器程序软件包
    sudo apt-get install nfs-kernel-server
  2. 使用netstat命令检查nfs端口是否已经打开:
    netstat –tl
  3. 启动nfs服务
    sudo /etc/init.d/nfs-kernel-server start
    停止nfs服务
    sudo /etc/init.d/nfs-kernel-server stop
    重启nfs服务
    sudo /etc/init.d/nfs-kernel-server restart
    查看nfs服务当前状态,若nfs服务正在运行则返回"nfsd running"。否则返回"nfsd not running"。
    4.nfs服务器配置:
    在/etc/exports配置文件,指明网络中“哪些客户端”共享“哪些目录资源”。
    在配置文件中加入目录/home/share *(insecure,rw,no_root_squash,sync)
  4. 连接nfs服务器:
    (1)查看nfs服务器的共享资源 df -h
    showmount -e
    (2) 保证两台电脑之间可以相互通信。可以ping通
    (3) 挂载共享资源mount -t nfs nfssrvname:/Share-Directory /mnt-Point
    (4) 卸载共享资料 umount /mnt-Point其中mnt-Point表示共享资源在客户端的挂载点。

第六章

一个进程启动时,都会打开3个文件:标准输入、标准输出和标准出错处理。这3个文件分别对应文件描述符为0、1和2

底层文件I/O操作:
open()函数、close()、read()、write()、lseek()
文件锁包括建议性锁和强制性锁。
实现文件上锁的函数有lockf()和fcntl(),其中lockf()用于对文件施加建议性锁,而fcntl()不仅可以施加建议性锁,还可以施加强制锁。同时,fcntl()还能对文件的某一记录上锁,也就是记录锁。
记录锁又可分为读取锁和写入锁,其中读取锁又称为共享锁,而写入锁又称为排斥锁
标准I/O编程:
标准I/O提供了3种类型的缓冲存储:全缓冲、行缓冲、不带缓冲
打开文件:有三个标准函数,分别为:fopen()、fdopen()和freopen()
关闭标准流文件的函数为fclose()
读操作的函数为fread()
fwrite()函数是用于对指定的文件流进行写操作

秋秋你们点个关注吧,磕头啦 #砰砰砰

  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值