linux查看进程中数组,linux手册

1.文件操作命令

ls chgrp chown cd pwd mkdir rmdir cp rm mv ls -[a/l/d] pwd -[P] mkdir -[m/p] cp -[a/d/f/i/p/r/s/u] rm -[fir] mv -[f/i/u]

2.文件查看命令

cat/tac more/less nl head tail cat -[A/b/E/n/T/v] nl -[b/n/w] more [空格 enter /子串 :f q b] less [空格 pagedown pageup /子串 ?子串 n N q] head -[n] tail -[n/f]

3.用户管理命令

useradd userdel usermod passwd groupadd groupdel groupmod /etc/passwd ==>[用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell] /etc/shadow /etc/group useradd -[c/d/g/G/s/u] userdel -[r] usermod -[c/d/g/G/s/u] passwd -[l/u/d/f] groupadd -[g/o]

4.磁盘管理命令

df du disk mkfs fsck mount df [-ahikHTm] du [-ahskm]

5.文本编辑命令

vi vim

输入 底行命令 :wq

6.压缩命令

tar zip unzip

6.ssh链接命令

ssh root@192.168.31.100

7.shell

shell变量

定义变量时,变量名不加美元符号,变量名和等号之间不能有空格

your_name="test" 直接赋值定义

for file in $(ls /etc) 用语句给变量赋值

使用shell变量

echo $your_name

echo ${your_name}

变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界

删除变量

unset variable_name

变量类型

运行shell时,会同时存在三种变量:

1) 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。

2) 环境变量 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。

3) shell变量 shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行

Shell 字符串

字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。单双引号的区别跟PHP类似。

单引号字符串的限制:

单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;

单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用。

双引号的优点:

双引号里可以有变量

双引号里可以出现转义字符

获取字符串长度

string="abcd"

