
shell
文章平均质量分 82
huangyimo
这个作者很懒,什么都没留下…
展开
-
linux中的strip命令简介------给文件脱衣服
作为一名linux开发人员, 如果没有听说过strip命令, 那是很不应该的。 strip这个单词, 大家应该早就学过了, 你就记住是脱衣服就行了, 别的不要多想。 在linux中, strip也有脱衣服的含义, 具体就是从特定文件中剥掉一些符号信息和调试信息。 我们来看main.c文件:#include <stdio.h> int add(int x, ...转载 2018-09-13 21:03:13 · 1169 阅读 · 0 评论 -
工作中常用的Linux命令:ipcrm命令
ipcrm1. 命令功能 通过指定ID删除删除IPC资源,同时将与IPC对象关联的数据一并删除,只有超级用户或IPC资源创建者能够删除2. 使用方法 ipcrm -M shmkey 移除用shmkey创建的共享内存段 ipcrm -m shmid 移除用shmid标识的共享内存段 ipcrm -S semkey 移除用semkey创建的信号量 ipcrm -s semi...转载 2018-05-08 10:59:16 · 397 阅读 · 0 评论 -
linux ipcs命令详解
进程间通信概述进程间通信有如下的目的:1、数据传输,一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M之间;2、共享数据,多个进程想要操作共享数据,一个进程对数据的修改,其他进程应该立刻看到;3、通知事件,一个进程需要向另一个或一组进程发送消息,通知它们发生了某件事情;4、资源共享,多个进程之间共享同样的资源。为了做到这一点,需要内核提供锁和同步机制;5、进程控制,有些进程希望完...转载 2018-05-08 10:58:10 · 27840 阅读 · 0 评论 -
linux free命令详解
free 命令显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。如果加上 -h 选项,输出的结果会友好很多:有时我们需要持续的观察内存的状况,此时可以使用 -s 选项并指定间隔的秒数:free -h -s 3上面的命令每隔 3 秒输出一次内存的使用情况,直到你按下 ctrl + c。(Ubuntu 16.04 中默认的 free 版本有 bug,使用 -s 选项时报错,所...转载 2018-05-07 17:09:49 · 624 阅读 · 0 评论 -
Shell printf 命令
语法printf 命令模仿 C 程序库(library)里的 printf() 程序。标准所定义,因此使用printf的脚本比使用echo移植性好。printf 使用引用文本或空格分隔的参数,外面可以在printf中使用格式化字符串,还可以制定字符串的宽度、左右对齐方式等。默认printf不会像 echo 自动添加换行符,我们可以手动添加 \n。printf 命令的语法printf format...转载 2018-05-19 10:51:16 · 161 阅读 · 0 评论 -
linux下shell编程print与printf的区别
1,print是ksh的内置命令,而printf是bash的内置命令2,print 中不能使用%s ,%d 或%c;3,print 自动换行,printf 没有自动换行。比如下面脚本的输出:$ cat print-printf.sh #!/bin/bashecho $0 $1if [ $1x == 1x ]; then echo "printf" awk '{for(i=1...转载 2018-05-19 10:36:29 · 3782 阅读 · 0 评论 -
Linux之lsof命令
lsof命令简介:lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以,lsof的功能很强大。一般root用户才能执行lsof命令,普通用户可以看见/usr/sbin/lsof命令,但是普通用户执行会显示“permission denied”。因此通过lsof工具能...转载 2018-04-27 16:38:50 · 2850 阅读 · 0 评论 -
Linux lsof命令详解和使用示例(总结的比较详细)
lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件,所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打...转载 2018-04-27 10:27:47 · 995 阅读 · 0 评论 -
top命令详解
top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。通过top命令所提供的互动式界面,用热键可以管理。语法top(选项)选项-b:以批处理模式操作;-c:显示完整的治命令;-d:屏幕刷新间隔时间;-I:忽略失效过程;-s:保密模式;-S:累积模式;-i<时间>:设置间隔时间;-u<用户名>:指定用户名;-p&...转载 2018-04-26 15:41:31 · 175 阅读 · 0 评论 -
ps命令详解
ps命令用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。语法ps(选项)选项-a:显示所有终端机下执行的程序,除了阶段作业领导者之外。a:显示现行终端机下的所有程序,包...转载 2018-04-26 11:40:57 · 730 阅读 · 0 评论 -
linux watch——重复执行同一命令
实际操操作过程中,经常会遇到重复执行同一命令,以观察其结果变化的情况,以前经常是上下键加回车,或是Ctr+p然后回车的方式。现在告诉大家一个好用的命令——watch,它可以全屏执行这个命令,并显示执行结果。例如:#watch uptime#watch -t uptime#watch -d -n 1 netstat -ntlp#watch -d ’ls -l | fgrep goface’ ...转载 2018-05-22 10:58:48 · 2916 阅读 · 0 评论 -
grep正则表达式后面的单引号和双引号的区别?
单引号: 可以说是所见即所得:即将单引号内的内容原样输出,或者描述为单引号里面看到的是什么就会输出什么。单引号''是全引用,被单引号括起的内容不管是常量还是变量者不会发生替换。 双引号: 把双引号内的内容输出出来;如果内容中有命令、变量等,会先把变量、命令解析出结果,然后在输出最终内容来。双引号""是部分引用,被双引号括起的内容常量还是常量,变量则会发生替换,替换成变量内容。 不加引号: 不会将含...转载 2018-05-15 21:23:17 · 818 阅读 · 2 评论 -
test命令
test命令是shell环境中测试条件表达式的实用工具。语法test(选项)选项-b<文件>:如果文件为一个块特殊文件,则为真;-c<文件>:如果文件为一个字符特殊文件,则为真;-d<文件>:如果文件为一个目录,则为真;-e<文件>:如果文件存在,则为真;-f<文件>:如果文件为一个普通文件,则为真;-g<文件>:如...转载 2018-05-16 09:48:42 · 514 阅读 · 0 评论 -
readelf命令
readelf命令用来显示一个或者多个elf格式的目标文件的信息,可以通过它的选项来控制显示哪些信息。这里的elf-file(s)就表示那些被检查的文件。可以支持32位,64位的elf格式文件,也支持包含elf文件的文档(这里一般指的是使用ar命令将一些elf文件打包之后生成的例如lib*.a之类的“静态库”文件)。 这个程序和objdump提供的功能类似,但是它显示的信息更为具体,并且它不依...转载 2018-09-18 15:50:18 · 696 阅读 · 0 评论 -
awk练习1
1. sed和awk有什么区别?(1)awk:按列(域)操作;sed:按行操作(2)awk:文本处理语言,适合对文本进行抽取处理;sed:非交互式的编辑器,适合对文本进行编辑2. awk要处理域的时候,以哪个参数作为分割参数?-F 3. 请打印出/etc/passwd 第一个域,并且在第一个域所有的内容前面加上“用户帐号:”# cat /etc/passwd |awk -F:...转载 2018-08-15 09:16:59 · 429 阅读 · 0 评论 -
awk常用的内置变量
对于awk来说“变量”又分为“内置变量”和“自定义变量”,“输入分隔符FS”和“输出分隔符OFS”都属于内置变量。内置变量就是awk预定义好的,内置在awk内部的变量,而自定义变量就是用户定义的变量。 我们先看看awk常用的一些内置变量及其作用:FS:输入字符风隔符,默认为空白字符OFS:输出字段分隔符,默认为空白 字符RS:输入记录分隔符(输入换行符),指定输入时的额换行...转载 2018-08-14 17:16:17 · 6917 阅读 · 0 评论 -
linux shell until语句详解
until语句 :提供循环执行,它与while循环相反, until循环将反复执行直到条件为真就结束循环,而while循环条件为假就结束循环。使用格式:until [ 测试条件 ]do语句 #可以是多条语句done例1:#!/bin/shvar=10until [ $var -gt 1 ]doecho $varvar=$(($var - 1))doneexi...转载 2018-04-14 15:52:14 · 2868 阅读 · 0 评论 -
linux free 解读
free命令可以用来查看系统内存使用情况。我一般习惯-m参数以MB的方式查看 [root@localhost ~]# free -m total used free shared buffers cached Mem: 1020288 947960 72328 312 82656 647740 -/+ buffers/cache: 217564 802724 Swap: 209...转载 2018-08-05 16:25:21 · 192 阅读 · 0 评论 -
Linux top命令的用法详细详解
首先介绍top中一些字段的含义: VIRT:virtual memory usage 虚拟内存1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量RES:resident memory usage 常驻内存1、进程当前使用的内存大小,但不包括swap out2、包含其他进程的...转载 2018-08-05 15:15:48 · 3538 阅读 · 0 评论 -
awk知识点总结
1. awk简介和基本语法格式Awk自动地搜索输入文件,并把每一个输入行切分成字段。许多工作都是自动完成的,例如读取每个输入行、字段分割、存储管理、初始化等。在AWK中不需声明变量数据类型,它内置字符串类型和数值类型。一般来说,在CentOS上安装的awk默认是gawk。它的调用格式为:awk [OPTIONS] -f program_file [--] filename_list...转载 2018-08-04 20:26:56 · 232 阅读 · 0 评论 -
shell测试命令test、[ ]、[[ ]]
est可用于测试表达式,支持测试的范围包括:字符串比较,算术比较,文件存在性、属性、类型等判断。例如,判断文件是否为空、文件是否存在、是否是目录、变量是否大于5、字符串是否等于"longshuai"、字符串是否为空等等。在shell中,几乎所有的判断都使用test实现。其中[]完全等价于test,只是写法不同。双中括号[[]]基本等价于[],它支持更多的条件表达式,还允许在双中括号内使用逻辑运...转载 2018-08-04 18:44:29 · 311 阅读 · 0 评论 -
Linux指令--traceroute,netstat,ss
通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。linux系统中,我们称之为traceroute,在MS Windows中为tracert。 traceroute通过发送小的数据包到目的设备直到其返回,...转载 2018-05-16 20:56:57 · 362 阅读 · 0 评论 -
pstree命令
pstree命令以树状图的方式展现进程之间的派生关系,显示效果比较直观。语法pstree(选项)选项-a:显示每个程序的完整指令,包含路径,参数或是常驻服务的标示;-c:不使用精简标示法;-G:使用VT100终端机的列绘图字符;-h:列出树状图时,特别标明现在执行的程序;-H<程序识别码>:此参数的效果和指定"-h"参数类似,但特别标明指定的程序;-l:采用长列格式显示树状图...转载 2018-04-26 11:36:39 · 289 阅读 · 0 评论 -
vmstat命令详解
vmstat命令的含义为显示虚拟内存状态(“Viryual Memor Statics”),但是它可以报告关于进程、内存、I/O等系统整体运行状态。语法vmstat(选项)(参数)选项-a:显示活动内页;-f:显示启动后创建的进程总数;-m:显示slab信息;-n:头信息仅显示一次;-s:以表格方式显示事件计数器和内存状态;-d:报告磁盘状态;-p:显示指定的硬盘分区状态;-S:输出...转载 2018-04-26 10:03:15 · 184 阅读 · 0 评论 -
shell-tr命令详解
关于trt r用来从标准输入中通过替换或删除操作进行字符转换。t r主要用于删除文件中控制字符或进行字符转换。使用t r时要转换两个字符串:字符串1用于查询,字符串2用于处理各种转换。t r刚执行时,字符串1中的字符被映射到字符串2中的字符,然后转换操作开始。下面讲述:" 大小写转换。" 去除控制字符。" 删除空行。带有最常用选项的t r命令格式为:t r - c - d - s [ " s t ...转载 2018-04-17 14:10:11 · 2241 阅读 · 0 评论 -
树 的 双亲表示法 及 双亲孩子表示法
1.概念 树状图是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个节点有零个或多个子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父节点;除了根节点外,每个子节点可以分为多个不相交的子树。节点的度(degree):一个节点含有的子树的个数称为该节点的度...转载 2018-04-16 21:51:23 · 2860 阅读 · 2 评论 -
C++ 树-双亲表示法、孩子表示法、双亲孩子表示法
双亲表示法:#include<iostream> using namespace std; template<typename T> struct Node{ T _data; int parent; }; template<typename T> struct Tree{ Node<T> ...转载 2018-04-16 21:50:01 · 1301 阅读 · 0 评论 -
linux sort 命令详解
sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始!1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。[rocrocket@rocrocket programming]$ cat seq.txtbananaapplepearorange[rocrocket@ro...转载 2018-04-16 11:45:02 · 219 阅读 · 0 评论 -
cut命令详解
Linux:cut命令详解cut文件内容查看显示行中的指定部分,删除文件中指定字段显示文件的内容,类似于下的type命令。说明该命令有两项功能,其一是用来显示文件的内容,它依次读取由参数file所指明的文件,将它们的内容输出到标准输出上;其二是连接两个或多个文件,如cut fl f2 > f3将把文件fl和几的内容合并起来,然后通过输出重定向符“>”的作用,将它们放入文件f3中。当文件...转载 2018-04-16 11:27:24 · 649 阅读 · 0 评论 -
shell-awk命令详解
简单使用:awk :对于文件中一行行的独处来执行操作 。awk -F :'{print $1,$4}' :使用‘:’来分割这一行,把这一行的第一第四个域打印出来 。AWK命令介绍awk 语言的最基本功能是在文件或字符串中基于指定规则浏览和抽取信息,awk 抽取信息后,才能进行其他文本操作,完整的 awk 脚本通常用来格式化文本文件中的信息 1. 调用 awk:第一种命令行方式,如:Shell1...转载 2018-04-15 20:39:26 · 23745 阅读 · 1 评论 -
shell 强大的awk
小用法,使用awk来对文件随机抽取n行awk 'BEGIN{srand()} {print rand()"\t"$0}' input_file | sort -nk 1 | head -n line_num | awk -F "\t" '{print $2}' 简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就...转载 2018-04-14 16:10:08 · 174 阅读 · 0 评论 -
awk命令基本处理 -- shell
awk 逐行扫描输入 ( 可以是文件或管道等 )awk 将读入的记录分割成数个字段:1、$0 表示整条记录,第一个字段放入发量 $1 中,第二个放入发量 $2 中。2、字段分隔符可以通过选项 -F 指定,否则使用缺省的分隔符,通常为空格或Tab。ARGC:命令行参数个数 ( 实际就是输入文件的数目加 1 )ARGIND:当前被处理的文件在数组 ARGV 内的索引ARGV:命令行参数数组FILENA...转载 2018-04-14 16:06:50 · 433 阅读 · 0 评论 -
25个简单shell例子
linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $- 使用Set命令设定的Flag一览 $* 所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。 $@ 所有参数列表。如"$@"用...转载 2018-04-12 21:54:22 · 538 阅读 · 0 评论 -
Linux 下 Shell 脚本几种基本函数调用区别
Shell 脚本几种基本函数调用区别前言:因为工作需要,需要编写 shell script 。编写大量 shell script 时,累计了大量经验,也让自己开始迷糊几种函数输出调用的区别。后面和 LinuxCN 前辈们请教了一下这个问题,大致明白了区别。这里分享给大家,希望对大家收获。`command `$(command)${command}${command} Part 1 : ` comm...转载 2018-04-12 21:55:27 · 1944 阅读 · 1 评论 -
Active UNIX domain Sockets--------由netstat想到的
UNIX Domain Socket IPCsocket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIX Domain Socket。虽然网络socket也可用于同一台主机的进程间通讯(通过loopback地址127.0.0.1),但是UNIX Domain Socket用于IPC更有效率:不需要经过网络协议栈,不需要打包拆包、计算校验和、维护序号和应...转载 2018-04-26 09:56:52 · 2400 阅读 · 0 评论 -
Linux netstat命令详解
说明:netstat命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行netstat后,其输出结果为Active Internet connections (w/o servers)Proto Recv-Q Send-Q Local ...转载 2018-04-26 09:49:35 · 199 阅读 · 0 评论 -
10个重要的Linux ps命令实战
Linux作为Unix的衍生操作系统,Linux内建有查看当前进程的工具ps。这个工具能在命令行中使用。PS 命令是什么查看它的man手册可以看到,ps命令能够给出当前系统中进程的快照。它能捕获系统在某一事件的进程状态。如果你想不断更新查看的这个状态,可以使用top命令。ps命令支持三种使用的语法格式UNIX 风格,选项可以组合在一起,并且选项前必须有“-”连字符BSD 风格,选项可以组合在一起,...转载 2018-04-20 15:52:41 · 179 阅读 · 0 评论 -
sed命令
sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反...转载 2018-04-19 14:19:52 · 170 阅读 · 0 评论 -
[Shell]tr命令详解
1. 用途tr,translate的简写,主要用于压缩重复字符,删除文件中的控制字符以及进行字符转换操作。2. 语法tr [OPTION]... SET1 [SET2]3. 参数3.1 -s 压缩重复字符-s: squeeze-repeats,用SET1指定的字符来替换对应的重复字符 (replace each input sequence of a repeated character ...转载 2018-04-19 10:20:58 · 170 阅读 · 0 评论 -
SHELL中的while循环
流控制:while循环在编程语言中,循环非常常见。在bash中,bash也有类似的关键字,构建这样的循环:#!/bin/bash# 显示一系列数字count=1while [ $count -le 6 ]; do echo $count count=$((count + 1))doneecho "finished"执行脚本:./while-count.sh,结果如下...转载 2018-04-13 16:04:29 · 4132 阅读 · 0 评论