Linux操作系统

第一章:认识Linux操作系统

1.1  操作系统

1.1.1 操作系统的概述

操作系统通常指的是对计算机硬件与软件进行管理控制的计算机程序。

它是可以直接运行在硬件平台上的核心系统软件,其他软件则可以在操作系统的

基础上完成运行。

1.1.2 嵌入式操作系统

嵌入式操作系统(Embedded Operating System,简称:EOS)是指用于嵌入式系统的操作系统。嵌入式操作系统是一种用途广泛的系统软件,通常包括与硬件相关的底层驱动软件、系统内核设备驱动接口、通信协议图形界面、标准化浏览器等。嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。

1.2  Linux操作系统概述

1.2.1  Linux操作系统的历史

Linux操作系统的诞生、发展和成长过程始终依赖着五个重要支柱:UNIX 操作系统、MINIX 操作系统、GNU计划、POSIX 标准和Internet 网络。

984年,Andrew S.Tanenbaum开发了用于教学的UNIX系统,命名为Mininx。

1989年,Andrew S.Tanenbaum将Minix系统运行于x86的PC平台。

1990年,芬兰赫尔辛基大学学生Linux Torvalds首次接触Minix系统。

1991年,Linux Torvalds开始在Minix上编写各种驱动程序等操作系统内核组件。

1991年年底,Linux Torvalds公开了Linux内核源码0.02版

1994年,Linux 1.0版本发布

1996年,Linux 2.0版本发布

2011年,Linux3.0版本发布

1.2.2  Linux操作系统的优势

1.低成本开发

2.可以应用于多种硬件平台

3.可定制内核

4.多用户多任务

5.良好的网络功能

1.3  Linux操作系统的安装

windows教程
https://blog.csdn.net/qq_43015237/article/details/109234454?utm_medium=distribute.pc_feed_404.none-task-blog-2~default~BlogCommendFromBaidu~Rate-2-109234454-blog-null.pc_404_mixedpudn&depth_1-utm_source=distribute.pc_feed_404.none-task-blog-2~default~BlogCommendFromBaidu~Rate-2-109234454-blog-null.pc_404_mixedpud

mac教程
https://blog.csdn.net/Oliver96/article/details/133142717

详情请看以上链接

第二章:Linux操作系统的使用

2.1:初识终端

打开终端(乌班图系统):Ctrl+Alt+T

打开终端(Windows系统):Win+R

关闭终端:exit命令; Ctrl+D

2.2:认识shell

username @ hostname :direction Shell提示符

//username 用户名
//hostname 主机名
//direction 方向/路径
"~"表示在用户主目录下;"/"表示在根目录下
//shell提示符:普通用户为"$"符号
              超级用户/管理员用户/root为"#"

2.3:Linux操作系统命令

2.3.0:用户与系统相关命令

1:切换用户命令su
//sudo superuser do
//passwd 设置/更改密码
//我要以超级管理员的身份为root用户新建密码
$ sudo passwd root 

//第一次密码:用户密码(123456)
//第二次密码:要设置的root用户密码(12345678)

//switchUser su为切换用户命令
$ su root 

//退出超级管理员身份
$ exit

//以普通用户的身份执行超级用户的权限
$ sudo 
2:系统相关命令
//shutdown命令
//实现系统关机或重启
//shutdown -r 关机
//shutdown -c 取消一分钟后的关机/重启
//shutdown -h 重启

//reboot 立即重启

//clear 清屏命令

//exit命令
//当用户为普通用户时,其功能为关闭终端
//当用户为超级用户时,其功能为切换到普通用户

2.3.1:文件相关命令

1:目录的创建与删除命令
//目录创建
$ mkdir filename

//创建一个层级目录
$ mkdir -p filename/filename1/filename2

//删除空目录
$ rmdir filename

//删除非空目录
$ rm -rf filename

 
2:目录切换命令
//切换目录
$ cd (需要切换的路径名)

//切换到上一级目录
$ cd ..

//切换到用户主目录
$ cd ~

//切换到根目录

$ cd /



// ./表示当前所在目录
// ../表示上一级目录
// ../../表示上上级目录

// pwd查看用户当前工作目录的绝对路径
3:文件查询命令
$ls [选项] [文件]

//表示一行输出一个文件
$ ls -1

//列出目录中所有文件(包括.开头的隐藏文件)
$ ls -a

//列出文件的具体信息
$ls -l
4:  文件的复制,剪切,删除
//命令cp用来将目录或文件复制到另一个目录或文件中。
$ cp 源文件/目录 目标文件/目录 [-rf]

