基于CentOS 7 ,CentOS官方

linux使用的范围

  • linux运维工程师 规划 优化 监控 故障处理
  • linux嵌入式工程师 嵌入式的应用开发

Linux的应用领域

  • 桌面开发
  • 服务器领域 linux免费稳定高效
  • 嵌入式领域 低成本 对软件进行裁剪 智能家居 物联网

Linux入门

  • 常见的操作系统很多

  • 作者

    image-20210712093931438

  • linux的发行版本

    image-20210712094742884

    image-20210712094938821

Linux和Unix的关系

  • unix是怎么来的
    • 贝尔实验室
    • 多用户分时操作系统multics,b语言到c语言
  • image-20210712100301087

Linux安装

  • VM和Linux的关系
  • image-20210712101235420
  • centos安装
    • Linux分区设置
      • boot分区 1g
      • 交换分区swap 分配的内存大小 2g
        • 零时充当内存,速度较慢
      • 根分区 17g

虚拟机网络连接模式

  • 同一个网段可以相互通讯
  • 桥接模式 虚拟系统可以和外部系统相互通讯,容易造成ip冲突
  • NAT模式 相当于在一个有虚拟机的系统中有两个网段,虚拟机有一个专属的和系统通讯的网段,系统有一个和外界通讯的网段,外界网络不能直接与系统内部的虚拟机通讯,需要通过系统和虚拟机的网络实现通讯。
  • 仅主机模式

虚拟机的克隆

  • 用已有的安装的linux系统,将虚拟机文件拷贝到另外一个文件夹,再通过vm软件打开
  • vm克隆操作,先关闭在运行的操作系统,在虚拟机打开处右键,一般使用创建完整克隆,会出现新的虚拟机,和被克隆的虚拟机系统在同一个文件夹下

虚拟机快照

  • 避免系统奔溃,返回正常状态
  • 虚拟机开启处,右键快照管理

虚拟机迁移和删除

  • 剪贴虚拟机文件夹
  • 删除虚拟机文件夹
  • vm移除,文件并没有删除,而是移除了指向

安装vmtools

  • 安装vmtools,可以让我们在windows下更好的管理vm虚拟机
  • 可以设置windows和centos的共享文件夹
  • image-20210722091359440

设置共享文件夹

image-20210722093404096

Linux的目录结构

基本介绍

  • 记住Linux的树状目录
  • linux中一切皆文件,硬件也映射为文件

具体目录结构

  • image-20210722094415383

  • image-20210722094841172

  • image-20210722094858885

  • image-20210722095627180

  • image-20210722095823294

远程登陆Linux服务器

为什么要远程登录

image-20210804145351793

  • 正式上线的项目是运行在公网的
  • 开发小组共享
  • 公网,有ip可公共访问的网络
  • 远程登陆工具 xshell
  • 文件上传下载 xftp

远程登陆 Xshell6

ifconfig   //获取Linux的IP地址的指令

