linux
wangjl~
1730983350@qq.com
展开
-
ubuntu19版与windows pc机的文件共享(SAMBA服务)
参考:windows 和 Ubuntu实现文件共享百度百科-samba大多数我们都是使用虚拟机来装ubuntu系统的,可以通过安装虚拟机的增强工具来开启本地的共享文件。当这个不是我写这篇文章的主要内容。主要说明如何使用SAMBA,通过局域网来实现文件的共享功能。什么是Samba?Samba(SMB是其缩写) 是一个网络服务器,用于Linux和Windows共享文件之用;Samba 即可以...原创 2019-07-13 08:49:15 · 1288 阅读 · 0 评论 -
linux gcc命令
gcc: 描述: 当您调用GCC时,它通常执行预处理、编译、汇编和链接。"overall option"选项能够让你停止在这个过程的某一个中间阶段。例如,-c选项表示不运行链接器。然后只输出通过汇编程序汇编后的目标文件。其他选项用在某一个处理阶段。还有一些选项用于控制预处理器和编译器本身。由于您很少需要使用它们中的任何一个,所以这里没有记录其中的大多数。然而,其他选项控制汇编和链接器;...翻译 2019-08-03 17:43:13 · 341 阅读 · 0 评论 -
Linux -- asctime, ctime, gmtime, localtime, mktime, asctime_r, ctime_r, gmtime_r, localtime_r函数
函数名:asctime, ctime, gmtime, localtime, mktime, asctime_r, ctime_r, gmtime_r, localtime_r - 转换日期和时间成分解时间(修正时间)或者ASCII格式的字符串。概要: #include <time.h> char *asctime(const struct tm *...翻译 2019-08-06 11:45:28 · 1873 阅读 · 0 评论 -
动态库(.so)的制作
扩展: linux gcc命令描述: a.动态库也叫共享库 b.动态库把对一些库函数的链接载入推迟到程序运行的时期(runtime)。c.可以实现进程之间的资源共享。d.将一些程序升级变得简单。e.甚至可以真正做到链接载入完全由程序员在程序代码中控制。创建动态库:a.将库源文件编译成.o的目标文件–> gcc [-fPIC] -c mylib.c -o mylib....原创 2019-08-02 08:58:43 · 2041 阅读 · 0 评论 -
Linux -- 无名管道pipe单向读写演示实例
#include <sys/types.h>#include <sys/wait.h>#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <string.h>#define QUIT_STR "quit"intmain(int a...原创 2019-08-08 19:31:32 · 402 阅读 · 0 评论 -
Linux -- 有名管道mkfifo单向读写实例
fifo_write.c #include <stdio.h>#include <stdlib.h>#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>#include <string.h>#include <fcntl.h>...原创 2019-08-08 21:16:08 · 1202 阅读 · 0 评论 -
Linux -- ls -l 命令的函数实现
效果:file_mode.h文件#ifndef __FILE_MODE_H#define __FILE_MODE_H void stat_mode(const char *pathname);#endiffile_mode.c文件#include <string.h>#include <sys/types.h>#include <...原创 2019-08-07 08:38:03 · 593 阅读 · 0 评论 -
Linux -- dup, dup2, dup3
翻译自Ubuntu 19版本下的Linux Programmer's Manual函数名:dup, dup2, dup3 - 复制一个文件描述符概要:#include <unistd.h>int dup(int oldfd);int dup2(int oldfd, int newfd);#define _GNU_SOURCE /* 参...翻译 2019-08-07 12:12:32 · 432 阅读 · 0 评论 -
Linux -- fflush函数
翻译自Ubuntu 19版本下的Linux Programmer's Manual函数名:fflush - 刷新一个流概要: #include <stdio.h> int fflush(FILE *stream);描述: 对于输出流,fflush()通过流的底层write(2)函数对所有用户空间缓存的数据进行强制写操作,写到所给定的输出或...翻译 2019-08-07 17:21:19 · 3951 阅读 · 0 评论 -
Linux --sigaction举例(改变信号默认操作)
环境 -- ubuntu64位 内核宏及函数部分对照/*signal number*/#define SIGHUP 1#define SIGINT 2#define SIGQUIT 3#define SIGILL 4#define SIGTRAP 5#define SIGABRT 6#define SIGIOT...原创 2019-08-10 12:48:11 · 811 阅读 · 0 评论 -
Linux -- ftok函数
翻译自Ubuntu 19版本下的Linux Programmer's Manual函数名:ftok – 将一个路径名和一个对象标识符转换为System V IPC键值。概要:#include <sys/types.h> #include <sys/ipc.h> key_t ftok(const char *pathname, int ...翻译 2019-08-10 22:32:05 · 453 阅读 · 0 评论 -
Linux --共享内存单向读写举例(非同步->同步机制)
部分内核的宏: #ifndef _ASM_GENERIC_ERRNO_BASE_H#define _ASM_GENERIC_ERRNO_BASE_H#define EPERM 1 /* Operation not permitted */#define ENOENT 2 /* No such file or directory */#define ESRC...原创 2019-08-11 16:06:56 · 590 阅读 · 0 评论 -
Linux -- 信号量编程接口封装及如何实现互斥与同步
sem.h #ifndef _SEM_H#define _SEM_H int get_sem(int key, int nsems); int del_sem(int semid); int set_sem_val(int semid, int semnum, int sem_val); int sem_P(int semid, int semnum); int sem_V(in...原创 2019-08-12 09:22:58 · 537 阅读 · 0 评论 -
linux ar命令 --静态库(.a)的制作
[ar命令] 描述: Linux系统的一个备份打包命令,用于创建归档文件(archive),或从归档文件中提取、添加、删除成员文件。 ar命令最常见的用法是将目标文件(.o)打包为静态链接库(.a)。在嵌入式开发中经常用到。 命令格式: ar p [mod] 归档文件 [成员文件…] p:必选参数,只能选一个 –r:插入成员文件…存档(带替换)。此操作与q...原创 2019-08-01 22:39:36 · 3413 阅读 · 1 评论 -
多文件目录下的makefile的编写(从简单到复杂)
再看这篇文章之前可以先看下这篇文章: Makefile文件的简单编写 为了方便管理程序文件,我们一般会添加文件夹来进行分类管理,这时候为了方便我们编译,就需要在各个文件夹里面添加一个makefile文件,make后就会自动的帮我们编译生成可执行文件。 一.简单篇 1. 先给出目录结构 这里[外链图片转存中…(img-PRxa3g7n-1564282089938)]http:/...原创 2019-07-28 13:44:08 · 13217 阅读 · 7 评论 -
Linux -- stat, fstat, lstat, fstatat函数
函数名:stat, fstat, lstat, fstatat - 获取文件的状态概要: #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> int stat(const char *pathname, struct stat *statbuf...翻译 2019-08-05 15:59:49 · 1659 阅读 · 0 评论 -
linux内存映像分配
一.概述:32位linux操作系统采用的是虚拟内存管理技术,使得每个进程都有独立的地址空间。该地址空间是大小为4GB的线性虚拟空间,用户所看到和接触到的都是该虚拟地址,无法看到实际的物理内存地址。使用虚拟内存的优点:安全,因为用户不能直接访问物理内存;用户程序使用的内存空间比实际物理内存空间大。4GB的进程地址空间会被分为两个部分——用户空间与内核空间。用户地址空间是0~3GB(...原创 2019-07-09 21:30:14 · 576 阅读 · 2 评论 -
ubuntu19版本配置tftp服务
参考:1.百度百科–tftp2.嵌入式linux开发之工具------tftp什么是Tftp?TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。在嵌入式linux开发:在嵌入式linux开发中,需要用到Tftp服务,主要使...原创 2019-07-14 18:07:23 · 419 阅读 · 0 评论 -
ubuntu19版本配置nfs内核服务
参考:1.百度百科–nfs2.NFS exports参数说明3.uboot 无法通过 nfs 启动 Ubuntu 18.04 内的根文件目录什么是nfs?NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文...原创 2019-07-14 20:54:21 · 2062 阅读 · 1 评论 -
ubuntu常见的关机命令和重启命令
关机命令:立刻关机:sudo shutdown -h nowsudo init 0poweroff延时关机:sudo shutdown -h 10 [“准备关机”] //10分钟后关机。方括号表示可选,用于在关机前提醒shutdown -c 取消关机系统重启命令立刻重启sudo shutdown -r nowsudo reboot延时重启:sudo shutdo...原创 2019-07-14 21:13:40 · 3020 阅读 · 0 评论 -
ubuntu终端常用快捷命令
Ctrl+A:光标跳转到命令行的行首Ctrl+E:光标跳转到命令行的行尾Ctrl+U:剪切光标前的内容Ctrl+K:剪切光标后的内容Ctrl+C:结束一个进程Ctrl+Y:粘贴内容Ctrl+L:清屏Ctrl+Alt+T:打开一个终端,当前所在目录为家目录Ctrl+Shift+T:新建标签页,当前目录为原来终端的目录Ctrl+Shift+N:新建,当前目录为原来终端的目录Ctrl...原创 2019-07-15 08:31:18 · 343 阅读 · 0 评论 -
Ubuntu19修改用户名
参考:Ubuntu16.04 修改用户名和密码前沿:本人是在虚拟机里安装的ubuntu系统,在进行一下操作是注意备份系统,可以先将ubuntu打包出来。在进行操作。不然操作失败你的系统就凉凉啦。我这里使用的虚拟机是VirtualBox,然后导出系统作为备份,备份后的系统如下图:如何使用VirtualBox打包ubuntu系统参考这个链接:Oracle VM VirtualBox虚拟机导出教...原创 2019-07-15 18:50:05 · 1252 阅读 · 0 评论 -
连续fork与分开fork的最形象化解释
首先我们要知道一点,使用fork()函数的到的子进程是父进程的一个复制品,关于复制了哪些内容这里不一一说明。这里主要说明的是,fork()函数会把父进程当前变量的值及fork()后面的代码段复制给子进程一.连续fork: 这里为了方便观察进程列表,使用while(1)让每个进程不退出int main(int argc, const char *argv[]){ pid_t pid1=0,...原创 2019-07-07 12:19:14 · 747 阅读 · 0 评论 -
Makefile文件的简单编写
参考:MakeFile文件是什么——内容、工作原理、作用、使用makeFile文件作用是什么嵌入式操作系统linux篇(书)在嵌入式开发中,一个工程中的源文件是非常多的,如果一个个编译会很麻烦,Makefile的出现解决了这个麻烦事,只要我们把Makefile写好,只需要“make”一下,整个工程完全自动编译,极大的提高了软件开发的效率。下图显示了makefile在工程中的位置,一个目录...原创 2019-07-18 17:46:15 · 5880 阅读 · 1 评论 -
linux修改文件属性
1. 查看文件的属性的命令是:ls [选项] [文件]常用选项有:-l:一行列出一个文件的属性信息(list),除文件名外,显示文件类型、权限、硬链接数目、该文件的拥有者、该文件所在的用户组、大小(单位:字节)、时间信息(如未指明是其他时间即指修改时间)-a:列出当前目录下的所有文件,包括隐藏文件-d:显示当前目录里面子目录的属性2. 使用ls -l显示文件属性3. 修改文件的属性...原创 2019-07-16 17:42:42 · 6061 阅读 · 0 评论 -
解决ubuntu与virtualbox共享文件夹访问权限问题
出现问题:右键点击该共享文件夹的属性,可以看到只能是root用户访问,普通用户没有权限通过命令cjown修改该文件所有者失败解决方法:将用户名添加到组中输入命令:sudo vi /etc/group在vboxsf组后添加你的用户名group文件包含了unix组的名称和每个组中的成员列表,每一行代表一个组,包含四个字段:祖名:加密的口令:GID号:成员列表,成员列表…,各个成员...原创 2019-07-27 09:48:36 · 6196 阅读 · 0 评论 -
ubuntu19.04虚拟机桥接模式在/etc/network/interfaces配置静态IP失败的另一种解决方法
以往在配置ubuntu静态ip时都是在/etc/network/interfaces 里面配置的,不知道是版本高的原因还是怎样,在/etc/network/interfaces配置静态还是连不上网。如果不配置静态ip的话,ubuntu是能上网的,不过对应的ip不是静态ip,默认内容如下图:这里先说下以前在/etc/network/interfaces配置静态ip的方法,使用ifconfig或...原创 2019-07-27 11:06:14 · 4103 阅读 · 1 评论 -
Linux -- tcp单向文件传输例程
tcp_send_file.c#include <stdio.h>#include <stdlib.h>#include <sys/types.h> #include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#includ...原创 2019-08-13 09:20:34 · 614 阅读 · 0 评论