UNIX - 技术教程文章

Understanding Unix/Linux Programming-pwd指令练习【代码】

系统调用的意义:mkdir:创建目录rmdir:删除空目录unlink:删除一个链接link:创建一个新链接rename:重命名或者删除一个链接chdir:切换所调用进程的当前目录 1 #include <sys/types.h>2 #include <sys/stat.h>3 #include <unistd.h>4 #include <stdio.h>5 #include <dirent.h>6 #include <stdlib.h> // Just in case of some calls 7 8 ino_t get_inode(char *) ; 9void printpathto(ino_t) ; 10void inum_to_name(ino_t , char...

UNIX 时间戳 C#

/// 将Unix时间戳转换为DateTime类型时间 /// </summary> /// <param name="d">double 型数字</param> /// <returns>DateTime</returns> public static System.DateTime ConvertIntDateTime(double d) { System.DateTime time = System.DateTime.MinValue; System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); ...

UNIX-like系统资源检查命令

系统资源主要是内存、磁盘、CPU三项,其中任一项资源用尽都会造成系统崩溃。 系统内存磁盘CPULinuxfree -gdf -htopAIXsvmon -G/vmstat -vdf -gtopasSolaris(SunOS) df -h HP-UX bdf 原文:http://www.cnblogs.com/lsdb/p/6639919.html

linux/unix核心设计思想

1) 程序应该小而专一,程序应该尽量的小,且仅仅专注于一件事上。不要开发那些看起来实用可是90%的情况都用不到的特性; 2) 程序不仅仅要考虑性能, 程序的可移植性更重要,shell和perl。python等脚本相比c有更好的移植性; 3)一切皆文件,尽量使用文本文件来存储数据,避免使用二进制文件。由于文本文件可读性强。且已经有跟多的工具来处理。比如awk,sed,grep等; 4)让每一个程序都成为过滤器,程序须要与其它的工具一起配...

Understanding Unix/Linux Programming-文件、设备和流

每个设备文件都支持系统调用 ioctl:目标:控制一个设备头文件:#include<sys/ioctl.h>函数原型:int result = ioctl(int fd , int operation [,arg...]);参数fd : 文件所关联的文件描述符operation:操作类型arg:可选参数result:-1即错误;0即正确;  实际上,任何数据的源或者目的地都被Unix视为文件来处理,基本的系统调用既支持磁盘文件,也适用于设备文件。它们的区别体现在对于连接的操作上。磁盘文件的文件描述符包含对...

朴素的UNIX之-调度器细节【图】

0.多进程调度的本质我们都知道UNIX上有一个著名的nice调用。何谓nice,当然是“好”了。常规的想法是nice值越大越好,实际上,nice值越好,自己的优先级越低。那么为何不用badness呢? 其实。假设我们理解了操作系统多进程调度系统是一个“利他”系统,这个问题就不是个问题了。nice当然还是好。不是对自己好。而是对别人好。利他系统是一个人人为我我为人人的系统,相似还有TCP流量控制和拥塞控制。人类的宗教社会组织等等,...

关于unix环境高级编程、Linux程序设计两部书浅谈

unix环境高级编程的术语很多,概念内容,也很多,不过学习概念性质、标准规则类的东西,想必都是这样吧——需要进行拓展的内容很多。Linux程序设计,图文并茂,代码量够足,看起来,感觉难度还可以。linux程序设计这部书,是我第一部接触到的,因为想研究纯后端的东西,所以上面的不少图形界面相关的内容,我都是跳着看——感觉快要放弃这本书了,不过对unix体系,Linux的设计了解了很多东西,也只能是了解的底部,深入的话,需要时...

Unix IPC之Posix消息队列(2)【代码】【图】

/* Query status and attributes of message queue MQDES. */externint mq_getattr (mqd_t __mqdes, struct mq_attr *__mqstat)__THROW __nonnull ((2));/* Set attributes associated with message queue MQDES and if OMQSTAT isnot NULL also query its old attributes. */externint mq_setattr (mqd_t __mqdes,__const struct mq_attr *__restrict __mqstat,struct mq_attr *__restrict __omqstat)__THROW __nonnull ((2));s...

