Linux
文章平均质量分 85
程序猿编码
嘿,编译通过了!
展开
-
Linux下深入理解curl可以做什么?
curl是一个命令行工具,经常在shell脚本中使用它,但是现在我们想深入的介绍一下curl到底能做什么,以及怎么样使用curl功能。目前curl所支持常见的协议有FTP、HTTP、HTTPS、IMAP、LDAP、POP3、RTMP、RTSP、TELNET、TFTP、SCP等等。curl–详细模式如果执行curl命令没有执行或者返回我们想要期望看到的东西,例如执行以下命令:curl https://www.baidu.com/ -o saved上面的信息看,显示的信息量太少了,使用参数-v选项原创 2021-05-30 22:31:02 · 1645 阅读 · 0 评论 -
Linux下检索系统的硬件相关信息(dmidecode)
当想要以可读格式检索系统的硬件相关信息,不得不讲一下今天的主角,dmidecod命令不仅显示系统的当前硬件配置,例如:处理器,RAM(DIMM),BIOS,内存,序列号等等,还能显示最大支持的CPU和内存。这方便了完全不知道硬件的情况下,可以检索此信息,而不必探究实际的硬件。dmidecode命令我们完全不知道一个命令的时候时,可以通过man手册查看。man dmidecode或者我们可以https://linux.die.net/man/8/dmidecode查阅,在某些Linux / Un原创 2021-01-24 19:00:26 · 1795 阅读 · 0 评论 -
Linux下不能忽视的xargs命令
Linux xargs命令在实际开发中很有用,用于从标准输入构建和执行命令行Linux命令。按字符切割,字节位置切割。当与find和grep等其他命令结合使用时,传递参数的一个过滤器。下面我们来了解xargs用法。如何使用xargs命令格式:somecommand |xargs -item command真正执行的命令,紧跟在xargs后面,接受xargs传来的参数。xargs的作用在于,大多数命令(比如rm、mkdir、ls)与管道一起使用时,都需要xargs将标准输入转为命令行参数。要通原创 2020-11-28 11:59:33 · 531 阅读 · 0 评论 -
Linux下网络抓包工具(ngrep)
做后台开发,经常需要抓取数据包,查看数据流量是否正常,在windows上可以使用Wireshark,是一个网络封包分析软件,使用WinPCAP作为接口,直接与网卡进行数据报文交换。而Linux下使用tcpdump或者ngrep。这里介绍如何使用ngrep。使用ngrep抓包可以确定数据包是否已经到了某个服务模块,从而定位是哪个部分的问题。ngrep介绍及安装ngrep是一个网络抓包工具,可以用来侦听各端口的数据流入和流出。来看看man手册是如何介绍ngrep的:DESCRIPTIONngrep s原创 2020-10-25 21:34:00 · 6184 阅读 · 1 评论 -
Linux下CPU忙类型问题的定位与处理 - 系统调优
今天分享实际工作中,后台开发系统调优问题解决思路,下面主要讲CPU忙类型的定位与处理,可以掌握系统性能问题的定位技能。CPU占用率高问题定位下面我们通过命令top,来 确定那个cpu忙,那个线程导致cpu占用率过高。先执行top按1键:查看cpu的id字段(即idle),值越小示cpu占用率越高,本处cpu1的id很低,us很大,说明cpu 占用率过高。按F键按F键调出top功能选择菜单,按J让top显示线程运行于那个cpu上如图,然后按ENTEN。CPU占用率高问题定位原创 2020-09-26 23:29:28 · 1690 阅读 · 0 评论 -
Linux下IO操作忙类型问题的定位与处理
在Linux中 IO操作过高会使系统性能下降甚至会导致某些进程出现卡死,段错误,系统重启,等不良现象。下面我们来介绍一下如何监控IO并且在IO操作过高时,我们应该怎么定位与处理。判断IO是否高我们使用iostat工具监控IO状态,通常我比较喜欢使用:iostat -x -t 1图中sda 的util%才18%这样,如果util百分比很高,表示磁盘忙,该值的意义为磁盘io带宽利用率,即1秒内,有多少时间没有需要处理的io请求。await表示一个io请求要等多久才能被处理,svctm表示处理一个请原创 2020-09-20 17:08:17 · 1617 阅读 · 0 评论 -
linux中sed高级指令及用法
上一篇我们介绍了<Linux - 不得不知的利器(sed)> 的基本指令,sed还支持很多更高级的指令,可以满足工作中很多需求。下面来介绍sed高级指令用法。sed 高级指令h 将模式空间中的数据复制到保留空间H 将模式空间中的数据追加到保留空间g 将保留空间中的数据复制到模式空间G 将保留空间中的数据追加到模式空间x 将模式空间和保留空间中的数据对调n 读取下一行数据到模式空间N 读取下一行数据追加到模式空间y/源/目标/ 以字符为单位将源字符转为目标字原创 2020-08-06 00:15:39 · 903 阅读 · 0 评论 -
Linux - 不得不知的利器(sed)
sed是最早开始支持正则表达式的工具之一。我们可以使用sed非常轻松地完成非交互式的文件编辑工作。例如对文件的增、删、改、查等操作。sed命令sed会逐行扫描输入的数据,并将读取读取的内容复制到缓冲区中,我们称之为模式空间,然后拿着模式空间中的数据与给定的条件进行匹配,如果匹配成功则执行特定的sed指令。否则sed会跳过输入的数据行,继续读取后续的数据。sed命令格式sed [options] ‘command’ file(s)sed [options] -f scriptfile file(s原创 2020-08-01 22:38:59 · 265 阅读 · 0 评论 -
浅谈生成随机数的若干种方式?
在日常的工作中,经常会遇到关于随机数的问题。随机数会在系统中会频繁使用,例如验证码、订单ID、密钥等等。 随机数据很重要,而在shell脚本中如果需要生成随机数据有哪些方式呢?下面我们依次看看都有哪些方式。...原创 2020-07-24 23:28:45 · 1031 阅读 · 0 评论 -
Linux下使用sar进行性能监控分析
sar命令是Linux下系统运行状态统计工具。可以从14个大方面对系统的活动进行报告,包括文件的读写情况、系统调用的使用情况、串口、CPU效率、内存使用状况、进程活动及IPC有关的活动等,使用也是较为复杂。sar是查看操作系统报告指标的各种工具中,下面对sar命令进行讲解。sar命令常用格式用法: sar [ 选项 ] [ <时间间隔> [ <次数> ] ][minger@centos7 ~]$ sar -help用法: sar [ 选项 ] [ <时间间隔>原创 2020-07-19 14:00:42 · 1071 阅读 · 0 评论 -
Linux下抓包神器 tcpdump 使用介绍
前言tcpdump是一款强大的网络抓包工具,运行在Linux平台上。熟悉它的使用能够帮助你分析、调试网络数据。要想使用很好的掌握tcpdump,必须对网络报文有所了解。不过简单的使用来说,只要有网络基础概念就行了。在 Windows 中我们通常会使用 Wireshark 进行图形化操作相当便捷,然而在 Linux 环境中如何巧妙应用 tcpdump 的命令来操作提升效率就显得尤为重要。在本文...原创 2020-05-10 13:44:06 · 498 阅读 · 0 评论 -
Linux下使用md5sum进行检验
前言什么是md5? MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),目前C、C++、java等主流编程语言普遍已有MD5实现。在网络传输、设备之间转存、复制大文件等时,可能会出现传输前后数据不一致的情况. 这种情况在网络这种相对更不稳定的环境中,容易出现。那么校验文件的完整性,...原创 2020-04-29 23:25:01 · 1730 阅读 · 0 评论 -
Linux中"!"的惊叹用法
Linux 系统中,“!” 符号或者操作符通常被用做逻辑否定的操作符,同时也通过一些调整和改动命令来从历史记录中找出你需要的命令行。那么现在就让我们学习一下 “!” 这神奇而独特的用法吧!从历史记录中使用命令号来运行命令我们都知道可以通过history命令可以查看之前执行过的命令,但是如何再次执行history中的命令呢?我们可以通过“UP”键可以查看,但是历史命令很长的时候,并不是很方便,...原创 2020-04-23 22:02:40 · 855 阅读 · 0 评论 -
Linux中是如何删除特殊名称文件
在Linux中我的都知道,删除一个目录中的一个或多个文件或目录,可以使用rm命令,可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。但是我们想,如果想要删除一些奇怪的特殊名称的文件,使用普通的rm方式却很难删除。本篇围绕这个话题,介绍Linux中删除特殊名称的文件有哪些方式可删除。rm语法及常用参数语法格式:rm [参数] [文件]常用参数:...原创 2020-04-19 11:29:17 · 5988 阅读 · 0 评论 -
据说ss命令可以代替nestat命令
ss是Socket Statistics的缩写。ss命令用来显示处于活动状态的套接字信息。它可以显示和netstat类似的内容。可以显示类似的内容是不是可以看做代替netstat呢?在Linux CentOS7 中ss命令是iproute软件包的一部分,默认已经安装。为什么使用ssnetstat从proc文件系统获取所需要的信息。当服务器的socket连接数量变得非常大时,执行速度都会很慢。...原创 2020-04-13 11:06:47 · 561 阅读 · 0 评论 -
Linux信息宝库(proc文件系统)
前言Linux系统上的/proc目录是一种文件系统,即proc文件系统。与其它常见的文件系统不同的是,/proc是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息。而通过了解这些信息,能够帮助我们定位疑难问题。下面介绍通过proc文件系统能够获取哪些有用的信息。proc目录进入到/proc目录下,查看...原创 2020-03-28 13:20:44 · 548 阅读 · 0 评论 -
神器strace命令及跟踪系统调用
前言按照strace官方的描述,strace是一个可用于诊断、调试和教学的Linux用户空间跟踪器。我们用它来监控用户空间进程和内核的交互,比如系统调用、信号传递,进程状态变更等,下面对strace命令进行讲解。strace常用选项-tt 在每行输出的前面,显示毫秒级别的时间-T 显示每次系统调用所花费的时间-v 对于某些相关调用,把完整的环境变量,文件stat结构等打出来。-f 跟...原创 2020-03-27 16:56:39 · 1810 阅读 · 0 评论 -
Linux ps命令常见实战用法
前言Linux中的ps命令是Process Status的缩写。当程序运行在系统上时,我们称之为进程。想监测这些进程,需要熟悉ps命令的用法。ps能输出在系统上的所有程序的许多信息。如果想要动态的显示进程信息,就可以选择top命令。下面对ps进行介绍。默认情况下的 ps命令当我们在终端上输入ps命令的时候,并不会提供那么多的信息:默认情况下只显示了程序的进程ID(Process ID, ...原创 2020-03-21 10:34:22 · 1379 阅读 · 0 评论 -
Linux下文件查找命令及使用技巧
前言在使用Linux系统工作一段时间后,可能会积累很多文件,某些文件很长时间不用,可能会忘记放在哪个路径,那么如何查找呢?今天我们就来看看这些命令如何使用。Linux下主要有以下五个查找命令:findlocategrepwhichwhereisfindfind是Linux最常见和最强大的查找命令。可以根据给定的路径和表达式查找的文件或目录。如果使用该命令时,不设置任何参数,则...原创 2020-03-10 21:21:40 · 770 阅读 · 0 评论 -
Linux如何查看文件打开情况
前言在linux环境下,任何事物都以文件的形式存在,这便产生了一句格言:“一切皆文件”,通过lsof命令便能查看文件打开情况。而lsof命令用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)等。lsof可以打开哪些文件1、普通文件2、目录3、网络文件系统的文件4、字符或设备文件5、共享库6、管道、命名管道7、符号链接8、网络文件(例如:NFS file...原创 2020-03-07 17:45:00 · 6812 阅读 · 0 评论 -
Linux下objdump二进制文件分析(反汇编常用)
如果在Linux上查看可执行文件、目标文件构成的GCC工具,可以使用readelf或者objdump查看,本篇主要对objdump讲解,想了解readelf朋友,可以看这一篇Linux调试工具之readelf命令objdump 二进制文件分析objdump工具用来显示二进制文件的信息,就是以一种可阅读的格式让你更多地了解二进制文件可能带有的附加信息。可以使用man查看objdump命令的反汇...原创 2020-03-06 16:57:33 · 11763 阅读 · 0 评论 -
Linux 如何查看帮助信息
前言man命令 是Linux下的帮助指令,man更为强大的是,不仅可以查看Linux中命令的使用帮助,还可以查看软件服务配置文件、系统调用、库函数等帮助信息。而man命令也并不是英文单词“man”的意思,它是单词manual的缩写,即使用手册的意思。下面对man手册进行介绍。manman手册页文件存放在/usr/share/man目录下。语法:man(选项)(参数)选项...原创 2020-03-06 10:19:59 · 4816 阅读 · 0 评论 -
Linux调试工具之readelf命令
前言在Linux中,通过gcc编译成的可执行文件的格式是ELF格式。通过readelf命令可以用来查看elf格式文件的信息。ELF文件类型ELF文件有下面三种类型:1、可重定位文件(目标文件)可重定位对象文件中包含适合于与其他目标文件链接来创建可执行文件或者共享目标文件的代码和数据。一般包括如汇编器汇编生成的.o文件,例如:gcc -c test.c得到的test.o就是目标文件...原创 2020-03-05 17:00:31 · 4201 阅读 · 0 评论 -
Linux命令 -- 系统关机和重启
shutdown命令shutdown命令用来系统关机命令。shutdown指令可以关闭所有程序,并依用户的需要,进行重新开机或关机的动作。重启一般大家更喜欢用简单的 reboot 命令。除了最基本的关机和重启功能,shutdown 命令还具备如下的功能:关机前,可以设置关机消息传送给在线的用户,防止多用户在线影响到其他用户;对在线的用户发送警告,并禁止其他用户登录,但是实际不是真的关机,只是...原创 2020-01-19 21:50:11 · 532 阅读 · 0 评论 -
Linux 性能分析命令
前言Linux 上有一些性能分析工具,可以查看文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、网络、进程活动及IPC有关的活动等。性能监测与优化vmstat 显示虚拟内存vmstat是显示虚拟内存的状态,它主要对进程、CPU、IO等系统整体运行状态监控。语法vmstat(选项)(参数)选项-a:显示活动内页;-f:显示启动后创建的进程总数;-m:显示...原创 2019-12-19 21:45:00 · 609 阅读 · 0 评论 -
linux C/C++ struct stat示例
前言struct stat这个结构体是用来描述一个linux系统文件系统中的文件属性的结构。stat函数获取文件的所有相关信息,一般情况下,我们关心文件大小和创建时间、访问时间、修改时间。struct stat 结构体介绍首先还是先来所用到的struct stat结构体函数原型:int stat(const char *path, struct stat *buf);int lstat(...原创 2019-11-03 21:56:00 · 7324 阅读 · 0 评论 -
Linux 进程间通信方式(管道、命名管道、消息队列、信号量、共享内存、套接字)
什么是进程?在Linux系统中,进程是管理事务的基本的过程。进程拥有自己独立的处理环境和系统资源。进程整个生命可以简单划分为三种状态:就绪态:进程已经具备执行的一切条件,正在等待分配CPU的处理时间。执行态:该进程正在占用CPU运行。 等待态:进程因不具备某些执行条件而暂时无法执行的状态。进程间通信概念进程是一个独立的资源分配单元,不同进行之间的资源是独立的,不能在一个进程中直接...原创 2019-09-21 21:57:39 · 1810 阅读 · 0 评论 -
Linux 系统编程一一线程
什么是线程线程是 CPU 调度和分派的基本单位。线程存在于进程中,共享进程的资源。为了减少系统开销,从进程中演化出了线程。线程自己不拥有资源,但它可以去访问其所属进程的资源。进程和线程的关系通常在一个进程中可以包含若干个线程,它们可以利用进程的所拥有的资源。但是线程是属于进程的,而进程是拥有资源且进程间相互独立。不仅进程间可以并发执行,而且在一个进程中的多个线程之间也可以并发执行。线程常见...原创 2020-04-15 19:12:14 · 241 阅读 · 0 评论 -
Linux vim 编辑器快速使用
在没有使用vim之前,相信大家都使用过Windows下的编辑器,比如Notepad++、UltraEdit、Sublime Text3等。在开始学习vim编辑器前,我们先检查一下centos7系统中是否安装了vim编辑器。yum -y install vim*当看到下面的提示信息时,则表明下载已经完成。可以查看安装好的vim编辑器版本vim -version什么是 vim?Vim是...原创 2019-10-06 21:15:20 · 783 阅读 · 0 评论 -
Linux常用命令一一磁盘管理
磁盘管理命令是linux最常用的命令之一,通过man 手册可以看到,本文挑一些实际应用中最常见的用法。cd 切换目录功能:cd指令可让用户在不同的目录间切换,但该用户必须拥有足够的权限进入目的目录。语法: cd [目录] cd ~ 表示当前用户目录 cd / 切换到跟目录 cd - 切换到上一次访问的目录 cd .. 切换到上一...原创 2019-10-04 12:34:15 · 670 阅读 · 0 评论 -
Linux常用命令一一网络通讯篇
Linux常用命令中,要想查看一下网络通讯信息,比如说ifconfig、netstat等,如果你还不会使用,那么最好花几分钟学习一下。telnet 远端登入功能:执行telnet指令开启终端机阶段作业,并登入远端主机。telnet 命令用于远端登入。由于安全性,现在常用SSH。比如要登陆IP为192.168.1.110这个IP,可以这样使用telnet 192.168.1.110 ...原创 2019-10-03 11:20:37 · 1116 阅读 · 0 评论 -
Linux常用命令一一文件管理
Linux常用命令中,除了常见的mv、rm、cat、cp、find、ln等你们还知道有哪些命令呢?本文将介绍一下文件管理常见的命令。ln 连接文件或目录功能:ln ]指令用连接文件或目录,如同指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则会把前面指定的所有文件或者目录复制到目录中。若同时指定多个文件或者目录,且最后的目的地并非是一个已经存在的目录。则会出现错误信息。语法:l...原创 2019-10-02 12:01:25 · 682 阅读 · 0 评论 -
Linux常用命令一一系统状态管理
Linux常用命令中,有些命令可以用于查看系统当前的状态。比如进程内存空间、文件占用空间等一系列问题。ps 进程的状态信息ps是Linux中常用到的命令之一,它用来列出当前系统运行中的进程的状态信息。参数-A 显示所有进程(同-e)-a 显示当前终端的所有进程-u 显示进程的用户信息-o 以用户自定义形式显示进程信息-e 此参数的效果和指定"A"参数相同。...原创 2019-09-30 19:54:07 · 730 阅读 · 0 评论 -
Linux常用命令一一压缩与解压缩
tartar是Linux中最常见的解压缩命令。tar命令可以用于处理后缀名为tar、tar.gz、tar.bz2等文件。命令行参数属性说明:-c 建立新的压缩文件-r 添加文件到已经压缩的文件-u 添加改变了和现有的文件到已经存在的压缩文件-x 从压缩的文件中提取文件-t 显示压缩文件的内容-z 支持gzip解压文件-j 支持bzip2解压文件-v 显示操作过程-k 保留源有...原创 2019-09-28 10:54:17 · 867 阅读 · 0 评论 -
linux C 命令行参数之getopt()函数的使用
在Linux中,Linux终端提供类的UNIX命令行环境。命令行是在命令行环境中,用户为运行程序输入命令行。在Linux用到的命令常常支持很多参数,第一个想到就是main函数命令行传参,读取在同一行附加项。带参数的mainc编译器允许main没有参数,也可以main函数带参数。我们常见的就是main函数带两个参数(一些实现运行main函数有更多参数)。当main函数有两个参数时,第一个参数时命...原创 2019-10-08 21:01:58 · 996 阅读 · 0 评论