一文搞定“Linux简单但实用的学习”两万字Linux通关笔记1

简介: 一文搞定“Linux简单但实用的学习”两万字Linux通关笔记1

文章目录

操作系统的感念

操作系统组成

Linux系统介绍

Linux发行版

系统镜像下载

VMware安装centos7

Linux基本配置

系统基础操作规范

系统基础网络配置

系统基础命令介绍

系统目录相关命令

系统文件相关命令

VIM编辑器

系统压缩相关命令

系统搜索相关命令

系统基本优化

系统时间同步优化

系统远程连接优化

系统内核优化

系统重要配置文件

系统运行级别

破解root密码

系统用户与组

系统文件权限

系统安装软件方式

linux磁盘分区

网络附加存储

iscsi

系统启动流程和服务管理

系统监控

程序与进程

日志系统


操作系统的感念

人与计算机交流的中介,管理和控制计算机中的硬件资源,处于上层应用程序和底层硬件之间的软件平台

操作系统组成

1.内核:直接控制管理硬件 内核直接识别计算机二进制语言

2.解释器:把c c++ java python 等语言解释称二进制,常见:bash

3.软件程序:不同程序,完成不同的需求

Linux系统介绍

  1. 1.unix(肯。汤普逊,丹尼斯。里奇) 1970年
  2. 2.FreeBSD--macOS、IOS NETBSD OPENBSD minix--荷兰,詹宁邦 1980
  3. 3.Linux--芬兰 赫尔辛基大学 林纳斯。托瓦斯 1991

Linux发行版

Fedora redhat上游测试,带桌面图形 Redhat 提供商业服务,商业稳定版 centos 提供免费软件,下游免费稳定版 6.0 7.0 Ubuntu debian的一个不稳定分支的再开发,桌面,开发人员 debian 安全、稳定 solaris sun公司,后被oracle收购 中标麒麟 中国版Ubuntu

系统镜像下载

新版:centos安装包下载_开源镜像站-阿里云

旧版:centos-vault安装包下载_开源镜像站-阿里云ubuntu-releases安装包下载_开源镜像站-阿里云

VMware安装centos

(1)新建虚拟机文件夹,以便存放centos的文件

(2)网卡: 桥接bridge 借用本地真实网卡连通外网,和真实网卡同一网段,可双向通信 伪装NAT 使用nat地址转换技术连通外网,仅实现虚拟机访问外网,单向通信 仅主机host 不能连通外网,仅用于虚拟机之间连接

(3)改网卡名 安装install,按tab键,输入 net.ifnames=0 biosdevname=0

(4)选择时区(Asia/Shanghai)

(5)软件--最小化--勾选开发工具(1、2、3、6)

(6)手动分区 /boot 200M 启动和引导分区 swap 3G 建议设置物理内存的1.5-2倍(物理内存<=8G) / 所有 系统根分区

(7)安装后重启,进入系统,配置yum源

清华源:

sudo sed -e 's|^mirrorlist=|#mirrorlist=|g' \
          -e 's|^#baseurl=http://mirror.centos.org|baseurl=https://mirrors.tuna.tsinghua.edu.cn|g' \
          -i.bak \
          /etc/yum.repos.d/CentOS-*.repo

阿里源:

 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
 wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

Linux基本配置

IP地址配置为192.168.8.5

 ifconfig ens33 192.168.8.5

网关配置

 route add default gw 192.168.8.2
 roote del default gw 192.168.8.2

DNS配置

echo “nameserver 8.8.8.8” > /etc/resolv.conf

清除iptables策略

 iptables -F
 iptables -X

关闭防火墙

 systemctl stop firewalld
 systemctl disable firewalld

关闭selinux

 sed -i 's/enforcing/disabled/' /etc/selinux/config
 setenforce 0

设置主机名

 hostnamectl set-hostname web
 bash

配置yum服务器

 cd /etc/yum.repos.d/
 rm -rf *
 wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
 wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
 yum clean all
 yum makecache

网卡配置文件地址

