Linux Shell
吃鱼的羊
这个作者很懒,什么都没留下…
展开
-
计算机为什么采用二进制?
要回答这个问题,首先让我们了解一下二进制概述以及其发展 。进制是逢2进位的进位制,0、1是基本算符;计算机运算基础采用二进制。电脑的基础是二进制,那么,什么是二进制呢,为什么需要二进制呢?在早期设计的机械计算装置中,使用的不是二进制,而是十进制或者其他进制,利用齿轮的不同位置表示不同的数值,这种计算装置可能更加接近人类的思想方式。比如说一个计算设备有十个齿轮,它们级连接起来,每一个齿轮有十...原创 2019-11-06 10:27:27 · 24105 阅读 · 0 评论 -
linux free命令详解
free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。语法free(选项)选项-b:以Byte为单位显示内存使用情况;-k:以KB为单位显示内存使用情况;-m:以MB为单位显示内存使用情况;-o:不显示缓冲区调节列;-s<间隔秒数>:持续观察内存使用状况;-t:显示内存总和列;-V:显示版本信息。实例free -m ...转载 2018-06-21 14:35:05 · 481 阅读 · 0 评论 -
systemctl命令
systemctl命令是系统服务管理器指令,它实际上将 service 和 chkconfig 这两个命令组合到一起。任务旧指令新指令使某服务自动启动chkconfig --level 3 httpd onsystemctl enable httpd.service使某服务不自动启动chkconfig --level 3 httpd offsystemctl disable httpd.servi...转载 2018-06-20 18:13:47 · 211 阅读 · 0 评论 -
Linux 常用命令——cat, tac, nl, more, less, head, tail, od
1. cat 由第一行开始显示文件内容2. tac 由最后一行开始显示文件内容(刚好和cat字母相反)3. nl 按行号显示文件内容4. more 一页一页翻动的读取5. less 在more基础上增加向前翻页和向前查找6. head 只显示前几行7. tail 只显示后几行8. od 按二进制显示...转载 2018-05-23 15:17:33 · 456 阅读 · 0 评论 -
shell中条件判断if中的-z到-d的意思
shell中条件判断if中的-z到-d的意思 [ -a FILE ] 如果 FILE 存在则为真。 [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。[ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。 [ -d FILE ] 如果 FILE 存在且是一个目录则为真。 [ -e FILE ] 如果 FILE 存在则为真。[ -f FILE ] 如果 FILE ...转载 2018-05-22 16:09:10 · 984 阅读 · 0 评论 -
shell中将字符串转换成数字
我有一个字符串“96.56”,怎样才能将它转换成一个小数,或者是一个整数96也行。 shell中无需转换,可以直接用作数字。转换成整数:# echo "96.56"| awk '{print int($0)}'96追问那如果我要将“.21”(这是从文件中读出来的,表示0.21)拿来与1比较大小,写在if判断中,我该怎么做?追答shell中的test语句只能用于整数判断,要判断小数用awk吧,awk...转载 2018-05-21 14:16:10 · 153693 阅读 · 1 评论 -
linux crontab & 每隔10秒执行一次
查看所有用户下的定时任务for u in `cat /etc/passwd | cut -d":" -f1`;do crontab -l -u $u;done linux下定时执行任务的方法 在LINUX中你应该先输入crontab -e,然后就会有个vi编辑界面,再输入0 3 * * 1 /clearigame2内容到里面 :wq 保存退出。 在LINUX中,周期执行的任务一般由cron这个守护...转载 2017-12-26 18:45:41 · 14091 阅读 · 0 评论 -
查看进程端口,进程号,占用内存
1:在命令行提示符执行top命令2:输入大写M,结果按内存占用降序排序;输入大写P,则结果按CPU占用降序排序。(注:大写P可以在capslock状态输入p,或者按Shift+p)3: ll /proc/12401 查看进程pid对应的全路径 4,ps -ef|grep 12401#查看进程占用物理内存cat /proc/$PID/status | grep RSS $PID=ps aux |...原创 2018-02-12 09:34:05 · 1667 阅读 · 0 评论 -
Linux下ps -ef和ps aux的区别及格式详解
Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux。这两个到底有什么区别呢?两者没太大差别,讨论这个问题,要追溯到Unix系统中的两种风格,System V风格和BSD 风格,ps aux最初用到Unix Style中,而ps -ef被用在System V Style中,两者输出略有不同。现在的大部分Linux系统都是可以同时使用这两种方式的。ps -ef 是用标准的格式显...转载 2018-02-12 09:24:07 · 1175 阅读 · 0 评论 -
xargs命令
xargs命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。它擅长将标准输入数据转换成命令行参数,xargs能够处理管道或者stdin并将其转换成特定命令的命令参数。xargs也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。xargs的默认命令是echo,空格是默认定界符。这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs的处理,换行...转载 2018-06-22 19:07:52 · 191 阅读 · 0 评论 -
Linux下which、whereis、locate、find 区别
我们经常在Linux要查找某个文件或命令,但不知道放在哪里了,可以使用下面的一些命令来搜索。which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查询文件名称 1、which语法: which 可执行文件名称 例如: [root@redhat ~]# which passwd /usr/bi...转载 2018-06-25 19:02:16 · 944 阅读 · 0 评论 -
Linux如何查看当前占用CPU或内存最多的K个进程
一、可以使用以下命令查使用内存最多的K个进程方法1:ps -aux | sort -k4nr | head -K如果是10个进程,K=10,如果是最高的三个,K=3说明:ps -aux中(a指代all——所有的进程,u指代userid——执行该进程的用户id,x指代显示所有程序,不以终端机来区分) ps -aux的输出格式如下:USER PID %CPU %MEM ...转载 2018-06-20 11:16:46 · 10048 阅读 · 0 评论 -
Linux source命令
Linux source命令:通常用法:source filepath 或 . filepath功能:使当前shell读入路径为filepath的shell文件并依次执行文件中的所有语句,通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。例如,当我们修改了/etc/profile文件,并想让它立刻生效,而不用重新登录,就可以使用source命令,如source /et...转载 2019-08-02 16:46:07 · 116 阅读 · 0 评论 -
linux环境变量和本地变量
每一种编程语言中,我们都会碰到变量的作用域的问题。(比如在函数中定义的变量在函数外不能使用的)BASH 中也有类似的问题,局部变量和环境变量(全局变量)。局部变量是普通的变量,仅在创建它的Shell中有效。环境变量。我们更多的使用“环境变量”而不是“全局变量”,因为这个名称更能体现它的特点。环境变量对创建它的Shell及其派生出来的子进程都有效。或者说环境变量可以继承,但它对其它与...转载 2019-08-02 16:34:49 · 2604 阅读 · 0 评论 -
MAC下Java 反编译利器 JD-GUI/Jad/JadClipse
https://blog.csdn.net/yueyeqingshan/article/details/52883520 MAC下Java 反编译利器 JD-GUI/Jad/JadClipse对于Java开发人员而言,没有源码可能让你无法忍受,不知道大家跟我是否有相同的感受?尤其是当调试debug遇到问题的时候,你是否有冲动并急需想了解第三方jar内部实现机制以及实现原理,以...转载 2019-03-04 17:36:29 · 15106 阅读 · 1 评论 -
SecureCRT For Mac安装、破解、使用详细总结
https://blog.csdn.net/so_geili/article/details/83315852SecureCRT For Mac安装、破解、使用详细总结https://blog.csdn.net/yule117737767/article/details/82388285使用SecureCRT工具上传、下载文件的两种方法https://blog.csdn...转载 2019-03-04 16:52:22 · 22212 阅读 · 2 评论 -
mac 安装 VNC view
安装客户端,一条命令搞定brew install Caskroom/cask/vnc-viewermac安装TigerVncbrew install Caskroom/cask/vnc-viewercentos 7安装vnc serverwget http://centos.ustc.edu.cn/centos/7/os/x86_64/Packages/tigervnc-...转载 2019-03-04 15:26:44 · 3295 阅读 · 0 评论 -
Mac 和 Windows 文件相互共享
https://blog.csdn.net/lxmy2012/article/details/50039213转载 2019-03-04 14:16:48 · 4691 阅读 · 0 评论 -
一分钟学awk够用(产品经理都懂了)
1分钟懂awk-技不在深,够用就行1.什么是AWK(1)Aho、Weinberger、Kernighan三位发明者名字首字母;(2)一个行文本处理工具;2.AWK基本原理2.1原理:逐行处理文件中的数据2.2语法:awk 'pattern + {action}'说明:(1)单引号''是为了和shell命令区分开;(2)大括号{}表示一个命令分组;(3)pattern是一个过滤器,表示命中patte...转载 2018-06-27 13:44:49 · 110 阅读 · 0 评论 -
shell脚本监控系统负载、CPU和内存使用情况
http://www.jb51.net/article/58799.htm在没有nagios监控软件的情况下,只要服务器能上互联网,就可通过发邮件的方式来提醒管理员系统负载与CPU占用的使用情况。一、安装linux下面的一个邮件客户端msmtp软件(类似于一个foxmail的工具) 1、下载安装: http://downloads.sourcefor转载 2018-01-24 14:41:45 · 1055 阅读 · 0 评论 -
shell脚本中执行一个命令,在等待15秒后,没有这个命令的结果,就执行下一条
#!/bin/bash func(){ wget ... touch finished} func &sleep 3000if [ -f finished ]then echo "finished"else echo "not finished"fi转载 2018-01-03 17:34:09 · 43312 阅读 · 0 评论 -
linux if 判断
UNIX Shell 里面比较字符写法:-eq 等于-ne 不等于-gt 大于-lt 小于-le 小于等于-ge 大于等于-z 空串= 两个字符相等!= 两个字符不等-n 非空串无论什么编程语言都离不开条件判断。SHELL也不例外。大体的格式如下:if list then转载 2018-01-03 14:29:47 · 13350 阅读 · 2 评论 -
Linux中` `、$、$( ) 、${ } 有什么区别
$( )中放的是命令,相当于` `,例如todaydate=$(date +%Y%m%d)意思是执行date命令,返回执行结果给变量todaydate,也可以写为todaydate=`date +%Y%m%d`;${ }中放的是变量,例如echo ${PATH}取PATH变量的值并打印,也可以不加括号比如$PATH。$# 是传给脚本的参数个数$0 是脚本转载 2017-08-17 19:02:27 · 2837 阅读 · 0 评论 -
Linux 输出重定向>和>>的区别
> 是定向输出到文件,如果文件不存在,就创建文件;如果文件存在,就将其清空;一般我们备份清理日志文件的时候,就是这种方法:先备份日志,再用`>`,将日志文件清空(文件大小变成0字节);>>这个是将输出内容追加到目标文件中。如果文件不存在,就创建文件;如果文件存在,则将新的内容追加到那个文件的末尾,该文件中的原有内容不受影响。转载 2017-08-17 18:54:03 · 1993 阅读 · 0 评论 -
linux命令执行返回值
在 Linux 下,不管你是启动一个桌面程序也好,还是在控制台下运行命令,所有的程序在结束时,都会返回一个数字值,这个值叫做返回值,或者称为错误号 ( Error Number )。在控制台下,有一个特殊的环境变量 $?,保存着前一个程序的返回值,我们可以试试:$ ls *.pngDiagram1.png eqn.png peazip.pngeqn4.转载 2017-08-17 18:41:29 · 3800 阅读 · 0 评论 -
Linux:命令执行控制&&与||
这里就需要注意&&和||运算符。 A&&B,如果A=0,就没有必要继续执行&&B了;A非0,就需要继续执行&&B。 A||B,如果A非0,就没有必要继续执行||B了,A=0,就需要继续执行||B。1、&& 方式:command1 && command2 如果command1执行成功,则执行command2-rw-rw-r-- 1 k转载 2017-08-17 18:28:50 · 399 阅读 · 0 评论 -
Linux的管道命令竖线(|)
管道符号,是unix功能强大的一个地方,符号是一条竖线:"|",用法: command 1 | command 2 他的功能是把第一个命令command 1执行的结果作为command 2的输入传给command 2,例如:ls -l | more该命令列出当前目录中的任何文档,并把输出送给more命令作为输入,more命令分页显示文件列表。又如 rpm -aq转载 2017-08-17 18:30:07 · 3473 阅读 · 0 评论 -
Linux中fork()函数详解
一、fork入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来转载 2017-08-17 18:27:56 · 166 阅读 · 0 评论 -
linux进程控制-wait()
#include /* 提供类型pid_t的定义 */ #include pid_t wait(int *status) 进程一旦调用了wait,就立即阻塞自己,由wait自动分析是否当前进程的某个子进程已经退出,如果让它找到了这样一个已经变成僵尸的子进程,wait就会收集这个子进转载 2017-08-17 18:26:38 · 401 阅读 · 0 评论 -
linux下wait命令的使用小结
1.waitwait是用来阻塞当前进程的执行,直至指定的子进程执行结束后,才继续执行。使用wait可以在bash脚本“多进程”执行模式下,起到一些特殊控制的作用。2.使用格式wait [进程号 或 作业号]eg:wait 23 or wait %1备注:如果wait后面不带任何的进程号或作业号,那么wait会阻塞当前进程的执行,直至转载 2017-08-17 18:20:06 · 12165 阅读 · 0 评论 -
Linux exec与重定向
exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息。bash shell的命令分为两类:外部命令和内部命令。外部命令是通过系统调用或独立的程序实现的,如sed、awk等等。内部命令是由特殊的文件格式(.def)所实现,如cd、history、exec等等。转载 2017-08-18 10:15:50 · 735 阅读 · 0 评论 -
linux在终端下输入的"<"和“>"分别代表什么
简单说一下,标准输入 (stdin) :代码为 0 ,使用 标准输出 (stdout):代码为 1 ,使用 > 或 >> 标准错误输出(stderr):代码为 2 ,使用 2> 或 2>> 语法:"命令 比如说:mail -s "test" linux@163.com转载 2017-08-18 10:16:36 · 754 阅读 · 0 评论 -
shell脚本的几种不同执行方式的区别实验
shell脚本归结起来有三种执行方式,按执行时是否创建子shell可以分为两类。下面贴出我的测试脚本及测试结果。[plain] view plain copy#! /bin/bash cd echo "this shell's pid is $$" #打印执行脚本进程的pid #执行shell脚本方式可以分为两类转载 2017-08-18 10:16:45 · 953 阅读 · 0 评论 -
linux中日期的循环方式
#!/bin/bashstartDate=20171023endDate=20171103startSec=`date -d "$startDate" "+%s"`endSec=`date -d "$endDate" "+%s"`for((i=$startSec;ido firstday=`date -d "@$i" "+%Y%m%d"` echo ${转载 2017-11-12 15:51:13 · 2804 阅读 · 0 评论 -
Linux:No space left on device
http://blog.csdn.net/u011957758/article/details/53750419配置服务器发现vim文件的时候,竟然失败了,报了这个错误:No space left on device,故帮忙解决了一下。顺便记录一下。出现这个错误第一反应是空间满了。df -h 一看却发现还有挺多没有用 df -i 一看发现是inodes空间满了原创 2017-10-16 18:18:44 · 1235 阅读 · 0 评论 -
shell条件嵌套(if条件语句)
【注意1】:和Java、PHP等语言不一样,sh的流程控制不可为空,如:代码如下:[php] view plain copyif (isset($_GET["q"])) { search(q); } else { //do nothing } ?>转载 2017-10-22 11:18:41 · 6317 阅读 · 0 评论 -
&>/dev/null 等价于 >/dev/null 2>&1
用 /dev/null 2>&1 这样的写法.这条命令的意思是将标准输出和错误输出全部重定向到/dev/null中,也就是将产生的所有信息丢弃. 下面就为大家来说一下, command > file 2>file 与command > file 2>&1 有什么不同的地方. 首先 command > file 2>file 的意思是将命令所产生的标准输出信息,和转载 2017-10-22 10:31:08 · 2298 阅读 · 0 评论 -
crontab 执行定时任务如何控制前一个任务执行完后再启动下一个任务?
在 Linux 下使用 crontab 执行定时任务,如果任务自身运行时间超过任务执行的间隔时间,就有可能导致两次任务发生冲突,请问如何控制前一个任务执行完后再启动下一个任务?评论 (0) • 分享 • 链接 • 2012-01-21 4个答案票 数 Eclips转载 2017-10-22 10:26:58 · 15891 阅读 · 0 评论 -
shell中后台运行函数
在shell中定义好的函数,运行的时候可以直接在脚本里面通过func &方式后台运行。一开始我很好奇为什么shell脚本里面定义好的函数可以这么用,通常我们在脚本中都是以后台方式运行其它的脚本或者命令。于是做了如下一个实验:[plain] view plain copynew() { echo "f转载 2017-10-22 10:21:06 · 2221 阅读 · 0 评论 -
shell中的重定向 1>&2 2>&1 >&2
当初在shell中, 看到">&1"和">&2"始终不明白什么意思.经过在网上的搜索得以解惑.其实这是两种输出. 在 shell 程式中,最常使用的 FD (file descriptor) 大概有三个, 分别是: 0: Standard Input (STDIN) 1: Standard Output (STDOUT) 2: Standard Error Outp转载 2017-08-18 10:17:14 · 902 阅读 · 0 评论