一、Linux简介
1.Linux介绍
Linux系统出现于1991年,由芬兰大学生李纳斯(Linus Torvalds)和后来陆续加入的众多爱好者共同开发完成。Linux是一个自由软件,是源代码开放的UNIX。Linux操作系统是一款完整的类UNIX操作系统,由Linux内核+ GNU工具组成。Linux起源与UNIX息息相关,是UNIX系统的分支。
Linux具备如下优良特性:
- 分时的多用户、多任务的操作系统
- 多数网络协议支持,方便的远程管理
- 强大的内存管理和文件管理系统
- 大量的可用软件和免费软件
- 优良的稳定性和安全性
- 良好的可移植性和灵活性
- 可供选择的厂商多
2.主要发行版本
Linux发行版本三大分支:
(1)slackware:SUSE Linux Enterprise Server(SLES),由Novell公司发布
OpenSuse桌面
(2)debian:由Debian维护社区发布
包含ubuntu,deepin(深度)
(3)redhat:RedHat Enterprise Linux(RHEL),每18个月发行一个新版本
CentOS:RedHat开源社区版,兼容RHEL的格式
中标麒麟:中标软件
(4)Fedora:多用于家庭办公及桌面应用,每6个月发行一个新版本
二、Linux哲学思想
一切都是一个文件(包括硬件)
小型,单一用途的程序
链接程序,共同完成复杂的任务
避免令人困惑的用户界面
配置数据存储在文本中
三、基本安装及使用
下面以安装CentOS 7.7 64位Linux操作系统为例:
通过vmware workstation软件创建一台操作系统类型版本为CentOS 7 64位的虚拟机,名称可自定义。
创建完毕后,单击编辑虚拟机设置→连接光驱→选择使用ISO映像文件CentOS-7-x86_64-DVD-1908.iso,勾选“启动时连接”复选框。
单击“开启此虚拟机”,成功引导CD启动进入安装欢迎界面,语言设置保持默认选项-英文 即可(略)。
进入安装概要界面,单击“DATE & TIME”图标设置正确的时区及时间;单击“SOFTWARE SELECTION”可选择即将安装的软件集,本例中选择Minimal Install(最小安装)
单击“INSTALLATION DESTINATION”图标,进入安装目标位置设置界面。选择本地硬盘设备并根据需求选择分区方式,本例中选择“I will configure partitioning”进入手动分区配置界面,按照分区策略进行设置挂载点及容量。
分区策略:
- / 根分区(必要)
- /boot 启动分区
- /data 应用分区(可选)
- swap 交换分区
设置完毕后,重新回到安装概览界面,剩余安装设置项保持默认即可,单击“Begin Installation” 按钮启动安装过程。
出现“User Settings”的配置项。单击“Root Password”为 root 账户设置密码。
设置完毕后,单击“Done”返回“User Settings”的配置项界面。单击“CREATE USER”创建一个自身姓名的用户并设置密码。
单击“Done”返回安装过程界面,待进度达到满格且出现Complete!字样表示安装完毕。
单击“Reboot”按钮重启机器,成功启动并引导内核之后,出现系统版本信息及登陆提示符,在对应位置输入正确的用户名及密码,即可进入CentOS 7.7操作系统。
四、Linux常用基础命令
1.echo
命令所在路径:/bin/echo
执行权限:所有用户
功能描述:显示字符
语法:echo [-neE] 字符串
选项:
-n 不自动换行
-e 启动\解释功能
-E (默认)不支持\解释功能
解释功能选项:
\a 发出警告声
\b 退格键
\c 最后不加上换行符号
\n 换行且光标移至行首
\r 回车,即光标移至行首,但不换行
\t 插入tab
\ 插入\字符
范例1:
显示当前系统命令存放路径变量
命令:echo $PATH
执行结果:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
范例2:
启用解释功能,显示Hello World!并在结尾处插入\字符
命令:echo -e Hello World! \\
执行结果:Hello World! \
2.screen
命令所在路径:/bin/screen
执行权限:所有用户
功能描述:通一个终端虚拟出多个屏幕,提供屏幕共享及协同办公
语法:screen [-ls] [-rSx] 会话名称
选项:
-ls 显示虚拟会话
-r 返回虚拟会话
-S <会话名称> 启动并进入一个名称XX的会话
-x <会话名称> 加入某个会话中
会话中命令:
ctrl + a,d 临时退出会话
exit 退出并关闭会话
范例1:
启动一个虚拟会话
命令:screen -S help
范例2:
查看虚拟会话列表
命令:screen -ls
执行结果:
There is a screen on:
10449.help (Attached)
1 Socket in /var/run/screen/S-root.
范例3:
加入一个已启动的虚拟会话(例如:help)
命令:screen -x help
范例4:
临时退出虚拟会话
命令:ctrl + d(在虚拟会话中执行)
命令执行结果:
[detached from 10449.help]
范例5:
退出并关闭虚拟会话
命令:exit(在虚拟会话中执行)
命令执行结果:
exit
[screen is terminating]
3.date
命令所在路径:/bin/date
执行权限:所有用户
功能描述:设置或显示系统时间
语法:date [-sdu] ‘特定字符串或时间戳’ [+%Y%m%d%H%M]
选项:
-s 设置时间,由字符串表示
-d 设置时间,由字符串表示
-u 显示或设置utc时间
范例1:
以字符串形式将当前系统时间设置为2020年5月1日15时30分00秒
命令:date -s '2020-05-01 15:30'
执行结果:Fri May 1 15:30:00 CST 2020
范例2:
显示2天前是星期几
命令:date -d '2 days ago' +%A
执行结果:
Saturday
范例3:
以时间戳显示当前系统时间
命令:date +%s
执行结果:
1588318714
4.ifconfig
命令所在路径:/sbin/ifconfig
执行权限:超级管理员
功能描述:设置或显示网络接口配置
语法:ifconfig [-av] [up|down] <interface>
[add|del] <address/prefixlen>
选项:
-a 显示当前系统所有可用的网络接口信息
add 为对应网络接口添加ip地址
up 启用对应网络接口
down 停用对应网络接口
范例1:
显示系统网络接口信息
命令:ifconfig
执行结果:
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.16.77.131 netmask 255.255.255.0 broadcast 172.16.77.255
inet6 fe80::f971:7061:d3d7:182a prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:59:f6:25 txqueuelen 1000 (Ethernet)
RX packets 2469 bytes 265315 (259.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1644 bytes 580184 (566.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 4 bytes 344 (344.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4 bytes 344 (344.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
范例2:
停用某个网络接口(例如:ens33)
命令:ifconfig ens33 down
范例3:
为某个网口添加子接口ip地址
命令:ifconfig ens33:1 172.16.77.132/24
PS:配置网卡具有多个ip地址,可定义多个子接口
5.history
命令所在路径:内部命令
执行权限:所有用户
功能描述:显示命令历史记录
语法:history [-cd] [n]
<-w> filename
选项:
-c 清除当前系统历史命令记录
-d 清除第n条的历史命令记录
-w 保存命令历史列表到指定的文件
范例1:
清除编号为100的历史命令记录
命令:history -d 100
范例2:
将当前命令历史列表保存到某个文件(例如:history.log)
命令:history -w history.log
6.export
命令所在路径:内部命令
执行权限:所有用户
功能描述:设置系统环境变量
语法:export [name[=word]]
范例1:
设置历史命令记录的时间格式变量值,实现执行history时可以看到执行命令的时间
命令:export HISTTIMEFORMAT="%F %T "
验证结果:history
1 2020-04-07 14:19:57 history
2 2020-04-07 14:21:36 history -w history.txt
3 2020-04-07 14:21:37 cat history.txt
4 2020-04-07 14:21:57 cat .bash_history
5 2020-04-07 14:21:59 clear
6 2020-04-07 14:22:02 history -w history
7 2020-04-07 14:22:04 cat history
8 2020-04-07 14:22:12 date -d '@1586240397'
9 2020-04-07 14:22:20 history -w history.log
10 2020-04-07 14:29:05 man date