/etc/sysconfig/network-scripts/ifcfg-ens33

配置完成后操作

  1. 快照:保存系统当前时间点状态,关机快照、开机快照
  2. 克隆:快速创建另外一台虚拟机,链接克隆、完整克隆

网卡名称修改

 cd /etc/sysconfig/network-scripts/
 mv ifcfg-ens33 ifcfg-eth0
 vim ifcfg-eth0

修改: NAME=eth0 DEVICE=eth0 保存退出

 vim /etc/sysconfig/grub

修改: GRUB_CMDLINE_LINUX="rhgb net.ifnames=0 biosdevname=0 quiet"

保存退出

系统基础操作规范

[root@ali-hb2-web1 ~]# root:当前登录用户名 ali-hb2-web1: 主机名,尽量表达出位置和功能 ~ :表示当前所在目录名

:表示当前用户权限是管理员($ 为普通用户)

命令 回车 例如:ifconfig 命令 (空格) 参数 例如:ip a 命令 (空格) 参数 对象 例如:ip a show eth0

系统基础网络配置

查看网络信息

ip a show ens33
 ifconfig ens33

系统远程连接

1.配置系统网络

2.确认sshd服务开启

3.安装远程管理软件(xshel、超级终端、securecrt、putty)

系统基础命令介绍

关机

 shotdown -h now
 shutdown -h 10

重启

 shutdown -r now

服务管理

 systemctl start vsftpd    #启动vsftpd服务
 systemctl stop vsftpd    #关闭vsftpd服务
 systemctl restart vsftpd    #重启vsftpd服务
 systemctl status vsftpd    #查看vsftpd服务的状态
 systemctl enable vsftpd    #设置vsftpd服务为开机自启动
 systemctl disable vsftpd    #关闭vsftpd服务的开机自启动

查看端口

netstat -anptl |grep vsftpd    #查看目前所有端口
#|同时命令
#grep 针对于

系统目录相关命令

查看文件权限相关

ls -l /etc    #查看/etc相关

创建文件夹

mkdir /data    #创建/data文件夹
 mkdir /{data,backup}    #创建/data和/backup

查看目录树

tree /data

删除目录

rm -r /data    #删除/data这个目录
rm -rf *        #删除当前所在目录下的所有文件,慎用!

查看绝对路径

 pwd    #查看当前所在路径

:ls 列出目录内数据信息 ls -l 长格式列出目录内数据,简写ll ls -d 查看目录本身 ll -t 查看最新编辑文件信息,按时间排序(r反向) ll -S 查看文件信息,按大小排序(r反向)

系统文件相关命令

创建空文件

 touch /data/file01    #在/data下创建file01

写入内容

 echo“hehe” > /data/file01    #此为覆盖所有内容添加
 echo"hehe">> /data/file01    #此为在原有内容基础上追加

多行内容写入

 cat >> /data/file01    #进入添加模式
>
>
>

清空文件

 > /data/file

查看文件内容

 cat /data/file01    #查看file01
 cat /data/file01 |grep -v "^#"    #grep -v 过滤
 cat /data/file01 |grep root        #grep 针对于

复制文件

cp -rp /etc/passwd /backup    #复制/etc/passwd到/backup一份

VIM编辑器

a #在光标所在位置后面插入 
i #在光标所在位置前面插入 
Esc #退回到命令模式 
u #恢复上一次操作 
x #删除单个字符 
dd #删除1行 
yy #复制  
p #粘贴 
/字符串 #搜索 
n #从上到下跳转 
N #从下到上跳转 
G #定位到文件最后一行 
ZZ #直接保存退出 
组合键: / 查询 
n 跳转 
x 删除 
i/a插入数据 
esc 退回到命令行 
ZZ :命令到末行模式 
:wq 保存修改,等同于:x 或 命令模式下ZZ 
:q! 不保存退出 
:w /tmp/file01 另存为 
:r /etc/passwd 把其他文件读入到当前 
:set nu 显示行号 
:set nonu 取消行号 
:s /hehe/haha 查找本行中第一个字符串替换 
:s /hehe/haha/g 查找本行中所有字符串并替换 
:% s/hehe/haha/g 查找全文所有字符串并替换 
:3,5 s/hehe/haha/g 查找第3到5行所有字符串并替换 
home键或“^”或数字“0” 跳转到行首 
End键或“$” 跳转到行尾 
G 跳转到末行 
1G或gg 跳转到首行