//命令mv用来实现目录或文件移动(剪切)到另一个目录或文件中。
$ mv 源文件/目录 目标文件/目录 [-rf]

//命令rm用来删除文件或目录。
5:  文件搜索命令
//grep
//(grep -参数  '需要匹配的字符' 文件名)
//如果匹配到相关信息就会打印符合条件的所有行
//grep '需要匹配的字符' 文件名
// -i 不区分大小写
// -c 统计包含匹配的行数
// -n 输出行数
// -v 反向匹配


//find
//(find -name  文件名)
//在指定的目录中查找文件
//find 路径 文件名
//-name 按照名字来查找
//-iname 模糊大小写搜索
// * 匹配任意长度的字符串

$ find / -name Videos (会遍历根目录下的所有文件,并显示搜索结果)
$ find -name *.txt (可以搜索当前目录下的txt文件)

ps -u 显示当前程序中的进程列表
6:  文件链接
//ln(link)的缩写
//链接分为软链接和硬链接
//无论是修改源文件还是链接文件,另一个文件中的数据都会发生改变,

//ln [选项] 源文件或目录 目录文件或目录

// 软链接
//ln -s 源文件或目录 目标文件或目录
//除软链接文件,源文件不受影响;而除源文件,软链接文件会失效。

//硬链接
//无论是制除了源文件还是硬链接文件,只要有一个文件存在,文件都可以被访问
//硬链接不能链接目录
 7:  文件所属用户
//Linux操作系统是一个多用户的操作系统
//系统对用户的管理采用分组分形式,即多个用户分为一组

//命令chown用于修改文件所属用户(change owner) 
//命令chgrp用于修改文件所属用户值(change group)

//chown/chgrp [选项] [所属用户/组]  [文件]
8:  文件存储权限 
//r表示可读权限 w表示可写权限 x表示可执行权限 -表示不具备该权限

//第一组:文件所属用户对文件的访问权限
//第二组:与所属用户同组的其他用户对文件的访问权限
//第三组:非同组的其他用户对文件的访问权限

// + 代表增加权限  - 代表减少权限

//不同的用户级别表示为:
//u(文件所属用户)  g(同组其他用户)  o(系统其他用户)  a(所有用户)

//chmod  [选项] 权限符号 文件
[八进制数法]
//将拥有该权限设置为1,不具有设为0
//例"rwx r-x -w-",可替换为二进制”111 101 010"

//chmod [选项] 八进制数 文件

//0 000 无任何权限
//1 001 可执行
//2 010 可写
//3 011 可写可执行
//4 100 可读
//5 101 可读
//6 110 可读可写
//7 111 可读可写可执行
9. 关于文件内容的命令
//创建文件
$ touch [文件名]

//查询文件内容
$ cat [参数] [文件名]

//在文件中写入内容
$ echo "" >目标文件   (>覆盖内容)
$ echo "" >>目标文件  (>>表示追加内容)

//将文件中的内容换行输入
$ echo -e "..\n.." >目标文件(要使用-e这个参数激活\n转义字符)

2.3.3:压缩打包相关指令

1:命令gzip和gunzip命令
//gzip可以用来实现对文件进行压缩或解压缩
//gzip只能压缩或解压缩单个文件,不能压缩目录

$ gzip [选项] 文件
// -d 选项可以对压缩文件进行解压缩

//zcat命令可以在不解压的情况下查看这个文件中的内容

//gunzip 命令对文件进行解压缩
$ gunzip [选项] .gz文件
 2:tar命令
//命令tar用于实现目录的打包或解包

//打包指的是将一些目录或文件整合成一个单文件
//而压缩则是将个大文件通过压缩算法变成一个体积较小的文件

$ tar 参数 新包名 源文件或目录

//-c creat 创建档案
//-v 显示详情
//-f 文档
//-x 从打包文件中解压缩参数
//-z 压缩打包文件
//-C 还原到指定文件夹



//-cvf 打包参数
//-xvf 解包参数
//-czvf 打包压缩参数
//-xzvf 解包解压缩参数

2.3.4:系统常用功能命令

1:Tab 补齐

命令补齐需要连续按两次Tab键

文件名补齐需要按一下Tab键

2:查询历史命令
按“⬆”即可翻看历史命令

//将命令以列表的形式记录1开始显示出来
$ history

// 能够查看的命令行数
$ echo SHISTSIZE

// 修改历史命令容器
$ HISTSIZE=num

3:  通配符的使用
//问号(?)代表它所在位置上的任何单个字符

//星号(*)代表从它位置开始的任何字符串

