Linux程序设计知识点汇总

1 Shell

Shell 是指Linux的用户界面,用户通过这个界面访问操作系统内核的服务。
Shell也是一种解释型程序语言。
常见的Shell种类:

  • Bourne Shell(/usr/bin/sh或/bin/sh)
  • Bourne Again Shell(/bin/bash)
  • C Shell(/usr/bin/csh)
  • K Shell(/usr/bin/ksh)
  • Shell for Root(/sbin/sh)

2 Linux服务器

Linux作为服务器的操作系统的优势:

  • Linux开源免费;
  • 稳定性好,可以连续多年使用;
  • 安全,病毒少;
  • 开发环境好,有各种开源环境。

3 Linux文件结构

Linux文件系统是分层树型结构,在根目录“/”下有许多子目录,比如:

  • /bin:存放着最经常使用的命令
  • /etc:存放所有的系统管理所需要的配置文件和子目录
  • /home:用户的主目录,每个用户都有一个自己的目录
  • /root:系统管理员的用户主目录
  • /lib:存放着系统最基本的动态连接共享库
  • /usr:用户的应用程序和文件都放在这个目录下,类似于windows下的Program Files目录

4 Linux文件权限

  • r - - 读权限
  • r w - 读写权限
  • r w x 读写执行权限

通过chmod命令可以修改权限。

5 Linux常用命令

命令功能
ls显示当前目录文件
mkdir创建目录
rmdir删除目录
rm删除文件
cp拷贝文件
mv移动文件或重命名
tail显示文件尾部
head显示文件头部
gzip压缩
tar打包
tar -cvf打包并压缩
tar -zxvf解压

6 并发执行命令

&并发执行 ; 顺序执行

7 Shell编程

  1. 用vim编写命令行并保存
  2. 用chmod +x 设置可执行权限
  3. ./文件名执行

Shell编程中的变量需要加上$符号。

8 Linux C的编译

gcc c源文件 -o 目标文件
g++ c++源文件 -o 目标文件

利用-O2可以进行代码优化

9 gcc的编译过程

hello.c——预处理,头文件插入——hello.i——汇编——hello.s(汇编代码)——hello.o(二进制代码)——链接——hello(可执行文件)

10 Make和Makefile

make可以快速进行文件编译,可以只编译修改过的依赖文件
Makefile文件格式:

目标文件:依赖文件
		产生依赖文件的命令

11 Linux的调试工具

GBD调试工具:常用命令有

break 行号  //设置断点
next  //逐行执行

12 Linux C的系统函数

system函数	调用shell命令
文件操作:
文件打开 open、fopen
文件读取 read、fread
文件写入 write、fwrite

13 进程

fork 常见父进程的复制,fd=fork(),fd为0表示创建成功
僵尸进程:没有父进程的子进程

14 守护进程

守护进程是指在后台运行的特殊进程
创建守护进程的方法:

  1. 创建子进程,终止父进程并释放相关资源
  2. 创建新会话
  3. 改变工作目录

15 进程通信方式

  1. 管道
  2. 系统IPC(消息队列、信号、共享内存)
  3. 套接字socket

16 网络程序设计

函数功能
int socket(IP地址类型,套接字类型,传输曾协议)创建套接字
bind()用于将socket与本机上的一个端口绑定
connect()用于客户端发起连接
listen()用于服务器监听端口
accept()用于服务器接收客户连接请求
send(socket描述符,输出指针,数据长度)用于数据发送
recv(socket描述符,数据缓冲区,缓冲长度)用于数据接收

17 死锁

死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的相互等待的现象。
死锁产生的条件:

  1. 互斥条件:一个资源每次只能被一个进程使用。
  2. 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
  3. 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。
  4. 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值