Linux常用指令

1、返回root
su root

2、在系统中查找某目录/文件夹
find / -name "你的文件名,引号不用写"
中断执行查询操作
ctrl + c

3、在当前目录找某软件是否安装,whereis

#在linux里,怎样寻找mongodb安装的位置?
find / -name mongodb
locate mongodb
whereis mongodb
which mongodb


4、默认vim打开后是不能录入的,需要按键才能操作,具体如下:
开启编辑:按“i”或者“Insert”键
退出编辑:“Esc”键
退出vim:“:q”
保存vim:“:w”
保存退出vim:“:wq”
不保存退出vim:“:q!”

5、mysql操作

a、退出  exit,如果没有生效,先ctrl+c
b、登录

mysql -u 用户名 -p
# 例如
mysql -u root -p

c、查看最大空闲时间并且修改,mysql的8小时经典问题,即mysql的连接“隔夜失效”问题

# 查询空闲时间
show variables like '%timeout%'; 

# 设置
set global wait_timeout=86400;

# 再设置
set global interactive_timeout=86400;

效果如图所示,wait_timeout是28800,即8小时(8*60*60);

ps:遇到了一个奇葩的问题,linux运行正常,navicat连接报以下错误,则ip:3306访问网络连接异常,防火墙又是打开的,80端口都正常

 原因:因为使用的是腾讯云,腾讯云策略的端口不包含3306,需要添加策略

ps:阿里云更离谱,所有的端口都不开放(找寻公司的运维同事了解到的)

 

6、nginx 启动,重启,关闭
a、测试配置文件是否正确(后面可忽略)
进入nginx安装目录sbin下,输入命令./nginx -t,
看到如下显示nginx.conf syntax is ok
nginx.conf test is successful
说明配置文件正确!
b、进入nginx可执行目录sbin下,输入命令

// 启动
./nginx -s start  
// 重启
./nginx -s reload
// 停止
./nginx -s stop
#linux nginx启动 如
[root@LinuxServer sbin]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

检查nginx是否已经启动,查看nginx配置是否正确,查看nginx日志

ps -ef | grep nginx

注意:如果nginx没有启动,执行重启命令是无效且抛出错误

7、linux 下如何回到根目录?
cd www , 意思是 到www目录;
cd .. , 意思是到上一级目录;
cd - ,意思是返回到上次的目录,类似windows返回 ;
cd /,意思是回到根目录。


8、redis相关操作
a、查询redis安装目录  whereis redis-cli
b、redis 启动  进入到redis安装的bin目录 redis-server

// 502错误 1、启动nginx 2、启动redis 3、启动项目

// 查看nginx是否启动
ps -ef | grep nginx

// 启动nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

// 查看redis安装目录
whereis redis

// 查看redis是否启动
ps -ef | grep redis

// 进入redis安装目录
cd /opt/redis/bin/

// 启动redis,然后新开窗口
./redis-server

// 进入redis安装目录
cd /opt/redis/bin/

// 设置redis密码
redis-cli

// 设置密码
config set requirepass "glh@5...."

// 登录redis
auth glh@5....

// 进入目录
cd /opt/weiliao/daka/

c、查看keys  进入到redis安装的bin目录 redis-cli  然后 keys *

d、设置默认密码

config set requirepass "123456"

e、redis登录

auth 密码

f、redis关闭

ps -ef | grep redis

kill -9 xxx

g、shutdown后退出

exit

9、tomcat启动、重启、关闭

打开终端  
cd /www/server/tomcatN/apache-tomcat-8.5.34/bin/
#执行  
bin/startup.sh #启动tomcat  
bin/shutdown.sh #停止tomcat  
tail -f logs/catalina.out #看tomcat的控制台输出;  
   
#看是否已经有tomcat在运行了  
ps -ef |grep tomcat  
#如果有,用kill;  
kill -9 pid #pid 为相应的进程号  
   
例如 ps -ef |grep tomcat 输出如下  
sun 5144 1 0 10:21 pts/1 00:00:06 /java/jdk/bin/java -  
  
Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -  
  
Djava.endorsed.dirs=/java/tomcat/common/endorsed -classpath :/java/tomcat/bin/bootstrap.jar:/java/tomcat/bin/commons-logging-api.jar -Dcatalina.base=/java/tomcat-  
  
Dcatalina.home=/java/tomcat -Djava.io.tmpdir=/java/tomcat/temp org.apache.catalina.startup.Bootstrap start  
   
则 5144 就为进程号 pid = 5144  
kill -9 5144 就可以彻底杀死tomcat  
   
