Linux操作系统
文章平均质量分 76
此专栏分享的主要内容包括Linux的发展、终端、操作系统、文件结构、shell编程、库函数、基本命令、网络编程、多线程编程、线程通信等,并提供个人见解,方面大家交流与学习
陆讯
南大软院计算机科学与技术,同济大学工商管理MBA,一个懂技术的产品人,从事互联网产品事业,励志做有价值、有温度的产品...
展开
-
Linux - 可视化菜单界面设计
优化屏幕刷新问题 刷新多个窗体需要一些繁琐,在一个慢速的链接上,屏幕的绘制相当的慢 目标就是要尽量减少要在屏幕上的绘制的字符数基本函数int wnoutrefresh(WINDOW *window_ptr);决定哪些字符需要发送到屏幕,但是并不实际的发送int doupdate(void);向终端发送实际的改变说明 如果只是简单地调用wnoutrefresh,其后立即调用doupdat原创 2015-05-20 09:50:54 · 6837 阅读 · 0 评论 -
Linux - curses函数库
curses库基本概念控制字符输入/输出的格式 termios缺点,转义处理 curses优点 提供与终端无关的字符处理方式 可以管理键盘 支持多窗体管理curses vs. ncurses源文件包含头文件curses.h编译时加 –lcurses选项gcc program.c −o program −lcursesgcc −I/usr/include/ncurses progra原创 2015-05-20 09:31:21 · 2522 阅读 · 0 评论 -
Linux - 终端
C语言编写简单的菜单程序工作过程分析getchoice()显示程序介绍信息greet及样本菜单choices让用户选择初始字符main()中的do循环体通过getchar()获取用户输入,直到接收到一个与菜单数组某个选项的首字符匹配的字符为止规范模式与非规范模式规范模式 按回车键后,才能读到终端输入 基于行处理 在输入行完成前,终端接口负责管理所有用户键盘输入,包括退格键,应用程序原创 2015-05-17 09:29:14 · 1538 阅读 · 0 评论 -
Linux - 访问系统信息
passwd文件passwd 是一个文本文件,用于定义系统的用户账号,该文件位于“/etc”目录下包含一个系统账户列表,给出每个账户一些有用的信息,例如,用户 ID、组 ID、主目录、shell等由于所有用户都对passwd有读权限,所以该文件中只定义用户账号,而不保存口令passwd文件中每行定义一个用户账号,一行中又划分为多个字段定义用户的账号的不同属性,各字段用“:”隔开passwd文件字段说原创 2015-05-17 09:10:40 · 1374 阅读 · 0 评论 -
Linux - 线程通信
线程互斥机制Mutex变量就像一把“锁”,是线程同步和保护共享数据的主要方式 Mutex可以用来阻止竞争 Pthreads中Mutex的基本概念 在任何时候,只有一个线程能够获得Mutex 尽管几个线程想获取一个Mutex,但是只有一个线程能够成功 其他线程需要等待,直到获取Mutex的线程放弃Mutex 线程必须轮流访问需要保护的数据 线程经常利用mutex来加锁需要更新的全局变量,原创 2015-05-16 09:28:23 · 1800 阅读 · 0 评论 -
Linux - 线程属性控制
线程属性属性值不能直接设置,须使用相关函数进行操作 初始化函数为pthread_attr_init,该函数必须在pthread_create函数之前调用typedef struct{ int detachstate; // 线程的分离状态 int scope; // 线程绑定状态 int schedpolicy; // 线程调度策略 struct sc原创 2015-05-16 09:14:40 · 1759 阅读 · 0 评论 -
Linux - 多线程编程
进程及线程基本定义进程(process) 处于执行期的程序及其所包含资源的总称 程序:可执行程序代码 资源:打开文件、挂起信号、地址空间、数据段等 线程(thread) 进程中活动的对象 有独立的程序计数器、进程栈及一组进程寄存器 节省主存、减少管理开销、快速切换进程 资源分配单位 进程的上下文组成 进程控制块PCB:包括进程的编号、状态、优先级以及正文段和数据段中数据分布的大概原创 2015-05-16 09:00:46 · 1210 阅读 · 0 评论 -
Linux - 面向连接的socket通信流程
字符串的IP与32的IP的转换说明 网络上的IP都是数字加点(192.168.0.1)构成struct in_addr结构使用32位的IP,如IP(C0A80001)是192.168.0.1 函数原型 int inet_aton(const char *cp, struct in_addr *inp)将a.b.c.d的IP转换为32位的IP,存储在 inp指针里面char *inet_原创 2015-05-15 10:44:02 · 1914 阅读 · 0 评论 -
Linux - 编程常用函数
listen()函数功能用于面向连接服务器,表明愿意接收连接#include <sys/socket.h>函数原型int listen(int s, int backlog);参数说明sockfd:调用socket返回的文件描述符backlog:accept()应答之前,允许在进入队列中等待的连接数目,出错时返回-1返回值成功时,返回0失败时,返回-1说明在使用listen(原创 2015-05-15 10:37:32 · 1252 阅读 · 0 评论 -
Linux - Socket网络套接字
OSI七层协议功能物理层面向物理传输媒体,屏蔽媒体的不同主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的模数转换与数模转换)。这一层的数据叫做比特。 链路层面向一条链路,成帧和无差错传输主要将从物理层接收的数据进行MAC地址(网卡的地址)的封装与解封原创 2015-05-15 10:20:42 · 1406 阅读 · 0 评论 -
Linux - 标准I/O库与高级I/O库
输入字符头文件#include <stdio.h>函数原型int fgetc(FILE *fp);从文件流中读取下一个字节,并作为字符返回到达文件尾或出现错误时,返回EOFint getc(FILE *fp);与fgetc()功能类似,但可实现成一个宏int getchar(void);相当于getc(stdin)输出字符头文件#include <stdio.h>函数原型i原创 2015-05-13 14:28:26 · 1284 阅读 · 0 评论 -
Linux - 文件属性及目录相关系统调用
stat()/fstat()/lstat()系统调用功能获取文件状态头文件#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>函数原型int stat(const char *file_name, struct stat *buf);int fstat(int filedes, struct stat *buf)原创 2015-05-13 14:02:54 · 2005 阅读 · 0 评论 -
Linux - 系统调用与库函数
文件基本概念文件 可被读写的对象 具备一定权属性,包括访问权限、类型等 文件系统 文件及其属性的集合,提供了命名及管理机制 文件结构 字节流,没有特定内部结构文件类型普通文件目录设备文件字符文件/块文件FIFO文件(如管道文件)Socket文件符号链接硬连接不同的文件名对应同一个inode 不能跨越文件系统 相应系统调用 link()[root@localhost l原创 2015-05-13 13:51:40 · 1413 阅读 · 0 评论 -
Linux - Shell程序设计基本语法
使用双引号的字符双引号是Shell的重要组成部分$ echo Hello World Hello World $ echo "Hello World" Hello World如何显示: Hello “World” 以下命令可以吗?$ echo “Hello “World”” 正确方法:echo “Hello \”World\””原创 2015-05-13 09:45:18 · 1568 阅读 · 0 评论 -
Linux - Shell基本命令
Shell基本命令几个基本的shell命令,用ssh管理主机必备。 1.ls 列出目录下的文件,不同类型的文件颜色不同,例如蓝色是文件夹,白色是文件[root@restoretmp steph]# lsfile.html public_html test[root@restoretmp steph]#参数:ls -a 列出所有文件,包括隐藏文件[root@restoretmp ste原创 2015-05-13 09:31:37 · 4230 阅读 · 0 评论 -
Linux - Shell编程基础
用户和操作系统之间的接口Shell分类Shell的双重角色命令解释程序Shell的工作步骤打印提示符得到命令行解析命令查找文件准备参数执行命令独立的程序设计语言解释器KISS (Keep It Small and Stupid)可复用工具tools重定向和管道也称Shell script(Shell脚本) 是一组命令#!/bin/shls -altouch aacp a原创 2015-05-13 09:25:24 · 1255 阅读 · 0 评论 -
Linux - 系统文件结构
Linux系统的文件系统结构/:文件系统结构的起始点 /home:用户主目录 /bin:标准指令和工具程序 /usr :系统使用文件和指令 /usr/bin:用户命令和工具程序 /usr/sbin:系统管理员命令 /usr/lib:编程语言库 /usr/doc:Linux文档 /usr/man:在线联机帮助手册 /usr/spool:假脱机文件 /sbin:管理员开启系统的命令原创 2015-04-05 14:07:53 · 1322 阅读 · 0 评论 -
Linux-操作系统
初识Linux类Unix(Unix-like)操作系统其他类UNIX系统包括Solaris、Mac OS等基于GPL(GNU Public License)的自由操作系统第一个版本发行于1991年主要用C语言编写,部分代码用汇编语言编写“Linux”在不同语境下的内涵不同Linux内核、Linux系统、Linux开发套件等严格来说,Linux指由Linux Torvalds维护(及通过原创 2015-04-05 09:43:30 · 1572 阅读 · 0 评论