linux
文章平均质量分 80
IT之路
业精于勤,荒于嬉;行成于思,毁于随。
展开
-
一个不当使用fclose引发的异常
最近服务器上一个后台传输文件的服务,经常会报出异常来,只能强行终止并重启。昨天刚好有空,现场抓了一下dump,再把程序扔到IDA里看了一下,很快就找出原因了,原来是调用fclose时出错的。使用C的Runtime函数进行文件操作,也就是fopen,fread,ftell,fclose这些,本身这并没有什么问题但是出现异常的位置往上一点,程序写了日志,主要内容是“打开文件失败,错误原因:xxxxxx...转载 2018-03-13 10:11:25 · 8477 阅读 · 1 评论 -
每天一个linux命令(25):linux文件属性详解
Linux 文件或目录的属性主要包括:文件或目录的节点、种类、权限模式、链接数量、所归属的用户和用户组、最近访问或修改的时间等内容。具体情况如下:命令: ls -lih输出:[root@localhost test]# ls -lih总计 316K2095120 lrwxrwxrwx 1 root root 11 11-22 06:58 linklog.log -> l转载 2017-01-05 11:09:21 · 166 阅读 · 0 评论 -
每天一个linux命令(24):Linux文件类型与扩展名
Linux文件类型和Linux文件的文件名所代表的意义是两个不同的概念。我们通过一般应用程序而创建的比如file.txt、file.tar.gz ,这些文件虽然要用不同的程序来打开,但放在Linux文件类型中衡量的话,大多是常规文件(也被称为普通文件)。一. 文件类型Linux文件类型常见的有:普通文件、目录文件、字符设备文件和块设备文件、符号链接文件等,现在我们进行一个简要的说明。1转载 2017-01-05 11:08:28 · 246 阅读 · 0 评论 -
每天一个linux命令(23):Linux 目录结构
对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统只管重要,下面我们就开始了解一下linux目录结构的相关知识。当在使用Linux的时候,如果您通过ls –l / 就会发现,在/下包涵很多的目录,比如etc、usr、var、bin ... ... 等目录,而在转载 2017-01-05 11:07:10 · 201 阅读 · 0 评论 -
每天一个linux命令(22):find 命令的参数详解
find一些常用参数的一些常用实例和一些具体用法和注意事项。1.使用name选项:文件名选项是find命令最常用的选项,要么单独使用该选项,要么和其他选项一起使用。 可以使用某种文件名模式来匹配文件,记住要用引号将文件名模式引起来。 不管当前路径是什么,如果想要在自己的根目录$HOME中查找文件名符合*.log的文件,使用~作为 'pathname'参数,波浪号~代表了你的$HOME目转载 2017-01-04 15:15:23 · 179 阅读 · 0 评论 -
每天一个linux命令(21):find命令之xargs
在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行。但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出现溢出错误。错误信息通常是“参数列太长”或“参数列溢出”。这就是xargs命令的用处所在,特别是与find命令一起使用。 find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获转载 2017-01-04 15:13:58 · 201 阅读 · 0 评论 -
每天一个linux命令(20):find命令之exec
find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了。 exec解释:-exec 参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。{} 花括号代表前面find查找出来的文件名。使用find转载 2017-01-04 15:12:05 · 196 阅读 · 0 评论 -
每天一个linux命令(19):find 命令概览
Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的转载 2017-01-04 15:10:42 · 177 阅读 · 0 评论 -
每天一个linux命令(18):locate 命令
locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。在一般的 distribution 之中,数据库的建立都被放在 crontab 中自动执行。1.命令格式:Locate [选择参数] [样式]2.命令功能:locate命令可以在搜寻数据库时快速找到转载 2017-01-04 15:09:31 · 177 阅读 · 0 评论 -
每天一个linux命令(17):whereis 命令
whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通 过遍历硬盘来查找,转载 2017-01-04 15:08:33 · 175 阅读 · 0 评论 -
每天一个linux命令(16):which命令
我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索: which 查看可执行文件的位置。 whereis 查看文件的位置。 locate 配合数据库查看文件位置。 find 实际搜寻硬盘查询文件名称。which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回转载 2017-01-04 15:07:07 · 145 阅读 · 0 评论 -
每天一个linux命令(15):tail 命令
tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容. 1.命令格式;tail[必要参数][选择参数][文件] 2.命令功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。转载 2017-01-04 15:05:23 · 158 阅读 · 0 评论 -
每天一个linux命令(14):head 命令
head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。 1.命令格式:head [参数]... [文件]... 2.命令功能:head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。 3.命令参数:-q 隐藏文件名-v转载 2017-01-04 15:04:10 · 158 阅读 · 0 评论 -
每天一个linux命令(13):less 命令
less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的转载 2017-01-04 15:02:57 · 206 阅读 · 0 评论 -
每天一个linux命令(26):用SecureCRT来上传和下载文件
用SSH管理linux服务器时经常需要远程与本地之间交互文件.而直接用SecureCRT自带的上传下载功能无疑是最方便的,SecureCRT下的文件传输协议有ASCII、Xmodem、Zmodem。文件传输协议:文件传输是数据交换的主要形式。在进行文件传输时,为使文件能被正确识别和传送,我们需要在两台计算机之间建立统一的传输协议。这个协议包括了文件的识别、传送的起止时间、错误的判断与纠正等转载 2017-01-05 11:10:50 · 223 阅读 · 0 评论 -
每天一个linux命令(27):tar命令
通过SSH访问服务器,难免会要用到压缩,解压缩,打包,解包等,这时候tar命令就是是必不可少的一个功能强大的工具。linux中最流行的tar是麻雀虽小,五脏俱全,功能强大。tar命令可以为linux的文件和目录创建档案。利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案。利用转载 2017-01-05 11:13:43 · 214 阅读 · 0 评论 -
每天一个linux命令(28):gzip命令
减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式。据统计,gzip命令对文本文件有60%~70%的压缩率。1.命令格式:gzip[转载 2017-01-05 11:15:58 · 213 阅读 · 0 评论 -
利用TortoiseGit将shell脚本文件从远端Gitlib库克隆到本地后脚本无法执行
故障现象:在Windows下我利用TortoiseGit将shell脚本文件从远端Gitlib库克隆到本地后在Linux下脚本无法执行,运行脚本时出现如下错误提示:/bin/sh: 0: Can't open解决过程:好好的脚本为啥突然就不能执行了,之前可是没有问题的啊(注:我的电脑被重装过,TortoiseGit也重新安装了,和之前没问题时的环境还是有点不一样)。我将出问原创 2017-03-22 19:14:35 · 1946 阅读 · 0 评论 -
Ubuntu14.04中安装samba服务器实现与Win7的文件共享
环境:1.虚拟机:VMware® Workstation 10.0.7 build-28440872.Ubuntu版本为14.04安装步骤:1、安装 Samba 和图形配置工具使用 Ctrl+Alt+T 打开终端,并通过如下命令进行安装sudo apt-get install samba samba-common system-config-samba python-g原创 2016-12-30 11:44:44 · 403 阅读 · 0 评论 -
每天一个linux命令(40):ifconfig命令
许多windows非常熟悉ipconfig命令行工具,它被用来获取网络接口配置信息并对此进行修改。Linux系统拥有一个类似的工具,也就是ifconfig(interfaces config)。通常需要以root身份登录或使用sudo以便在Linux机器上使用ifconfig工具。依赖于ifconfig命令中使用一些选项属性,ifconfig工具不仅可以被用来简单地获取网络接口配置信息,还可以修改转载 2017-01-05 11:36:12 · 301 阅读 · 0 评论 -
每天一个linux命令(39):lsof命令
lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打转载 2017-01-05 11:32:48 · 234 阅读 · 0 评论 -
每天一个linux命令(38):iostat命令
Linux系统中的 iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。iostat属于sysstat软件包。可以用yum install sysstat 直接安装。转载 2017-01-05 11:31:20 · 211 阅读 · 0 评论 -
每天一个linux命令(37):vmstat命令
vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。他是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。vmstat 工具提供了一种低开销的系统性能观察方式。因为 vmstat 本身就是低开销工具,在非常高负荷的服务器上,你需要查看并监控系统的健康情况,在控制窗口还是能够使用vmstat 输出结转载 2017-01-05 11:29:08 · 207 阅读 · 0 评论 -
每天一个linux命令(36):free 命令
free命令可以显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer。在Linux系统监控的工具中,free命令是最经常使用的命令之一。1.命令格式:free [参数]2.命令功能:free 命令显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。共享内存将被忽略3.命令参数:-b 以Byte为单位显示内存使转载 2017-01-05 11:27:54 · 182 阅读 · 0 评论 -
每天一个linux命令(35):top命令
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存转载 2017-01-05 11:26:40 · 257 阅读 · 0 评论 -
每天一个linux命令(34):du 命令
Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的.1.命令格式:du [选项][文件]2.命令功能:显示每个文件和目录的磁盘使用空间。3.命令参数:-a或-all 显示目录中个别文件的大小。 -b或-bytes 显示目录或文件大小时,以byte为单位。 -c或转载 2017-01-05 11:24:56 · 211 阅读 · 0 评论 -
每天一个linux命令(33):df 命令
linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。1.命令格式:df [选项] [文件]2.命令功能:显示指定磁盘文件的可用空间。如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。默认情况下,磁盘空间将以 1KB 为单位进行显示,除非环境变量 POSIXLY_COR转载 2017-01-05 11:23:28 · 233 阅读 · 0 评论 -
每天一个linux命令(32): /etc/group文件详解
Linux /etc/group文件与/etc/passwd和/etc/shadow文件都是有关于系统管理员对用户和用户组管理时相关的文件。linux /etc/group文件是有关于系统管理员对用户和用户组管理的文件,linux用户组的所有信息都存放在/etc/group文件中。具有某种共同特征的用户集合起来就是用户组(Group)。用户组(Group)配置文件主要有 /etc/group和/e转载 2017-01-05 11:22:05 · 262 阅读 · 0 评论 -
每天一个linux命令(31): chown命令
chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。系统管理员经常使用chown命令,在将文件拷贝到另一个用户的名录下之后,让用户拥有使用该文件的权限。 1.命令格式: chown [选项]... [所有者][:[组]] 文件... 2.命令功能: 通过chown转载 2017-01-05 11:20:41 · 267 阅读 · 0 评论 -
每天一个linux命令(30):chgrp命令
在lunix系统里,文件或目录的权限的掌控以拥有者及所诉群组来管理。可以使用chgrp指令取变更文件与目录所属群组,这种方式采用群组名称或群组识别码都可以。Chgrp命令就是change group的缩写!要被改变的组名必须要在/etc/group文件内存在才行。1.命令格式:chgrp [选项] [组] [文件]2.命令功能:chgrp命令可采用群组名称或群组识别码的方式改变文件转载 2017-01-05 11:19:17 · 310 阅读 · 0 评论 -
每天一个linux命令(29):linux chmod命令
chmod命令用于改变linux系统文件或目录的访问权限。用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。 文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何转载 2017-01-05 11:17:47 · 243 阅读 · 0 评论 -
每天一个linux命令(12):more命令
more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。1.命令格式:more [-dlfpcsu ] [-num ] [+/ patte转载 2017-01-04 15:01:19 · 176 阅读 · 0 评论 -
每天一个linux命令(11):nl命令
nl命令在linux系统中用来计算文件中行号。nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等等的功能。 1.命令格式:nl [选项]... [文件]...2.命令参数:-b :指定行号指定的方式,主要有两种:-b a :表示不论是否为空行,也同样列出行号(类似 cat转载 2017-01-04 14:59:24 · 185 阅读 · 0 评论 -
linux C之access函数
access():判断是否具有存取文件的权限相关函数 stat,open,chmod,chown,setuid,setgid表头文件 #include定义函数 int access(const char * pathname, int mode);函数说明 access()会检查是否可以读/写某一已存在的文件。参数mode有几种情况组合,转载 2015-12-16 16:47:48 · 370 阅读 · 0 评论 -
每天一个linux命令(52):ifconfig命令
许多windows非常熟悉ipconfig命令行工具,它被用来获取网络接口配置信息并对此进行修改。Linux系统拥有一个类似的工具,也就是ifconfig(interfaces config)。通常需要以root身份登录或使用sudo以便在Linux机器上使用ifconfig工具。依赖于ifconfig命令中使用一些选项属性,ifconfig工具不仅可以被用来简单地获取网络接口配置信息,还可以修改转载 2015-11-26 16:17:05 · 306 阅读 · 0 评论 -
linux下修改环境变量
按变量的生存周期来划分,Linux变量可分为两类,它们的修改方法如下:(1)永久的:需要修改配置文件,变量永久生效。常见的配置文件包括:(1-1)/etc/profile:对所有用户生效;此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行;并从/etc/profile.d目录的配置文件中搜集shell的设置例如:编辑/etc/profile文件,添加CLASSPA转载 2015-11-17 16:21:09 · 292 阅读 · 0 评论 -
kill与kill -9与killall
很多时候,会有人建议你,如果kill杀不掉一个进程,就用kill -9. 为什么?kill是Linux下常见的命令。其man手册的功能定义如下:kill – send a signal to a process明朗了,其实kill就是给某个进程id发送了一个信号。默认发送的信号是SIGTERM,而kill -9发送的信号是SIGKILL,即exit。exit信号不会被系统阻塞,所以ki转载 2015-12-09 09:24:40 · 1918 阅读 · 0 评论 -
ARM板上QT4显示中文
这块网上找到很多文章,也是按照网上的做的,但是有很多不成功,这里把自己成功的总结下。在Qt中使用中文,按照网上的很多方法,Ubuntu中显示正常,但是移植到开发板上显示有问题,这里根据我的操作做个整理。显示中文主要是两点,一是编码,而是字体。关于编码网上查的资料各种说法都有,utf8 gbk gb2312的,我用的是utf8.开发板上必须也有对应的中文字体才能够显示中文,我这里在Ubu转载 2015-09-08 10:19:02 · 609 阅读 · 0 评论 -
Ubuntu下Qt4.8.6生成的界面中文无法显示的问题
最近在Ubuntu10.04中安装Qt4.8.6的开发环境,但是发现在Qt Creator2.7.1下开发的界面中文无法显示。后经网上查阅相关资料发现是由未安装fontconfig导致的。 解决步骤如下:1.首先安装sudo apt-get install libfontconfig*2.在qt-everywhere-opensource-src-4.8.6.源码目录下在./con转载 2015-08-27 08:27:55 · 808 阅读 · 0 评论 -
ubuntu10.04安装交叉编译器
一、解压arm-linux-gcc-4.3.2.tgz包 在目录/usr/local下建一文件夹arm;命令如下:sudo mkdir arm;然后把压缩包复制到该文件夹中,执行命令sudo tar xzvf arm-linux-gcc-4.3.2.tgz解压。(注意:usr/local 这个目录一般是用来存放用户自编译安装软件的存放目录;一般是通过源码包安装的软件,如果没有特别转载 2015-08-26 10:07:36 · 410 阅读 · 0 评论