//如下
[qxd@qxdEdu01 ~]$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.182.134 netmask 255.255.255.0 broadcast 192.168.182.255
inet6 fe80::febe:a278:c225:edcf prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:80:b3:b1 txqueuelen 1000 (Ethernet)
RX packets 352 bytes 235641 (230.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 252 bytes 21589 (21.0 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 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:ed:b2:08 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
  • xshell设置

  • 文件 -> 新建

  • 名称随意,主机地址写为Linux公网的IP地址,协议为ssh

  • image-20210804150908809

  • image-20210804151139038

  • 已经可以远程登陆Linux系统

安装xftp7

  • image-20210804151349826

  • 新建 协议 SFTP

    image-20210804151631068

  • image-20210804151809233

  • 可以实现远程的文件传输

vi和vim的基本介绍

开机、重启和用户登陆注销

关机重启命令

  • image-20210805173715212

  • image-20210805215530935

  • 一般不用root登入

  • 在多用户级别下才能用logout

  • image-20210805220000625

  • 再次logout则退出系统

用户管理

  • 基本介绍

    image-20210805220138976

    一般都是在root权限下

创建新用户

useradd 用户名  //默认在home目录下创建一个新的用户
useradd -d /home/test king //在指定目录下创建一个新用户

设置密码

passwd //为当前用户设置密码
passwd 用户名 //为指定用户设置新密码
pwd //显示当前目录

image-20210805221920211

删除用户

userdel 用户名 //删除用户,但是保留用户的主目录
userdel -r 用户名 //删除用户及用户的主目录 慎重!
  • image-20210805223004835

查询用户信息指令

id 用户名 //查看用户的相关信息

切换用户

su - 用户名  //切换用户,也可切换到root,由权限高到低不需要输密码,相反需要

image-20210805223526404

查看当前用户

who am i //查看当前登陆的用户

image-20210805223645467

用户组

  • 类似于角色,系统可以对多个用户进行统一管理
  • image-20210806094442600
groupadd 组名  //添加组
groupdel 组名 //删除组
useradd -g 用户组 用户名 //增加用户时直接加上组
usermod -g 用户组 用户名 //移动用户到另外一个组
  • 在没有指定组时,用户默认在自己用户名的组

用户和组相关文件

  • image-20210806103940877

  • image-20210806104434594

实用指令

指定运行级别

  • image-20210806105140988
init [0123456]  //切换运行级别
  • 指定默认的运行级别
systemctl get-default  //获取当前运行级别
reboot //重启
  • image-20210806110635370

找回root密码

适用于CentOS 7.6

  • 开机按e进入编辑模式

  • 找到linux16那一行,光标移动到最后

init=/bin/sh
  • 输入完,按快捷键Ctrl + x 进入单用户模式
mount -o remount,rw /  //按回车
  • 接着输入passwd 回车

  • 输入密码

  • 再次输入密码

touch /.autorelabel
exec /sbin/init  //时间长需等待
  • 登陆即可

帮助指令

image-20210806121834980

man ls //查看ls 的命令的详细说明
ls -a //显示目录中的所以文件,包括以.开头的文件
ls -l //目录列输出
ls -al //可以组合使用
ls -al /home //例如

文件目录类

pwd  //显示当前绝对路径
ls //显示目录
ls -l
ll
ls -lh //详细显示,内存

cd

cd ~  //回到家目录,自己用户的目录
cd .. //回到上一级
cd ../../root //使用相对路径到root目录

mkdir

mkdir //创建目录
mkdir -p /home/dog/tiger //创建多级目录

remdir

rmdir //删除目录,只能删除空目录
redir -rf /home/dog/tiger //强制删除

tonch

touch //创建空文件
touch hello.txt

cp

cp 文件 位置//将文件拷贝到位置
cp -r 位置/目录名 位置 //拷贝整个目录到位置
\cp -r 位置/目录名 位置 //强制覆盖

rm

rm -r //删除整个文件夹的文件
rm /home/hello.txt
rm -rf /home/bbb //强制全部删除,不提示 !!!注意!

mv

mv 文件 位置 //将文件移动到某位置
mv 已存在文件 不存在文件 //相当于将文件名重命名
mv 位置/文件夹名 位置 //移动文件夹

cat

cat //查看文件内容
cat -n //显示行号
//管道命令 : 将前面的结果交给下一个处理
cat -n /etc/progile | more //enter下一行 空格下一页

more

more 要查看文件//基于vi编辑器的文本过滤器,以全屏幕的方式按页显示文本文件的内容

image-20210806160125112

less

less 文件 //采用分屏查看文件内容,与more类似

image-20210806161442242

echo

echo //输出内容到控制台
echo $HOSTNAME //输出主机名
echo "hello,world" //输出文字
echo "hello" > /home/mydate.txt //将文字输出到文件
> //重定向输出到,并覆盖文件
>> //重定向输出,对文件追加
head 文件名 //显示文件的前10行的代码
head -n 5 文件 //显示文件前5行的代码

tail

tail 文件 //查看文件尾10行内容
tail -n 5 文件 //查看文件尾10行内容
tail -f 文件 //事实追踪文档的更新

>

ls -l > 文件 //将列被的内容写入文件a.txt中,覆盖写
ls -al >> 文件 //列表的内容追加到文件aa.txtd末尾
cat 文件1 > 文件2 //将文件1的内容覆盖到文件2
echo "内容" >> 文件

ln

软联接也称为符号链接,类似与windows里的快捷方式,主要存放了链接其他文件的路径

ln -s 原文件 软链接名  //给原文件创建一个软链接
ln -s /root /home/myroot
rm /home/myroot // 删除软链接

history

history //显示历史操作
history 5 //显示5条指令
!历史行数 //执行历史指令

date

date //显示当前时间
date +%Y //显示年
date +%m //显示月
date +%d //显示天
date "+%Y-%m-%d %H:%M:%S" //显示年月日时分秒
date -s "2020-11-03 20:02:10" //设置当前系统时间

cal

cal //显示日历
cal 2021 //显示整年日历

搜索查找类

find

find 目录 -name 文件名
find 目录 -user root //查找用户名文件,文件太多了加 | more
find 目录 -szie +200M

image-20210806193547792

image-20210807092110519

locate

updatedb //创建locate数据库
locate 文件名 //快速定位文件路径,不遍历整个文件系统,要定期更新

which

which 指令名 //查看某个指令在哪个目录下

grep

|  //管道符号,将前一个命令结果输出传递给后面的命令处理
grep 选项 查找内容 源文件 //过滤查找
cat /home/hello.txt | grep -n "yes"
grep -n "yes" /home/hello.txt

image-20210807101433058

压缩和解压类

gzip

gzip 文件  //压缩文件
gunzip 文件.gz //解压缩文件命令

zip

zip 选项 文件.zip 将要压缩的内容 //压缩文件和目录的命令
unzip 选项 文件.zip //解压文件
-r //递归压缩,压缩目录
-d 目录 //解压后文件的存放目录
zip -r myhome.zip /home/ //将home目录及其包含的文件和子文件夹都压缩
unzip -d /opt/tmp/home/myhome.zip

tar

tar 选项 文件.tar.gz 要打包内容  //打包目录,压缩后的文件格式为.tar.gz
tar -zcvf pc.tar.gz /home/pig.txt /home/cat.txt //打包多个文件
tar -zcvf pc.tar.gz /home/pig.txt /home //打包文件到某位置
tar -zxvf pc.tar.gz //解压到当前目录
tar -zxvf /opt/tmp2 tar -zxvf /home/myhome.tar.gz -C /opt/tmp2

image-20210807105145862