Linux 学习(三)
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 学习(三)的更多相关文章
- Linux 学习 (三) 文件搜索命令
Linux达人养成计划 I 学习笔记 locate 文件名 搜索速度比较快 只能根据文件名搜索 搜索的是保存在 /var/lib/mlocate 的数据库(每天更新一次) 新建文件需要执行 updat ...
- 【Linux学习三】VI/VIM全屏文本编辑器
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 一.打开关闭文件打开文件:vim /path/to/somefilev ...
- Linux学习三:Ubuntu下使用minicom和开发板通信
备注:如果你是用的是Windows则使用超级终端即可:开始-程序-附件-通讯-超级终端 现在我们在Ubuntu下安装配置minicom: 1.进入ubuntu桌面ctrl+alt+t打开终端 输入:s ...
- 【Linux学习三】Linux系统目录架构
主要包括: ●bin:保存的是可执行文件,二进制,就是命令 ●boot:引导目录,操作系统的启动加载,包含版本内核文件.greb引导程序- ●dev:硬件设备文件,如硬盘.网卡.声卡.终端.显卡,每一 ...
- Linux 学习 三, linux 文件结构
linux 的文件结构 linux 下的bin 目录,包含了常用的命令应用程序 /bin: bin为binary的简写主要放置一些系统的必备执行档例如:cat.cp.dmesg.gzip.kill.l ...
- Linux学习(三)-Vi和Vim的区别
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面.vim的这些优势主要体现在以下几个方面:1.多级撤消我们知道在vi里,按 u只能撤消上次命 ...
- linux学习(三)-----linux用户管理、实用指令
用户管理 基本介绍 说明: 1.Linux 系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向 系统管理员申请一个账号,然后以这个账号的身份进入系统. 2.Linux 的用户 ...
- linux 学习(三) php相关
五 php相关 配置文件位置 /etc/apache2/apache2.conf 1禁止列举目录 sudo vi /etc/apache2/sites-enabled/000-default 删除Op ...
- linux学习(三) -- lnmp环境切换php版本,并安装相应redis扩展
原创文章,转载请注明出处 我想配置的环境是ubuntu+nginx+mysql+php+redis,其中php装两个版本,php7和php56 ubuntu+nginx+mysql+php的环境配 ...
- linux学习 三 redhat
1: 查看redhat版本号. 2: 防火墙中加入8080 查看防火墙状态,root用户登录,执行命令systemctl status firewalld 开启防火墙:systemctl star ...
随机推荐
- python的for else语句
Python循环中的else语句 绝大部分编程语言中都有条件判断语句,比如 if … else ,在大部语言中,else 一般只在条件判断语句中出现,与 if 语句配套出现,不过在 Python 中, ...
- python 进程内存增长问题, 解决方法和工具
转载:http://drmingdrmer.github.io/tech/programming/2017/05/06/python-mem.html#pyrasite-%E8%BF%9E%E6%8E ...
- 【c++】【转】如何只在heap上创建对象,如何只在stack上建立对象?
http://www.cnblogs.com/chio/archive/2007/10/23/934335.html http://blog.csdn.net/szchtx/article/detai ...
- HDU 1226 超级password
跟POJ 1465 multiple 类是.仅仅只是多了2个条件,长度不能超过500.还有就是 可能不是十进制. bfs+同余定理,就是用 mod 来判重. G++ 15ms 每次枚举一位,然后记录下 ...
- ARM+llinux系统移植3G拨号上网收发短信(一)【转】
本文转载自:http://blog.csdn.net/hanmengaidudu/article/details/17099737 一. PPP移植 各项工作具体说明 向Linux内核添加3 ...
- Android studio导入项目时的问题(Re-download dependencies and sync project (requires network))
引入了别人的项目出现了这种情况提示是跟gradle cache有关,我的解决方法是跟gragle的配置有关 改下这个: distributionUrl=https\://services.gradle ...
- HDU 4070 + 赤裸裸的贪心~~
J - Phage War Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Phage ...
- 【UVa 10881】Piotr's Ants
Piotr's Ants Porsition:Uva 10881 白书P9 中文改编题:[T^T][FJUT]第二届新生赛真S题地震了 "One thing is for certain: ...
- hdu 5782(kmp+hash)
Cycle Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submi ...
- django 数据库连接模块解析及简单长连接改造
django 数据库连接模块解析及简单长连接改造工作中纯服务端的项目用到了线程池和django的ORM部分.django 的数据库连接在每一个线程中开启一份,并在查询完毕后自动关闭连接. 线程池处理任 ...