Linux进程

1.进程

进程:可执行应用程序执行后产生的对应的进程,重量级;进程是由一个线程或多个线程构成;

线程:是计算机中的最小单位,轻量级(依赖和物理性是独立存在的)、损耗较低

假设进程1是由1、2线程组成;进程2是由2、3线程组成;

当进程1启动后,进程2则需等待进程1执行完毕,资源释放后,方可执行;

而当进程1如果一直都不释放资源,则容易造成死锁;

Zombie僵尸进程:

当存在很多僵尸进程说明什么问题:说明模块和模块之间的结构有问题(代码中只写了调用,没有写回收);


Ps –ef—-查询静态进程监控

Kill 进程号—-结束进程

Kill -9 进程号—-强制结束进程

Ps –ef|pgrep “httpd”—-查询httpd的端口号


Top—查询(动态)进程

{Load average:系统当前负载资源;

Tasks:进程数、zombie僵尸进程;

Id :空闲的

Mem:内存;buffer:缓存

Swap:交换分区

在top状态下,输入u:用户;显示指定的用户进程;

输入q:表示退出top状态;


查询进程端口:netstat –ano

Bash csh ksh tcsh

更改shell:chsh –s 目标


符号 解释
~ root目录或宿主目录
表示非
@ 普通链接或者邮箱标识符
# 注释
$ 变量
% 取模
^ 表示不在什么范围之中
& 表示与
* 表示统配
() 表示函数
-+*/ 表示运算符
** 表示幂运算
\ 拖逸符
/ 表示路径
{} 表示枚举
[表达式] 表示的是条件逻辑判定
表示命令引用结束之前
表示语句结束
;; 表示case语句的结束
‘’ 表示字符串
“” 表示
表示命令的引用
> 表示覆盖
>

表示追加
-> 表示链接指向
表示单个字符统配
= 表示赋值
./ 表示执行

linux中的比较预算符等同于批处理中的大于、小于、等于:gtr、lss、equ、neq、geq、leq

#!表示的是bash脚本的开头

| 管道

|| 或


shell脚本

文本文档,针对linux中,单个命令无法进行完成,而是需要多个命令时,就可以将所有命令写到shell脚本中,直接运行shell脚本即可。主要采用的是C语言

注意:Shell脚本—-必须具有可执行的权限,才能被执行

Shell脚本中相关解释

Echo :输出命令(或者使用printf进行输出)

$?:表示验证脚本或者命令是否执行完成,如果结果是0表示执行成功,

如果是其他数字的话,则表示执行不成功。

#! /bin/bash  ---释伴行(声明为:是使用bash脚本的进行执行的)
{}枚举:如果{}中只有一个元素的话,则不会当成是元素,而是被看做一个整体,只有存在多个元素的情况,才会被认定为枚举
举例 :touch {a,b}-{c,d} ----创建四个文件:a-c a-d b-c b-d
[表达式]:实现运算a=$[5+6];(如果a=5+6,会直接当成是字符串输出)
或者:set a=expr 5+6
或者:expr 8 + 9(注意空格)
执行文件方式:./文件 或bash 文件

流程控制语句

If [ 表达式 ] ;then

语句块

Elif [ 表达式 ] ;then

语句块

Else

语句块

Fi

Or

If [ 表达式 ]

then

语句块

Else

语句块

Fi

Case 变量 in

标识符)

语句块

;;

* )

语句块

;;

Esac

#! /bin/bash
Echo “please input a number”
Read x
Echo “please input another number”
Read y
If [ $x –gt $y ] ; then
Echo “x>y”
Elif [ $x –eq $y ] ; then
Echo “x==y”
Else
Echo “x<y”
fi
实现从控制台输入数据:
#! /bin/bash
Echo “please input str”
Read x
Case $x in
Root)
Echo “I am root”
;;
*)
Echo ”nothing”
;;
Esac 循环
For i in `seq 1 10` ----表示按顺序
Do
Echo $i
Done
或者
For((i=0;i<=10;i++))
{
Echo $i
} 计算奇数偶数和