#直接查看指定端口的进程pid  
netstat -anp|grep 9217  
#结果为 tcp        0      0 :::9217                     :::*                        LISTEN      26127/java  
#则26127为9217这个端口的tomcat进程的pid,然后就可以kill这个进程  
kill -9 26127  
#然后再启动tomcat即可  

10、使用true命令重定向清空文件

[root@localhost logs]# du -h catalina.out
448K catalina.out
[root@localhost logs]# true > catalina.out
[root@localhost logs]# du -h catalina.out
0 catalina.out

如果删除之后,内容仍在,那么直接删除该文件,新建一个

11、进程相关

#查看服务器所有端口
netstat -ntlp

#指定端口,例8080
netstat -ntlp |grep 8080

#查看进程号
ps -aux | grep xxx(进程名)

#查看进程号所属进程所在的目录
ls -l /proc/xxx(进程号)/exe

#杀死进程
kill -9 xxx(进程号)

#删除文件
rm -f xxx(文件名)

12、ps -ef和 ps -aux区别

-ef是System V展示风格,而aux是BSD风格。 

COMMADN列如果过长,aux会截断显示,而ef不会

如果想查看进程的CPU占用率和内存占用率,可以使用aux 

如果想查看进程的父进程ID和完整的COMMAND命令,可以使用ef

综合,推荐使用 -ef

13、防火墙相关

#查看防火墙状态
sudo systemctl status firewalld

# 开启防火墙
sudo service firewalld start

# 重启防火墙
sudo service firewalld restart

# 关闭防火墙
sudo service firewalld stop

# 查看开启并激活使用中的端口
netstat -ntlp

#查看已开启端口
sudo firewall-cmd --list-ports

#打开单个端口:
firewall-cmd --zone=public --add-port=80/tcp --permanent

#打开多个端口:-permanent  为永久生效,不加为单次有效(重启失效)
firewall-cmd --zone=public --add-port=20000-29999/tcp --permanent

#查看开启端口:
netstat -ntlp 或:firewall-cmd --list-ports

#关闭端口命令:
firewall-cmd --zone= public --remove-port=80/tcp --permanent

#查看端口是否打开
firewall-cmd --zone= public --query-port=80/tcp

#查看防火墙设置开机自启是否成功:
systemctl is-enabled firewalld.service;echo $?

# 防火墙重启后,需要重启docker docker
systemctl restart docker

13、查看某个端口相关进程,并杀死

netstat -apn|grep XXXX[端口号]

14、mysql 相关

a、查看mysql是否启动

# service mysqld status
或者
# service mysql status 

(若出现此问题,找到该文件删除即可)

b、mysql 启动

service mysqld start

15、Permission denied

解决方法:输入命令 sudo chmod -R 777  /工作目录,

例如:sudo chmod -R 777 /home/HDD

16、日志查看  linux查看日志的几种方法 - 石铭 - 博客园

tail、head、 cat、tac、sed、less、echo

1、命令格式: tail       [必要参数]     [选择参数]     [文件]

-f 循环读取

-q 不显示处理信息

-v 显示详细的处理信息

-c<数目> 显示的字节数

-n<行数> 显示行数

-q, --quiet, --silent 从不输出给出文件名的首部

-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

tail -n 100 catalina.out 查询日志尾部最后100行的日志;

tail -n +100 catalina.out 查询100行之后的所有日志;

tail -fn 100  catalina.out 循环实时查看最后100行记录(最常用的)

配合着grep用, 例如 : tail -fn 100 catalina.out | grep   -- '关键字'

如果一次性查询的数据量太大,可以进行翻页查看,

例如:tail -n 6000  catalina.out |more -100 可以进行多屏显示(ctrl + f 或者 空格键可以快捷键)

17、删除文件

删除文件夹实例:
rm -rf /var/log/httpd/access
将会删除/var/log/httpd/access目录以及其下所有文件、文件夹

删除文件使用实例:
rm -f /var/log/httpd/access.log
将会强制删除/var/log/httpd/access.log这个文件

18、通过pid查看端口号

netstat -nap|grep pid
netstat -anp|grep pid
netstat -nlp|grep pid

19、查看内存

free -h

20、PM2

pm2 list    查看启动的服务列表
pm2 show id号    查看对应id号的详细服务情况
pm2 start name(服务名)    启动服务
pm2 stop name(服务名)    终止服务
pm2 restart name(服务名)    重启服务
pm2 delete name(服务名)    删除服务
pm2 kill name(服务名)    杀死服务
pm2 logs name(服务名)    查看服务执行日志
pm2 logs name(服务名)    查看服务日志

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值