工作中实用的linux命令

            Linux机器常见问题处理

 
 
 
 

1、 查询linux机器的版本信息:

 1. cat /etc/redhat-release(查看linux版本当前操作系统发行版信息)
 2. getconf LONG_BIT (查看linux系统是多少位的)

2、 查看CPU信息(型号):

 1. cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq –c

3、 查看资源利用:

 1. top(输入1 可展开cpu核数)
 2. cat /proc/meminfo
 3. free –g
 4. df -h
 5. echo 1 > /proc/sys/vm/drop_caches(如果让操作系统重新分配内存将1改为0即可)

4、 查看机器型号:

 1. dmidecode | grep "Product Name"

5、 查看本机ip以及网卡信息:

 1. dmesg | grep -i eth
 2. ifconfig
 3. watch cat /proc/net/dev(哪个流量大,就是当前使用的网卡)

6、 linux用户操作:

 1> 创建用户:

 - (useradd test password test)
 - useradd test -p test
 - groupadd  gro1    --新建用户组
 - gpasswd  -a  test  gro1   --将test用户添加到gro1用户组中
 - gpasswd -d   test  gro1   --将test用户从gro1用户组中移出

 删除用户:

 - userdel  -r  test;    对应文件也删除

 2> 修改用户名密码:

 - passwd test

 3> Su root和su – root切换用户的区别:

 - 第一种只是会切换到root用户,但是shell环境变量用的还是原来用户的,第二种切换后,shell环境变量也会切换到root的变量环境

切换用户快捷方式补充:su - test切换到test用户后,ctrl+D可以logout(快速推出当前用户),退回到root

 4> 普通用户赋予root权限:

root用户下,执行visudo: 对应位置填上以下配置
youuser     ALL=(ALL)     ALL
%youuser     ALL=(ALL)     ALL
youuser     ALL=(ALL)     NOPASSWD: ALL
%youuser    ALL=(ALL)     NOPASSWD: ALL

 5> 查看用户属于哪个组:

groups test (groups查看当前用户所属的组)
chown -R user:group file  修改文件的属主用户(注意这里-R是大写,意思是遍历文件夹下面所有子文件夹或文件,全部赋权给指定用户和用户组)

 6> su和sudo的区别:

su表示切换用户
sudo表示临时使用root权限

7、 操作命令集:
 
 1> 创建一个文件夹: mkdir test,补充:创建一个带子文件夹的文件,可以用 mkdir -p A/B
 2> 复制一个文件到另一个文件夹local下: cp test.txt /usr/local
 3> 移动一个文件到另一个文件夹local下: mv test.txt /usr/local
 4> 删除一个文件test.txt:rm -f test.txt
 5> 删除一个文件夹test:rm -rf test(参数r的意思是向下递归,不管有多少级目录,全部删除)
 6> 编辑文件:
  vi test.txt(或者 vim test.txt):

1、vi命令下有三种模式,一种是编辑模式,一种是插入模式,一种是命令模式
2、输入insert进入插入模式,然后可以对文本编辑,编辑完之后,按esc退出编辑模式,输入:进入命令模式,wq保存文件退出,q!不保存强制退出
搜索关键字: /关键字 n 向下搜索 N 反向搜索 ?/关键字 向上搜索
3、删除一行: dd
4、删除多行: ndd
5、撤销上一步:u
6、翻页命令: ctrl+f前一页、ctrl+b后一页
7、查找关键字: 输入/加自己的关键字
8、复制:ctrl+insert 粘贴:shift+insert

 7> 查找文件:

1、在当前路径下查找扩展名为txt的文件: find ./ -type f -name “*.txt”
2、显示当前路径: pwd
3、查找文件安装路径如mysql: whereis mysql which、locate、whereis命令的区别,两者都可以查询系统中的可执行文件的路径,而不同之处是,which只能查找加入path的可执行文件,whereis还可以搜索非path的可执行文件,以及man文件等。
which可以搜索一些系统命令,即在usr目录下的一些命令,比如which cat; which
find等,如果安装了mysql,还可以which mysql。 whereis也是来搜索命令的,但是同时会搜索出命令对应的帮助文档
locate是纯粹来搜索文件路径的 ​​
在这里插入图片描述
                (which和whereis命令结果) ​​
在这里插入图片描述
                (locate命令结果)
4、查找某个文件所在的位置: locate my.cnf
5、根据文件名关键字模糊查找文件所在位置: find / -name ‘tomcat

 8> 修改文件权限:

1、ll命令可以查看某个文件夹下所有文件的权限,权限参数解释: 权限是3个一组,
 【-】1【rwx】234【r-x】567【r–】890
 1代表文件是目录还是文件,234代表拥有者的权限,567代表同用户组用户权限,890代表其他用户权限
2、chmod u+(-/=)rwx 1.txt 或者chmod 777 test.txt 给文件赋予rwx权限,参数解释: u(文件拥有者)、g(group用户组)、o(other其他用户)、a(all)
3、修改文件的所有者: chown mdmp:mdmp B*,参数解释:mdmp是所有者,后一个mdmp是所属于的组,B*是以B开头的所有文件

 9> 解压文件:

1、zip格式解压 unzip test.zip
2、tar.gz文件解压tar –zxvf test.tar.gz 10> 日志文件处理:
1、日志文件过滤查询: cat test.log|grep xx 、more test.log|grep xx
2、大日志文件的处理:先用cat grep结合过滤,然后讲过滤的文件保存起来,再通过vi来查看日志步骤: cat big.log|grep xx > 1.log vi 1.log(使用/搜索)
3、修改linux机器时间: date –s ’16:29:30 2019/05/09’。进程虚拟机重启后系统时间就不准了,需要修改时间来查日志
4、less text.log,使用/来搜索字符串。less和more的区别:more查看日志不能后退,less加上了这个功能,Linux流传这样一句话"less
is more",可以根据两个命令的特点来选择使用哪个。
5、清屏:ctrl+l

8、进程处理操作:
 
 1> jps 或者 ps –ef|grep java 查看已经启动的java进程
 2> kill -9 pid(进程号) 注意:ps –ef|grep XX 查出来的进程信息中,第一个id是进程的 id,第二个id是进程的父id, 不要杀错
 3> 查看占用端口进程号

netstat -nap | grep 9836

lsof -i:占用端口

 4> 查询某个进程开启的端口是多少?

ps -ef|grep 进程名 这一步查到PID(进程号)
netstat -nap|grep PID 查询到端口信息

9、防火墙操作:
 
 1> centOs7以前,系统使用的防火墙是iptables,开启关闭防火墙命令:

service iptables stop/status/start

 2> centOs7使用的防火墙是firewalld,systemctl start/status/stop firewalld
 3> firewalld开放某个端口:

firewall-cmd --zone=public --add-port=8180/tcp –permanent
firewall-cmd –reload firewall-cmd --list-ports systemctl restart
firewalld.service

 4> iptables防火墙端口开放:

iptables -A INPUT -p tcp --dport 22 -j ACCEPT /etc/init.d/iptables
save

 5> firewalld防火墙出现了异常,无法关闭(有报不知名的错误):

1、一种解决办法: 升级firewalld,yum update firewalld 升级完之后,防火墙自动就关闭了
2、第二种解决办法,直接杀掉firewalld的进程

10、远程连接问题:
 
 1> 远程连接工具xshell或secureCRT无法连接:

1、检查是不是sshd服务的问题:service status/start/stop sshd(操作)

11、项目部署:
 
 1> jar包启动:

1、java -jar xx.jar 启动,日志会显示在当前窗口
2、nohup java -jar xx.jar & 加了&,默认jar会在后台启动,可以ctrl+c终止, 进行其他操作
3、清理操作日志: echo “”>XX.log
4、杀掉多个已知进程名的进程脚本:
 #!/bin/sh
  string=“data-registry,data-publish-biz,data-gateway,mdmp-1.3-nbg”(这里是变量,可以输入多个进程名)
 array=(${string//,/ })
  for var in ${array[@]}
 do
 ps -ef |grep $var|grep -v grep| awk ‘{print $2}’|xargs kill -9
  done
注:windows工具下编辑出来的sh脚本文件是windows格式的,在linux机器上要转换为unix格式(文本工具都可以转换),要不执行脚本会不识别其中的换行等字符

12、创建证书连接
 

说明:两台机器通过证书建立信任关系,秘钥的生成跟机器没有任何关系,只要有公钥和私钥就可以连接 1)使用ssh-keygen命令生成公私钥在这里插入图片描述
​​ 可以看到/root/.ssh目录下已经生成了对应的公私钥对 ​​
在这里插入图片描述
2)将公钥信息写入到私钥登录时的校验文件(机器上没有这个文件authorized_keys,需要手动创建,然后将公钥信息写入其中)
在这里插入图片描述 ​​
3)将私钥信息分发到需要使用私钥登录的用户手中

13、手机SSH连接linux服务器:
 

下载juiceSSH app(应用市场都有),然后新建连接即可(免费好用,界面清爽,UI漂亮,一个柠檬) IOS的可以下载Termius

14、常见的linux系统以及区别
 
 1> linux发行厂商:redhat、ubuntu、debian、suse、redflag(中科院研发)
 2> 常见linux系统区别:centos、redhat的区别

1、首先,两者的联系:redhat提供linux的开源,centos是在其基础上的一个克隆版本,redhat的两系列linux产品:一类是免费的Fedora
Core,主要用户桌面版本,另一类是收费的Enterprise系列,包括AS/ES/WS分支,Red Hat Enterprise
Linux:redhat的企业版本,简写:RHEL
2、centOs与redhat区别
在这里插入图片描述

      ​​

15、ping www.baidu.com时候ping不通,不能识别host这个问题说明缺少DNS服务器配置。

在 etc/resolv.conf 文件中,添加:nameserver 114.114.114.114 即可
注:resolv.conf文件是各种操作系统域名系统解析器(DNS Resolver)的配置文件。每当一个程序需要通过域名来访问Internet上面的其它机器时,需要利用Resolver库函数将域名转换成对应的IP,然后才可以进行访问。

16、linux上各个文件夹的作用

/bin   一般存放linux系统的常用命令 比如: ls、cat、mkdir等 /sbin 一般存放系统级别的管理命令和程序 比如:ifconfig等
/usr  一般存放系统应用程序
/opt  额外安装的应用程序可以存放在这里 比如: tomcat等
/dev  存放外接设备文件(磁盘等)
/etc  存放系统管理和配置文件
/proc  系统内存的映射,可以直接访问这个目录来获取系统的信息
/var  存放运行时需要改变数据的文件,也是某些大文件的溢出区,比如各种服务的日志文件
/tmp  存放各种里临时文件

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

anmu4200

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值