Unix网络编程随手记——套接字接口函数【代码】

套接字接口(socket interface)是一组函数,它们和Unix I/O函数结合起来,用以创建网络应用。大多数现代系统上都实现套接字接口,包括所有的Unix变种、Windows和Macintosh。1.套接字的基本结构struct sockaddr这个结构用来存储套接字地址。数据定义:1struct sockaddr 2{ 3 unsigned short sa_family; /* address族, AF_xxx */4char sa_data[14]; /* 14 bytes的协议地址 */56 };sa_family 一般来说,都是“AFINET”。...

FROM_UNIXTIME 格式化MYSQL时间戳函数【代码】

函数:FROM_UNIXTIME作用:将MYSQL中以INT(11)存储的时间以"YYYY-MM-DD"格式来显示。语法:FROM_UNIXTIME(unix_timestamp,format)返回表示 Unix 时间标记的一个字符串,根据format字符串格式化。format可以包含与DATE_FORMAT()函数列出的条目同样的修饰符。根据format字符串格式化date值。下列修饰符可以被用在format字符串中:%M 月名字(January……December)%W 星期名字(Sunday……Saturday)%D 有英语前缀的月份的日期(1st, 2nd,...

lunix 下安装maven

方法一:yum install maven直接自动安装了maven然后自行配置/etc/maven/setting 文件就好使用阿里云的中心仓库,相对速度较好修改 <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> 方法二:1->2->3->4 (下载文件步骤省略)5、解压压缩包, 6、配置变量,输入命令:vim /etc/profil...

Linux/Unix设计思想

Mike Gancarz1.Unix开发基于Multics分时操作系统2.NIH(Not invented here,非我发明)3.GPL:GUN公共授权协议,适用于软件的法律协议。开源4.Unix哲学:1)小即是美:易理解、维护、低消耗系统资源、易于其他工具结合2)让每一个程序制作好一件事3)尽快建立原型(prototyping):”第三个系统”概念4)舍高效而取可移植性5)使用纯文本文件来存储数据:二进制严格禁止6)充分利用软件的杠杆效应:借用代码模块;将一切自动化7)使用...

lunix 下安装docker与镜像【图】

