查看CPU信息、内存信息
先普及两个基本概念:
总核数 = 物理CPU个数 X 每颗物理CPU的核数
总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
查看cpu个数:
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
物理CPU:physical id就是每个物理CPU的ID,你能找到几个physical id就代表你的计算机实际有几个CPU
查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq
查看逻辑cpu个数
cat /proc/cpuinfo| grep "processor"| wc -l
查看cup型号
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c # 输出: 4 Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GHz
逻辑CPU:操作系统可以使用逻辑CPU来模拟出真实CPU的效果。在之前没有多核处理器的时候,一个CPU只有一个核,而现在有了多核技术,其效果就好像把多个CPU集中在一个CPU上。当计算机没有开启超线程时,逻辑CPU的个数就是计算机的核数。而当超线程开启后,逻辑CPU的个数是核数的两倍。实际上逻辑CPU的数量就是平时称呼的几核几线程中的线程数量
相应的,查看内存信息(不做过多介绍了):
cat /proc/meminfo
RPM和yum
wget、yum与apt-get用法及区别
RedHat 系列
1、常见的安装包格式 rpm包,安装rpm包的命令是“rpm -参数”
2、包管理工具 yum
3、支持tar包
安装:yum install
卸载:yum remove
更新:yum update
Debian系列
1、常见的安装包格式 deb包,安装deb包的命令是“dpkg -参数”
2、包管理工具 apt-get
3、支持tar包
安装:apt-get install
卸载:apt-get remove
更新:apt-get update
wget不是安装方式,它是一种下载工具,类似于迅雷。如果要下载一个软件,可以直接运行:wget 下载地址
如果当前Linux未安装wget,可按下列操作进行安装和检查是否安装成功:
1.sudo apt-get update
2.sudo apt-get install wget
3.wget --version
使用wget下载一个 rpm包, 然后用 rpm -ivh xxx.rpm 安装这个软件,嫌麻烦的话,就可以直接用 yum install sqoop 来自动下载和安装依赖的rpm软件。
软件包分类
RPM包:一种用于互联网下载包的打包以及安装工具。它包含在某些Linux分发版本中。扩展名:.rpm。Redhat Pachage Manager的缩写。类似windows中的setup.exe。Linux发型版本很多都采用,可以说是公认的行业标准了。
二进制包(Binary)以及源代码包(Source)两种。二进制包可以直接安装在计算机中,而源代码包将会由 RPM自动编译、安装。源代码包经常以src.rpm作为后缀名。
常用参数:
-i, --install install package(s)
-v, --verbose provide more detailed output
-h, --hash print hash marks as package installs (good with -v)
--replacepkge 无论软件包是否已被安装,都强行安装软件包
–test 安装测试,并不实际安装
–force 忽略软件包及文件的冲突
常用命令组合:
-ivh:安装显示安装进度–install–verbose–hash
-Uvh:升级软件包–Update;
-e:删除包(卸载) 备注:如果其它包依赖于你这个包,那会报错的。如果我们就是要删除这个包,可以增加参数 --nodeps,就可以强制删除了,但是一般不推荐这么做 rpm -e --nodeps redis
例子:
rpm -q redis //查询程序是否安装
rpm -ivh /media/cdrom/RedHat/RPMS/redis-3.0.10-1.4E.i386.rpm //按路径安装并显示进度
rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm //指定安装目录
rpm -qa | grep httpd #[搜索指定rpm包是否安装]–all搜索httpd
rpm -qpR file.rpm #[查看包]依赖关系
rpm -qi redis 查看软件包的基本信息
yum
yum是一个Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装好。可以自动处理依赖关系,硬切一次性安装所有依赖的软件包,使用yum的前提是需要联网。
无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
yum的命令形式一般是如下:yum [options] [command] [package ...]
1 安装
yum install 全部安装
yum install package1 安装指定的安装包package1
yum groupinsall group1 安装程序组group1
2 更新和升级
yum update 全部更新
yum update package1 更新指定程序包package1
yum check-update 检查可更新的程序
yum upgrade package1 升级指定程序包package1
yum groupupdate group1 升级程序组group1
3 查找和显示
yum info package1 显示安装包信息package1
yum list 显示所有已经安装和可以安装的程序包
yum list package1 显示指定程序包安装情况package1
yum groupinfo group1 显示程序组group1信息yum search string 根据关键字string查找安装包
4 删除程序
yum remove | erase package1 删除程序包package1
yum groupremove group1 删除程序组group1
yum deplist package1 查看程序package1依赖情况
5 清除缓存
yum clean packages 清除缓存目录下的软件包
yum clean headers 清除缓存目录下的 headers
yum clean oldheaders 清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 清除缓存目录下的软件包及旧的headers
将yum默认的下载源更换为国内的源能使下载速度更快。推荐选择阿里的源
Linux中profile、bashrc、bash_profile之间的区别和联系
具体参考链接:Linux中profile、bashrc、bash_profile之间的区别和联系
Linux source命令与export命令的区别
具体参考:linux source命令与export命令的区别
export 变量名=变量值 (功能描述:将shell变量输出为环境变量)
course 配置文件 (功能描述:让修改后的信息立即生效)
echo $变量名 (功能描述:查看环境变量的值)
分号&&和&,|和||说明与用法
在用linux命令时候,我们可以一行执行多条命令或者有条件的执行下一条命令
“;”分号用法
方式:command1 ; command2
用;号隔开每个命令, 每个命令按照从左到右的顺序,顺序执行, 彼此之间不关心是否失败, 所有命令都会执行。
“| ”管道符用法
方式:command1 | command2 上一条命令的输出,作为下一条命令参数
Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。连续使用管道意味着第一个命令的输出会作为 第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推
“&”符号用法
&放在启动参数后面表示设置此进程为后台进程 方式:command1 &
默认情况下,进程是前台进程,这时就把Shell给占据了,我们无法进行其他操作,对于那些没有交互的进程,很多时候,我们希望将其在后台启动,可以在启动参数的时候加一个’&'实现这个目的。
“&&”符号用法 和 “||”符号用法
shell 在执行某个命令的时候,会返回一个返回值,该返回值保存在 shell 变量 $? 中。当 $? == 0 时,表示执行成功;当 $? == 1 时(我认为是非0的数,返回值在0-255间),表示执行失败。
有时候,下一条命令依赖前一条命令是否执行成功。如:在成功地执行一条命令之后再执行另一条命令,或者在一条命令执行失败后再执行另一条命令等。
shell 提供了 && 和 || 来实现命令执行控制的功能,shell 将根据 && 或 || 前面命令的返回值来控制其后面命令的执行。
语法格式如下:
格式:command1 && command2 [&& command3 …]
只有在 && 左边的命令返回真(命令返回值 $? == 0),&& 右边的命令才会被执行。
只有在 || 左边的命令返回假(命令返回值 $? == 1),|| 右边的命令才会被执行。这和 c 语言中的逻辑或语法功能相同,即实现短路逻辑或操作。
举例,ping命令判断存活主机
ping -c 1 -w 1 192.168.1.1 &> /dev/null && result=0 ||result=1 if [ "$result" == 0 ];then echo "192.168.1.1 is UP!" else echo "192.168.2.1 is DOWN!" fi
比如定时任务:
0 10 * * * cd /opt/sayabc/script/appoint && /opt/sayabc/script/venv/bin/python3.5 little_interview_before.py >> /opt/sayabc/script/appoint/little_interview.log