1. 什么是操作系统
~ 计算机系统由软件和硬件构成
~ 硬件: 运算器、控制器(运算器+控制器=CPU中央处理器)、存储器(RAM)、输入设备(Input)、输出设备(Output)
~ 软件: 系统软件、应用软件
~ 操作系统 ---> 直接覆盖在硬件上最重要的系统软件 ---> 管理各类硬件资源,提供人机交互的界面(接口)
2. Linux系统的由来
~ 1965年 ---> GE/ MIT / Bell ---> Multics
~ 1969年 ---> Ken Thompson ---> Unics
~ 1970-1971年 ---> Ken Tompson ---> B语言 ---> 移植Unix
~ 1972-1973年 ---> Dennis Ritchie ---> C语言 ---> 重写Unix
~ 1979年 ---> Unix私有化
~ 1985年 ---> Richard Stallman ---> GNU ---> FSF
~ 1987年 ---> Andrew Tanenbaum ---> Minix
~ 1991年 ---> Linus Torvalds ---> Linux
Linus开发了早期的Linux内核,Linux是互联网上数以万计的程序员共同智慧的结晶。
3. Linux发行版本 ---> 内核 + 实用程序 + 系统工具
~ Redhat
~ CentOS ---> CentOS Stream
~ Ubuntu
~ Debian
~ SUSE
~ Fedora
4. 云服务器
~ 特点: 性价比高,伸缩性好
~ 企业组网: VPC ---> VPN ---> Router / Switch / Firewall / Server
~ SSH ---> 安全远程连接协议 ---> TCP / 公网ip地址 / 22端口 ---> Jump Server(跳板服务器)
~ SSH客户端工具:
- XShell ---> 商业授权
- FinalShell
- Termius ---> 付费 / 免费
5. Shell(壳程序) ---> 人机交互接口
~ Bash(Bourne Again Shell)
~ Tab ---> 命令和路径的自动补全
~ 快捷操作
- ctrl + c: 终止命令进行
- ctrl + d: 产生输入结束符(EOF)
- ctrl + a: 将光标移动到行首
- ctrl + e: 将光标移动到行尾
- ctrl + w: 删除光标所在位置的单词
- ctrl + u: 删除光标前面的内容直到行首
- ctrl + k: 删除光标后面的内容直到行尾
~ 查看历史 ---> history / 上下箭头 / !编号
~ zsh / ksh / Fish
6. Linux命令
~ 格式 ---> 命令 [参数] [对象]
~ cal
~ cal 3
~ cal -3 8 2005
~ 获取帮助
- whatis
- man
- --help
- which获取命令对应的路径
~ 登录信息
- who / w / whoami
- last / lastb
- logout / exit
- shutdown / reboot
- h / -P: 关机
- r : 重启
- c : 取消关机或重启
- init 0 / init 6 / init 0-6
~ 文件系统
- pwd - print current working directory(打印当前工作目录)
- cd - change directory
~ 绝对路径: cd /root/abc
~ 相对路径: cd ../etc ---> cd .. ---> cd etc
~ 当前路径: .
~ 上级路径: ..
~ 当前用户的主目录: ~
- ls - list directory contents(列出当前文件夹内容)
~ -a / --all: 显示所有文件
~ -l: 以长格式显示
~ -R / -- recursive: 以递归的方式遍历文件夹
~ -r ---> reverse: 反转显示(和其他参数配合起到升降序的效果)
~ -S: 根据文件大小排序
- mkdir - make directories
~ -p / --parents: 创建父文件夹(连续创建多级文件夹)
- rmdir - remove empty directories
- touch - 创建空文件
- rm - remove - 删除文件/文件夹
~ -i: 交互式删除
~ -f: 强制删除
~ -r: 递归式操作
- cp - copy
~ -r: 递归式操作
- mv - move - 移动文件(夹) / 修改文件(夹)名
- cat - concatenate - 拼接多个文件(查看文件内容)
~ -n: 显示行号
- head / tail - 查看文件头部/尾部的部分
- more / less - 逐页(敲空格)逐行(敲回车)查看文件
- od - octal dump
- wc - word count - 统计文件的行数、单词数、字符数
- find
~ -name ---> 根据文件名字搜索
~ -size ---> 根据文件大小搜索
~ -atime ---> 根据文件最后访问时间搜索
~ -mtime ---> 根据文件最后修改时间搜索
~ -ctime ---> 根据文件创建时间搜索
~ -type ---> 根据文件类型搜索
- grep
~ -E ---> 使用正则表达式匹配
- gzip / gunzip
- xz
~ -d ---> decompress ---> 解压缩
~ -z ---> 压缩
- tar
~ -c ---> create ---> 创建归档
~ -x ---> extract ---> 从归档文件中抽取内容
~ -v ---> verbose ---> 显示过程
7. 安装软件和配置服务
~ 使用包管理工具
- yum - yellowdog updater modified
~ 搜索: yum search nginx
~ 安装: yum install nginx
~ 查看: yum list intalled | grep "nginx"
~ 信息: yum info nginx
~ 卸载: yum erase/remove nginx
~ 更新: yum update nginx
~ 启动: systemctl start nginx
~ 停止: systemctl stop nginx
~ 重启: systemctl restart nginx
~ 查看状态: systemctl status nginx
yum安装MySQL
~ wget https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm
~ rpm -ivh mysql80-community-release-el7-6.noarch.rpm
~ rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
~ yum install -y mysql-community-server
- rpm - redhat package manager
安装MySQL
~ 下载RPM安装包:
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.29-1.el7.x86_64.rpm-bundle.tar
~ 解归档:
mkdir mysql
tar -xf mysql-8.0.29-1.el7.x86_64.rpm-bundle.tar -C mysql/
~ 移除mariadb相关的包:
yum erase -y mariadb-libs
~ 补包:
yum install -y libaio libaio-devel
~ 安装:
rpm -ivh mysql-community-common-8.0.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.29-1.el7.x86_64.rpm
~ 查看
yum list installed | grep "mysql"
rpm -qa | grep "mysql"
~ 移除:
rpm -e mysql-community-deel-8.0.29-1.el7.x86_64.rpm
rpm -qa | grep "mysql" | xargs rpm -e
~ 启动MySQL
systemctl start mysqld
~ 初次使用查看随机密码
cat /var/log/mysqld.log | grep "password"
~ 连接MySQL
mysql -u root -p
alter user 'root'@'localhost' identified by 'Luohao.618';
create user 'wangdachui'@'%' identified by 'Wang.618';
grant all privileges on *.* to 'wangdachui'@'%';
~ 源代码构建安装
安装Python 3.9
- 移除旧版本:
yum erase -y python3
- 下载:
wget https://www.python.org/ftp/python/3.9.13/Python-3.9.13.tgz
- 验证:
md5sum Python-3.9.13.tgz
- 解归档:
tar -zxf Python-3.9.13.tgz
- 环境检查:
gcc --version / make --version
- 补包:
yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel \
sqlite-devel readline-devel tk-devel gdbm-devel libdb4-devel \
libpcap-devel xz-devel libffi-devel libxml2
- 运行configure程序:
cd Python-3.9.13
./configure --prefix=/usr/local/python39
- 构建安装:
make && make install
- 配置环境变量:
export PATH=$PATH:/usr/local/python39/bin
永久性配置需要将上面的命令写入 ~/.bash_profile ---> 用户环境变量
或 /etc/bashrc ---> 系统环境变量
1505

被折叠的 条评论
为什么被折叠?



