Linux命令记录

雨燕双飞 提交于 2019-11-29 15:41:33

通过进程名查看其占用端口

1、先查看进程pid
ps -ef | grep 进程名

2、通过pid查看占用端口
netstat -nap | grep 进程pid

查看进程

ps 参数
-A
-ef
-aux //显示所有状态
查找nginx相关进程:

ps -ef |grep nginx

关闭进程

杀死进程最安全的方法是单纯使用kill命令,不加修饰符,不带标志。
首先使用ps -ef命令确定要杀死进程的PID,然后输入以下命令:

kill -pid

注释:标准的kill命令通常都能达到目的。终止有问题的进程,并把进程的资源释放给系统。然而,如果进程启动了子进程,只杀死父进程,子进程仍在运行,因此仍消耗资源。为了防止这些所谓的“僵尸进程”,应确保在杀死父进程之前,先杀死其所有的子进程。

确定要杀死进程的PID或PPID

ps -ef | grep httpd
  1. 以优雅的方式结束进程
kill -l PID

-l选项告诉kill命令用好像启动进程的用户已注销的方式结束进程。当使用该选项时,kill命令也试图杀死所留下的子进程。但这个命令也不是总能成功–或许仍然需要先手工杀死子进程,然后再杀死父进程。

  1. TERM信号
    给父进程发送一个TERM信号,试图杀死它和它的子进程。
kill -TERM PPID
  1. killall命令
    killall命令杀死同一进程组内的所有进程。其允许指定要终止的进程的名称,而非PID。
killall httpd
  1. 停止和重启进程
    有时候只想简单的停止和重启进程。如下:
kill -HUP PID

该命令让Linux和缓的执行进程关闭,然后立即重启。在配置应用程序的时候,这个命令很方便,在对配置文件修改后需要重启进程时就可以执行此命令。

  1. 强杀
kill -9 PID
  1. 同样
kill -s SIGKILL

这个强大和危险的命令迫使进程在运行时突然终止,进程在结束后不能自我清理。危害是导致系统资源无法正常释放,一般不推荐使用,除非其他办法都无效。

端口

netstat命令参数:
  -t : 指明显示TCP端口
  -u : 指明显示UDP端口
  -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)
  -p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
  -n : 不进行DNS轮询,显示IP(可以加速操作)

netstat -ntlp   //查看当前所有tcp端口·
netstat -ntulp |grep 80   //查看所有80端口使用情况·
netstat -an | grep 3306   //查看所有3306端口使用情况·

查看进程占用CPU、内存

ps auxw

重启主机

Linux 的五个重启命令
  1、shutdown
  2、poweroff
  3、init
  4、reboot
  5、halt

查看和添加环境变量

Linux下查看和添加环境变量
编辑环境变量的配置文件:

vi /etc/profile

在文件中使用export PATH=/usr/bin:/usr/sbin:/bin:/sbin添加环境变量。
结束后输入命令使得资源生效:

source /etc/profile

解压缩

zip命令
  解压:unzip FileName.zip
  压缩:zip FileName.zip DirName

tar命令
  解包:tar zxvf FileName.tar
  打包:tar czvf FileName.tar DirName

-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件

这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出

文件操作

  1. 新建目录:mkdir 文件夹
  2. 显示用户当前工作目录:pwd
  3. 删除rm [fir] 文件或目录
参数说明:
-f:强制删除
-i:交互模式,在删除前询问用户是否操作
-r:递归删除,常用在目录的删除
  1. 复制CP
格式: CP [选项]  源文件或目录   目的文件或目录
选项说明:-b 同名,备分原来的文件
        -f 强制覆盖同名文件
        -r  按递归方式保留原目录结构复制文件
