1 调试一般分为两种,可以通过在程序中插入打印语句.有点能够显示程序的动态过程,比较容易的检查出源程序中的有关信息.缺点就是效率比较低了,而且需要输入大量无关的数据. 2 借助相关的调试工具. 3 有哪些常用的调试工具呢? 3.1 strace (1)我们知道在进行创建文件或者复制文件这些操作的时候,应用程序需要和操作系统进行一些交互.但是我们的程序一般不能直接访问linux的内核.但是应用程序会跳转到system_call的内核位置,内核然后检查系统的调用号,然后这个号码告诉内核需要什么服务.…
在Linux下面可以使用下面几种形式对C语言进行调试: 1 gdb gdb program 这是最原始的调试方法,若非熟悉命令行,这种方式其实是比较麿人的.有兴趣的可以参考一些我之前的博文.http://www.cnblogs.com/tfanalysis/p/3543020.html 这里再附一图: 2 gdbtui gdbtui program 比gdb的方式更加友好一些,但也不大好用. 3 ddd 安装ddd之后运行 ddd program 4 nemiver 安装了nemiver之后运行…
一,虚拟机的安装 略 二,Linux系统下的网络配置(Linux虚拟机的网络设定为桥接模式) 桥接模式:虚拟机同主机一样,在网络中相当于一个真实存在的装有Linux系统的电脑.(我们先用这个模式) NAT模式:在主机中虚拟一个局域网络,局域网络中的系统想要连接Internet,只能通过主机进行跳转连接(依靠主机),在网络中不占据真实的IP地址(目前不用,以后讲) 仅主机模式:只能和主机进行同网段网络连接,不能上Internet.(以后再说) (1)ifconfig 查看网卡信息 (2)ifcon…
1. 正则表达式 1.1 正则表达式使用 正则表达式是开发者为了处理大量的字符串和文本而定义的一套规则和方法,使用正则表达式可以提高效率,快速获取想要的内容. 正则表达式常用于linux三剑客grep,sed,awk,用来处理文本数据,也适用于普通命令. 三剑客中使用正则表达式处理文本时,是以行为单位的. 1.2 基本的正则表达式及扩展的正则表达式 正则表达式及扩展的正则表达式及其含义,如下表: ######字符匹配(仅仅匹配单个字符) . 匹配任意单个字符(通配符的 ? 代表单个字符) [ab…
1,运行shell脚本有两种办法一般有两种: 先给可执行权限,再进入文件所在的目录,输入:./name.sh: 运行解释器再执行脚本:/bin/sh name.sh,这种情况下,脚本中可以没有#!/bin/bash的情况. 2,shell变量     变量命名规则: 命名只能使用英文字母,数字和下划线,首个字符不能以数字 开头. 变量名和等号,变量名中间也不能有空格,可以使用下划线(_). 不能使用标点符号. 不能使用bash里的关键字 变量赋值: 直接赋值 可以使用for xx in name…
系统中的uptime命令主要用于获取主机运行时间和查询linux系统负载等信息.uptime命令可以显示系统已经运行了多长时间,信息显示依次为:现在时间.系统已经运行了多长时间.目前有多少登陆用户.系统在过去的1分钟.5分钟和15分钟内的平均负载. uptime命令用法十分简单:直接输入uptime即可.另外还有一个参数  -V ,是用来查询版本的. (注意是大写的字母v)[linux @ localhost]$ uptime –Vprocps version 3.2.7[linux @ loc…
/** *   栈(Stack) :存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放  在常量池中). 堆(heap):存放所有new出来的对象. *   静态存储:存放静态成员(static定义的). 常量池(constant pool):在堆中分配出来的一块存储区域,存放储显式的String常量和基本类型常量(float.int等).另外,可以存储不经常改变的东西 *                       p…
1. 如何查看一个进程的详细信息,如何追踪一个进程的执行过程 通过pstree命令(根据pid)进行查询进程内部当前运行了多少线程:# pstree -p 19135(进程号) 使用top命令查看(可以查看到线程情况)# top -Hp 19135 2. 跟踪某个应用程序的运行过程 跟踪已运行的进程:strace -p pid 3. 在 Linux 系统下查看 CPU.内存.磁盘.IO.网卡情况: # cat /proc/cpuinfo      # 查看CPU信息 # ps -ef      …
Linux基础 1 Linux命令 如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命令行进行使用. 登录Linux后,我们就可以在#或$符后面去输入命令,有的时候命令后面还会跟着选项(options)或参数(arguments).即Linux中命令格式为: command [options] [arguments] //中括号代表是可选的,即有些命令不需要选项也不需要参数 选项是调整命令执行行为的开关,选项不同决定了命令的显示结果不同. 参数是指命令的…
原文:https://www.cnblogs.com/huyufeng/p/4841232.html --------------------------------------------------------------- Linux基础 1 Linux命令 如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命令行进行使用. 登录Linux后,我们就可以在#或$符后面去输入命令,有的时候命令后面还会跟着选项(options)或参数(arguments…
Linux 必学的 60 个命令 Linux 提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在 Linux 系统上工作离不开使用系统提供的命令.要想真正理解 Linux 系统,就必须从 Linux 命令学起,通过基础的命令学习可以进一步理解 Linux 系统. 不同 Linux 发行版的命令数量不一样,但 Linux 发行版本最少的命令也有 200 多个.这里笔者把比较重要和使用频率最多的命令,按照它们在系统中的作用分成下面六个…
1 软链接 linux中软链接理解成window中的快捷方式.创建软链接的命令 ln -s 源文文件或目录 目标文件或目录 2 硬链接 创建硬链接的命令如下 ln  源文文件或目录 目标文件或目录 3软链接和硬链接的区别 1:软链接就相当于快捷方式,删除源文件,快捷方式就没有意义了. 2:硬链接相当于备份了文件,但是还可以和源文件内容同步,删除源文件,硬链接文件任然有效. 3:软链接可以跨文件系统,但是硬链接不能 4:软链接的源文件的inode不相同,但是硬链接文件和源文件inode相同 关于软…
今天使用vim编辑Python 并在linux中终端调试的时候,发现每次不是自己想要输出结果的时候,就要用vim编辑代码,再重新回到终端,比较浪费时间.搜索发现pycharm这一个Python ide工具,之前没用过,折腾了一下午才知道怎么使用终端并调试运行自己的程序.网上的教程都不太全,下面给出自己的步骤. 1.安装pycharm Pycharm下载地址:http://www.jetbrains.com/pycharm/download/ (建议选择开源的社区版本) 2.2安装pycharm的…
1. Red Hat的发行版本中,通常还可以使用工具ntsysv设置服务的自启动状态. #类似chkonfig 服务名 on|off 2.系统服务脚本目录:/etc/init.d 3.ps: -a:显示所有终端进程: -u:显示所有用户进程: -x:显示所有进程,包括没有明确终端的进程: -e:显示所有进程.与x类似,但是用BSD系统格式: -f:显示UID,PPID(父进程ID)...: -l:以长格式显示进程列表: 4.top:实时显示进程: P:按CPU使用率由高到低排序: M:按内存占用…
I/O复用是Linux中的I/O模型之一.所谓I/O复用,指的是进程预先告诉内核,使得内核一旦发现进程指定的一个或多个I/O条件就绪,就通知进程进行处理,从而不会在单个I/O上导致阻塞. 在Linux中,提供了select.poll.epoll三类接口来实现I/O复用. select函数接口 select中主要就是一个select函数,用于监听指定事件的发生,原型如下: 12345 #include<sys/select.h>#include<sys/time.h>int sele…
Samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务.SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统.打印机及其他资源.通过设置"NetBIOS over TCP/IP"使得Samba不但能与局域网络主机分享资源,还能与全世…
linux系统中的设备驱动是否安装好一般检查几个方面:1.系统日志.嵌入式系统多是直接dmesg一下,看有没有设备关键字相关的出错信息(通用系统可检查/var/log/messages文件).2.已加载的模块.检查模块加载列表中有没有相关设备的模块.      lsmod3.设备列表.检查已加载的设备中有没有相关设备    cat /proc/devices4.设备入口.如果以上检查都正常,还需要检查设备目录下设备入口是否已经创建    ls /dev/xxxx 如果以上检查都正常(驱动模块已经…
[转自]:http://blog.chinaunix.net/uid-23622436-id-3311579.html cat /proc/cpuinfo中的信息 processor       逻辑处理器的id. physical id    物理封装的处理器的id. core id        每个核心的id. cpu cores      位于相同物理封装的处理器中的内核数量. siblings       位于相同物理封装的处理器中的逻辑处理器的数量. 1 查看物理CPU的个数#cat…
cat /proc/cpuinfo中的信息 processor       逻辑处理器的id. physical id    物理封装的处理器的id. core id        每个核心的id. cpu cores      位于相同物理封装的处理器中的内核数量. siblings       位于相同物理封装的处理器中的逻辑处理器的数量. 1 查看物理CPU的个数#cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc –l 2. …
在linux的板卡初始化文件中有machine的相关定义 //arch/arm/mach-at91/board-sam9261ek.c MACHINE_START(AT91SAM9G10EK, "Atmel AT91SAM9G10-EK") /* Maintainer: Atmel */ .phys_io    = AT91_BASE_SYS, .io_pg_offst    = (AT91_VA_BASE_SYS >> 18) & 0xfffc, .boot_pa…
登录Linux后,我们就可以在#或$符后面去输入命令,有的时候命令后面还会跟着“选项”(英文options)或“参数”(英文arguments).即Linux中命令格式为: command [options] [arguments] //中括号代表是可选的,即有些命令不需要选项也不需要参数,但有的命令在运行时需要多个选项或参数. 选项options: 选项是调整命令执行行为的开关,即,选项不同决定了命令的显示结果不同. 选项分为长选项和短选项. 短选项:比如-h,-l,-s等.(-   后面接单…
cat或者tail -f命令 日 志 文 件 说 明 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一/var/log/secure 与安全相关的日志信息/var/log/maillog 与邮件相关的日志信息/var/log/cron 与定时任务相关的日志信息/var/log/spooler 与UUCP和news设备相关的日志信息/var/log/boot.log 守护进程启动和停止相关的日志消息系统: # uname -a # 查看内…
MegaCli是一款管理维护硬件RAID软件,可以通过它来了解当前raid卡的所有信息,包括 raid卡的型号,raid的阵列类型,raid 上各磁盘状态,等等.通常,我们对硬盘当前的状态不太好确定,一般通过机房人员巡检来完成,有没有通过软件的方式来检查确定这个问题呢.MegaCli就可以做到,一般通过 MegaCli 的Media Error Count: 0 Other Error Count: 0 这两个数值来确定阵列中磁盘是否有问题:Medai Error Count 表示磁盘可能错误,…
1.用户和用户组文件 在 linux 中,用户帐号,用户密码,用户组信息和用户组密码均是存放在不同的配置文件中的. 在 linux 系统中,所创建的用户帐号和其相关信息 (密码除外) 均是存放在 / etc/passwd 配置文件中.由于所有用户对 passwd 文件均有读取的权限,因此密码信息并未保存在该文件中,而是保存在了 / etc/shadow 的配置文件中. 在 passwd 文件中,一行定义一个用户帐号,每行均由多个不同的字段构成,各字段值间用 ":” 分隔,每个字段均代表该帐号某方…
好几次在不同的情况下遇到 需要查看端口信息 并且kill掉对应进程的情况 相关的参数总是记不全 在这里记录下 以后查看方便 windows中查看正在使用端口的信息netstat -ano|findstr "xxxx"kill 掉对应的进程taskkill /f /t /PID 具体参数信息http://blog.163.com/lone1985@126/blog/static/45190050200741222590/ linux中查看正在使用的端口的信息sudo netstat -a…
Linux中netstat命令详解 Netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表.实际的网络连接以及每一个网络接口设备的状态信息.Netstat用于显示与IP.TCP.UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况. linux上面排查某个端口号是否被占用 1.netstat  -anp  |grep   端口号 如下,我以3306为例,netstat  -anp  |grep  3306(此处备注下,我是以普通用户操作,故加…
查看声卡设备:cat /proc/asound/cards 查看USB设备:cat /proc/bus/usb/devices 常用命令整理如下:用硬件检测程序kuduz探测新硬件:service kudzu start ( or restart)查看CPU信息:cat /proc/cpuinfo查看板卡信息:cat /proc/pci查看PCI信息:lspci (相比cat /proc/pci更直观)查看内存信息:cat /proc/meminfo查看USB设备:cat /proc/bus/u…
1.top top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器 可以直接使用top命令后,查看%MEM的内容.可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令: $ top -u oracle 内容解释: PID:进程的ID USER:进程所有者 PR:进程的优先级别,越小越优先被执行 NInice:值 VIRT:进程占用的虚拟内存 RES:进程占用的物理内存 SHR:进程使用的…
1.  查看物理CPU的个数 #cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc –l 2.   查看逻辑CPU的个数 #cat /proc/cpuinfo |grep "processor"|wc –l 3.  查看CPU是几核 #cat /proc/cpuinfo |grep "cores"|uniq 4.  查看CPU的主频 #cat /proc/cpuinfo |grep MHz|un…
21.1 进程查看和进程状态 21.1.1 ps 指令 ps 指令通常可以查看到进程的 ID.进程的用户 ID.进程状态和进程的 Command ps:查看当前用户启动的进程 ps -ef:详细查看后台进程信息,可以用 ps -ef | more 进行分屏查看 ps -aux:当前运行的进程占用的CPU的时间,内存的时间 USER:进程的属组 PID:进程的ID PPID:父进程 %CPU:进程占用的CPU百分比 %MEM:占用内存的百分比 NI:进程的 NICE值,数值大,表示较少占用CPU的…