linux常用命令

1、竖线'|'、双竖线‘||’、&和&&

作用

竖线'|'

管道符的,将‘|’前面命令的输出作为'|'后面的输入

cat /etc/passwd|head -n1

双竖线‘||’

前一条命令为真,则后面的命令不会执行,如果前一条命令为假,则继续执行后面的命令

[[ -f 1.txt ]] || touch 1.txt

判断文件是否存在,不存在则创建,存在就什么都不执行

&

同时执行多条命令,不管命令是否执行成功

[[ 1 -gt 2 ]] & echo b

&&

同时执行多条命令,当碰到执行错误的命令时,将不再执行后面的命令

[[ 1 -lt 2 ]] && echo b2、

2、head 命令

查看文件的开头部分的内容,有一个常用的参数 -n 用于显示行数

head -n 5 runoob_notes.log

显示 notes.log 文件的开头 5 行

3、tail命令

命令

作用

tail notes.log

显示 notes.log 文件的最后 10 行

tail -f notes.log

显示 notes.log 文件的最后 10 行,当将某些行添加至 notes.log 文件时,会继续显示这些行,直到按下(Ctrl-C)组合键停止显示

tail -n +20 notes.log

显示文件 notes.log 的内容,从第 20 行至文件末尾

4、ps -ef | grep命令详解

ps命令

将某个进程显示出来

ps是linux下最常用的也是非常强大的进程查看命令

grep命令

查找

grep全称是Global Regular Expression Print,表示全局正则表达式版本,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

|

管道命令

指ps命令的输出作为grep的输入

以下这条命令是检查java 进程是否存在:ps -ef |grep java

字段含义如下:

UID

PID

PPID

 STIME

TTY  

 TIME

 CMD

root

19855 

 11811 

0

17:50

pts/0 

00:00:00

grep --color=auto java

UID

程序被该 UID 所拥有

PID

就是这个程序的 ID

PPID

则是其上级父程序的ID

C

CPU使用的资源百分比

STIME

系统启动时间

TTY 

登入者的终端机位置

TIME

使用掉的CPU时间

CMD

所下达的是什么指令

5、awk命令

一种处理文本文件的语言,是一个强大的文本分析工具

log.txt文本内容如下:

2 this is a test

3 Do you like awk

This's a test

10 There are orange,apple,mongo

命令

作用

结果

awk '{print $1,$4}' log.txt

打印第1、4列

2 a

3 like

This's

10 orange,apple,mongo

awk -F, '{print $1,$2}'   log.txt

以,为分隔符打印第1、4列

2 this is a test

3 Do you like awk

This's a test

10 There are orange apple

awk -F '[ ,]'  '{print $1,$2,$5}'   log.txt

先以空格为分隔符打印

再以,为分隔符打印

2 this test

3 Are awk

This's a

10 There apple

awk -va=1 '{print $1,$1+a}' log.txt

设置变量a=1

2 3

3 4

This's 1

10 11

6、kill命令

使用 kill -l 命令列出所有可用信号

1 (HUP):重新加载进程

kill -HUP 12345

kill 12345

9 (KILL):强制杀死一个进程

kill -KILL 123456

kill -9 123456

15 (TERM):正常停止一个进程

7、xargs命令

xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令。之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数

8、sudo命令

sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。

命令

含义

sudo -u userb ls -l

指定用户执行命令,不加 -u 参数就是系统管理者 root

sudo -u uggc vi ~www/index.html

以 uggc 用户身份编辑  home 目录下www目录中的 index.html 文件

sudo -iu popo -H

将HOME (家目录)指定为要变更身份的使用者家目录9、

9、shell脚本案例解析
sudo -iu popo -H <<-Code

TERM=xterm ps -ef|grep invitel.sh|grep -v greplawk '{print \$2}'|xargs kill -9

TERM=xterm ps -ef|grep uas_recv_invite1.csv|grep -v greplawk '{print \$2}'|xargs kill -9 TERM=xterm bash /un/sipp-3.4.1/uas/cc_autocodecoverage_kehu_callin/invitel.sh $1 $2 $3 $4 $5 $6 Code

这段Shell脚本使用了Here Document语法(<<-Code),它会将接下来的代码作为一个字符串传递给sudo命令执行。具体解释如下:

sudo -iu popo -H

使用sudo命令以popo用户身份执行脚本,并切换为popo的环境home目录

<<-Code:Here Document语法

表示接下来的代码段是一个以Code为结束符的字符串。

TERM=xterm ps -ef|grep invitel.sh|grep -v greplawk '{print \$2}'|xargs kill -9

查找包含invitel.sh关键字的进程,并发送kill -9信号终止它们的运行。

TERM=xterm ps -ef|grep uas_recv_invite1.csv|grep -v greplawk '{print \$2}'|xargs kill -9

查找包含uas_recv_invite1.csv关键字的进程,并发送kill -9信号终止它们的运行

TERM=xterm bash /un/sipp-3.4.1/uas/cc_autocodecoverage_kehu_callin/invitel.sh $1 $2 $3 $4 $5 $6

执行invitel.sh脚本,并传递$1、$2、$3、$4、$5、$6这六个参数

TERM=xterm是一个环境变量设置命令,它将终端类型设置为xterm。TERM环境变量用于告诉终端应用程序使用什么类型的终端,以便正确地显示文本和控制字符。在这个Shell脚本中,将TERM设置为xterm可能是为了确保在不同的终端环境下正确显示输出。

Here Document是一种shell脚本中的语法,它允许将多行文本作为输入传递给一个命令或脚本。Here Document语法的基本语法是:使用双尖括号(<<)后跟一个标识符来指定输入的结束标记,然后在下一行开始输入文本。输入的文本会一直读取,直到读取到结束标记为止。

你可能感兴趣的:(linux,运维,服务器)