
Linux/Unix
2puT
Linux的爱好者,爱开源. Github address: https://github.com/lina-not-linus
展开
-
#include <unistd.h> 头文件作用
1.unistd.h是用于linux/unix系统的调用。 #include 是POSIX标准定义的unix类系统定义符号常量的头文件,包含了许多UNIX系统服务的函数原型,例如read函数、write函数和getpid函数。2.unistd.h不是c语言的东西,是linux/unix的系统调用,包含了许多 U N I X系统服务的函数原型,例如 r e a d, w r i t e和g原创 2016-05-26 20:21:52 · 3127 阅读 · 0 评论 -
#include<sys/types.h>头文件作用
#include表示在gcc标准路径中的sys目录下查找types.h头文件;也有未写sys,因在绝对路径下。原创 2016-05-26 20:26:05 · 3222 阅读 · 0 评论 -
如何理解:int main(int argc, char** argv)
main 前面的 int 则说明main函数返回值是整形,一般是正常退出返回0,异常则是-1.参数 argc 则是表示 argv 的个数.argv 则是命令行参数. 这个参数是通过命令提示符窗(Linux 称为终端)口运行程序,以空格区分参数格式带入的。例如编译java文件时:javac Test.java (这里的 javac 就是程序,argc = 1, argv[0原创 2016-05-26 20:40:51 · 524 阅读 · 0 评论 -
exec()函数
char *argv[] 是使用dos调用程序是输入的命令,是一个二级char型指针;如:程序名为test,(当然要首先进入test.exe所在目录)输入为test str1 str2(回车)的话,str[0]就为:test(字符串);str[1]:str1;str[2]:str2;有的程序有时候在程序中要使用到这些参数。就像dos指令ping后面要加ip一样,ping就是一个程序,而后面ip就原创 2016-05-26 21:06:08 · 429 阅读 · 0 评论 -
软中断和信号是什么关系?
其实“软中断”(software interrupts)有两种并不等价的含义:一种是通过显式调用int指令触发的,它是相对于硬中断来说的;另一种就是*nix里的信号(signal)的别名。一般来说这两种东西并没有什么联系。前者基本上纯由CPU等硬件在处理,跟操作系统没什么关系,中断处理程序映射表(中断向量表)除外。而signal机制完全由操作系统通过代码实现,跟硬件关系也不大。当然,不排除操作系统原创 2016-05-26 21:24:24 · 1770 阅读 · 0 评论 -
linux 中 kill() 与 signal() 函数
linux 中 kill() 与 signal() 函数执行结果如下: 我想问,为什么主进程中kill()函数执行成功,但是子进程却没有执行stop()函数?不是已经设置了signal(SIGUSR1, stop);了么虽然子进程将父进程的函数重新拷贝了一份,子进程和父进程共享同一段内存空间,但不能被共享。可以通过共享内存解决这个问题。使用这个函数void* mmap(原创 2016-05-27 10:41:50 · 1135 阅读 · 0 评论 -
lockf()函数
lockf()函数允许将文件区域用作信号量(监视锁),或用于控制对锁定进程的访问(强制模式记录锁定)。试图访问已锁定资源的其他进程将返回错误或进入休眠状态,直到资源解除锁定为止。当关闭文件时,将释放进程的所有锁定,即使进程仍然有打开的文件。当进程终止时,将释放进程保留的所有锁定。头文件#include 函数:int lockf(int fd, int cmd, off_t原创 2016-05-27 16:57:30 · 5824 阅读 · 0 评论 -
lock(1,1,0)与lockf(1,0,0)
lockf(1,1,0)是锁定屏幕输出,不让其他进程可以输出到屏幕,lockf(1,0,0)则是解锁.lockf(fd,1,0)是给fd文件上锁lockf(fd,0,0)是解锁配合使用,实现进程的互斥原创 2016-05-27 17:16:58 · 4855 阅读 · 2 评论 -
pause()函数
只有EINTR 有信号到达中断此函数的执行。头文件:#include 定义函数:int pause(void);函数说明:pause()会令目前的进程暂停(进入睡眠状态), 直到被信号(signal)所中断.返回值:只返回-1.pause - 等待信号内容简介#include int pause(void);描述pause() 库函数使调用进原创 2016-05-27 19:00:46 · 23761 阅读 · 1 评论 -
操作系统:进程的软中断通信实验
#include#include#include#include#include#includeint wait_flag;void stop(); int main(){ int pid1,pid2; signal(2,stop); pause(); while((pid1 = fork())== -1); if(pid1 > 0) { while((pi原创 2016-05-27 20:45:13 · 7782 阅读 · 2 评论 -
操作系统:进程的管道通信实验
#include#include#include#include#includeint pid1,pid2;int main(){ int fd[2]; char outpipe[100],inpipe[100]; while((pid1 = fork()) == -1); if(pid1 == 0) { lockf(fd[1], 1, 0); sprintf(o原创 2016-05-27 20:46:27 · 4665 阅读 · 0 评论 -
ubuntu 正在读取软件包列表... 有错误!
zm@zm-Lenovo:~$ sudo apt-get install rar正在读取软件包列表... 有错误!E: Encountered a section with no Package: headerE: Problem with MergeList/var/lib/apt/lists/cn.archive.ubuntu.com_ubuntu_dists_precise-原创 2016-06-08 12:13:45 · 1879 阅读 · 0 评论 -
linux压缩和解压缩命令大全
tar命令 解包:tar zxvf FileName.tar 打包:tar czvf FileName.tar DirNamegz命令 解压1:gunzip FileName.gz 解压2:gzip -d FileName.gz 压缩:gzip FileName .tar.gz 和 .tgz 解压:tar zxvf FileName.tar.gz原创 2016-06-06 10:55:36 · 277 阅读 · 0 评论 -
#include<xxxx.h>与#include<sys/xxx.h>区别
一般头文件#include在/usr/include下面,这里是标准C程序头文件,如果你的头文件前加了,#include那说明这是系统调用函数头文件,其在/usr/include/sys下面。原创 2016-07-11 08:48:44 · 4895 阅读 · 0 评论 -
C语言EOF含义
EOF是end of file的缩写,表示"文字流"(stream)的结尾。这里的"文字流",可以是文件(file),也可以是标准输入(stdin)。EOF不是特殊字符,而是一个定义在头文件stdio.h的常量,一般等于-1。#define EOF (-1)除了表示文件结尾,EOF还可以表示标准输入的结尾。但是,标准输入与文件不一样,无法事先知道输入的长度,必须手动输入一个字符原创 2016-07-06 09:27:00 · 894 阅读 · 0 评论 -
linux编程里有这么一句if (lseek(STDIN_FILENO, 0, SEEK_CUR) == -1 ),请问是de意思?
STDIN_FILENO 就是 stdin,但是, stdin 是对应 FILE *, STDIN_FILENO 是 输入流描述符,或文件号,通常是 0。STDIN_FILENO 与read/write 相配。SEEK_CUR -- 偏移位置从文件指针当前位置开始计算。参数2你给的 0,是偏移量。怎样才能输出seek OK呢 -- 你试试 用管道 的方法,数据从管道 输入,相当于原创 2016-07-09 08:35:06 · 1532 阅读 · 0 评论 -
fflush感悟
fflush用于清空缓冲流,虽然一般感觉不到,但是默认printf是缓冲输出的。fflush(stdout),使stdout清空,就会立刻输出所有在缓冲区的内容。fflush(stdout)这个例子可能不太明显,但对stdin很明显。原创 2016-07-12 08:41:58 · 340 阅读 · 0 评论 -
Ubuntu 1604更新软件提示W
最近用 Ubuntu 14.04更新软件的时候,升级软件源列表,在终端下执行下述代码:sudo apt-get update1会出现如下的错误:W: GPG error: http://archive.ubuntukylin.com:10006 xenial InRelease: The following signatures couldn't be verified because原创 2016-07-23 14:25:33 · 1403 阅读 · 0 评论 -
linux 使用qq 这个qq2015更新的
看到这个博客后发现几个小问题,最后使用 dpkg 命令参数时写错,应该是小写 i ,并且“-”也需要小写英文 最近,因为工作需要,我安装了Ubuntu16.04,然而有好多不便,工作上的事情大多需要QQ联系,然而在Ubuntu上的WebQQ很是不好用,于是在网上搜索了好多个linux版本的QQ,然而不是功能不全,就是界面丑到爆,要么就是不稳定;最后,找到了个人认为最好用的Q原创 2016-07-23 21:18:04 · 6621 阅读 · 0 评论 -
Ubuntu 16.04更新软件提示"需要安装不能信任的软件包" http://archive.ubuntukylin.com:10006/ubuntukylin xenial InRelease
刚才用 Ubuntu 16.04更新软件时提示“需要安装不能信任的软件包”,“这个动作需要从没有授权的软件源来安装软件包”,赋予权限执行仍然无法安装,上网查了一下,只需要升级一下软件源列表(在终端下执行 sudo apt-get update ,需要保持联网)再执行安装即OK。但是我执行apt-get update 后报错,如下:W: GPG 错误:http://archive.u转载 2016-07-01 18:49:07 · 6041 阅读 · 2 评论 -
shell脚本中$@与$#区别
$@:表示所有脚本参数的内容$#:表示返回所有脚本参数的个数。示例:编写如下shell脚本,保存为test.sh#!/bin/shecho "number:$#"echo "argume:$@"执行脚本:./test.sh first_arg second_arg说明:给脚本提供了两个参数,所以$#输出的结果是2,$@代表了参数的内容!原创 2016-07-02 20:09:40 · 1786 阅读 · 0 评论 -
纯文本浏览器,学习中
使用纯文本浏览器测试网站是一种测试此网站是否容易浏览的好方法。如果使用纯文本浏览器可以方便地浏览到网站的每个地方,那么用户使用屏幕阅读器也可以做到。 方 法 用户可以使用纯文本浏览器Lynx查看网页,在网上上可以找到在线的Lynx浏览器。由于这是一种有用的测试,因此下载和安装Lynx浏览器是免费的。Lynx浏览器提供了一个额外的好处,它能使用户在上传网页之前对其进行测试。 (1)Li原创 2016-07-03 10:39:38 · 1057 阅读 · 0 评论 -
Ubuntu下为Firefox安装Adobe Flash Player
(1) 将libflashplayer.so拷贝到Firefox的Plugin目录:cp libflashplayer.so /usr/lib/mozilla/plugins/(2) 将usr目录下的所有文档拷贝到系统的/usr目录下:cp -r ./usr/* /usr/重新打开Firefox后,就可以在网页上播放视频了,原创 2016-06-17 19:10:12 · 485 阅读 · 0 评论 -
shell中判断
-s file 文件大小非0时为真[ -f "somefile" ] :判断是否是一个文件[ -x "/bin/ls" ] :判断/bin/ls是否存在并有可执行权限[ -n "$var" ] :判断$var变量是否有值[ "$a" = "$b" ] :判断$a和$b是否相等 -r file 用户可读为真-w file 用户可写为真原创 2016-07-04 10:52:54 · 295 阅读 · 0 评论 -
echo -参数 -n -e
echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。该命令的一般格式为: echo [ -n ] 字符串其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。功能说明:显示文字。语 法:echo原创 2016-07-04 19:37:59 · 699 阅读 · 0 评论 -
linux若消失了在不正当操作下的文件回复操作
linux下不小心毁掉了一个hs_all.js文件(文件大小变成0了),先找到一个.hs_all.swp文件,可以使用:recover 或者 vim -r hs_all.js来进行复原。原创 2016-06-19 15:00:21 · 364 阅读 · 0 评论 -
C 头文件
标准C语言头文件ISOC标准定义的头文件(24项)验证程序断言 支持复数算术运算 字符类型 出错码 浮点环境 浮点常量 整型格式转换替代关系操作符宏 实现常量 局部类别 数学常量非局部goto 信号 可变参数表 布尔类型和值 标准定义 整型 标准I/O库 实用程序库函数 string原创 2016-07-17 20:06:13 · 708 阅读 · 0 评论 -
设置vimrc文件例如:显示行号,语法高亮,自动缩进
在Fedora中vim的配置文件存放在/etc目录中,配置文件名为vimrc在终端 输入以下命令来编辑vimrc配置文件:sudo vim /etc/vim/vimrc或者sudo gedit /etc/vim/vimrc1、显示行号在文件末端添加一新行,输入 set nu2、语法高亮在文件中找到 "syntax on 这一行,去掉前面的双引号",双引号是注释的意思3、自动缩进原创 2016-07-07 09:16:10 · 516 阅读 · 0 评论 -
APUE 1-8 strerror 和 perror
#include "apue.h"#include int main(int argc, char *argv[]){ fprintf(stderr, "EACCES: %s\n", strerror (EACCES)); errno = ENOENT; perror(argv[0]); exit(0);}/* * Our own header, to be include原创 2016-07-07 09:24:48 · 396 阅读 · 0 评论 -
KVM虚拟机的安装配置与基本使用
?????????????????????????????????????????????????????????????KVM??????????????????????????????????????????????????????centos6.6?????2.6IP???172.16.57.24????CPU? Xen ???KVM转载 2016-08-01 13:26:15 · 925 阅读 · 0 评论 -
VM virtualbox好还是 VMware Workstation好
推荐使用VMware Workstation。VMware Workstation(中文名“威睿工作站”)是一款功能强大的桌面虚拟计算机软件,提供用户可在单一的桌面上同时运行不同的操作系统,和进行开发、测试 、部署新的应用程序的最佳解决方案。VMware Workstation可在一部实体机器上模拟完整的网络环境,以及可便于携带的虚拟机器,其更好的灵活性与先进的技术胜过了市面上其他的虚原创 2016-08-30 21:25:53 · 21735 阅读 · 1 评论 -
但using namespace std;中包含了。
但using namespace std;中包含了。 在编写的c++程序中,如果是窗口,有时会一闪就消失了,如果不想让其消失,在程序结尾处添加:system("pause");注意:不要再return 的语句之后加,那样就执行不到了。分析:system() 是调用系统命令;pause 暂停命令;这样在运行到此处时,会显示“Press an原创 2016-10-07 13:12:13 · 494 阅读 · 0 评论 -
2016年总结大纲(下半年)
这学期就要结束,2016年也要跨过,想起还没写下半年的总结,就写了个总结大纲,等有空了填充。2016年总结大纲(下半年)一.学习方面在正常的上课以外,加深C++语言和STL、算法;Qt与几个小项目;出不上手Python(这部分内容的爬虫,与Qt的局域网聊天工具项目只能留在寒假做了),简单来说,本学期的后期烦琐的事情太多,耽误了学习方面的任务。二.学习之外这学期的主线一直围绕原创 2016-12-29 21:13:31 · 635 阅读 · 0 评论 -
Ubuntu安装pip
安装pip的方法:Install pip and virtualenv for Ubuntu 10.10 Maverick and newer $ sudo apt-get install python-pip python-dev build-essential $ sudo pip install --upgrade pip $ sudo pip ins原创 2017-03-03 17:14:44 · 583 阅读 · 0 评论 -
linux安装matlab用到的命令回顾
mkdir -p为创建不存在的目录。cp -R为递归复制文件 正向排列。原创 2017-03-07 21:32:44 · 613 阅读 · 0 评论 -
fedora解决无线驱动问题
1. http://blog.youkuaiyun.com/jeizas/article/details/466590632. http://tieba.baidu.com/p/50128081073. http://tieba.baidu.com/p/38546043534. http://unix.stackexchange.com/questions/341020/fedora-25原创 2017-04-06 22:29:29 · 2208 阅读 · 0 评论 -
Linux入门学习教程:虚拟机体验之QEMU篇
说起虚拟机,大家都不陌生。需要使用虚拟机的场景也非常的多,比如有志于写操作系统的同志,往往需要一个虚拟机来运行和调试他写的系统;再比如喜欢研究网络体系结构的朋友,需要在自己的电脑上虚拟出N个系统组成各种各样的网络。(这个需要电脑的配置够强大才行,幸好本人的电脑够。)还比如用Windows的想玩Linux,用Linux想玩Windows,这样用虚拟机玩起来也比较方便;最后比如有人想研究一下目前最流行转载 2017-04-03 17:14:55 · 1957 阅读 · 0 评论 -
定制化操作时用到的一些命令
yum-utilsreposync -hreposync -r fedora -p ./reposync -r fedora-source --sourceip ascp lhosts root@192.168.30.233:~ scp -r fedora/ 192.168.30.142:/home/qwe/data/:reposync原创 2017-06-29 11:46:44 · 430 阅读 · 0 评论 -
linux下更改磁盘盘号
sudo mlabel -i /dev/sdb1 ::AAA原创 2017-08-09 14:49:14 · 4929 阅读 · 0 评论 -
fedora安装VirtualBox需下载源总结
fedora安装VirtualBox需下载源总结,下载源后可以安装virtualbox。https://www.if-not-true-then-false.com/2010/install-virtualbox-with-yum-on-fedora-centos-red-hat-rhel/原创 2017-08-04 10:41:08 · 457 阅读 · 0 评论