//方括号([]) 表示一个指定范围的字符
//([])匹配指定的范围
//([!]) !非运算意为不匹配[]内的任意字符
4:管道的使用
//wc命令用于统计指定文本的行数,字数,字节数

$ wc [参数] 文件名

//-l 只显示函数(包括空行)
//-w 只统计单词数
//-c 只显示字节数(空行,换行,结尾符)

//wc -w 可以查询文件中的单词数
//      也可以查询目录中文件的数量

// 管道 |
// 连接命令,将第一个命令的输出作为第二个命令的输入。

第三章:linux用户管理

3.1:用户的基本概念

1:用户的属性
a:用户名
b:口令

口令是登录账号的密码

c:用户标识符

用户标识符(UID)是账号的提示符。

一般情况下,与用户是一一对应的。

UID为0的账号属于系统管理员;

UID为1-499的账号是系统保留账号,不可登录。

UID为500-65526为可登录账号,供一般用户使用。

d:用户主目录

用户主目录即用户的起始工作目录,默认”home/用户名“

// 从用户主目录切入到home目录
$ cd ..
// 查看home目录下的文件夹
$ ls (会有一个用户文件夹)
// 查看用户主目录的绝对路径
$ pwd

3.1.2:用户与组

a:一对一:某一用户是某个组的唯一成员

b:多对一:多个用户是某唯一组的成员,成员不归属其他用户组

c:一对多:某个用户可以是多个用户组的成员

d:多对多:多个用户对应多个用户组

3.1.3:与用户相关的配置文件

a:/etc/passwd

//记录了用户的基本属性
$ cat /etc/passwd
$ tail /etc/passwd

//gdm:x:126:131:Gnome Display Manager:/var/lib/gdm3:/bin/false
//用户名:加密口令:UID:GID:个人信息:主目录:登录shell

b:/etc/shadow

//记录了用户的密码信息
//WJK:123456:19600:0:99999:7:::
//登录名:加密口令:最后一次修改时间距离1970年元旦的天数:最小时间间隔:最大时间间隔
:警告时间

c:/etc/group

$ cat /etc/group

// tfboys:x:1004:
// 组名:口令(加密后):组标识号(GID):组内用户列表

3.2:用户管理

1:添加用户
$ useradd [参数] 用户名
//-m 指定新建用户的用户文件夹在home目录中

//eg:
$ sudo useradd -m tom
$ cd ..
$ ls (home文件夹中多出了一个tom文件夹)
2:设置用户密码命令
$ passwd [选项] 用户名

eg:
// $ sudo passwd tom
// $ 输入两遍要设置的密码

3:删除用户
$ userdel [选项] 用户名
// -r 将用户主目录一并删除

eg:
$ sudo userdel -r tom(当前进程在运行,无法删除tom用户)
//退出tom用户进程
$ sudo kill -SIGKILL 进程号 
4:用户属性修改
$ usermod [选项] 用户名
//【-p 修改用户密码】

//查看用户密码文件夹
$ cat /etc/shadow
$ tail /etc/shadow
//修改用户密码
$ usermod -p 新密码 用户名
$ usernod -p 123456 tom
//查看用户修改密码后的密码文件
$ cat /etc/shadow | grep "tom"

$ usermod [选项] 用户名
//-a  添加
//-G  指定组名

//将xx用户添加到xx组
$ sudo usermod -aG 组名 用户名
//查看xx组成员
$ cat /etc/group | grep "xx组"

3.2.2:用户组管理

1:用户组的添加
$ groupadd [选项] 用户组

$ su root
$ groupadd tfboys
(用户组的所有信息都存放在“/etc/group“文件夹中)
//查看组
$ cat /etc/group
$ tail /etc/group (查看最后10个组的命令)
关于tail命令
tail [参数] [文件]

-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c<数目> 显示的字节数
-n<行数> 显示文件的尾部 n 行内容

tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。
tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,
只要 filename 更新就可以看到最新的文件内容。
2:用户组成员的添加与删除
$ gpasswd [选项] 用户名 组名
// -a 把用户添加到组
// -d 把用户从组中删除

$ su root
$ tail /etc/group
$ tail /etc/passwd
$ gpasswd -a czt mjq
$ grep "mjq" /etc/group

$ gpasswd -d czt mjq
$ grep "mjq" /etc/group
3:用户组的修改
$ groupmod [选项] 用户组 旧用户组
// -n 将用户组的名字改为新的名字(更改后 更改前)
// -g 指定新的组标识号(GID)
4:用户组的删除
$ groupdel 用户组

第四章:linux软件管理

