来源: Linux就该这么学
0 咱们先来谈谈学习方法和红帽系统 0.3 开源共享精神
GNU GPL (GNU General Public License)
BSD (Berkeley Software Distribution)
Apache (Apache License Version)
MPL (Mozilla Public License)
MIT (Massachusetts Institute of Technology)
1 部署虚拟环境安装linux系统 1.4 重置root用户密码 1 2 3 4 5 6 7 8 9 10 11 12 13 # cat /etc/redhat-release //确定是否为RHEL 7系统 Red Hat Enterprise Linux Server release 7.0 (Maipo) # reboot //重启系统 e //重启Linux系统主机并出现引导界面时,按下键盘上的e键进入内核编辑界面 ↑↓←→ //在linux16参数这行的 最后面 追加“rd.break”参数 Ctrl + X //组合键运行修改过的内核程序,大约30秒过后,进入到系统的紧急求援模式 mount -o remount,rw /sysroot chroot /sysroot passwd touch /.autorelabel exit reboot
1.5 RPM (Red-Hat Package Manager) 红帽软件包管理器 RPM = 源代码 + 安装规则
常用命令
对应命令格式
安装软件
rpm -ivh filename.rpm
升级软件
rpm -Uvh filename.rpm
卸载软件
rpm -e filename.rpm
查询软件描述信息
rpm -qpi filename.rpm
列出软件文件信息
rpm -qpl filename.rpm
查询文件属于哪个RPM
rpm -qf filename
1.6 YUM软件仓库 (Yellow dog Updater, Modified) YUM = (源代码 + 安装规则) * N
命令
作用
yum repolist all
列出所有仓库
yum list all
列出仓库中所有软件包
yum info 软件包名称
查看软件包信息
yum install 软件包名称
安装软件包
yum reinstall 软件包名称
重新安装软件包
yum update 软件包名称
升级软件包
yum remove 软件包名称
移除软件包
yum clean all
清除所有仓库缓存
yum check-update
检查可更新的软件包
yum grouplist
查看系统中已经安装的软件包组
yum groupinstall 软件包组
安装指定的软件包组
yum groupremove 软件包组
移除指定的软件包组
yum groupinfo 软件包组
查询指定的软件包组信息
1.7 Systemd初始化进程 Linux操作系统的开机过程: BIOS -> Boot Loader -> 加载系统内核 -> 内核进行初始化 -> 启动初始化进程 红帽RHEL 7系统已经替换掉了熟悉的初始化进程服务System V init,正式采用全新的systemd初始化进程服务 Linux系统启动时的初始化工作可看作一个个单元(Unit),systemd用目标(target)代替System V init中运行级别的概念
System V init 运行级别
Systemd 目标名称
作用
0
runlevel0.target, poweroff.target
关机
1
runlevel1.target, rescue.target
单用户模式
2
runlevel2.target, multi-user.target
等同于级别3
3
runlevel3.target, multi-user.target
多用户的文本界面
4
runlevel4.target, multi-user.target
等同于级别3
5
runlevel5.target, graphical.target
多用户的图形界面
6
runlevel6.target, reboot.target
重启
emergency
emergency.target
紧急Shell
1 2 /* 目录系统默认运行目标改为“多用户无图形”模式可用ln命令把多用户模式目标文件连接到/etc/systemd/system/ */ # ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
System V init (RHEL6)
systemctl (RHEL7)
作用
service foo start
systemctl start foo.service
启动服务
service foo restart
systemctl restart foo.service
重启服务
service foo stop
systemctl stop foo.service
停止服务
service foo reload
systemctl reload foo.service
重新加载配置文件(不终止服务)
service foo status
systemctl status foo.service
查看服务状态
chkconfig foo on
systemctl enable foo.service
开机自动启动
chkconfig foo off
systemctl disable foo.service
开机不自动启动
chkconfig foo
systemctl is-enabled foo.service
查看特定服务是否为开机自启动
chkconfig —list
systemctl list-unit-files —type=service
查看各级别下服务的启动禁用情况
systemd = 服务名称
systemctl = 配置工具
2.1 强大好用的SHELL 计算机硬件通常由运算器、控制器、存储器、输入/输出设备等共同组成,系统内核让各硬件设备各司其职且协同运行 Linux系统内核负责对硬件资源分配、调度等管理任务,建议用户基于系统调用接口开发出的程序或服务来管理计算机 Users ⇦Shell ⇨ Procedure & Service { System Call Interface [ Kernel ( Hardware ) ] } Shell(终端/壳)充当人与内核/硬件之间的翻译官,主流Linux系统默认终端为Bash (Bourne-Again SHell)解释器
2.2 执行查看帮助命令 Linux命令的格式: 命令名称 [命令参数] [命令对象]
命令参数: 可以用长格式(完整的选项名称man --help
),也可以用短格式(单个字母的缩写man -h
)
命令对象: 一般是指要处理的文件、目录、用户等资源
man: man [命令]
查看命令的帮助信息
按键
用处
空格键
向下翻一页
PaGe down
向下翻一页
PaGe up
向上翻一页
home
直接前往首页
end
直接前往尾页
/
从上至下搜索某个关键词,如/linux
?
从下至上搜索某个关键词,如?linux
n
定位到下一个搜索到的关键词
N
定位到上一个搜索到的关键词
q
退出帮助文档
结构名称
代表意义
NAME
命令的名称
SYNOPSIS
参数的大致使用方法
DESCRIPTION
介绍说明
EXAMPLES
演示(附带简单说明)
OVERVIEW
概述
DEFAULTS
默认的功能
OPTIONS
具体的可用选项(带介绍)
ENVIRONMENT
环境变量
FILES
用到的文件
SEE ALSO
相关的资料
HISTORY
维护历史与联系方式
2.3 常用系统工作命令
echo
在终端输出字符串或变量提取后的值,格式为echo [字符串]
/[$变量]
date
显示及设置系统的时间或日期,格式为date [选项] [+指定的格式]
reboot
重启系统,其格式为reboot
poweroff
关闭系统,其格式为poweroff
wget
在终端中下载网络文件,格式为wget [参数] 下载地址
ps
查看系统中的进程状态,格式为ps [参数]
top
动态地监视进程活动与系统负载等信息,其格式为top
pidof
查询某个指定服务进程的PID值,格式为pidof [参数] [服务名称]
kill
终止某个指定PID的服务进程,格式为kill [参数] [进程PID]
killall
终止某个指定名称的服务所对应的全部进程,格式为killall [参数] [服务名称]
2.4 系统状态检测命令
ifconfig
用于获取网卡配置与网络状态等信息,格式为ifconfig [网络设备] [参数]
uname
查看系统内核与系统版本等信息,格式为uname [-a]
uptime
查看系统的负载信息,格式为uptime
free
显示当前系统中内存的使用量信息,格式为free [-h]
who
查看当前登入主机的用户终端信息,格式为who [参数]
last
查看所有系统的登录记录,格式为last [参数]
history
显示历史执行过的命令,格式为history [-c]
sosreport
收集系统配置及架构信息并输出诊断文档,格式为sosreport
2.5 工作目录切换命令
pwd
显示用户当前所处的工作目录,格式为pwd [选项]
cd
切换工作路径,格式为cd [目录名称]
ls
显示目录中的文件信息,格式为ls [选项] [文件]
cd .
切换到当前目录
cd ..
切换到上一级目录
cd
或cd ~
切换到该用户家目录
cd -
切换到上一次目录
ls -a
看到全部文件(包括隐藏文件)
ls -l
查看文件的属性、大小等详细信息
ls -ld [目录名称]
查看目录属性信息
2.6 文本文件编辑命令
cat
查看纯文本文件(内容较少的),格式为cat [选项] [文件]
more
查看纯文本文件(内容较多的),格式为more [选项] [文件]
head
查看纯文本文档的前N行,格式为head [选项] [文件]
tail
查看纯文本文档的后N行或持续刷新内容,格式为tail [选项] [文件]
tr
替换文本文件中的字符,格式为tr [原始字符] [目标字符]
wc
统计指定文本的行数、字数、字节数,格式为wc [参数] 文本
stat
查看文件的具体存储信息和时间等信息,格式为stat 文件名称
cut
按列提取文本字符,格式为cut [参数] 文本
diff
比较多个文本文件的差异,格式为diff [参数] 文件
2.7 文件目录管理命令
touch
创建空白文件或设置文件的时间,格式为touch [选项] [文件]
mkdir
创建空白的目录,格式为mkdir [选项] 目录
cp
复制文件或目录,格式为cp [选项] 源文件 目标文件
mv
剪切文件或将文件重命名,格式为mv [选项] 源文件 [目标路径/目标文件名]
rm
删除文件或目录,格式为rm [选项] 文件
dd
按照指定大小和个数的数据块来复制文件或转换文件,格式为dd [参数]
file
查看文件的类型,格式为file 文件名
2.8 打包压缩与搜索命令
tar
对文件进行打包压缩或解压,格式为tar [选项] [文件]
grep
在文本中执行关键词搜索,并显示匹配的结果,格式为grep [选项] [文件]
find
按照指定条件来查找文件,格式为find [查找路径] 寻找条件 操作
3 管道符、重定向与环境变量。 4 Vim编辑器与Shell命令脚本。 5 用户身份与文件权限。 6 存储结构与磁盘划分 7 使用RAID与LVM磁盘阵列技术 8 Iptables与Firewalld防火墙 9 使用ssh服务管理远程主机 10 使用Apache服务部署静态网站 11 使用Vsftpd服务传输文件 12 使用Samba或NFS实现文件共享 13 使用Bind提供域名解析服务 14 使用DHCP动态管理主机地址 15 使用Postfix与Dovecot部署邮件系统 16 使用Squid部署代理缓存服务 17 使用iSCSI服务部署网络存储 18 使用MariaDB数据库管理系统 19 使用PXE+Kickstart无人值守安装服务 20 使用LNMP架构部署动态网站环境