吴宏东 - 记于2018年06月26日 - 博客 https://segmentfault.com/u/wu...
Linux 基础操作
基本了解
性能
Linux能把CPU处理器的性能发挥到极限,真正影响性能的因素在于总线和磁盘I/O性能;
Shell
Shell是系统的用户界面,实际是命令解释器,是用户与内核交互操作的接口;
RHEL/CenOS下默认的Shell是bash;
Shell 元字符:
[*]任意字符串;
[?]任意字符;
[/]根目录;
[\]转义字符;
[<Enter>]续行符;
[$]变量置换值;
[']单引号内的内容均被视为文字处理,指令、文件名、保留字不再具有原来意义;
["]单引号内的内容均被视为文字处理,但允许变量置换;
[`]命令替换,例如echo `ls httpd.conf`;会先执行ls httpd.conf,然后再执行echo 'httpd.conf';
[<]输入重定向字符;
[>]输出重定向字符;
[|]管道字符;
[&]后台执行字符;
[;]分隔顺序执行的多个命令;
[()]在子shell中执行的一组命令;
[{}]在当前shell中执行的一组命令;
[!]执行history中的命令,格式为! history命令序号;
[~]登录用户的宿主目录;
内核
时至今日,Linux内核仍然由Linus开发小组领导维护;
RHEL
RHEL是指红帽企业版,即Red Hat Enterprise Linux;
CentOS
CentOS是社区版本,实际版本号跟RHEL发布版一一对应,基本一致;
CentOS的稳定性不比RHEL差,但是因为免费,所以缺乏技术支持;
安装
CentOS下载地址:https://www.centos.org/download/
一般作为服务器安装,只需安装minimal版本即可,例如目前的最新版本CentOS-7-x86_64-Minimal-1804.iso;
登录
超级用户(root)的提示符是“#”,普通用户的提示符是“$”;
注销登录:命令 logout; 或 exit; 或组合键 <Ctrl+D>;
重新登录:组合键 <Ctrl+Shift+R>;
远程登录:命令 ssh 远程主机用户名@远程主机IP地址,然后输入密码即可;
切换用户:命令 su 用户; 如果没有用户则表示root用户;sudo 命令是执行系统管理命令;
系统命令
硬件
# CPU信息
lscpu;
# 物理内存大小,-m用M为单位,-g用G为单位
free -m;
系统
# 发行版本
[root@master ~]# cat /etc/system-release
CentOS Linux release 7.5.1804 (Core)
# 内核版本
[root@master ~]# uname -r
3.10.0-862.2.3.el7.x86_64
# 体系结构
[root@master ~]# arch
x86_64
存储
# 块设备,disk硬盘,part分区,lvm逻辑卷,rom移动设备,loop用文件伪设备为磁盘,dm是device mapper
[root@master ~]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 xfs 97449505-705d-47ae-8928-a4600052c1d3 /boot
└─sda2 LVM2_member o8oXEw-TZ17-qxsH-IelH-1aLb-WLWo-gmiIn0
├─centos-root xfs 02feb8b6-12d2-48fd-948a-b2eddeea7664 /
└─centos-swap swap 0b6f4e66-50c7-4c40-80af-70c23f36071c [SWAP]
sr0
loop0 xfs 04541e1a-01ec-40b9-a2b1-9c2177745024
└─docker-253:0-690-pool
loop1
└─docker-253:0-690-pool
# 磁盘分区
fdisk -l;
# 物理卷,卷组,逻辑卷
pvs;
vgs;
lvs;
# 已经挂载的文件系统
findmnt;
# 剩余物理空间
df -h;
本地化
# 日期和时间
timedatectl;
date;
cal;
# 设置时间
timedatectl set-time '2018-06-27 00:05:05';
# 更改时区为上海,立即生效
timedatectl set-timezone Asia/Shanghai;
# 语言与键盘
localectl;
# 设置语言为中文
localectl set-local LANG="zh_CN.UTF-8";
# 设置语言为英文
localectl set-local LANG="en_US.UTF-8";
软件
# 已启用的yum源
yum repolist;
# 已经安装的软件
yum list installed;
# 检查可更新的软件
yum list updates;
或
yum check-update;
# 更新系统
yum -y update;
网络
# 显示主机名
hostname;
或
hostnamectl;
# 网络接口参数
ip addr show;
或
ifconfig;
# 路由信息
ip route show;
# 查看监听端口
netstat -tpnlu;
# 防火墙状态
firewall-cmd --state;
systemctl status iptables;
# SELinux安全机制默认开启,配置复杂一般不在生产环境使用,禁用
sed -i 's/SELINUX=.*/SELINUX=disbaled/g' /etc/selinux/config;
关机重启
# 关机
shutdown -h now;
或
poweroff;
# 5分钟后关机
shutdown -h +5;
# 重启
reboot;
或
shutdown -r now;
# 5分钟后重启
shutdown -r +5;
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。