4.1:dpkg软件包管理工具

$ dpkg [选项] <package//包名>
//-l 列出已安装软件包的简要信息,包括状态,名称,版本,结构和
描述状态
$ dpkg -l apt(列出apt软件包的基本信息)
$ ctrl+c (终止正在进行命令)
$ dpkg -l (显示所有已经安装的Deb软件包)
//ctrl+b(向上翻页)ctrl+f(向下翻页)
$ dpkg -l | grep <package> (结合管道操作在使用grep命令可以查询某些软件包)

//-i 安装一个已经下载至本地的Deb软件包
//-s 检测软件包的安装状态

//[下载net-tools]
$ ifconfig (未能查看网络接口的详细信息)
$ wget http://mirrors.kernel.org/ubuntu/pool/main/n/net-tools/net-tools_1.60+git20161116.90da8a0-1ubuntu1_amd64.deb
(从网上下载一个Deb包)(wget命令用与从指定的URl中下载文件)
$ sudo dpkg -i 文件夹名(安装Deb软件包)
$ sudo dpkg -s net-tools(检测软件包的安装状态)
$ ifconfig (可以成功查看网络接口信息,包括接口名称、IP地址、MAC地址、网络掩码。)
$sudo dpkg -L net-tools(查询软件包安装后产生的文件列表)
$sudo dpkg -r net-tools(卸载软件包)
$sudo dpkg -P net-tools(卸载软件包及相关文件)

4.2:APT软件包管理工具

//从配置的源文件中下载更新包信息。以确保获取最新的软件包
$ sudo apt update
//查看net=tools软件包信息,如果已经安装过这个软件,会显示已经安装
$ apt list net-tools
//如果已经安装,使用已经学过的dpkg命令卸载软件
$ sudo dpkg -P net-tools
//再次查看软件包信息
$ apt list net-tools
//安装软件包
$ sudo apt install net-tools
//显示软件包的细节
$ sudo apt show net-tools
//移除软件包
$ sudo apt remove net-tools
//升级所有可以升级的软件
$ sudo apt upgrade(通过“安装-升级”的方式更新软件包)
$ sudo apt full-upgrade(通过“卸载-安装-升级"的方式更新软件包)

第五章:Linux编程环境

5.1:文本编辑器Vim

//安装Vim编辑器
$ sudo apt install vim
//打开文本编辑器(如果目标文件已经存在则打开编辑,如果不存在会新建一个文件)
$ vim abc.txt

//vim的工作模式有三种,分别为命令模式,插入模式,底行模式
//使用命令vim打开文件,这个初试状态就属于命令模式

//按i键进入插入模式(编辑模式)
//对文件进行操作

//按“shift”+“ :”进入底行模式

//按esc键进入命令模式
//使用按键移动光标
//输入:wq 保存并退出
//输入:q 退出
//输入:q!强制退出(不保存)

第六章:Linux网络配置

6.1:网络基础知识

//查看网络配置
//if表示interface
//会列出所有的网络接口,及各个接口的状态

$ ifconfig
// eth和ens的区别:一个是真实物理网卡,一个是虚拟会话网卡。一个真实物理网卡上可以绑定多个虚拟网络会话。
//up-代表网卡的开启状态,running-代表网卡上的网线处于连接状态;MTU:1500-最大传输单元为1500字节。

//inet-IP地址;broadcast-广播地址;inet6-IPv6地址的配置信息。

//1o网卡是Loopback的缩写,也就是本地回环网卡,这个网卡的IP地址是127.0.0.1。代表我们的网络协议正常,就算不插入网线也能ping通,没有实际使用意义。

//开启/禁用网络
$ sudo ifconfig 网卡 up
$ sudo ifconfig 网卡 down

// ping命令-测试网络中的主机的通信情况。(Ctrl+C强行中止)//显示ping的域名以及IP地址,发送的是56字节的数据。
//从目标主机中收到的数据是64字节,icmp_seq是收到包的序号,time是时延。
$ ping www.baidu.com

//临时配置IP地址
//使用ifconfig命令配置网卡信息仅会临时生效,重启网络或服务器配置就会失效。
$ sudo ifconfig网卡(ens33)地址(10.0.36.99)
//配置网卡的物理地址
ifconfig 网卡 hw ether [临时IP]
// 网卡设备禁用
$ sudo ifconfig 网卡 down// 修改
$ sudo ifconfig 网卡hw ether[0:11:22:33:44:55]
// 重启网卡命令
$ sudo ifconfig 网卡 up
//查询修改结果
// ifconfig

  • 45
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值