1) Linux 运维工程师在进行服务器集群管理时,需要编写Shell 程序来进行服务器管理。
2) 对于JavaEE 和Python 程序员来说,工作的需要,你的老大会要求你编写一些Shell 脚本进行程序或者是服务器 的维护,比如编写一个定时备份数据库的脚本。
3)对于大数据程序员来说,需要编写Shell 程序来管理集群。
Shell 是一个命令行解释器,它为用户提供了一个向Linux 内核发送请求以便运行程序的界面系统级程序,用户可以用Shell 来启动、挂起、停止甚至是编写一些程序.
1) 脚本以#!/bin/bash 开头
2) 脚本需要有可执行权限
创建一个Shell 脚本,输出hello world!
vim myshell.sh
#!/bin/bash
echo "hello world!"
方式1(输入脚本的绝对路径或相对路径)
1) 首先要赋予helloworld.sh 脚本的+x 权限
2) 执行脚本
方式2(sh+脚本),不推荐
说明:不用赋予脚本+x 权限,直接执行即可
chmod 744 myshell.sh
./myshell.sh 相对路径
/root/shell/myshell.sh 绝对路径
一种用于互联网下载包的打包及安装工具,它包含在某些 Linux 分发版中。它生成具有.RPM扩展名的文件。RPM 是RedHat Package Manager(RedHat 软件包管理工具)的缩写,类似windows的setup.exe,这一文件格式名称虽然打上了RedHat 的标志,但理念是通用的。
Linux 的分发版本都有采用(suse,redhat, centos 等等),可以算是公认的行业标准了。
查询已安装的rpm 列表 rpm –qa|grep xx
请查询看一下,当前的Linux 有没有安装 firefox
rpm -qa | grep firefox
一个rpm 包名:firefox-45.0.1-1.el6.centos.x86_64.rpm
名称:firefox
版本号:45.0.1-1
适用操作系统: el6.centos.x86_64
表示centos6.x 的64 位系统
如果是i686、i386 表示32 位系统,noarch 表示通用
rpm -qa :查询所安装的所有rpm 软件包
rpm -qa | more [分页显示]
rpm -qa | grep X [rpm -qa | grep firefox ]
rpm -q 软件包名 :查询软件包是否安装
rpm -qi 软件包名 :查询软件包信息
rpm -qi file
rpm -ql 软件包名 :查询软件包中的文件
rpm -qf 文件全路径名 查询文件所属的软件包
基本语法
rpm -e RPM 包的名称
1) 删除firefox 软件包
rpm -e firefox
1) 如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息。
如: $ rpm -e foo
removing these packages would break dependencies:foo is needed by bar-1.0-1
2) 如果我们就是要删除 foo 这个 rpm 包,可以增加参数 --nodeps ,就可以强制删除,但是一般不推荐这样做,因为依赖于该软件包的程序可能无法运行
如:$ rpm -e --nodeps foo
带上 --nodeps 就是强制删除。
基本语法
rpm -ivh RPM 包全路径名称
参数说明
i=install 安装
v=verbose 提示
h=hash 进度条
1) 演示安装firefox 浏览器
步骤先找到 firefox 的安装 rpm 包,你需要挂载上我们安装 centos 的 iso 文件,然后到/media/下去找rpm 找。
cp firefox-45.0.1-1.el6.centos.x86_64.rpm /opt/
cd /opt/
rpm -ivh firefox-45.0.1-1.el6.centos.x86_64.rpm
一些基本命令
uname -m 显示机器的处理器架构
uname -r 显示正在使用的内核版本
dmidecode -q 显示硬件系统部件
(SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性
hdparm -tT /dev/sda 在磁盘上执行测试性读取操作系统信息
arch 显示机器的处理器架构
uname -m 显示机器的处理器架构
uname -r 显示正在使用的内核版本
dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)
hdparm -i /dev/hda 罗列一个磁盘的架构特性
hdparm -tT /dev/sda 在磁盘上执行测试性读取操作
cat /proc/cpuinfo 显示CPU info的信息
cat /proc/interrupts 显示中断
cat /proc/meminfo 校验内存使用
cat /proc/swaps 显示哪些swap被使用
cat /proc/version 显示内核的版本
cat /proc/net/dev 显示网络适配器及统计
cat /proc/mounts 显示已加载的文件系统
lspci -tv 罗列 PCI 设备
lsusb -tv 显示 USB 设备
date 显示系统日期
cal 2007 显示2007年的日历表
date 041217002007.00 设置日期和时间 - 月日时分年.秒
clock -w 将时间修改保存到 BIOS