一、解决虚拟机的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的超集,但是两者对语法的要求是有区别的。