lunix 下安装docker与镜像准备:contos7Docker安装1、检查yum源 (此步骤可省略,一般contos7都会有),centos7的yum源自带dockercd /etc/yum.repos.d | ls 2、查看yum上的docker版本yum list docker 3、选择并安装docker某个版本yum install docker.x86_64 4、安装好查看安装版本docker --version 查看docker是否安装成功yum list installed |grep docker 5、启动dockersystemctl start docker(可根据实际情况选择性的设置开机...

[daily][netcat] 在UNIX socket上使用netcat【代码】

概述默认情况下,系统里边带的netcat,也就是nc。支持tcp,udp,ipv4,ipv6但是不支持unix socket。 而且,telnet也不支持。 除非自己写一个,不然很不方便。另一个netcat前边讲的netcat是gnu-netcat包里的工具。 其实,还有另一个:openbsd-netcat─>$ sudo pacman -Ss netcat extra/gnu-netcat 0.7.1-7GNU rewrite of netcat, the network piping application community/openbsd-netcat 1.190_2-1 [installed]TCP/IP swiss army ...

UNIX/Linux进程间通信IPC系列(六)信号量【图】

今天着实为这ReportViewer控件度了一天,狗了一夜,终于有成果,写个博客,给予需要有帮助的人。省得像我花一天时间去解决。环境: Windows Server 2008 r2,SharePoint 2010,Visual Studio 2010, Sql Server 2008 r2前台代码:就直接添加一个简单的ReportViewer控件页面会报这个错:没办法,这是2010,接着,我们需要修改Web.config几处地方,向SharePoint注册此控件1. 在<handlers>结点加上加入下面三行代码<add name="ReportVi...

解决XCode6.0编译crossapp报错_fwrite$UNIX2003 “_strerror$UNIX2003″,

暂时的解决方案是在AppDelegate.cpp文件的最后加上一下代码:extern"C"{ size_t fwrite$UNIX2003( const void *a, size_t b, size_t c, FILE *d ) { return fwrite(a, b, c, d); } char* strerror$UNIX2003( int errnum ) { return strerror(errnum); }}原文:http://j2066.blog.51cto.com/6628599/1683845

在32位RHEL6安装dos2unix的纠结过程【代码】【图】

怪不得oldboy不支持初学者用RHEL。  这段时间在2台虚拟机上分别通过CentOS5.8和RHEL6.0安装nagios的客户端,CentOS一切顺利。但是,RHEL不断给我制造麻烦。前几天在RHEL环境yum安装mysql遇到问题,耽误2天时间。昨晚又因为在RHEL上安装dos2unix命令,昨晚加上今天下午又折腾1个小时。  今天凌晨通过下载软件包,编译安装始终报错。今天下午在百度搜索yum安装这个命令,也不怎么得要领。于是又尝试直接通过yum指定“dos2unix*”...

UNIX网络编程读书笔记:套接口选项【代码】【图】

概述有很多方法来获取和设置影响套接口的选项:getsockopt和setsockopt函数fcntl函数ioctl函数getsockopt和setsockopt函数这两个函数仅用于套接口。#include <sys/socket.h> int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen); int setsockopt(int sockfd, int level, int optname, constvoid *optval, socklen_t *optlen); 返回值:0——成功,-1——出错其中,sockfd必须指向一个打开的套接...

docker Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 问题解决

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE) Failed to start Docker Application Container Engine. docker Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 可以先用以下命令解决:systemctl daemon-reloadsystemctl restart docker 如果以上命令不足以解决,这些问题可能最终的原因是:/etc/dock...

UNIX网络编程第4章4.5listen函数4.6accept函数【代码】【图】

#include <time.h> #include "../lib/unpsunyj.h"// Daytime server that prints client IP address and portint main(int argc, char **argv) {int listenfd;int connfd;socklen_t len;struct sockaddr_in servaddr;struct sockaddr_in cliaddr; // 它将存放客户的协议地址char buff[MAXLINE];time_t ticks;// listenfd = Socket(AF_INET, SOCK_STREAM,...

Win10安装虚拟机(Ubantu18.04)并安装seismic unix(SU)【图】

最近项目中需要对实际地震数据进行道头, 卷头的操作以及数据清洗, 因此需要SU进行处理. 下载安装VMare, 并配置Ubantu18.04  从官网上下载VMare Workstation 15.5: https://my.vmware.com/cn/web/vmware/info/slug/desktop_end_user_computing/vmware_workstation_pro/15_0  或者可以通过我的网盘链接: https://pan.baidu.com/s/1xwU-czQ0dlpWGZLjAkN26w 提取码: ri0u (网盘文件中也包括了Ubantu18.04的ios文件, 也...

Linux/Unix分配进程ID的方法以及源代码实现

在Linux/Unix系统中。每一个进程都有一个非负整型表示的唯一进程ID。尽管是唯一的。可是进程的ID能够重用。当一个进程终止后,其进程ID就能够再次使用了。大多数Linux/Unix系统採用延迟重用的算法,使得赋予新建进程ID不同于近期终止进程所使用的ID,这主要是为了防止将新进程误觉得是使用同一ID的某个已终止的先前进程。本文讨论了Linux/Unix分配进程ID的方法以及源代码实现。分配进程ID的方法 在大多数Linux/Unix系统中,生...

Spark-Sql [from_unixtime]用法详解【图】

select from_unixtime(CAST(current_timestamp() AS BIGINT),‘yyyy-MM-dd HH:mm:dd‘); 。原文:https://www.cnblogs.com/lanyubaicl/p/15078849.html