系统压缩相关命令

创建100M大小文件

dd if=/dev/zero of=/data/dwj.txt bs=100m count=10

压缩

 gzip /data/dwj.txt
 gunzip -d /data/dwj.txt
 bzip2 /data/dwj.txt
 bunzip2 /data/dwj.txt

解压

#tar后字符为要解药文件格式
tar zcf /backup/etc-boot.tar.gz /etc /boot
tat xf /backup/etc-boot.tar.gz -C /data
tar jcf /backup/etc-boot.tar.bz2 /etc /boot
tar xf /backup/etc-boot.tar.bz2

系统搜索相关命令

 find /etc/ -name network    #查找/etc/名字为network
 find /etc -iname networkmanager    #查找/etc/名字为network并不区分大小写
 find /etc/ -name *.conf    #查找以.conf为后缀的文件,*代表任何
#搜索期限内文件
find . -type f -atime -7    #搜索7天内文件
#搜索用户文件
find / -user lisi -type f    #搜索lisi的文件
#搜索组文件
find / -group cwd -type f    #搜索cwd组的文件
#搜索文件用户已经被删除的文件
find / -type f -nouser    #账户已被删除,但这个账户创建的文件还在
#通过大小搜索
find /-type f -size -3M    #小于3M +3M为大于3M

系统基本优化

下面的命令不用关心其真正的意义是什么,对系统设置后,可以方便以后的运行

关闭selinux

getnforce
setenforce 0
vim /etc/sysconfig/selinux   
SELINUX=disabled    #将SELINUX这一项后面改为disabled

主机名优化

hostname
hostnamectl
hostnamectl set-name web
bash    #更新

下载源优化

sudo sed -e 's|^mirrorlist=|#mirrorlist=|g' \
          -e
's|^#baseurl=http://mirror.centos.org|baseurl=https://mirrors.tuna.tsinghua.edu.cn|g' \
          -i.bak \
          /etc/yum.repos.d/CentOS-*.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

添加拓展源

yum -y install epel-release
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

刷新yum缓存

yum clean all
yum makecache

常用工具安装

yum -y install vim net-tools lrzsz wget telnet bash-completion

相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
目录
相关文章
|
12天前
|
存储 安全 Linux
|
1月前
|
Ubuntu Linux Python
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
在Linux系统中,使用Tkinter库时可能会遇到中文显示乱码的问题,这通常是由于字体支持问题导致的,可以通过更换支持中文的字体来解决。
112 0
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
|
15天前
|
Linux Shell 数据安全/隐私保护
|
29天前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
82 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
1月前
|
Linux 编译器 C语言
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
|
1月前
|
网络协议 Linux
linux学习之套接字通信
Linux中的套接字通信是网络编程的核心,允许多个进程通过网络交换数据。套接字提供跨网络通信能力,涵盖本地进程间通信及远程通信。主要基于TCP和UDP两种模型:TCP面向连接且可靠,适用于文件传输等高可靠性需求;UDP无连接且速度快,适合实时音视频通信等低延迟场景。通过创建、绑定、监听及读写操作,可以在Linux环境下轻松实现这两种通信模型。
34 1
|
1月前
|
Linux 开发工具
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
|
2月前
|
Linux
使用qemu来学习Linux的休眠和唤醒
使用qemu来学习Linux的休眠和唤醒
|
2月前
|
Linux
linux内核原子操作学习
linux内核原子操作学习
|
2月前
|
Ubuntu Linux
用crash工具学习Linux内核 —— 查看cgroup_roots
用crash工具学习Linux内核 —— 查看cgroup_roots