Linux简单介绍

特性

  • 完全开源
  • 多用户多任务系统
    继承了UNIX多用户多任务的设计理念,允许多人同时上线工作,合理分配资源。
  • 安全稳定高效
    严格的用户权限管理使不同使用者之间保持高度的保密性和安全性。
  • 支持多硬件平台
    Linux是UNIX Like操作系统,遵循POSIX标准,运行在UNIX下的软件很容易移植到Linux下。

发行版本

Linux发行版指的是通常说的Linux操作系统,通常包括Linux内核,各种GNU软件,及其它一些自由软件,某些特定发行版本也有一些专用软件。
发行版为许多不同目的制作,包括对不同计算机硬件结构的支持,对一个具体区域或语言的本地化,实时应用,和嵌入式系统。

  • Red Hat Enterprise Linux 红帽公司的企业版Linux系统,采用RPM的包管理方式。
  • CentOS 由社区开发并维护,基于RHEL,并与RHEL版本号保持一致,致力于提供一个自由使用且稳定的RHEL。
  • Fedora 主要由RedHat主持的社区Linux项目,采用同样的RPM管理,致力于最新技术的开发和引入。
  • SUSE Linux 在欧洲流行的Linux版本,特点是界面华丽和简单易用。
  • Debian 完全开放,由志愿者维护,基于Deb的包管理。
  • Ununta 基于Debian开发,采用相同的Deb和Apt,致力于开发简单易用的Linux系统。

开源文化

  • GNU 1983年提出的一个项目计划,目标是提供一个和UNIX100%兼容的自由软件的操作系统。
  • GLP GNU通用公共许可证,任何软件发布都需要提供许可证。
  • GNU和Linux的结合 1991年,林纳斯编写除了与UNIX兼容的Linux操作系统内核并以GPL授权发布。 1992年,Linux与其他GNU软件结合,完全自由的操作系统正式诞生。

总结

  • Linux是什么
    严格来说只是一个操作系统内核,大多数Linux发行版是由操作系统内核加上GNU的软件或工具形成的完整的操作系统,也就是GNU/Linux,一种Unix Like操作系统。
  • 广泛的Linux发行版本有哪些
    RHEL、Centos、Ubuntu、SUSE Linux。
  • Linux有哪些特点
    完全开源、支持多硬件平台、多用户多任务、安全高效稳定。

安装Linux操作系统

虚拟机

虚拟机软件:可以模拟出虚拟计算机并运行操作系统的软件。
虚拟机:在虚拟机软件下模拟出来的一个计算机(虚拟机)。
常用虚拟机软件:VMware workstation、virtual Box。

安装步骤

(我安装的是VM15和Centos8,百度一下相关的安装教程,很简单,有不懂的可以私我,由于主要介绍的是使用,就不详写安装了)。

1.安装VMware15版本
2.打开VMware创建虚拟机
3.在虚拟机上安装Linux操作系统
1)下载Linux操作系统的镜像文件 2)将镜像文件放入虚拟机的虚拟光驱 3)开启虚拟机

进行到安装软件时,选择带GUI的服务器,开发工具和图形管理工具

安装完成后 选择未列出 使用root用户登陆

虚拟机快照和克隆

  • 快照:
    又称还原点,保存在拍快照时的系统的状态(包含了所有内容),在后期可以随时恢复拍摄快照时状态。 (类似于Windows的系统还原)

    从左至右为:拍摄快照 恢复快照 管理快照
  • 克隆:
    可以根据一台配置好的虚拟机复制一台一模一样的虚拟机出来,但是克隆时需要虚拟机处于关闭状态。

    右键自己的虚拟机,然后选择->管理->克隆

关机和重启系统命令

关机和重启操作只有管理员权限可以执行
在左上角点击活动->选择终端 以后要输入的指令都在此输入

直接关机:shutdown -h now
定时关机:shutdown - h 10(10分钟后关机)
取消关机: shutdown -c
重启:reboot
定时重启:shutdown -r 10(10分钟后重启)
取消重启:shutdown -c


基本使用

快捷键

默认:
搜索应用程序 win+s
显示应用程序 win+a
退出 esc

设置:
设置快捷键 桌面右键->显示设置->keyboard

终端基本使用

可在首选项内设置快捷键、文字大小、光标形状、背景颜色等

Linux目录结构