《UNIX环境高级编程》学习心得 一【图】

本文内容大部分摘自《UNIX环境高级编程》,附有部分个人心得。1、unix体系结构从严格意义上来说,可将操作系统定义为一种软件,它控制计算机硬件资源,提供程序运行环境。我们通常将这种软件称为内核(kernel),因为它相对较小,而且位于环境核心。如图显示unix体系结构。内核接口被称为系统调用(system call)。公用函数库构建在系统调用接口之上,应用程序既可食用公用函数库,也可以使用系统调用。shell是一个特殊的应用程序,...

HP-UNIX depot软件安装方法【图】

Depot文件怎么安装呢?先su到root用户,然后swinstall –s /home/…… 把路径和文件名打全,回车,出现一个带菜单的字符界面,可用Tab切换,先在下面的那个“框”里回车一下,选中要安装的条目(出现1 of 1 selected),然后Tab到菜单上去,使用方向键移动光标到Actions回车,选择Mark for Install,下面的Marked为Yes之后,再选Actions下的Install,如果Analysis没问题的话,选OK就开始安装了,出现Status:Completed,Percent Co...

UNIX网络编程读书笔记:地址格式转换函数【代码】【图】

地址格式转换函数:它们在ASCII字符串(人们比较喜欢用的格式)与网络字节序的二进制值(此值存于套接口地址结构中)间转换地址。1、inet_aton、inet_addr、inet_ntoainet_aton、inet_addr和inet_ntoa在点分十进制数串(例如,”206.168.112.96“)与它的32位网络字节序二进制值间转换IPv4地址。#include <arpa/inet.h>int inet_aton(constchar *strptr, struct in_addr *addrptr); 返回:1——串有效,0——串有错int_addr_t inet...

Another mysql daemon already running with the same unix socket

在国外网站发现的解决方法。原因多个Mysql进程使用了同一个socket。两个方法解决:第一个是立即关机 使用命令 shutdown -h now 关机,关机后在启动,进程就停止了。第二个直接把mysql.sock文件改名即可。也可以删除,推荐改名。然后就可以启动mysql了。 下面是国外原文 To prevent the problem from occurring, you must perform a graceful shutdown of the server from the command line rather than powering off the server.# ...

5个经常被忽略的Unix命令

使用unix系统的用户或许看了以后会有同感,unix系统已经有一段时间了。但还是有一些命令是被我一直忽略的,真希望我能早几年发现这些命令。这些命令点单方便区经常容易忽略,,希望本片可以给一些同样忽略的用户一个善意的提醒。  1. man ascii  这个命令会打印出八进制、十六进制和十进制的ASCII码表。难以置信我是一个月之前才知道这个命令的。我总是使用google来查询ASCII码表。这个命令其实更方便。复制内容到剪贴板ASCII(...

【UNIX标准及实现简述】

有问题欢迎评论,大家一起交流学习 如有错误,也请不吝赐教 转载请注明出处:https://www.cnblogs.com/dreamer123/p/9974523.htmlUNIX标准化:ISO C:该标准意图是提供C程序的可移植性,使其能适合于大量不同的操作系统,而不只是UNIX系统。次标准不仅定义了C程序设计语言的语法和语义,还定义了其标准库。 In addition, ISO:国际标准化组织International Organization for Standardization; ANSI:美国国家标准学会Americ...

《UNIX环境高级编程》笔记--行控制函数、终端标识、终端窗口大小

1.行控制函数下列4个函数提供了终端设备的行控制能力,其中,参数filedes引用一个终端设备,否则出错返回,errno设置为ENOTTY。#include<termios.h> int tcdrain(int filedes); int tcflow(int filedes, int action); int tcflush(int filedes, int queue); int tcsendbreak(int fledes, int duration); //四个函数返回值:若成功则返回0,出错则返回-1.tcdrain函数等待所有输出都被发送。tcflow用于对输入和输出流控制进行控制。a...