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 ...
随机推荐
- paramiko错误信息:Paramiko error: size mismatch in put
在使用paramiko的put往远处服务器上传资源的时候,出现类似下面的错误信息 The code in paramiko's sftp_client.py:putfo() reads at the ...
- linux man 1,2,3 命令
原文: http://blog.sina.com.cn/s/blog_969c52730101c0p7.html ------------------------------------------- ...
- 【智能路由器】让MT7620固件openwrt支持USB
[智能路由器]系列文章连接 http://blog.csdn.net/u012819339/article/category/5803489 首先确定硬件有USB,这个得检查板子是否引出了usb口,一 ...
- Trie树(Prefix Tree)介绍
本文用尽量简洁的语言介绍一种树形数据结构 -- Trie树. 一.什么是Trie树 Trie树,又叫字典树.前缀树(Prefix Tree).单词查找树 或 键树,是一种多叉树结构.如下图: 上图是一 ...
- Ext sqlserver C# 数据库备份还原代码,给大家参考下
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %& ...
- android studio 0.8.1使用和遇到问题解决
谷歌6月底公布了五大系统,而且android studio同步升级到了android studio 0.8.1.升级了的android studio确实有一些新的变化.执行速度变快,而且还能够选择开发 ...
- QML与C++交互:登陆界面设计
QML与C++交互:登陆界面设计 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:WIN7 开发环境:Qt5.2.1 说明: QML设计前 ...
- 中国剩余定理模板&俄罗斯乘法
void ex_gcd(ll a,ll b,ll &d,ll &x,ll &y){ if(!b){d=a;x=1LL;y=0LL;} else {ex_gcd(b,a%b,d, ...
- SuperSocket中的Server是如何初Initialize的
第一个函数 d:\sourcecode\github\supersocket\quickstart\basic\telnetserver_startbyconfig\program.cs static ...
- Angular学习日记(一) 开发环境的搭建
从看视频到自己尝试,总会走很多的弯路才能成功. 首先:装最新版的nodejs. 第一种:使用npm安装 首先设置taobao镜像,npm config set registry https://reg ...