目录 说明 备注
/root 管理员root的家目录
/home 普通用户的默认家目录 /home/你的用户名
/bin->/usr/bin 普通用户的命令 软连接文件 /usr/bin/date /usr/bin/ls
/sbin->/usr/sbin 管理员使用的命令 软连接文件 /usr/bin/shutdown
l/usr/local 第三方源码包默认安装目录 类似Windows下的C:\Program Files
/etc 系统和服务相关配置文件 /etc/passwd
/var 动态,可以变化的数据文件 日志文件(/var/log/xxx)
/tmp 临时文件存放目录 全局可写(系统或程序产生临时文件)
/dev 设备文件 /dev/sda
/lib -> /usr/lib 库文件 软连接文件
/lib64-> /usr/lib64 库文件 软连接文件
/proc 虚拟的文件系统 反映出来的是内核。进程信息或实时状态
/boot 系统内核,引导程序相关文件
/media 移动设备默认挂载点
/mnt 手工挂载设备挂载点

文件路径表示方法

  • 绝对路径
  1. 一定以/开头,是唯一一个绝对能够描述文件所在路径的方式
  2. /根目录是Linux操作系统最顶级的目录,没有任何路径比它还要靠前
  • 相对路径
  1. 路径是相对的,文件所在的路径是相对于当前所在路径而言的
  2. 当前路径用../表示 当前目录的上一级用..../表示
  3. 当前用户家目录使用~表示,上次工作路径使用-表示
  • 路径查看和切换
    查看当前路径 pwd

    更改工作路径 cd
[root@sjh ~]# cd /home
[root@sjh home]# pwd
/home
[root@sjh home]# cd
[root@sjh ~]# pwd
/root

文件操作管理

Linux下,一切皆文件 以下所有命令都在终端上运行
终端上所有命令都需要SHELL解释器翻译,RedHat和Centos的默认shell解释器为BASH
语法: 命令 [可选项] 参数
命令:整条shell命令的主体
选项:会影响或微调命令的行为,通常以---
参数:命令作用的对象

判断文件类型(file)

常见文件类型:

文件类型 说明
字符设备(c) 所有输入输出的设备,如:键盘、数部、显示器、打印器
块设备(b) 所有存储设备称之为块设备文件,如:软盘、磁盘、光盘、U盘、磁带、光驱等
软连接文件(l) 类似于Windows下快捷方式
目录文件(d) 相当于Windows文件夹
普通文件(f或-) 类似Windows下记事本、word等,可使用相关命令进行编辑、查看文件内容
管道文件(p) 程序或进程之间的通信方式
套接字文件(s) 程序或进程之间的通信方式


可见tty是字符型设备,nvme0n1是块设备
可见/usr/bin/sh是软连接文件 连接了usr/bin/bash

d代表目录文件,-代表普通文件。


列出目录内容 (ls)

常见选项
-a   all,查看目录下所有文件,包括隐藏文件
-l   长列表显示 查看到的时间是“最近更改”时间
-h   human,以人性化方式显示
-d   只列出目录名
-t   按修改时间排序
-S   按文件大小排序
-r   反向排序
-i   查看inode结点
-R   递归列出所有文件
-m   用逗号分隔显示内容

创建目录(mkdir)

-p 级联创建 如果要创建的目录的父目录不存在 需要加-p参数
默认在当前目录创建 或加./
在根创建 加/
或者加要创建的目录的路径