cp -Rf /home/user1/* /root/temp/
将 /home/user1目录下的所有东西拷到/root/temp/下而不拷贝user1目录本身。
即格式为:cp -Rf 原路径/ 目的路径/
  1. 移动mv
 mv ./WorkReport/web.xml ./WorkReport/WEB-INF/
注:移动/WorkReport/web.xml文件到/WorkReport/WEB-INF/
mv /data/new /data/old/
注:移动/data/new 到/data/old/文件夹下
注意点:移动文件夹的话就不要再加 / 了
如果是移动文件夹下的所有文件的话就可以文件夹后面跟上 /* 
mv /data/new/* /data/old/
  1. 重命名
    将目录A重命名为B
mv A B

Nginx

1.启动:

./nginx -c /usr/local/nginx/conf/nginx.conf

2.重启:
方法一:进入nginx可执行目录sbin下,输入命令./nginx -s reload 即可
方法二:查找当前nginx进程号,然后输入命令:kill -HUP 进程号 实现重启nginx服务

Jenkins 构建通过shell无法启动进程问题

原因:
Jenkins在构建结束后会把额外启动的进程杀死。 到这里知道原因了,那就看怎么解决了。

解决方案:
解决办法其实非常容易,只需要在执行 .sh 文件之前,加上 BUILD_ID=dontKillMe

后台运行java的jar包

//&代表在后台运行。
java -jar shareniu.jar &

//nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
nohup java -jar shareniu.jar &

//输出内容不打印到屏幕上,而是输出到out.file文件
nohup java -jar shareniu.jar >out.file  &  

Zookeeper

//启动服务
bin# ./zkServer.sh start
//配置文件目录
 /home/apache-zookeeper-3.5.5/bin/../conf/zoo.cfg

切换用户

su username

Elasticsearch

创建ES用户和组(创建elasticsearch用户组及es用户)

groupadd elasticsearch
useradd es -g elasticsearch
chown -R es /usr/local/elasticsearch-6.2.3  该命令是更改该文件夹下所属的用户组的权限

创建ES数据文件和日志文件,直接在root用户根目录一下创建就可以了(这个要和下一步配置的里面的路径相同)

mkdir /path
chown -R es /path/
su es 切换用户
mkdir -p to/data
mkdir -p to/logs

启动
首先切换到es用户
su es
进入到bin 目录下执行 ./elasticsearch 命令就可以了
执行 ./elasticesrarch -d 是后台运行
查找ES进程
ps -ef | grep elastic
杀掉ES进程
kill -9 2382(进程号)
重启ES
sh elasticsearch -d

Elastichsearch-head

安装:
elasticsearch-head 安装介绍

启动:
进入elastichsearch-head目录

>nohup grunt server &

终端控制键

Ctrl+C
发送Terminal到当前的程序,强制结束当前的进程
Ctrl+Z
挂起,fg回车后就可以回来,当然可以挂起好多进程到后台,然后fg 加编号就能把挂起的进程返回到前台。配合bg和fg命令进行前后台切换

MongoDB

以配置文件启动:

 ./mongod -f ./ mongodb.conf

mongodb.conf

dbpath=/usr/local/mongodb/data/
logpath=/usr/local/mongodb/logs/mongodb.log
port=27017
auth=true
bind_ip=0.0.0.0,127.0.0.0
logappend=1
#开启mongodb数据库副本集
plogSize=10000
replSet=myDevReplSet

常见命令行操作:
mongodb命令行操作

shell连接:
./mongo ip:port/dbname -u 用户名 -p 密码

启动副本集:
./mongod --replSet myrs --dbpath /usr/local/mongodb/data/27018/ --port 27018 --bind_ip 0.0.0.0 --logpath /usr/local/mongodb/logs/27018/27018.log --fork --keyFile /usr/local/mongodb/bin/keyFile

连接副本集:
任意成员,如 27017 端口:
mongo --port 27019

初始化副本集:
rs.initiate()
查看副本集配置信息:
rs.conf()
配置延迟节点:该节点必须被隐藏,并且不能成为主节点。适用范围:处理一定时间段内的误操作(个人感觉意义不大)
cfg=rs.conf()
cfg.members[1].slaveDelay=60 ##延迟60秒
cfg.members[1].priority=0
cfg.members[1].hidden=true
rs.reconfig(cfg)
rs.conf()

副本集安全认证:
使用keyFile文件
MongoDB复制集安全认证

>use admin
>db.auth("user","pwd")

mongo-connector 连接mongodb与elasticsearch

./mongo-connector -m mongodb://user:pwd@localhost:port  -t localhost:9200 -d elastic_doc_manager

看磁盘内存

查看磁盘Z:
df -k:以KB为单位显示磁盘使用量和占用率
df -m:以Mb为单位显示磁盘使用量和占用率

查看内存:
top
free
cat /proc/meminfo
pmap

free -h

Redis

1.启动服务:

./redis-server /usr/local/redis-3.2.8/conf/redis.conf

2.客户端命令:
连接

 redis-cli -h host -p 6379-a password

清空所有数据库数据

flushall

Tomcat

启动服务:

./startup.sh

进程后台运行

nohup ... &

-daemon

nohup命令、setsid命令、Daemon(守护进程)简要梳理

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!