Linux概述

Linux概述

Linux 主要是在服务器端。

Linux 开源的。

程序员-必须要掌握Linux

Linux 简介

Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。

Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX(可移植操作系统接口) 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。

Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linux发行版

Linux 的发行版说简单点就是将 Linux 内核与应用软件做一个打包。

最简单安装 - 命令界面 图形化界面安装- Linux的桌面

image-20200312153222868

目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。

image-20200312154723810

Linux 应用领域

  • 服务器:web站点 (LAMP Linux Apcahe MySQL PHP LNMP Nginx)

    目前 Linux 不仅在家庭与企业中使用,并且在政府中也很受欢迎。

    • 巴西联邦政府由于支持 Linux 而世界闻名。
    • 有新闻报道俄罗斯军队自己制造的 Linux 发布版的,做为 G.H.ost 项目已经取得成果。
    • 印度的 Kerala 联邦计划在向全联邦的高中推广使用 Linux。
    • 中华人民共和国为取得技术独立,在龙芯处理器中排他性地使用 Linux。
    • 在西班牙的一些地区开发了自己的 Linux 发布版,并且在政府与教育领域广泛使用,如 Extremadura 地区的 gnuLinEx 和 Andalusia 地区的 Guadalinex。
    • 葡萄牙同样使用自己的 Linux 发布版 Caixa Mágica,用于 Magalh?es 笔记本电脑和 e-escola 政府软件。
    • 法国和德国同样开始逐步采用 Linux。

Linux Mac 工作、图形工作站,程序员 VS Windows,游戏

使用:Windows 更容易上手 ,需要一点点学习成本(2-3天)

软件:

Windows 软件多,很多可能会付费。

Linux 是免费的开源的,部分付费,但是软件相对于 Windows 比较少。

环境搭建说明

1、购买云服务器(阿里云、腾讯云、华为云… 活动的时候买,优惠 100 以内 2h2g 1h1g)

image-20231203201605341

通过ssh工具连接到远程服务器

image-20231203201653752

2、搭建虚拟机环境

  • 虚拟机软件 (vm、virtualbox)
  • 下载linux发行版的 iso 镜像文件

3、得到一个全新操作系统

  • 虚拟机的快照功能, 备份-恢复
  • image-20231203201737024
  • image-20231203201849949
  • 打开虚拟机中的linux
  • image-20231203201921166
  • image-20231203202007105
  • 说明:
  • 登录的时候,密码框是不展示内容的,输入完密码直接按回车即可。
  • 如果在同一个局域网内,可以通过ssh直接链接到服务器

image-20231203202155612

Linux系统基础结构

windows mac linux … 一切皆文件

image-20231203202430376

开机和关机

windows 开机启动程序 (服务)

image-20231203202525836

Linux,维护系统正常运行的进程:守护进程

登录:root、密码

  • 命令行登录
  • ssh工具登录
  • 图形化界面登录

root用户:是linux权限最高的用户。

一般在公司使用:建立多个用户。

关机

linux、很多运行数据都在内存中

# 同步内存数据
sync

# shutdown 关机命令
shutdown

# 定时关机
shutdown -h now  # 立马关机
shutdown -h 20:30 # 指定时间关机

# poweroff 关闭电源

备注:在正常使用服务器中,很少使用关机命令。一个项目一旦跑起来,很少停止。使用关机命令之前 sync 同步一下数据。

真实的环境都是7*24的

目录结构

/ 带表根目录的 
列举出   / 下的所有文件
ls /
树形结构

image-20231203203210324

image-20231203203224101

/bin : bin二进制,存放一些常用的命令,系统的命令都在这里面。

/boot: 文件,存放系统启动相关的核心文件。

/dev : 设备。外部设备文件夹。

/etc: 配置文件

/home : 用户的主目录,每个的登录的用户,都会有自己的 home目录

/lib: 系统基本的动态链接库 类似于 windows,system32、dll 文件

/root:系统管理员的目录,超级管理员

/opt:主机安装的额外软件。oracle、xxx

/tmp: 一些临时文件。

/usr: 存放用户的软件文件。类似于 windows programfiles

image-20231203203928130

可以百度搜索:linux 根目录下所有文件夹作用,学习了解其他的。

目录命令

我们日常的操作:新建、删除、移动、重命名、复制…

相对路径、绝对路径

绝对路径:从根目录开始写的,就是绝对路径

/root/新建文本文档.txt

对于windows就是从盘符开始的路径
D:\KuGou\Lyric

相对路径

# ./当前目录
./新建文本文档.txt

# ../ 回到上一级目录,向下找寻
../root/新建文本文档.txt