创建文件(touch)

  • 命名规则
  1. 严格区分大小写
  2. 文件名不能包含特殊字符,如/*
  3. 文件名最多255个字符
  • 创建空文件
  • 文件存在时 修改文件时间戳
    直接使用

    可使用stat 文件名查看文件详情
    最近访问:文件的查看访问时间
    最近更改:文件的修改时间
    最近改动:文件的属性时间,文件的大小、权限等信息发生改变的时间
    -a 修改访问时间 修改格式:年月日时分

    -m 修改更改时间 修改格式:年月日时分

    -t 指定时间格式 和-a / -m一起使用
    -d 同时修改访问和更改时间 修改格式:年月日/年月/年月日 时分秒

查看文件

  • cat 一般查看小文件,从第一行到最后一行列出来
    -n 显示行号
    -A 显示控制字符,如换行符,制表符等
  • tac 一般查看小文件,从最后一行到第一行列出来
  • more 和 less 一般查看大文件,q退出查看,可以搜索,建议使用less
  • head 默认查看文件前10行,head - n m或head m可以查看前m行
  • tail 默认查看文件后10行,tail - n m或tail m可以查看后m行,-f表示动态查看
  • ldd 一般用来查看二进制的命令文件

拷贝文件(cp)

本地文件拷贝
cp [选项] 需要拷贝的文件 拷贝的目标处
选项:

-r : 递归拷贝目录
-v: 显示拷贝过程信息

-p: 文件属性信息一起拷贝

-a : 递归拷贝文件,包括目录及文件属性信息 即-rp的作用

移动或重命名文件(mv)

移动文件(不同路径下)
mv 要移动的文件 新的路径

重命名文件(相同路径下)
mv 旧文件名 新文件名


删除文件(rm)

-r 递归删除,一般用于删除目录
-f 直接删除,不提示

如何获取帮助

简单求帮助

知道命令的含义,忘记了参数

内部命令(shell内置的命令)
help 命令
外部命令(第三方程序,软件带来的命令)
命令 -- help
判断命令内部还是外部
type 命令

详细求帮助(man)

例:man ls
进入后按q退出

Bash的标准输入输出

名词解释

标准输入 stdin:键盘上的输入 文件描述符->0
标准输出 stdout:屏幕上正确的输出 文件描述符->1
标准错误 stderr:屏幕上错误的输出 文件描述符->2

相关符号

  • >:标准输出重定向,覆盖重定向,1>或>标准输出重定向,2>标准错误重定向
  • >>:重定向追加,1>>标准输出追加,2>>标准错误追加
  • <:标准输入
  • &>:标准输出标准错误重定向

echo

将输入的字符串送往标准输出,并在最后加上换行符,可理解为打印字符串。
选项:

-n 不输出最后的换行符
-e 解释转义字符(将字符串中特殊字符进行处理)

可结合>或>>进行文件的创建或内容追加

Linux下文件查找命令

命令查找

which 找出命令的绝对路径
whereis 找出命令的路径以及文档手册信息

文件查找

find 精确查找,磁盘搜索,IO读写,CPU开销大
用法1:找出来输出到屏幕
find 查找路径 选项 关键字




用法2:找出来执行命令
find 查找路径 选项 关键字 动作

默认为-print-ls打印信息,-delere删除

查找当前目录的file文件并复制到tmp目录下:

{}表示find查询到的结果

文件打包和压缩

常用压缩解压工具

压缩工具 说明 解压缩工具
zip 兼容类unix与windows,可以压缩多个文件或目录 unzip
gzip 压缩单个文件,压缩率相对低,cpu开销低 gunzip
bzip2 压缩单个文件,压缩率相对高,cpu开销高 bunzip2
xz 压缩单个文件,压缩率高,时间相对长,解压快,cpu开销高 unxz

工具的用法

  • zip
    压缩:zip 压缩的文件 需要压缩的文件
    选项 :-r 递归压缩,压缩目录 压缩后的模式默认为.zip,也可手动加
    解压缩:unzip 要解压的文件 [-d 解压路径]
  • gzip
    压缩:gzip 需要压缩的文件
    选项:-r 递归压缩 -d 解压缩
    解压缩 gunzip 或者 gzip -d
  • bzip2
    压缩:bzip2 需要压缩的文件
    选项:-d 解压缩
    解压缩 bunzip2 或者 bzip2 -d
  • xz
    压缩:xz 需要压缩的文件
    解压缩:unxzxz -d

文件打包工具

tar命令:可以将多个文件打包成一个并且压缩,不会改变文件的属性
用法:tar [选项] 打包后的文件 需要打包的文件

常用选项 说明
-c 创建tar包(打包)
-z 调用gzip压缩
-j 调用bzip2压缩
-J 调用xz压缩
-v 显示详细信息
-f 指定包名
-x 解压
-C 指定解压路径
-t 列出或查看tar包内容
-r 往tar包追加内容

打包

解压

查看

日期相关指令

date

  • date:打印或设置当前系统的日期和时间
    -s设置系统日期或事件 只有root权限可以 -d打印非当前日期时使用
  • hwclock查看并设置硬件时间

    -s 用硬件时间设置系统时间 -w用系统时间设置硬件时间 -l 查看本地硬件时间
  • timedatectl 查询或更改系统时间
  • 调用当前系统日期 $():括号里的命令优先执行 ``里的命令优先执行(不推荐) 创建目录,以当前系统日期命名:

    创建文件,以3天后系统日期命名:

cal

cal查看日历

用户组管理

用户管理

概念

  • 用户
    Linux操作系统中用于管理系统或服务的人
  • 管理的内容
    Linux下一切皆文件,管理的是相应的文件
  • 如何管理
    文件的基本管理:创建、删除、复制、查找、打包压缩等,文件的权限增加、减少等
    文件的高级管理:程序文件的安装、卸载、配置等

分类

  • 超级用户
    管理员root,具有所有权限,UID=0
  • 系统用户
    也叫程序用户,一般由程序创建,用于程序或者服务运行时候的身份。
    默认不允许登陆系统,1<=UID<=999
  • 普通用户
    一般由管理员创建,用于对系统进行有限的管理维护操作。
    默认可以登陆系统,1000<=UID<=60000。

基本管理

  • 创建用户 useradd
    选项:
    -u 指定用户uid,唯一标识
    -g 指定用户的默认组(主组)
    -G 指定用户的附加组(一个用户可加入多个组,但默认组只有一个)
    -d 指定用户家目录(默认在/home/xxx)
    -s 指定用户默认shell
    使用id 用户名查看用户信息
    su - 用户名登陆
  • 密码设置 passwd
    passwd 用户名 给某个用户设置密码
    passwd 给当前用户设置密码
    echo 密码|passwd --stdin 用户名 跳过验证直接设置密码

    普通用户设置密码必须符合安全规范
    用户信息保存在/etc/passwd
    用户密码信息保存在/etc/shadow
  • 更改用户密码信息chage
    选项:
    - d 最近日期
    - E 过期日期
    - I 过期I天后,设定密码失效
    - l 显示账户信息

    - m 最小天数
    - M 最大天数
    - W 警告天数
  • 更改用户信息 usermod
    usermod [选项] 用户名
    选项:
    -u 指定用户uid,唯一标识
    -g 指定用户的默认组(主组)
    -G 指定用户的附加组(一个用户可加入多个组,但默认组只有一个)
    -d 指定用户家目录(默认在/home/xxx)
    -s 指定用户默认shell
  • 删除用户userdel
    userdel [选项] 用户名
    不会删除目录及邮箱 要删除使用-r

    选项:
    -r 删除用户并移除其目录和邮箱
    -f 强制删除正在创建的用户

组管理

组和用户的关系

  • 组的目的是为了方便管理用户
    用户是操作系统上管理维护系统或服务的人
    组是用户的一个属性信息
    任何一个用户默认都会有一个主组(默认组)
    一个用户除了主组也可以有多个其他组(附加组)
  • 用户的主组和附加组之间无关
  • 文件所属的组是创建文件的用户的默认组

组的管理

  • 创建组
    基本语法 groupadd [选项] 组名
    -g指定组的GID,唯一编号
    创建一个组 指定GID=2000
    通过tail etc/group查看组信息
  • 删除组
    goupdel 组名
    若一个组是其他用户的主组 不可删除
  • 组成员管理
    gpasswd [选项] 组名
    选项:
    -a 添加用户到组
    -d 从组中删除成员

    -A 指定管理员
    gpasswd -A stu2 admin将stu3设置为组admin的管理员,使用其他用户管理组会失败

    -M 指定组成员,可以批量添加用户到组中(会覆盖原成员)
    -r 删除密码

    gpasswd 组名给组设置密码

文件编辑工具vim

  • linux下的文本编辑器:emacs、nano、gedit、vi、vim
  • vi编辑器通常被称为vi,它是Linux和Unix系统上最基本的文本编辑器,类似于Windows下的记事本
  • 所有的Unix like系统都会内置vi文本编辑器,很多软件的编辑接口都主动调用vi,vim具有程序编辑能力,可以主动以字体颜色辨别语法正确性,方便程序设计,程序简单,编辑速度快

三种模式

  • 命令行模式
    进行基本的复制、删除、跳转、撤销、移动等操作

在第一行按下yy,在bin行按下p,复制到该行下面,在daemon行按下P,复制到改行上面


  • 编辑模式

功能:编辑文件内容
进入方式:
i 在光标所在字符前开始插入
a 在光标所在字符后开始插入
o 在光标所在行的下面另起一新行插入
I 在光标所在行的行首开始插入 如果行首有空格则在空格之后插入
A 在光标所在行的行尾开始插入
O 在光标所在行的上面另起一行开始插入
S 删除光标所在行并开始插入

  • 底行模式
    命令行进入底行模式 按冒号:
    编辑模式进入底行模式:先按esc退出到命令模式,再按冒号:
    w保存文件
    wq保存退出
    q不保存退出
    x在文件未修改情况下,表示直接退出,否则表示保存退出
    替换搜索 / 搜索内容 n往下匹配,N往上匹配

三种模式的切换

不想学了 到此为止吧

基于RHEL8的Linux基础入门学习总结笔记(附示例代码)相关推荐

  1. VBoxvmware虚拟机安装Linux及Linux基础入门学习

    VBox&vmware虚拟机安装Linux及Linux基础入门学习 通过VMware workstation安装Linux 在安装虚拟机之前,我特意上网搜索了一下目前常使用的虚拟机软件,了解了 ...

  2. 粤嵌实验板 linux 环境,粤嵌linux基础入门学习 linux系统中添加系统调用

    linux系统中添加系统是怎样调用的?从linux基础入门学习出发,一起来看看: 1.每个体系下面均有对应的系统调用列表: arch/arm/kernel/calls.S 在最后添加一个新的系统调用标 ...

  3. 零基础入门学习python笔记-day1:程序开发谋定而后动

    流程图 更复杂的开发需要用到思维导图哦~ 思维导图侧重于设计,流程图更侧重于实现. 学习资料:小甲鱼零基础入门学习python https://www.bilibili.com/video/BV1c4 ...

  4. 重视网络安全,红客联盟最新开源分享“黑客零基础入门学习路线+笔记”堪称黑客入门天花板教程

    起源 黑客这一词在莎士比亚的那个年代就存在了,最早的计算机诞生于1946年宾夕法尼亚大学,而最早的黑客却出现在麻省理工学院和贝尔实验室.初代黑客指的都是一些会计算机技术的研究人员,他们热衷于挑战,崇尚 ...

  5. 重视网络安全,华为红客联盟最新开源分享“黑客零基础入门学习路线+笔记”堪称黑客入门天花板教程

    起源 黑客这一词在莎士比亚的那个年代就存在了,最早的计算机诞生于1946年宾夕法尼亚大学,而最早的黑客却出现在麻省理工学院和贝尔实验室.初代黑客指的都是一些会计算机技术的研究人员,他们热衷于挑战,崇尚 ...

  6. 重视网络安全,红客联盟最新开源分享“黑客零基础入门学习路线+笔记”堪称黑客入门天花板教程!

    前言 黑客这一词在莎士比亚的那个年代就存在了,最早的计算机诞生于1946年宾夕法尼亚大学,而最早的黑客却出现在麻省理工学院和贝尔实验室.初代黑客指的都是一些会计算机技术的研究人员,他们热衷于挑战,崇尚 ...

  7. Linux 基础入门学习之用户和文件权限管理

    Linux 用户管理 Linux 是一个可以实现多用户登录的操作系统,比如"李雷雷"和"韩梅"都可以同时登录同一台主机,他们共享一些主机的资源,但他们也分别有自 ...

  8. Linux基础入门学习笔记之二

    第三节 用户及文件权限管理 Linux用户管理 Linux是可以实现多用户登录的操作系统 查看用户 who命令用于查看用户 shiyanlou是当前登录用户的用户名 pts/0中pts表示伪终端,后面 ...

  9. linux修改时间_技术干货||基于Centos8的Linux简单入门学习笔记

    很基础 以后不想记笔记了 最后分享一次

最新文章

  1. 【OpenCV 4开发详解】保存和读取XML和YMAL文件
  2. [推荐]在JavaScript中实现命名空间
  3. Spark的RDD行动算子
  4. 服务器常用shell巡检脚本
  5. Python 函数参数的分类及使用方法
  6. SqlServerDBCC SHRINKFILE不起作用
  7. 下面介绍一个开源的OCR引擎Tesseract2。值得庆幸的是虽然是开源的但是它的识别率较高,并不比其他引擎差劲。网上介绍Tessnet2也是当时时间排名第三的识别引擎,只是后来慢慢不维护了,目前是G
  8. 64位ubuntu安装交叉编译器出现的问题。nuc972工程中的问题
  9. STM32学习及开发笔记八:采用主从计时器实现精确脉冲输出
  10. 用友U8自定义按钮开发
  11. js 数组、对象转json 以及json转 数组、对象
  12. newifi3 高恪魔改_newifi 3 四大路由器固件优劣分析
  13. 基于51单片机的交通灯原理图加代码
  14. GPS经纬度转百度地图经纬度
  15. 用excel实现工作日志的更新和汇总
  16. python人民币小写转大写_python人民币小写转大写辅助工具
  17. win10卸载预装软件
  18. 如何让CDC类USB设备批量接收64字节以上数据
  19. 大数据培训课程之Flume拓扑结构大数据培训课程之Flume拓扑结构
  20. discuz插件 inc.php,discuz的插件是怎么操作数据库的?

热门文章

  1. Program gcc not found in PATH
  2. 你是团队中的哪种人?
  3. Python虚拟环境指南2022版本
  4. 在线解题小程序有哪些功能?
  5. Win10耳机有声音麦不能说话怎么办?麦克风说话别人听不到解决方法
  6. 简体字与繁体字对照表 “学习繁体字”
  7. 局域网语音对讲系统_与时俱进的可视对讲设备,家庭安防的第一道防线
  8. linux搭建服务器ppt,Linux服务器远程控制搭建.ppt
  9. 自动车速度闭环控制器设计
  10. CH0 安装配置Greenfoot