linux stop 命令,Linux下的常用命令

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

运行脚本失败,回车换行符问题

如下报错信息:1-bash: ./start.sh: /bin/bash^M: 坏的解释器: 没有那个文件或目录

查看文件是否有^M换行符存在1

2

3

4

5cat -v start.sh

或者

vi -b start.sh

或者

vi start.sh 后输入命令: :e ++ff=unix start.sh

可以看到整个文件的换行都有^M符号

解决方法使用vi打开脚本文件,输入下面命令1:set ff=unix

使用cat tr命令,注意,这里的^M是Ctrl+V,Ctrl+M输入的1cat start.sh | tr -d "^M" > new_start.sh

使用sed命令替换1sed 's/^M//g' start.sh >new_start.sh

使用vi打开文件,输入下面命令,或者直接使用vi -b 文件名的方式打开文件1:e ++ff=unix start.sh // 以unix格式打开文件

然后执行替换命令,这里的^M也是通过Ctrl+V,Ctrl+M输入的1:%s/^M//g

查看命令可以输入下面指令1

2

3:h ++

:h ff

:h ffs

查找某个文本文件中指定内容数据

比如说日志文件中有userId=1234,date=2018-10-11,我们想获取到所有userId的值,保存到指定文件里面,可以使用下面的命令1cat xxx.log | grep "xxxxxxx" | awk 'BEGIN{FS="userId="} {print $2}' | awk 'BEGIN{FS=",date="} {print $1}' > temp.txt

查找文件内容,返回查找到的内容之前,之后的多少行数据1grep -A 5 -B 5 "userId=6789" xxx.log

查看进程中的线程数1

2

3

4ps -mp [进程ID] | wc -l

ps -Lf [进程ID] | wc -l

ps -T -p [进程ID] | wc -l

top -Hp [进程ID]

查看进程中线程执行了多长时间1ps -mp [进程ID] -o THREAD,tid,time

centos开放端口的方法

centos开放端口方法

1.查看firewalld有没有安装1ps -ef|grep firewalld

2.没有安装安装上1yum install firewalld firewall-config

3.运行、停止、禁用firewalld

启动1systemctl start firewalld

查看状态1systemctl status firewalld 或者 firewall-cmd --state

停止1systemctl disable firewalld

禁用1systemctl stop firewalld

4.查看版本1firewall-cmd --version

查看帮助1firewall-cmd --help

5.显示状态1firewall-cmd --state

查看区域信息1firewall-cmd --get-active-zones

查看指定接口所属区域1firewall-cmd --get-zone-of-interface=eth0

6.查看所有打开的端口1firewall-cmd --zone=public --list-ports

7.加入一个端口到区域:1

2firewall-cmd --zone=public --add-port=6379/tcp

永久生效再加上 --permanent 然后reload防火墙

8.更新防火墙规则:1

2

3firewall-cmd --reload

firewall-cmd --complete-reload

两者的区别就是第一个无需断开连接,就是firewalld特性之一动态添加规则,第二个需要断开连接,类似重启服务

拒绝所有包1firewall-cmd --panic-on

取消拒绝状态1firewall-cmd --panic-off

查看是否拒绝1firewall-cmd --query-panic

设置默认接口区域1firewall-cmd --set-default-zone=public 立即生效无需重启

打开一个服务,类似于将端口可视化,服务需要在配置文件中添加,/etc/firewalld 目录下有services文件夹,这个不详细说了,详情参考文档1firewall-cmd --zone=work --add-service=smtp

移除服务1firewall-cmd --zone=work --remove-service=smtp

Linux Shell编程

获取当前脚本运行目录1

2

3cd `dirname $0`

BIN_DIR=`pwd`

echo $BIN_DIR

遍历目录下的所有文件或文件夹1

2

3

4

5

6

7

8

9for file in $BIN_DIR

do

if test -d $file

then

echo "$file这是个文件夹"

else

echo "$file这是个文件"

fi

done

判断指定路径下是否是文件或文件夹1

2

3

4

5

6if test -f $file/bin/start.sh

then

echo "$file/bin/start.sh文件存在"

else

echo "$file/bin/start.sh文件不存在"

fi

判断文件路径是否存在1

2

3

4

5

6

7

8if test -e $file/bin/startt.sh

then

echo "$file/bin/startt.sh存在"

fi

if test ! -e $file/bin1

then

echo "$file/bin1文件不存在"

fi

判断文件是否可读、可写、可执行1

