博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
那些年我们踩过的linux坑(1)
阅读量:5084 次
发布时间:2019-06-13

本文共 3877 字,大约阅读时间需要 12 分钟。

一、解决虚拟机的centos Linux无网络

 

这一步为设置物理主机,保证虚拟网关的IP为自动货期,同时本地链接也设置为自动获取。

建立Windows批处理文件xxx.txt改名为xxx.bat

xxx.bat内容net start “VMware DHCP Service”

net start “VMware NAT Service”

用管理员权限执行xxx.bat

进入centos命令行

cd /etc/sysconfig/network-scrips/

ls 查看文件ifcfge-eno+数字

vi ifcfg-eno32

修改ONBOOT=yes

Esc 切换到命令模式 输入:wq保存并退出

Centos 默认不开启网卡,开启网卡

 

重启网络

Service NetworkManager stop

Service network restart

Service NetworkManager start

 Ping

 

如图为Ping通

二、yum update 出现-bash: /usr/bin/yum: /usr/bin/python: bad interpreter错误

-bash: /usr/bin/yum: /usr/bin/python: bad interpreter: Too many levels of symbolic links

或-bash: /usr/bin/yum: /usr/bin/python: bad interpreter: No such file or directory

或which python返回/usr/bin/which: no python in

或which python2返回/usr/bin/which: no python2 in

Linux预装的是Python解释器为2.7版本

符号链接问题。检查是否是链接指向性错误位置

ls -al  /usr/bin/python

解决方法:杀出该链接然后重新创建链接

ln -s /usr/bin/python2.7 /usr/bin/python

rm /usr/bin/python

二三四类属于链接没有指向python2.7

ln -s /usr/bin/python2.7 /usr/bin/python

ln -s /usr/bin/python2.7 /usr/bin/python2

其他自编shell 命令出现此错误-bash: /usr/bin/yum: /usr/bin/python: bad interpreter: No such file or directory可能为

 sh 脚本在windows 系统下记事本文件编写的

修改:修改.sh文件格式

vi test.sh

:set ff  查看到fileformat=dos 或 fileformat=unix

:wq #存盘退出

其实,在windows下通过git bash可以直接编写unix格式.sh

三、yum的卸载与重新安装

查看系统版本uname -r

将现有yum源卸载

rpm -qa yum

rpm -qa | grep yum | xargs rpm -e –nodeps #这一步一定要执行,而且要将所有的组件卸载掉,如果卸载不干净,后面安装会有问题

rpm -qa yum

[root@linux-node3 ~]# wget http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-3.4.3-150.el7.centos.noarch.rpm

[root@linux-node3 ~]# wget http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm

[root@linux-node3 ~]# wget

centos 官网上下载和yum有关的rpm包

wget http://mirror.centos.org…………………….

安装

ls

文件显示

 

rpm -ivh yum-*

rpm -qa yum  #查看是否已经安装上

 

1、不同的操作系统版本,要从官网上下载不同的rpm包,官网地址”http://mirror.centos.org/centos/“,然后根据自己操作系统的版本选择即可。

2、如果出现安装好以后,yum还是不能用的情况,那肯是是原有的yum没有删除干净,再次执行以下命令,重新安装yum即可。

 

rpm -qa|grep yum|xargs rpm -e --nodeps

1

3、如果有需要导入证书的情况,请从官网上找到链接,导入即可

 

rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7

 

1.查看日志常用命令

    tail:  

       -n  是显示行号;相当于nl命令;例子如下:

            tail -100f test.log      实时监控100行日志

            tail  -n  10  test.log   查询日志尾部最后10行的日志;

            tail -n +10 test.log    查询10行之后的所有日志;

    head:  

        跟tail是相反的,tail是看后多少行日志;例子如下:

            head -n 10  test.log   查询日志文件中的头10行日志;

            head -n -10  test.log   查询日志文件除了最后10行的其他所有日志;

    cat: 

        tac是倒序查看,是cat单词反写;例子如下:

            cat -n test.log |grep "debug"   查询关键字的日志

 

