系统相关
首页 > 系统相关> > nowcoder-linux

nowcoder-linux

作者:互联网

Linux 命令

cd ..
rm
cp
ldd x.c
ll
man 2/3
man 7 signal
touch
ls -l x.xxx 查看文件信息
ulimit -a
tty
ifconfig

netstat

查看进程:
ps aux/ajx (a、u、j、x的含义)
实时显示进程动态:
top
杀死进程:
kill
查看管道缓冲大小命令:
ulimit a

查看系统定义的信号列表:
kill –l 

ipcs
ipcrm

查看指定进程的 LWP 号:
ps –Lf pid

查看当前 pthread 库版本:
getconf GNU_LIBPTHREAD_VERSION

快捷键

Ctrl+L 清空终端
Shift+G 调到文件末尾
I/O vim插入
Esc :wq 保存并退出

gdb调试总体学习

第1章 Linux系统编程入门

1.2 GCC(1)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S3TsaJKO-1640703132781)(https://i.loli.net/2021/10/25/TPBzc4wdDGRfsNu.png)]

0b08818bee09f9d59b00dc67edc9b84

gcc test.c -E -o test.i
gcc test.i -S -o test.s
gcc test.s -c -o test.o
gcc test.o -o test.out
./test.out

gcc test.c //一步其实都干了

1.3 GCC(2)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lVL1Twfp-1640703132787)(https://i.loli.net/2021/10/25/86SiVNMKa31erdC.png)]

4326d58414e9229a8b23760900ff0c6

1.4 静态库

39a8383a8b31d5defdf212d553fd8c0

1.5 静态库的使用

1.6 动态库

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q7Z1NFJS-1640703132790)(https://i.loli.net/2021/10/27/MVR4lkZKwG3yqaX.png)]

1.7 动态库加载失败的原因

478366683eb2fc34822678e9f3b2adf

1.8 解决动态库加载失败问题

1.9 静态库和动态库的对比

18043fbf0b487cb4c299759b635c276

0b5edafac4a735a46ca6d7246b760d0

4e7ae3f7659c46364783ba955274277

7fbfc3e6fdc4600e159ca74055c4867

30500223eee88cb1e5f97183efdcb0c

1.10-1.12 Makefile

2021-10-28_19-25

2021-10-28_19-29

2021-10-28_19-50

2021-10-28_19-52

2021-10-28_19-56

1.13-1.16 GDB调试

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FqHRjYRw-1640703132796)(https://i.loli.net/2021/10/28/PcElBxMd5wV4UbT.png)]

2021-10-28_20-06

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XynEG9TP-1640703132797)(https://i.loli.net/2021/10/28/nHAeoVQbMhWj5wd.png)]

2021-10-28_20-27

2021-10-28_20-33

1.17 标准C库IO函数和Linux系统IO函数对比

2021-10-29_10-56

2021-10-29_11-02

1.18 虚拟地址空间

2021-10-29_11-08

1.19 文件描述符

2021-10-29_11-19

1.20-1.24 open、close、read 、write、lseek、stat、lstat

2021-10-30_10-03

1.25 模拟实现 ls -l 命令

1.26 文件属性操作函数

2021-10-30_10-26

1.27 目录操作函数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2vZ3GLhi-1640703132801)(https://i.loli.net/2021/10/30/PdAIOj35MzogGLX.png)]

1.28 目录遍历函数

2021-10-30_10-43

1.29 dup、dup2函数

2021-10-30_10-45

1.30 fcntl函数

2021-10-30_10-48

第2章 Linux多进程开发

2.1 进程概述

2.2 进程状态转换

2.3 进程创建

​ 在子进程中返回0

​ 如何区分父进程和子进程:通过fork的返回值。

​ 在父进程中返回-1,表示创建子进程失败,并且设置errno

2.4 父子进程虚拟地址空间情况

2.5 父子进程关系及GDB多进程调试

​ 1.fork()函数的返回值不同

​ 父进程中: >0 返回的子进程的ID

​ 子进程中: =0

​ 2.pcb中的一些数据

​ 当前的进程的id pid

​ 当前的进程的父进程的id ppid

​ 信号集

​ 某些状态下:子进程刚被创建出来,还没有执行任何的写数据的操作

​ - 用户区的数据

​ - 文件描述符表

2.6 exec函数族

2.7 进程退出、孤儿进程、僵尸进程

2.8-2.9 wait/waitpid 函数

2.10 进程间通信简介

2021-11-01_11-23_1

2.11 匿名管道概述

2.12 父子进程通过匿名管道通信

2.14 管道的读写特点和管道设置为非阻塞

2.15 有名管道介绍及使用

2.16 有名管道实现简单版聊天功能

2.17-2.18 内存映射

2.19 信号概述

2.20-2.21 kill、raise、abort、alarm、setitimer函数

2.23 signal 信号捕捉函数

2.24 信号集及相关函数

2.27 SIGCHLD 信号

2.28-2.29 共享内存

2021-11-04_21-37

​ - 内存映射区:进程退出,内存映射区销毁

​ - 共享内存:进程退出,共享内存还在,标记删除(所有的关联的进程数为0),或者关机

​ 如果一个进程退出,会自动和共享内存进行取消关联。

2.30-2.31 守护进程

第3章 Linux多线程开发

3.1 线程概述

3.2-3.7 线程相关api,线程属性

3.8 线程同步

2021-11-06_22-13

3.9 互斥量/互斥锁

3.10 死锁

3.11 读写锁

3.12 生产者和消费者模型

3.13 条件变量(阻塞线程)

blog

3.14 信号量

第4章 Linux网络编程

4.1 网络结构模式

4.2-4.3 MAC地址、IP地址、端口

4.4 网络模型

4.5 协议

4.6-4.7 网络通信的过程

4.8 socket 介绍

4.9 字节序

4.10 字节序转换函数

4.11 socket地址

4.12 IP地址转换函数

4.13 TCP 通信流程

2021-11-13_11-122021-11-13_11-07

4.14 socket 函数

4.15-4.16 TCP通信实现

4.17 TCP三次握手

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h4CMfslb-1640703132806)(https://i.loli.net/2021/11/13/PYzUb6u4DV5m1sf.png)]

4.18 滑动窗口

4.19 TCP四次挥手

4.20 多进程实现并发服务器

4.23 TCP状态转换

4.24 半关闭、端口复用

4.25 IO多路复用简介

4.26 select API介绍

4.27 select代码编写

4.28 poll API介绍及代码编写

4.29 epoll API介绍

4.30 epoll 代码编写

4.31 epoll的两种工作模式

4.32 UDP通信实现

2021-11-17_22-05

4.33 广播

4.34 组播(多播)

4.35 本地套接字通信

第5章 项目实战与总结

5.1 阻塞和非阻塞、同步和异步(网络IO)

5.2 Unix、Linux上的五种IO模型

5.3 Web服务器简介及HTTP协议

5.4 服务器编程基本框架和两种高效的事件处理模式

5.5 线程同步机制类封装及线程池实现

标签:IO,linux,阻塞,管道,内存,信号,nowcoder,进程
来源: https://blog.csdn.net/weixin_45643285/article/details/122204768