Linux 学习(三)的更多相关文章

  1. Linux 学习 (三) 文件搜索命令

    Linux达人养成计划 I 学习笔记 locate 文件名 搜索速度比较快 只能根据文件名搜索 搜索的是保存在 /var/lib/mlocate 的数据库(每天更新一次) 新建文件需要执行 updat ...

  2. 【Linux学习三】VI/VIM全屏文本编辑器

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 一.打开关闭文件打开文件:vim /path/to/somefilev ...

  3. Linux学习三:Ubuntu下使用minicom和开发板通信

    备注:如果你是用的是Windows则使用超级终端即可:开始-程序-附件-通讯-超级终端 现在我们在Ubuntu下安装配置minicom: 1.进入ubuntu桌面ctrl+alt+t打开终端 输入:s ...

  4. 【Linux学习三】Linux系统目录架构

    主要包括: ●bin:保存的是可执行文件,二进制,就是命令 ●boot:引导目录,操作系统的启动加载,包含版本内核文件.greb引导程序- ●dev:硬件设备文件,如硬盘.网卡.声卡.终端.显卡,每一 ...

  5. Linux 学习 三, linux 文件结构

    linux 的文件结构 linux 下的bin 目录,包含了常用的命令应用程序 /bin: bin为binary的简写主要放置一些系统的必备执行档例如:cat.cp.dmesg.gzip.kill.l ...

  6. Linux学习(三)-Vi和Vim的区别

    它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面.vim的这些优势主要体现在以下几个方面:1.多级撤消我们知道在vi里,按 u只能撤消上次命 ...

  7. linux学习(三)-----linux用户管理、实用指令

    用户管理 基本介绍 说明: 1.Linux 系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向 系统管理员申请一个账号,然后以这个账号的身份进入系统. 2.Linux 的用户 ...

  8. linux 学习(三) php相关

    五 php相关 配置文件位置 /etc/apache2/apache2.conf 1禁止列举目录 sudo vi /etc/apache2/sites-enabled/000-default 删除Op ...

  9. linux学习(三) -- lnmp环境切换php版本,并安装相应redis扩展

    原创文章,转载请注明出处   我想配置的环境是ubuntu+nginx+mysql+php+redis,其中php装两个版本,php7和php56 ubuntu+nginx+mysql+php的环境配 ...

  10. linux学习 三 redhat

    1: 查看redhat版本号. 2:   防火墙中加入8080 查看防火墙状态,root用户登录,执行命令systemctl status firewalld 开启防火墙:systemctl star ...

随机推荐

  1. MySQL-数据更新(UPDATE)

    MySQL-UPDATE语句 功能介绍:用于更新表中的现有数据.亦可用UPDATE语句来更改表中单个行,一组行或所有行的列值. MySQL-UPDATE语法: UPDATE [LOW_PRIORITY ...

  2. java 和 Android Base64加密

    Java8 Base64 Java 8 新特性 在Java 8中,Base64编码已经成为Java类库的标准. Java 8 内置了 Base64 编码的编码器和解码器. Base64工具类提供了一套 ...

  3. win7(windows 7)系统下安装SQL2005(SQL Server 2005)图文教程( Win7 SQL Server2005 安装教程)

    win7(windows 7)系统下安装SQL2005(SQL Server 2005)图文教程 由于工作需要,今天要在电脑上安装SQL Server 2005.以往的项目都是使用Oracle,MS的 ...

  4. mysql将查询结果导出csv文件的方法into outfile

    例句: select * from table_name into outfile '/tmp/tmp.csv' fields terminated by ',';   详解: ① into outf ...

  5. 再读headfirst-原则与模式摘录

    原则 1.找到原则中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起 2.针对接口编程,而不是针对实现编程 3.多用组合,少用继承 4.依赖倒置原则:要依赖抽象,不要依赖具体类(不 ...

  6. 【单独编译使用WebRTC的音频处理模块 - android】

    更新 [2015年2月15日] Bill 这段时间没有再关注 WebRTC 以及音频处理的相关信息,且我个人早已不再推荐单独编译 WebRTC 中的各个模块出来使用.实际上本文的参考价值已经很小了,甚 ...

  7. java笔记线程方式1优先级

    * 我们的线程没有设置优先级,肯定有默认优先级. * 那么,默认优先级是多少呢? * 如何获取线程对象的优先级? *   public final int getPriority():返回线程对象的优 ...

  8. [Swift通天遁地]一、超级工具-(20)图片面部聚焦:使图像视图自动聚焦图片人物的面部位置

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  9. golang——随机数(math/rand包与crypto/rand包)

    1.math/rand 包 1.1.math/rand 包实现了伪随机数生成器 1.2.主要方法 (1)func Seed(seed int64) 设置随机种子,不设置则默认Seed(1) (2)fu ...

  10. easyui-datebox 年月视图显示

    //年月视图做法 $('#startYearDate').datebox({ onShowPanel: function () { //显示日趋选择对象后再触发弹出月份层的事件,初始化时没有生成月份层 ...