常用命令

ls:列出目录

ls:只列出目录下的文件
ll:列表展示详细信息

ls -参数,列出一些关于文件的信息
# 在linux可以简写的命令,都是十分常用的
ls -a 。可以列出全部的文件。包括隐藏文件
ls -l , 可以简写为ll

# linux中的命令都是可以叠加的
ls -al

image-20231203205351121

cd:切换目录

cd 目录位置:相对or绝对路径

cd .. 回到上一级目录
cd ~ 回到用户主目录,根据不同用户来的
cd / 回到根目录

pwd:显示当前目录

image-20231203205544782

在Linux中,如果回车之后没有任何提示,就是成功。

创建文件夹 mkdir

image-20231203205727178

创建多个文件夹: /a/b/c/d

-p: 可以创建层级目录

mkdir -p 目录名

image-20231203205923431

删除目录:rmdir [-p] 目录名

image-20231203210023266

image-20231203210228894

复制目录 cp 文件 在哪里 到哪去

image-20231203210430347

?是否覆盖原文件

image-20231203210521700

文件命令

rm 删除文件

image-20231203210740843

rm -i: 删除之前会有一个提示,提示你是否删除
rm -f: 忽略警告

rm -r: 递归删除,删除指定目录下的所有文件。正对目录的

rm -ri:没删除一个都要你确认
rm -rf: 全部递归删除,不需要你确认

# 不能使用  rm -rf /*, 递归删除根目录下所有文件,且忽略提示。

mv 移动目录或文件,或者修改名称

image-20231203211400630

image-20231203211436344

image-20231203211511140

mv 一个文件 一个一个目录,移动文件到一个目录

mv 一个目录 到一个目录,移动目录

mv 一个目录到一个不存在的目录,重命名文件夹

touch 创建一个文件

echo “xxxx” >>f1 往一个文件写入指定内容

文件属性

ls -l ,可以查看到文件的所有属性

1 文件 - or目录 d

9 读写权限 rwx rwx rwx,可读可写可执行

rwx :属主,rwx 属组 rwx 其他用户

root root 用户 用户组

size 文件的大小 kb

创建时间

image-20231203211646576

rwx:可以用数字来表示 r 4 w 2 x 1

777 : rwxrwxrwx

733 :rwx -wx -wx

744: rwxr–r--

766: rwxrw-rw-

0 位:文件类型 【-:文件】 【d:目录】 【l:符号链接】 【b:块设备 比如:硬盘】 【c:字符设备文件 比如:鼠标、键盘】
1-3 位:属主权限 U
4-6 位:属组权限 G
7-9 位:其他用户权限 O

作用到文件
[ r ] 代表可读(read): 可以读取,查看
[ w ] 代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件
[ x ] 代表可执行(execute):可以被执行

总结:在linux中,所有的文件和目录,都拥有对应的权限,对应哪些组的哪些用户来执行。

/root /root

/home /kuangshen

chmod:给某个文件或者文件夹授权

chmod xxx 文件名

image-20231203212630948

当前文件无权限操作,使用chmod命令来授权。

文件内容查看

linux中查看文件的命令很多:

  • cat: 从第一行开始展示文件

  • tac:倒数第一行开始展示,tac就是 cat反过来

  • nl:显示的时候,输出行号,看代码和配置文件经常使用

  • image-20231203213329323

  • more 查看大文本会使用

    翻页:space 空格键翻页

    向上翻页:b

    向下一行:Enter回车键

    q : 退出more查看的模式

  • image-20231203213513252

  • less ,查看大文本

    上下箭头可以移动到下一行

    空格翻页

    / xxx 搜索字符串,高亮展示

    image-20231203213949119

    b:向上翻页

    q:退出

  • head命令: 读取文件的前几行

  • tail 取出文件后面的几行

    • 参数 -n ,需要几行内容
    • 参数 -f,可以实时查看。 打印的日志时候。

拓展:Linux链接

Linux 分为两种:软链接、硬链接。

ln 可以产生 硬链接

通过索引来进行文件的链接,只要还有一个文件指向这个索引,这个文件就不会被真的删除。

ln -s 创建软链接

只要删除了源文件,对应的软链接文件也会删除。

image-20231203214708663

ls -i 查看索引

image-20231203215103649

依此您可以做一些相关的测试,可以得到以下全部结论:

  • 删除符号连接f3,对f1,f2无影响;
  • 删除硬连接f2,对f1,f3也无影响;
  • 删除原文件f1,对硬连接f2没有影响,导致符号连接f3失效;
  • 同时删除原文件f1,硬连接f2,整个文件会真正的被删除。