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 ...
随机推荐
- CentOS+Apache+php无法访问redis的解决方法 Redis server went away
在CentOS下配置Apache+php+redis+phpredis环境.编辑访问redis缓存的php程序test.php,以应用程序方式在后台运行,可成功访问Redis,而在Apache下以网页 ...
- C语言中结构体变量之间赋值
近期,我阅读了某新员工小刘写的C语言代码,发现其对结构体变量之间的赋值不是非常熟悉. 对于两个同样类型的结构体变量,他均採用的是逐个成员变量直接赋值的形式.例如以下的代码演示样例: 如上代码所看到的, ...
- 软考之J2SE
特别感谢软考让我如今就接触了神奇的java.曾经尽管真不知道java是个神马,看完马士兵的视频发现里面的东西并不陌生.有vb,c++,c#做基础加上这次的J2SE发现原来编程语言有非常多同样的特性.也 ...
- UGUI 实现Button长按效果(RepeatButton)
Tag:加入了一个延迟,在button按下状态一段时间后再開始 repeate using UnityEngine; using UnityEngine.Events; using UnityEngi ...
- OSX:不同OSX版本号的标记可能不兼容
现象: 依据測试,中文OS X 10.9和中文10.10的文件标记彼此不兼容. 也就是说.比方在10.9中的颜色标记,在10.10DP2中不能删除,但能够加入/删除10.10自己的颜色标记,反之亦然. ...
- 2016/1/12 String 笔记整理
String 简介 文件名 Teststring 有实例 String类 即字符串类型,并不是Java的基本数据类型,但可以像基本数据类型一样使用,用双 ...
- beego3---gohttp底层实现
package main //gohttp底层实现,通过gohttp不是通过beego实现的输出 // import ( "io" "log" "ne ...
- git ignore的一些技巧
当想要ignore的部分已经纳入版本控制的时候,可以使用 git rm --cache -rf cache 来强制ignore
- Minimizing Maximizer
题意: 最少需要多少个区间能完全覆盖整个区间[1,n] 分析: dp[i]表示覆盖[1,i]最少需要的区间数,对于区间[a,b],dp[b]=min(dp[a...b-1])+1;用线段树来维护区间最 ...
- 51Nod 1450 闯关游戏 —— 期望DP
题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1450 期望DP: INF 表示这种情况不行,转移时把不行的概率也转 ...