linux
文章平均质量分 50
神一样的编码
to build a whole new world
展开
-
linux 远程连接问题
在安装了ubantu系统后用secureCRT连接时出现the remote system refused the connection的提示:原因:服务器没有安装服务器端或没有开启远程服务解决方法:1. 首先在服务器上安装ssh的服务器端。命令:$ sudo aptitude install openssh-server2. 启动ssh-server。命令:$原创 2015-05-02 10:38:59 · 364 阅读 · 0 评论 -
gcc解析
【gcc】gcc编译过程:hello.c(源文件)--[预处理-E]--hello.i(被修改的源文件)--[编译器-S]--hello.s(汇编程序)--[汇编器-c]--hello.o(可重定位目标程序)--[链接器]--hello(可执行程序)【选项】-o 产生目标文件(.i .o .s)-c 通知gcc取消连接步骤,即编译源码并生成目标文件-E 只运行c预编译器原创 2015-12-02 23:21:32 · 263 阅读 · 0 评论 -
子网和子网掩码分析
【IP地址】是一个点分十进制结构,将32位的二进制数用句点.分成4部分,然后每部分转换成一个十进制数,每部分0~255 【子网和子网掩码】-子网掩码也是由一组.分隔的4段数字组成,它可以用于定义一个IP地址所属的网络 A,B,C类的三种IP地址的子网掩码分别为:A类网络:225.0.0.0B类网络:225.225.0.0C类网络:225.225.225.0路原创 2015-12-02 23:17:08 · 636 阅读 · 0 评论 -
gdb调试工具
【gdb调试工具】前提是make编译时有调试信息,加上-g选项直接gdb 可执行程序list 或者l查看源代码,出错代码上下十行,也可以自己指定list[m,n]m起始行,n结尾行break 10 或者(b 10)在第十行设置断点break 方法名 在函数上设置断点break 文件名:行号break 文件名:方法名info break 或者(i b)查看断点ru原创 2015-12-02 23:27:33 · 583 阅读 · 0 评论 -
make工具与makefile文件编写实例
【make】利用make工具可以自动完成编译工作,这些工作包括:如果只修改了某几个源文件,则只编译这几个源文件。可以大大简化开发工作【Makefile】make工具通过makefile文件来完成自动维护和编译工作,Makefile文件描述了整个工程的编译连接工作makefile格式:目标:依赖[tab]命令start:hello.o //start表示开始原创 2015-12-02 23:23:36 · 1709 阅读 · 0 评论 -
本地yum源的配置
【本地yum源】为何要转为163的YUM源,因为RHEL 6.3的YUM源是要收费的。有什么办法呢?光盘中虽然有许多RPM包,可是并不是最全的,最新的,而且有时要的,其中也没有。某网友推荐从http://rpm.pbone.net/下载yumbone到本机,然后在此基础上建库,但我去找,没找到。后在网上找到Ane的这个博文,成功进行了配置,感谢他!安装cen转载 2015-12-05 19:51:15 · 1112 阅读 · 0 评论 -
the remote system refused the connection.错误与ubuntu安装openssh-server 报依赖错误的解决过程
ubuntu自带的有openssh-client,所以可以通过ssh username@host来远程连接linux可是要想通过ssh被连接,ubuntu系统需要有openssh-server,可以通过ps -e | grep ssh来查看,如果没有显示sshd则说明没有安装openssh-server可通过sudo apt-get in转载 2015-12-06 22:19:26 · 492 阅读 · 0 评论 -
tcpdump命令解析
根据使用者的定义对网络上的数据包进行截获的包分析工具tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。tcpdump普通情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包。监视指定网络接口的数据包 tcpdump -i eth1如果原创 2016-03-03 09:09:28 · 483 阅读 · 0 评论 -
Linux文件读写
0是标准输入STDIN_FILENO,1是标准输出STDOUT_FILENO,2是标准错误输出STDERR_FILENO例1:向标准输出文件输出,写文件#include #include #include //unistd.h 是 C 和 C++ 程序设计语言中提供对 POSIX 操作系统 API 的访问功能的头文件的名称#includevoid printArr(cha原创 2016-03-03 09:11:04 · 450 阅读 · 0 评论 -
获取文件信息
#include #include #include int stat(const char *path, struct stat *buf);int fstat(int filedes, struct stat *buf);int lstat(const char *path, struct stat *buf); stat的定义: struct原创 2016-03-03 09:12:40 · 304 阅读 · 0 评论 -
Linux写日志
//屏幕回显#include#include#include#include#include#include#include#include #includevoid writeLog(const char* log,const char* path){time_t Date;struct tm* eventTime;time(&Date);原创 2016-03-03 09:13:35 · 722 阅读 · 0 评论 -
Linux目录操作
找到当前目录char* getcwd(char*buf,size_t size); //将当前工作目录的绝对路径名复制到buf中,size指示buf大小,如果buf不够大,装不下该路径,则getcwd函数返回NULLint main(void){char buf[1024]={0};char* fd = getcwd(buf,sizeof(buf));if(fd==NU原创 2016-03-03 09:14:13 · 491 阅读 · 0 评论 -
Linux进程操作
System系统调用#include int system(const char *command);system函数传递给/bin/sh –c 来执行command的命令(启动shell执行command),如果没找到返回127,其他错误返回-1,正确返回0,如果command为NULL,那么返回一个非零值int main(int arg,char* args[]){sy原创 2016-03-03 09:15:16 · 562 阅读 · 0 评论 -
linux 下mysql安装
redhat安装mysql1, 下载MySQL-5.5.42-1.el6.i686.rpm-bundle.tar2, tar –xvf MySQL-5.5.42-1.el6.i686.rpm-bundle.tar解压3, 通过rmp包进行安装Ubuntu安装mysql安装mysql中遇到的问题1我的debian7之前安装了mysql-server,是通过apt安装的,后来我原创 2016-02-21 18:10:01 · 540 阅读 · 0 评论 -
Linux c操作mysql数据库
【启动mysql服务】Service mysql start【启动mysql登陆】mysql -u root –p 添加一个用户Create database db1 character set utf8;grant all on db1.* to dbuser1 identified by 'dbuser1';//将db1下的所有数据授权给dbuser1,密码为dbu原创 2016-02-21 18:13:41 · 2642 阅读 · 0 评论 -
Linux字符设备与块设备的区别与比较
Linux中I/O设备分为两类:块设备和字符设备。两种设备本身没有严格限制,但是,基于不同的功能进行了分类。(1) 字符设备:提供连续的数据流,应用程序可以顺序读取,通常不支持随机存取。相反,此类设备支持按字节/字符来读写数据。举例来说,调制解调器是典型的字符设备。(2) 块设备:应用程序可以随机访问设备数据,程序可自行确定读取数据的位置。硬盘是典型的块设备,应用程序可以寻址磁盘上转载 2016-02-27 22:53:16 · 447 阅读 · 0 评论 -
Linux中查看CPU信息
cat /proc/cpuinfo中的信息processor 逻辑处理器的id。physical id 物理封装的处理器的id。core id 每个核心的id。cpu cores 位于相同物理封装的处理器中的内核数量。siblings 位于相同物理封装的处理器中的逻辑处理器的数量。 1 查看物理转载 2016-02-27 22:54:18 · 271 阅读 · 0 评论 -
ubuntu中安装man手册查看函数原型
当使用man查询函数时,提示没有我要查找的那个条目。上网搜解决方案。原来ubuntu中man的手册默认没有装。用下面几条命令就行了: sudo apt-get install manpages sudo apt-get install manpages-de sudo apt-get install manpages-de-dev sudo apt-get ins转载 2015-12-13 22:57:22 · 497 阅读 · 0 评论 -
od命令
名称:od作用:格式化输出文件中的数据提要: od [OPTION]... [FILE]... od [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] od --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][转载 2015-11-17 13:06:04 · 514 阅读 · 0 评论 -
sync/fsync/fdatasync的简单比较
之前在研究MySQL的一个参数innodb_flush_method时,就涉及到了fsync/fdatasync这些库函数(什么是库函数?它与系统调用的区别在哪?。接下来就简单的分析一下sync/fsync/fdatasync的区别。 sync():int sync( void )这就是它的原型,A call to this function will not return转载 2015-11-17 11:41:46 · 1420 阅读 · 0 评论 -
GCC与GDB使用方法
gcc编译过程:hello.c(源文件)--[预处理-E]--hello.i(被修改的源文件)--[编译器-c]--hello.s(汇编程序)--[汇编器]--hello.o(可重定位目标程序)--[链接器]--hello(可执行程序)【选项】-o 产生目标文件(.i .o .s)-c 通知gcc取消连接步骤,即编译源码并生成目标文件-E 只运行c预编译器-S 告诉原创 2015-05-02 11:02:24 · 871 阅读 · 0 评论 -
普通用户启动的Vim如何保存需要root权限的文件
以普通用户启动的Vim如何保存需要root权限的文件在学习linux系统编程时,遇到一个问题,当你用Vim编辑完一个文件时,运行:wq保存退出,突然蹦出一个错误:E45: 'readonly' option is set (add ! to override)这表明文件是只读的,按照提示,加上!强制保存::w!,结果又一个错误出现:"readonly-file-n原创 2015-05-02 11:26:16 · 1523 阅读 · 0 评论 -
linux内置浏览器中文乱码
今天将Ubuntu换成了redhat,没想到装好之后Firefox中文乱码,遂在网上各种找解决方案,最终解决,具体解决方案如下:1.windows xp的字体一般存放在c:\windows\fonts目录下,copy你要的字体到linux下路径为/usr/share/fonts,文件是ttf格式 ,可以用winscp或者xshell(可能要安装sz、rz命令)。注:最好在root用户权限下,不原创 2015-05-16 19:48:50 · 1182 阅读 · 0 评论 -
sudo命令无法用
在Linux操作系统中,以普通用户使用sudo时,常常会出现这个报错,如:在ken用户下执行:sudo touch test.c会报错:ken is not in the sudoers file. This incident will be reported.解决办法:以root用户修改/etc/sudoers 在root ALL 行下添加 ken ALL(类似ro原创 2015-05-16 20:35:26 · 481 阅读 · 0 评论 -
yum安装出现This system is not registered with RHN
今天redhat在线安装包时突然报错:[root@localhost ~]# yum install vimLoaded plugins: rhnplugin, securityThis system is not registered with RHN.RHN support will be disabled.Setting up Instal原创 2015-05-16 20:37:11 · 852 阅读 · 0 评论 -
安装xshell使用sftp文件传送
最近帮一个创业的学长做项目第一次使用xshell代替secureCRT,简述一下它1、下载安装xshell,它集成了sftp2、用SSH Secure Shell Client正常连接后可以打开file transfer窗口3、在linux系统里安装sz、rz命令,然后使用xshell,连接后用sz命令就可以把linux系统里的文件通过zmodem协议保存到windows了原创 2015-05-16 20:06:23 · 1441 阅读 · 0 评论 -
redhat提示command not found
redhat5.4以后为了安全起见,有些命令如:ifconfig查看本机的IP,不能使用,提示说“command not found”解决方法:原因说过,安装完成系统之后,系统为了更加安全,有些命令的路径没有在PATH环境变量中,可以用echo $PATH命令查询得知,添加路径到PATH环境变量的方法如下: #export PATH=$PATH:/sbin原创 2015-05-16 20:21:45 · 4133 阅读 · 0 评论 -
linux安装中文支持
1、安装所有与中文支持相关的包#yum -y groupinstall chinese-support 2、修改字符编码配置文件1),修改国际化文件vi /etc/sysconfig/i18n默认为:LANG="en_US.UTF-8"SYSFONT="latarcyrheb-sun16"修改为:LANG="z原创 2015-05-16 20:48:17 · 777 阅读 · 0 评论 -
Linux下/proc目录简介
1. /proc目录Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文转载 2015-11-04 22:08:39 · 238 阅读 · 0 评论 -
Linux PS 命令详解
名称:ps使用权限:所有使用者使用方式:ps [options] [--help]说明:显示瞬间行程 (process) 的动态参数:ps的参数非常多, 在此仅列出几个常用的参数并大略介绍含义-A 列出所有的进程-w 显示加宽可以显示较多的资讯-au 显示较详细的资讯-aux 显示所有包含其他使用者的行程常用参数:-A 显转载 2015-11-04 22:34:09 · 362 阅读 · 0 评论 -
fork()系统调用函数
在linux中 man fork 查看fork()函数,可以发现: 系统提示:#include #include pid_t fork(void); //返回一个PIDDESCRIPTION fork() creates a child process that differs from the parent proc原创 2015-11-09 20:17:53 · 756 阅读 · 0 评论 -
Cannot assign requested address 问题
在编写套接字时: struct sockaddr_in serveraddr;memset(&serveraddr,0,sizeof(serveraddr));serveraddr.sin_family=AF_INET;serveraddr.sin_port=htons(5188);serveraddr.sin_addr.s_addr=htonl(inet_ad原创 2015-11-15 19:07:00 · 457 阅读 · 0 评论 -
uint8_t , uint16_t,uint32_t,uint64_t
在写套接口时发现uint8_t与uint16_t,不知为什么新的数据类型,便经过一番查询,得:按照posix标准,一般整形对应的*_t类型为:1字节 uint8_t2字节 uint16_t4字节 uint32_t8字节 uint64_t这不是什么新的数据类型,而是经过预编译和typedef进行的一系列别名定义。下面列出部分C99标原创 2015-11-22 15:36:58 · 660 阅读 · 0 评论 -
linux中[root@localhost ~]和root@localhost /]的区别
在linux中可能会遇到[root@localhost ~]和root@localhost /]两种目录结构,但是他们是什么区别呢?简而言之:[root@localhost~]是linux主目录,相当于/root当你在其下输入ls时,可看到:[root@localhost/]是根分区,相当于根目录当你在其下输入ls时,可看到:可以看到,在根目录下,有/root目录和原创 2015-10-30 23:48:24 · 9871 阅读 · 0 评论 -
Linux useradd命令执行,出现 bash:useradd:command not found
两种可能1种是你的系统没安装这个uesradd命令1种是你没有吧/usr/sbin配置到环境变量首先,测试:如果是root用户 使用/usr/sbin/useradd xxx 如果正常,证明不是系统安装问题,如果出错,则证明没有该命令,用yum自行安装那么,如果有该命令呢非root用户 su - 切换到root用户 (因为你没权限啊)在UNIX系统里面,每原创 2015-10-31 00:19:17 · 28736 阅读 · 3 评论 -
linux下提示bash:command not found
如果新装的系统,运行一些很正常的诸如:shutdown,fdisk的命令时,悍然提示:bash:command not found。那么首先就要考虑root 的$PATH里是否已经包含了这些环境变量。 主要是这四个:/bin ,/usr/bin,/sbin,/usr/sbin。 四个主要存放的东东: ./bin: bin为binary的简写主要放置一些系统的转载 2015-10-31 00:23:08 · 1470 阅读 · 0 评论 -
Linux文件系统的实现
Linux文件系统的实现作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! Linux文件管理从用户的层面介绍了Linux管理文件的方式。Linux有一个树状结构来组织文件。树的顶端为根目录(/),节点为目录,而末端的叶子为包含数据的文件。当我们给出一个文件的完整路径时,我们从根目录出发,经过沿途各个目录转载 2016-02-27 22:55:30 · 365 阅读 · 0 评论