Linux
参考笔记 《Linux就该这么学》在线书籍 Linux命令大全(手册) Linux-Tutorial
VM CentOS
环境
VMWare 16.2
CentOS 8.5
创建虚拟机
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204183333348.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204183418771.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204183436550.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204183455168.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204183707509.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204183916666.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204183935071.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204183947796.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204184008316.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204184032630.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204184047771.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204184214195.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204184231661-1675507934147-1.png)
![自定义硬件 中引用iso后点完成](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204184707182.png)
![引用iso镜像文件前确保 已启用虚拟化](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204184444846.png)
![引用iso镜像文件](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204184604106-1675511278167-9.png)
![或点完成后再去 虚拟机设置 中引用iso](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204184748060.png)
安装CentOS
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204193015657.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204185449393.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204193554030.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204185525202.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204190158845.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204190335581.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204190826378.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204191008721.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204191129347-1675510451740-5.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204192122125.png)
KDUMP-实际服务器中需启用,但自己做测试可以先禁用以节省资源
安装界面显示不全,因为屏幕分辨率未被正确识别,要关闭虚拟机修改显示器设置,选择本机真实屏幕分辨率重启安装(重启后要重新走以上步骤)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204193832775.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204194018979.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204194303003.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204194519385.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204195851209.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204195928424.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204195937488.png)
![结束配置并重启虚拟机](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204195947460.png)
![登录](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204200013512.png)
![检查网络](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204200527438.png)
进入 Centos8.5
系统后,发现桌面上没有任何图标而且右键没有终端/新建等操作,即使使用终端新建一些文件,也无法在桌面上显示
Centos7
默认为X11
桌面版本,但是Centos8
默认为Wayland
,此时需要更换桌面版本,然后就能正常显示了
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204202259819.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230206201402473.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230206201802954-1675686295564-1.png)
![配置打开终端快捷键](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204204210896.png)
![计算机 位于 其他位置](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204205808263.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230204205827017.png)
添加共享文件夹 Windows D:\vm\share\
Linux /mnt/hgfs/share
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230206193811434.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230206202721065.png)
![在桌面创建共享文件夹快捷方式](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230206202222959.png)
设置无密登录
![image-20230213125408412](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230213125408412.png)
远程登录 Linux 系统
测试 Windows 和 Linux 是否相通:
1 |
|
![在 Linux 下 ifconfig 查看当前网络 IP](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230206204532820.png)
![在 Windows 下 ping Linux 的 IP 地址](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230206204524902.png)
![设置-网络-有线](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230206204955972.png)
![设置中查看 Linux 的 IP 地址](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230206204948425.png)
XShell 连接虚拟机:
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230206205936968.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230206210938410.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230206211020893.png)
注意(Linux 默认开启 SSHD 服务):
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/1625500041853-a39edcc8-6467-4306-a29c-7e55fc85d01b.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230206212458911.png)
Linux 世界里 一切皆文件
文件颜色:
绿色 可执行文件,可执行的程序
红色 压缩文件或者包文件
蓝色 目录
黑底白字/白底黑字 一般性文件,如文本文件,配置文件,源码文件等
浅蓝色 链接文件,主要是使用ln命令建立的文件
红色闪烁 链接的文件有问题
黄色 设备文件
灰色 其他文件
文件属性:
环境变量:
配置全局环境变量,用 root
用户权限写入 sudo vim /etc/profile.d/my_env.sh
,使脚本生效 source /etc/profile
VIM
vi(文本编辑器)–[增强版]–>vim(具有程序编辑能力)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230211172143688-1683698172248-1.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230211164529648.png)
1 |
|
网络配置
网络连接的3种形式
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/1625496025387-c7b6019a-8b3c-4d6a-95f3-a8321d7d2aff.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/1625496806099-b615c090-c0fc-4e92-aff1-2e84e5595cf2.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230213131007090.png)
查看 Windows 网络配置
从设置进入(或通过WiFi图标查看):设置-网络和Internet-状态-更改适配器选项
或从控制面板进入:控制面板-网络和Internet-查看网络状态和任务-更改适配器设置(界面同上)
查看 Linux 网络 IP 和网关
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230211190855332.png)
![在 Linux 下 ifconfig 查看当前网络 IP](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230206204532820.png)
Linux 网络环境配置
默认自动获取:每次获取的ip可能不同,不适合服务器(ip是固定的)
通过修改配置文件指定固定ip(root用户):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23#修改网络配置文件 当前局域网在Linux中的设备名是ens160(很多是ens33)
vim /etc/sysconfig/network-scripts/ifcfg-eth160
#修改内容
#IP地址(主机名是hadoop100,最后一个网段改为100好记)
IPADDR=192.168.1.100
#网关
GATEWAY=192.168.1.2
#域名解析器(可添加多个 dns和网关保持一致)
DNS1=192.168.1.2
#子网掩码默认255.255.255.0
#重启网络 若报错reboot重启虚拟机
service network restart
systemctl restart network #centos7以后新增
#修改主机名和主机映射文件 重启生效
hostname #查看当前服务器主机名
vim /etc/hostname #当前服务器主机名
vim /etc/sysconfig/network #HOSTNAME属性修改主机名(我的该文件没有内容)
hostnamectl #显示主机名和一些系统相关的信息(CentOS7及以上版本才增加的命令 ctl指control)
hostnamectl set-hostname 主机名 #永久修改主机名且无需重启系统
vim /etc/hosts #主机映射文件C:\Windows\System32\drivers\etc\HOSTS
–Windows主机映射文件 (拷贝出来修改后再替换原文件) 若在该文件下写入www.sharm.com 百度
,则在浏览器搜索百度时会跳转到写入的这个网站中,这叫域名劫持
修改XShell设置:
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230213155622655.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230213155539451.png)
修改Xftp设置解决文件名中文乱码问题:
系统管理
服务管理
进程 process:一个正在执行的程序或命令
服务 service:启动后一直存在、常驻内存的进程(运行在后台,监听某个端口,等待其它程序的请求–由守护进程daemon守护系统服务,d结尾表示这是守护进程)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230217145806826.png)
1 |
|
setup
查看服务名:在vm中(而不是xshell)使用该命令选择 系统服务
回车
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230217183336462-1683700479118-19.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230217183340674.png)
常用服务:
网络服务 network
(CentOS7默认使用的网络服务是NetworkManager) 报错记录
防火墙 iptables
关闭或启用防火墙后立即生效,可通过telnet在Windows下测试:
telnet ip [端口]
利用telnet指令检查Linux的某个端口是否在运行
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230220125354284.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230220125324089.png)
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230220125411803.png)
service/systemctl
方式只是临时生效,当重启系统后,还是回归以前对服务的设置,设置永久生效要使用 chkconfig
指令
系统运行级别
1 |
|
centos7以前查看默认运行级别在 /etc/inittab
ctrl+shft+f2 f1
配置服务开机启动 关闭防火墙
chkconfig设置服务自启动/关闭需reboot重启机器生效
查看当前系统中使用chkconfig工具的服务:
1 |
|
centos6及更早版本使用的服务管理机制叫SysV,centos7使用的服务管理机制叫systemd
centos6的服务管理进程为init,centos7中的服务管理进程为systemd
network服务脚本的存放位置:
1 |
|
systemd是centos7的服务管理机制,列出systemd中的service:
1 |
|
LOAD
:是否load ACTIVE
:是否active SUB
:是否running DESCRIPTION
:描述信息
不加 –all
则不会列出 inactive(未激活状态)的 service
1 |
|
关机 重启
1 |
|
常用命令
帮助指令
man ls (ls是外部命令->其他独立的程序 和shell同级)
help cd (只能显示shell内置命令的帮助信息)
百度更直接
区分内置命令和外部命令-which / type
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/1626336467891-2ae32ca2-3c8f-4923-b3d9-72c27a419738.png)
- 如果是内置命令 shell内置命令
1 |
|
builtin的英文翻译就是内置命令
- 如果是自己写的shell脚本
1 |
|
自己写的shell脚本是外部命令,它的位置是/ask/test.sh
- 常见的find命令
1 |
|
find是一个外部命令,它的位置是/usr/bin/find
注:
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/1626337648972-8797a43f-54ff-4427-91f8-b3c707e07869.png)
sudo cd root 并没有切换到root目录
sudo 是一种程序,用于提升用户的权限
shell是一个命令解析器,sudo cd是错误的,因为cd是shell内置的,不是系统里面的
sudo可以运行系统带的命令,但无法运行系统一个软件中的命令
所以这里要切换到root目录,只能先切换到root用户
常见shell内置命令
1 |
|
内置命令
外部命令
type [cmd]
… 是 shell
help [shell内置命令]
[外部命令] –help
man [cmd] 最全
man -f [内置命令]
tail -f 文件 #实时追踪该文档的所有更新
> 输出重定向(覆盖) >> 追加
ls -l >文件 (功能描述:列表的内容写入文件a.txt中(覆盖写))
ls -al >>文件 (功能描述:列表的内容追加到文件aa.txt的末尾)
cat 文件1 > 文件2 (功能描述:将文件1的内容覆盖到文件2)
echo “内容” >> 文件
ln -s xiyou/dssz/ ./dssz #创建软连接
cd -P dssz/ #进入软连接实际物理路径
删除软链接: rm -rf 软链接名,而不是rm -rf 软链接名/
date +%Y%m%d #显示当前时间年月日
date “+%Y-%m-%d %H:%M:%S” #显示当前时间年月日时分秒
cal [年份] #日历
用户管理
用户登录->自动(默认)进入家目录(/home/k即~) 一个用户不能进入其它用户目录
su切换用户
1 |
|
注销用户 / 退出远程登录:
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/1625561513595-0632da31-89e6-4d4d-a130-4ad3ac03fdb5-1676614829778-1.png)
注销指令在 图形运行级别(级别5) 无效,在 控制台命令行模式(级别3) 下有效:
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/1625561385041-f52fefa7-4536-4caa-8696-7c06733b834c-1676614829778-3.png)
sudo用root权限执行操作
添加用户k具有root权限,配置成采用sudo命令时无需输入密码
1 |
|
查询用户信息
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230213181513380.png)
用户组
![新用户指定组/修改用户的组](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/1625563766982-4784003c-10b7-4421-87f2-53270734e3b1-1676283414442-7.png)
![组无用户才能删](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/1625563899891-bfa78df1-be00-4376-b6cd-c6ebec63e36b.png)
用户和组相关文件
/etc/passwd文件: 用户配置,记录用户的各种信息 口令:用户加密密码,加密后的密码保存在/etc/shadow文件
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230213182612000.png)
/etc/shadow文件: 口令配置
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230213183107600.png)
/etc/group文件: 组配置,记录Linux包含的组的信息
![](https://github.com/Kukukukiki192/TyporaImg/raw/main/img/image-20230213183351833.png)