2. 应用场景一:按行号查看---过滤出关键字附近的日志

     1)cat -n test.log |grep "debug"  得到关键日志的行号

     2)cat -n test.log |tail -n +92|head -n 20  选择关键字所在的中间一行. 然后查看这个关键字前10行和后10行的日志:

            tail -n +92表示查询92行之后的日志

            head -n 20 则表示在前面的查询结果里再查前20条记录

 

3. 应用场景二:根据日期查询日志

      sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p'  test.log

      特别说明:上面的两个日期必须是日志中打印出来的日志,否则无效;

                      先 grep '2014-12-17 16:17:20' test.log 来确定日志中是否有该 时间点

 

4.应用场景三:日志内容特别多,打印在屏幕上不方便查看

    (1)使用more和less命令,

           如: cat -n test.log |grep "debug" |more     这样就分页打印了,通过点击空格键翻页

    (2)使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析

            如:cat -n test.log |grep "debug"  >debug.txt

 

新增命令 cd 和 rm

rm [options] name...

参数:

 

-i 删除前逐一询问确认。

-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。

-r 将目录及以下之档案亦逐一删除。

实例

删除文件可以直接使用rm命令,若删除目录则必须配合选项"-r",例如:

 

# rm  test.txt

rm:是否删除 一般文件 "test.txt"? y 

# rm  homework 

rm: 无法删除目录"homework": 是一个目录 

# rm  -r  homework 

rm:是否删除 目录 "homework"? y

删除当前目录下的所有文件及目录,命令行为:

 

rm  -r  *

文件一旦通过rm命令删除,则无法恢复,所以必须格外小心地使用该命令。

进入系统根目录cd / 上一级目录cd ..

cd 或 cd ~ 进入主目录

跳转目录 cd /test/test

 

未解决更新python3.7

解决 未安装gcc-c++

Yum install gcc-c++

附带说明gcc与g++/gcc-c++的异同:

gcc为GNU Compiler Collection的缩写,可以编译C和C++源代码等,它是GNU开发的C和C++以及其他很多种语言的编译器(最早的时候只能编译C,后来很快进化成一个编译多种语言的集合,如Fortran、Pascal、Objective-C、Java、Ada、 Go等。)

gcc在编译C++源代码的阶段,只能编译C++源文件,而不能自动和C++程序使用的库链接(编译过程分为编译、链接两个阶段,源程序文件被编译成目标文件,多个目标文件连同库被链接成一个最终的可执行文件,可执行文件被加载到内存中运行)。因此,通常使用g++命令来完成C++程序的编译和连接,该程序会自动调用 gcc 实现编译。

g++也能编译C源代码,只不过把会把它当成C++源代码。后缀为.c的源文件,gcc把它当作是C程序,而g++把它当作是c++程序;后缀为.cpp的,两者都会认为是c++程序。注意,虽然c++是c的超集,但是两者对语法的要求是有区别的。

转载于:https://www.cnblogs.com/orangeZz/p/10230089.html

你可能感兴趣的文章
sublime 配置java运行环境
查看>>
在centos上开关tomcat
查看>>
重启rabbitmq服务
查看>>
正则表达式(进阶篇)
查看>>
无人值守安装linux系统
查看>>
【传道】中国首部淘宝卖家演讲公开课:农业本该如此
查看>>
jQuery应用 代码片段
查看>>
MVC+Servlet+mysql+jsp读取数据库信息
查看>>
黑马程序员——2 注释
查看>>
用OGRE1.74搭建游戏框架(三)--加入人物控制和场景
查看>>
转化课-计算机基础及上网过程
查看>>
android dialog使用自定义布局 设置窗体大小位置
查看>>
ionic2+ 基础
查看>>
互联网模式下我们更加应该“专注”
查看>>
myeclipse集成jdk、tomcat8、maven、svn
查看>>
查询消除重复行
查看>>
Win 10 文件浏览器无法打开
查看>>
HDU 1212 Big Number(C++ 大数取模)(java 大数类运用)
查看>>
-bash: xx: command not found 在有yum源情况下处理
查看>>
[leetcode]Minimum Path Sum
查看>>