echo ${#string} #输出 4

提取子字符串

以下实例从字符串第 2 个字符开始截取 4 个字符:

string="runoob is a great site"

echo ${string:1:4} # 输出 unoo

注意:第一个字符的索引值为 0。

查找子字符串

查找字符 i 或 o 的位置(哪个字母先出现就计算哪个):

string="runoob is a great site"

echo `expr index "$string" io` # 输出 4

定义数组

在 Shell 中,用括号来表示数组,数组元素用”空格”符号分割开。定义数组的一般形式为:bash支持一维数组(不支持多维数组),并且没有限定数组的大小。

array_name=(value0 value1 value2 value3)

读取数组

读取数组元素值的一般格式是:

${数组名[下标]}

例如:

valuen=${array_name[n]}

使用 @ 符号可以获取数组中的所有元素,例如:

echo ${array_name[@]}

获取数组的长度

获取数组长度的方法与获取字符串长度的方法相同,例如:

# 取得数组元素的个数

length=${#array_name[@]}

# 或者

length=${#array_name[*]}

# 取得数组单个元素的长度

lengthn=${#array_name[n]}

Shell 传递参数

我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……

Shell 基本运算符

表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2,这与我们熟悉的大多数编程语言不一样。

完整的表达式要被 ` ` 包含,注意这个字符不是常用的单引号,在 Esc 键下边。

#!/bin/bash

val=`expr 2 + 2`

echo “两数之和为 : $val” 4

关系运算符

关系运算符只支持数字,不支持字符串,除非字符串的值是数字。

下表列出了常用的关系运算符,假定变量 a 为 10,变量 b 为 20:

运算符说明举例

-eq检测两个数是否相等,相等返回 true。[ $a -eq $b ] 返回 false。

-ne检测两个数是否不相等,不相等返回 true。[ $a -ne $b ] 返回 true。

-gt检测左边的数是否大于右边的,如果是,则返回 true。[ $a -gt $b ] 返回 false。

-lt检测左边的数是否小于右边的,如果是,则返回 true。[ $a -lt $b ] 返回 true。

-ge检测左边的数是否大于等于右边的,如果是,则返回 true。[ $a -ge $b ] 返回 false。

-le检测左边的数是否小于等于右边的,如果是,则返回 true。[ $a -le $b ] 返回 true。

布尔运算符

下表列出了常用的布尔运算符,假定变量 a 为 10,变量 b 为 20:

运算符说明举例

!非运算,表达式为 true 则返回 false,否则返回 true。[ ! false ] 返回 true。

-o或运算,有一个表达式为 true 则返回 true。[ $a -lt 20 -o $b -gt 100 ] 返回 true。

-a与运算,两个表达式都为 true 才返回 true。[ $a -lt 20 -a $b -gt 100 ] 返回 false。

逻辑运算符

以下介绍 Shell 的逻辑运算符,假定变量 a 为 10,变量 b 为 20:

运算符说明举例

&&逻辑的 AND[[ $a -lt 100 && $b -gt 100 ]] 返回 false

||逻辑的 OR[[ $a -lt 100 || $b -gt 100 ]] 返回 true

字符串运算符

下表列出了常用的字符串运算符,假定变量 a 为 “abc”,变量 b 为 “efg”:

运算符说明举例

=检测两个字符串是否相等,相等返回 true。[ $a = $b ] 返回 false。

!=检测两个字符串是否相等,不相等返回 true。[ $a != $b ] 返回 true。

-z检测字符串长度是否为0,为0返回 true。[ -z $a ] 返回 false。

-n检测字符串长度是否不为 0,不为 0 返回 true。[ -n “$a” ] 返回 true。

$检测字符串是否为空,不为空返回 true。[ $a ] 返回 true。

文件测试运算符

文件测试运算符用于检测 Unix 文件的各种属性。

属性检测描述如下:

操作符说明举例

-b file检测文件是否是块设备文件,如果是,则返回 true。[ -b $file ] 返回 false。

-c file检测文件是否是字符设备文件,如果是,则返回 true。[ -c $file ] 返回 false。

-d file检测文件是否是目录,如果是,则返回 true。[ -d $file ] 返回 false。

-f file检测文件是否是普通文件(既不是目录,也不是设备文件),如果是,则返回 true。[ -f $file ] 返回 true。

-g file检测文件是否设置了 SGID 位,如果是,则返回 true。[ -g $file ] 返回 false。

-k file检测文件是否设置了粘着位(Sticky Bit),如果是,则返回 true。[ -k $file ] 返回 false。

-p file检测文件是否是有名管道,如果是,则返回 true。[ -p $file ] 返回 false。

-u file检测文件是否设置了 SUID 位,如果是,则返回 true。[ -u $file ] 返回 false。

-r file检测文件是否可读,如果是,则返回 true。[ -r $file ] 返回 true。

-w file检测文件是否可写,如果是,则返回 true。[ -w $file ] 返回 true。

-x file检测文件是否可执行,如果是,则返回 true。[ -x $file ] 返回 true。

-s file检测文件是否为空(文件大小是否大于0),不为空返回 true。[ -s $file ] 返回 true。

-e file检测文件(包括目录)是否存在,如果是,则返回 true。[ -e $file ] 返回 true。

其他检查符:

-S: 判断某文件是否 socket。

-L: 检测文件是否存在并且是一个符号链接。

流程控制

if else-if else

if else-if else 语法格式:

if condition1

then

command1

elif condition2

then

command2

else

commandN

fi

a=10

b=20

if [ $a == $b ]

then

echo "a 等于 b"

elif [ $a -gt $b ]

then

echo "a 大于 b"

elif [ $a -lt $b ]

then

echo "a 小于 b"

else

echo "没有符合的条件"

fi

for 循环

与其他编程语言类似,Shell支持for循环。

for循环一般格式为:

for var in item1 item2 ... itemN

do

command1

command2

...

commandN

done

无限循环

无限循环语法格式:

while :

do

command

done

或者

while true

do

command

done

或者

for (( ; ; ))

until 循环

until 循环执行一系列命令直至条件为 true 时停止。

until 循环与 while 循环在处理方式上刚好相反。

一般 while 循环优于 until 循环,但在某些时候—也只是极少数情况下,until 循环更加有用。

until 语法格式:

until condition

do

command

done

condition 一般为条件表达式,如果返回值为 false,则继续执行循环体内的语句,否则跳出循环。

以下实例我们使用 until 命令来输出 0 ~ 9 的数字:

#!/bin/bash

a=0

until [ ! $a -lt 10 ]

do

echo $a

a=`expr $a + 1`

done

break countine 用法一致

Shell 函数

linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。

shell中函数的定义格式如下:

[ function ] funname [()]

{

action;

[return int;]

}

linux中的日期处理

在命令后中,直接输入date,系统默认现实的是Thu Sep 10 10:34:21 CST 2020

date “+%Y-%m-%d %H:%M:%S” 格式化输出

date “+%Y-%m-%d” 输出年月日

日期的加减

date -d “+10 day” “+%Y-%m-%d %H:%M:%S” 其中date是当前日期时间,-d是参数,代表显示字符串所指的日期与时间。“+10 day”表示在当前日期时间上加10天,且以年月日时分秒的格式显示出来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值