2

3if test -r $file/bin/start.sh

if test -w $file/bin/start.sh

if test -x $file/bin/start.sh

字符串正则比较1

2

3

4

5

6

7

8for file in $BIN_DIR

do

#支持bash中的通配符扩展

if [[ $file = *.war ]]

then

echo "找到一个war包$file"

fi

done

数字计算1

2

3count=`expr $count + 1`

或者

let "count=$count+1"

使用命令快速跳转目录

在 ~/.bashrc配置文件中配置快捷键对应的命令,然后再source ~/.bashrc1

2

3

4

5

6

7

8

9

10alias dubbo='cd /apps/product/dubbo'

alias tomcat='cd /apps/product/tomcat'

alias tomcatbin='cd /apps/product/tomcat/bin'

alias tomcatweb='cd /apps/product/tomcat/webapps'

alias log1='sh /apps/product/dubbo/log.sh 1'

alias log2='sh /apps/product/dubbo/log.sh 2'

alias log3='sh /apps/product/dubbo/log.sh 3'

alias log4='sh /apps/product/dubbo/log.sh 4'

alias log5='sh /apps/product/dubbo/log.sh 5'

alias logtomcat='tail -f /apps/product/tomcat/logs/*.out'

多个dubbo服务放到同一个目录下,启动脚本和停止脚本如下

启动脚本 start.sh1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37#!/bin/sh

cd `dirname $0`

BIN_DIR=`pwd`

TOMCAT_DIR=/apps/product/tomcat/webapps

echo "开始移动war包..."

for file in $BIN_DIR

do

if [[ $file = *.war ]]

then

echo "找到一个war包$file,移动到文件夹$TOMCAT_DIR目录下"

mv $file $TOMCAT_DIR

fi

done

echo "war包移动完成..."

echo "开始解压tar包..."

for file in $BIN_DIR/*

do

if [[ $file = *.tar.gz ]]

then

echo "开始解压压缩包$file"

tar -zxf $file

rm -rf $file

fi

done

echo "tar包解压完成..."

for file in $BIN_DIR/*

do

if test -d $file

then

if test -f $file/bin/startt.sh

then

sh $file/bin/startt.sh

fi

fi

done

ps -aux | grep java

停止脚本 stop.sh1

2

3

4

5

6

7

8

9

10

11

12

13

14

15#!/bin/sh

cd `dirname $0`

BIN_DIR=`pwd`

echo $0

for file in $BIN_DIR

do

if test -d $file

then

if test -f $file/bin/stop.sh

then

sh $file/bin/stop.sh

fi

fi

done

查看dubbo日志脚本 log.sh

使用方式sh log.sh 11

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19#!/bin/sh

num=$1

cd `dirname $0`

BIN_DIR=`pwd`

count=1

for file in $BIN_DIR

do

if [ -e $file/logs/stdout.log ]

then

if [ $1 -eq $count ]

then

echo "开始查看日志文件$file/logs/stdout.log"

tail -f $file/logs/stdout.log

break;

else

count=`expr $count + 1`

fi

fi

done

用户创建和分组

linux添加用户1adduser app

给用户添加密码1

2

3passwd app

输入密码

输入确认密码

添加分组1groupadd app

删除分组1groupdel app

查看用户所属组1groups app

将用户添加到其它组1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21usermod -a -g app -G root app

-a是append的意思

-g是所属组

-G是所属附加组

附usermod使用说明:

功能说明:修改用户帐号。

语  法:usermod [-LU][-c ][-d ][-e ][-f ][-g ][-G ][-l ][-s ][-u ][用户帐号]

补充说明:usermod可用来修改用户帐号的各项设定。

参  数:

-c  修改用户帐号的备注文字。

-d登入目录>  修改用户登入时的目录。

-e  修改帐号的有效期限。

-f  修改在密码过期后多少天即关闭该帐号。

-g  修改用户所属的群组。

-G  修改用户所属的附加群组。

-l  修改用户帐号名称。

-L  锁定用户密码,使密码无效。

-s  修改用户登入后所使用的shell。

-u  修改用户ID。

-U  解除密码锁定。

删除用户1userdel app

创建完新用户,就会在/etc/passwd文件中有该用户的相关信息

用户切换1su app

切回root用户1su root

修改文件夹及里面的文件所属用户1chown app -R /usr/local/elasticsearch

修改文件夹及里面的文件所属用户组1chgrp app -R /usr/local/elasticsearch

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值