Linux基础 超详细!!!

一、Linux基础命令

(一)Linux的目录结构

1、盘符

Linux中无盘符的概念,只有一个根目录 “/” 也就是只有一棵树)
windows里面有多棵树,每个盘符都是一棵树的根

在Linux系统中,路径之间的层级关系,使用:/ 来表示 (顶级目录只有一个/)
Linux

在Windows系统中,路径之间的层级关系,使用: \ 来表示(顶级目录有多个盘符)
在这里插入图片描述

2、图示

"bin"文件夹通常包含已编译的二进制文件,这些文件是计算机程序的可执行文件
这些二进制文件包含计算机能够直接执行的机器代码,与源代码相比,它们是经过编译的、不可读的形式
在这里插入图片描述

3、HOME目录

linux路径在:/home/用户名
在这里插入图片描述
windows C://user//admin
在这里插入图片描述

4、工作目录

即为当前执行之命令所在的目录
当前登录用户的HOME目录默认作为当前工作目录,所以ls命令列出的是HOME目录的内容
在这里插入图片描述

(二)Linux命令入门

1、命令行和命令

命令行即Linux终端(Terminal), 是一种命令提示符页面。以纯“字符”的形式操作系统,可以使用各种字符化命令对系统发出操作指令
命令即Linux程序。一个命令就是一个Linux的程序。命令没有图形化页面,可以在命令行(终端中)提供字符化的反馈

2、命令的基础格式

在这里插入图片描述

3、ls命令入门(别名ll)

list show(ll—>ls -l)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
-h 表示以易于阅读的形式,列出文件大小,如K、M、G
在这里插入图片描述

4、目录切换相关命令(cd/pwd)

(1)掌握cd切换工作目录命令

在这里插入图片描述
在这里插入图片描述

(2)掌握pwd展示当前工作目录命令

pwd的全称是"print working directory",表示打印当前工作目录。
通过ls来验证当前的工作目录,其实是不恰当的。
我们可以通过pwd命令,来查看当前所在的工作目录。
在这里插入图片描述

6、相对路径、绝对路径和特殊路径符

(1)相对路径

相对路径:以当前目录为起点,描述路径的一种写法,路径描述无需以/开头
在这里插入图片描述

(2)绝对路径

绝对路径:以根目录为起点,描述路径的一种写法,路径描述以/开头
在这里插入图片描述

(3)特殊路径符
  • . 表示当前目录,
    比如 cd ./Desktop 表示切换到当前目录下的Desktop目录内,和cd Desktop效果一致

  • … 表示上一级目录,
    比如:cd … 即可切换到上一级目录,cd …/… 切换到上二级的目录

  • ~ 表示HOME目录,
    比如:cd ~ 即可切换到HOME目录或cd ~/Desktop,切换到HOME内的Desktop目录

7、创建目录(文件夹)命令(mkdir)

(1)mkdir -p 选项(多层级)

在这里插入图片描述

(2)创建目录的权限

在这里插入图片描述

8、文件操作命令(touch、cat、more)

(1)touch 创建文件

可以通过touch命令创建文件在这里插入图片描述
• touch命令无选项,参数必填,表示要创建的文件路径,相对、绝对、特殊路径符均可以使用
(文件白色,文件夹是深色)
在这里插入图片描述

(2)cat 查看文件内容

有了文件后,我们可以通过cat命令查看文件的内容。
语法:在这里插入图片描述

• cat同样没有选项,只有必填参数,参数表示:被查看的文件路径,相对、绝对、特殊路径符都可以使用

在这里插入图片描述

(3)more 查看文件内容

在这里插入图片描述

9、文件操作命令(cp、mv、rm)

(1)cp复制文件、文件夹

cp命令可以用于复制文件\文件夹,cp命令来自英文单词:copy

语法:
• -r选项,可选,用于复制文件夹使用,表示递归
• 参数1,Linux路径,表示被复制的文件或文件夹
• 参数2,Linux路径,表示要复制去的地方
在这里插入图片描述

(2)mv移动文件、文件夹

mv命令可以用于移动文件\文件夹,mv命令来自英文单词:move
语法:在这里插入图片描述

• 参数1,Linux路径,表示被移动的文件或文件夹
• 参数2,Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在
在这里插入图片描述

(3)rm删除文件、文件夹

在这里插入图片描述

i删除文件

在这里插入图片描述

ii rm删除文件夹

在这里插入图片描述

iii模糊删除

在这里插入图片描述

iv注意:危险的命令

在这里插入图片描述

10、查找命令(which、find)

(1)which命令 - 查找命令的程序文件

我们在前面学习的Linux命令,其实它们的本体就是一个个的二进制可执行程序
和Windows系统中的.exe文件,是一个意思。
我们可以通过which命令,查看所使用的一系列命令的程序文件存放在哪里
语法:在这里插入图片描述

(2)find命令 - 按文件名查找文件

在这里插入图片描述

作业:

查找文件名叫做:test的文件,从根目录开始搜索
在这里插入图片描述

(3)模糊查询*

在这里插入图片描述
在这里插入图片描述

(4)按文件大小查找文件

在这里插入图片描述

11、grep、wc和管道符

(1)grep命令(通过关键字过滤文件行)

在这里插入图片描述
举例:在这里插入图片描述

在这里插入图片描述

(2)wc命令做数量统计

在这里插入图片描述
举例
在这里插入图片描述

(3)管道符 |

在这里插入图片描述
举例:
在这里插入图片描述

(4)echo、tail和重定向符

(i)echo

在这里插入图片描述

(ii) 反引号`

在这里插入图片描述

(iii)重定向符

在这里插入图片描述
在这里插入图片描述

(5)tail命令

在这里插入图片描述
在这里插入图片描述

12、vim

(1)介绍

在这里插入图片描述

(2)vi\vim编辑器的三种工作模式

enter

(i)命令模式

在这里插入图片描述

(ii)快捷键

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(iii)输入模式

在这里插入图片描述

(iv)底线命令模式

以:开始,通常用于文件的保存、退出。
write and quit===>wq
在这里插入图片描述

13、查看命令帮助和手册-help & -man

如果想要对命令的其它选项进行查阅,可以通过如下方式:
• 任何命令都支持:–help 选项, 可以通过这个选项,查看命令的帮助。
在这里插入图片描述
在这里插入图片描述

二、Linux权限管理

(一)认知root用户

(二)用户、用户组管理

(三)权限控制

1、查看权限控制

2、修改权限控制

三、Linux实用操作

(一)各类小技巧(快捷键)

1、ctrl + c 强制停止

2、ctrl + d 退出或登出

3、历史命令搜索

(1)history

在这里插入图片描述

(2)ctrl + r

输入内容去匹配历史命令
在这里插入图片描述
如果搜索到的内容是你需要的,那么:
• 回车键可以直接执行
• 键盘左右键,可以得到此命令(不执行)

4、光标移动快捷键

• ctrl + a,跳到命令开头
• ctrl + e,跳到命令结尾
• ctrl + 键盘左键,向左跳一个单词
• ctrl + 键盘右键,向右跳一个单词
• ctrl + l,可以清空终端内容

(二) 软件安装

1、Linux系统的应用商店

操作系统安装软件有许多种方式,一般分为:

一、下载安装包自行安装
• 如win系统使用exe文件、msi文件等
• 如mac系统使用dmg文件、pkg文件等

二、系统的应用商店内安装
• 如win系统有Microsoft Store商店
• 如mac系统有AppStore商店

Linux系统同样支持这两种方式,我们首先,先来学习使用:
Linux命令行内的”应用商店”,yum命令安装软件

2、yum命令

yum:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题语法:
在这里插入图片描述
• 选项:-y,自动确认,无需手动确认安装或卸载过程
• install:安装
• remove:卸载
• search:搜索

yum命令需要root权限哦,可以su切换到root,或使用sudo提权。
yum命令需要联网

举例;
在这里插入图片描述

(三) systemctl

Linux系统很多软件(内置或第三方)均支持使用systemctl命令控制:启动、停止、开机自启
能够被systemctl管理的软件,一般也称之为:服务
语法:
系统内置的服务比较多,比如:
• NetworkManager,主网络服务
• network,副网络服务
• firewalld,防火墙服务
• sshd,ssh服务(FinalShell远程登录Linux使用的就是这个服务
在这里插入图片描述

现在可以使用systemctl去尝试一下,控制这些服务的启动、关闭、自启动啦

(四)软连接

ln命令创建软连接
在系统中创建软链接,可以将文件、文件夹链接到其它位置。
类似Windows系统中的快捷方式
语法:在这里插入图片描述

• 参数1:被链接的文件或文件夹
• 参数2:要链接去的目的地

实例:在这里插入图片描述

• ln -s /etc/yum.conf ~/yum.conf
• ln -s /etc/yum ~/yum

(五)日期、时区

1、date

在这里插入图片描述
使用date命令本体,无选项,直接查看时间
在这里插入图片描述

2、date +%Y-%m-%d

在这里插入图片描述

3、date “+%Y-%m-%d %H:%M:%S”

在这里插入图片描述

(六)IP地址、主机名

1、IP地址

每一台联网的电脑都会有一个地址,用于和其它计算机进行通讯

IP地址主要有2个版本,V4版本和V6版本(V6很少用,课程暂不涉及)
IPv4版本的地址格式是:a.b.c.d,其中abcd表示0~255的数字,如192.168.88.101就是一个标准的IP地址

可以通过命令:ifconfig,查看本机的ip地址,如无法使用ifconfig命令,可以安装:yum -y install net-tools
在这里插入图片描述

2、特殊IP地址

除了标准的IP地址以外,还有几个特殊的IP地址需要我们了解:
• 127.0.0.1,这个IP地址用于指代本机
在这里插入图片描述
• 0.0.0.0,特殊IP地址
• 可以用于指代本机
• 可以在端口绑定中用来确定绑定关系(后续讲解)
• 在一些IP地址限制中,表示所有IP的意思,如放行规则设置为0.0.0.0,表示允许任意IP访问

3、127.0.0.1和localhost和本机IP三者的区别

127.0.0.1和localhost和本机IP三者的区别!!!

4、主机名

每一台电脑除了对外联络地址(IP地址)以外,也可以有一个名字,称之为主机名
无论是Windows或Linux系统,都可以给系统设置主机名。
• Windows系统主机名
在这里插入图片描述

• Linux系统主机名
在这里插入图片描述

  • 修改主机名
    在这里插入图片描述

5、域名解析

IP地址实在是难以记忆,有没有什么办法可以通过主机名或替代的字符地址去代替数字化的IP地址呢?
实际上,我们一直都是通过字符化的地址去访问服务器,很少指定IP地址
比如,我们在浏览器内打开:www.baidu.com,会打开百度的网址
其中,www.baidu.com,是百度的网址,我们称之为:域名
不是说通过IP地址才能访问服务器吗?
为什么域名这一串好记的字符,也可以呢?
这一切,都是域名解析帮助我们解决的。
在这里插入图片描述

6、虚拟机配置固定IP

在这里插入图片描述

(七)网络传输

1、下载和网络请求

(1)使用ping命令检查服务器是否可联通

可以通过ping命令,检查指定的网络服务器是否是可联通状态
在这里插入图片描述
• 选项:-c,检查的次数,不使用-c选项,将无限次数持续检查
• 参数:ip或主机名,被检查的服务器的ip地址或主机名地址
示例:
• 检查到baidu.com是否联通
在这里插入图片描述

(2)使用wget命令下载文件

wget命令
wget是非交互式的文件下载器,可以在命令行内下载网络文件
在这里插入图片描述

• 选项:-b,可选,后台下载,会将日志写入到当前工作目录的wget-log文件
• 参数:url,下载链接
示例:
• 下载apache-hadoop 3.3.0版本:
wget http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
在这里插入图片描述
• 在后台下载:wget -b http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
• 通过tail命令可以监控后台下载进度:tail -f wget-log
注意:无论下载是否完成,都会生成要下载的文件,如果下载未完成,请及时清理未完成的不可用文件。

(3)使用curl命令发起网络请求

curl可以发送http网络请求,可用于:下载文件、获取信息等
语法:在这里插入图片描述

• 选项:-O,用于下载文件,当url是下载链接时,可以使用此选项保存文件
• 参数:url,要发起请求的网络地址

示例:
• 向cip.cc发起网络请求:curl cip.cc
在这里插入图片描述
• 向python.itheima.com发起网络请求:curl python.itheima.com
• 通过curl下载hadoop-3.3.0安装包:curl -O http://archive.apache.org/dist/hadoop/common/hadoop-
3.3.0/hadoop-3.3.0.tar.gz

2、端口

(1)物理端口与虚拟端口

端口,是设备与外界通讯交流的出入口。端口可以分为:物理端口和虚拟端口两类
• 物理端口:又可称之为接口,是可见的端口,如USB接口,RJ45网口,HDMI端口等
• 虚拟端口:是指计算机内部的端口,是不可见的,是用来操作系统和外部进行交互使用的
在这里插入图片描述

(2)虚拟端口

但是虚拟端口,有什么用?为什么需要它呢?

计算机程序之间的通讯,通过IP只能锁定计算机,但是无法锁定具体的程序。
通过端口可以锁定计算机上具体的程序,确保程序之间进行沟通
IP地址相当于小区地址,在小区内可以有许多住户(程序),而门牌号(端口)就是各个住户(程序)的联系地
在这里插入图片描述

(3)Linux上的端口

Linux系统是一个超大号小区,可以支持65535个端口,这6万多个端口分为3类进行使用
公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用,如SSH服务的22端口,HTTPS服务的443端口。非特殊需要,不要占用这个范围的端口
注册端口:1024~49151,通常可以随意使用,用于松散的绑定一些程序\服务
动态端口:49152~65535,通常不会固定绑定程序,而是当程序对外进行网络链接时,用于临时使用。

如图中,计算机A的微信连接计算机B的微信,A使用的50001即动态端口,临时找一个端口作为出口,计算机B的微信使用端口5678,即注册端口,长期绑定此端口等待别人连接
在这里插入图片描述

(4)查看端口占用
  • nmap
    可以通过Linux命令去查看端口的占用情况
    • 使用nmap命令,安装nmap:yum -y install nmap
    语法:nmap 被查看的IP地址
    在这里插入图片描述
    可以看到,本机(127.0.0.1)上有5个端口现在被程序占用了。
    其中:
    • 22端口,一般是SSH服务使用,即FinalShell远程连接Linux所使用的端口

  • netstat命令
    可以通过netstat命令,查看指定端口的占用情况
    语法:netstat -anp | grep 端口号,安装netstat:yum -y install net-tools
    在这里插入图片描述
    如图,可以看到当前系统6000端口被程序(进程号7174)占用了
    其中,0.0.0.0:6000,表示端口绑定在0.0.0.0这个IP地址上,表示允许外部访问
    在这里插入图片描述
    可以看到,当前系统12345端口,无人使用哦。

(八) 进程管理

***1、进程

程序运行在操作系统中,是被操作系统所管理的。
为管理运行的程序,每一个程序在运行的时候,便被操作系统注册为系统中的一个:进程
并会为每一个进程都分配一个独有的:进程ID(进程号)
在这里插入图片描述
在这里插入图片描述

2、查看指定进程

• 在FinalShell中,执行命令:tail,可以看到,此命令一直阻塞在那里
• 在FinalShell中,复制一个标签页,执行:ps -ef 找出tail这个程序的进程信息
• 问题:是否会发现,列出的信息太多,无法准确的找到或很麻烦怎么办?
我们可以使用管道符配合grep来进行过滤,如:
ps -ef | grep tail,即可准确的找到tail命令的信息
在这里插入图片描述
• 过滤不仅仅过滤名称,进程号,用户ID等等,都可以被grep过滤哦
• 如:ps -ef | grep 30001,过滤带有30001关键字的进程信息(一般指代过滤30001进程号)

3、关闭进程

在Windows系统中,可以通过任务管理器选择进程后,点击结束进程从而关闭它。
同样,在Linux中,可以通过kill命令关闭进程。
语法:在这里插入图片描述

选项:-9,表示强制关闭进程。不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制。

在这里插入图片描述
在这里插入图片描述

(九)主机状态

主机状态

(十)环境变量

(十一)上传、下载

(十二)压缩、解压

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/780475.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flutter 使用 AndroidStudio 给(Android 安卓)进行签名方法

一、使用 AndroidStudio 创建签名 使用 AndroidStudio 打开 Flutter项目中的 android 文件夹首次打开 AndroidStudio 会加载一会。菜单栏 : Build -> Generate Signed Bundle APK... 选中 APK -> Next点击Create new....下面按照需求填写即可- 文件夹选择 项…

容器二(List接口)

目录 List 特点和常用方法 List 的常用方法: 两个 List 之间的元素处理 List 中操作索引的常用方法 List是指“有顺序、可重复”的容器。 List接口是Collection接口的子接口,因此Collection 接口中的方法 List 接口都拥有;同时&#xff0…

论文笔记:TALK LIKE A GRAPH: ENCODING GRAPHS FORLARGE LANGUAGE MODELS

ICLR 2024,reviewer评分 6666 1 intro 1.1 背景 当下LLM的限制 限制1:对非结构化文本的依赖 ——>模型有时会错过明显的逻辑推理或产生错误的结论限制2:LLMs本质上受到它们训练时间的限制,将“最新”信息纳入到不断变化的世…

如何注册谷歌邮箱gmail

不知道大家在工作生活中有没有需要用到谷歌邮箱的地方,但是最近我就用到了它。因为注册ChatGPT的事,用了outlook,hotmail邮箱注册的gpt账号都被封了,然后通过各方面的了解,发现谷歌的邮箱是没有问题的,不会…

Portal Particle

Unity3D Portal Particle 2.2传送门粒子效果 链接:https://pan.baidu.com/s/1TCMXIif5d288lXHgixnDPw?pwd1234 下载:资源下载链接 效果图:

生态鱼缸智能养殖,系统架构与框图

功能:自动投食(推拉式电磁铁),温度显示的改进(传感器已经有了),控制灯光(白天亮晚上灭),自动补养/水循环(水氧监测太贵了,根据水温&am…

【前端面试3+1】05v-if和v-show的区别、v-if和v-for能同时使用吗、Vuex是什么?【合并两个有序链表】

一、v-if和v-show的区别 v-if 和 v-show 是 Vue.js 中用来控制元素显示与隐藏的指令。 1.v-if: v-if 是根据表达式的真假值来决定是否渲染元素。当表达式为真时,元素会被渲染到 DOM 中;当表达式为假时,元素不会被渲染到 DOM 中。每…

关于未来自我的发展和一些学习方法(嵌入式方向)

我是一名大二的学生,考研还是就业,到底是重视专业课还是重视数学英语,这些问题一直困扰了我很久,但如今已经有了一些浅显的认识,所以才会想写这样一篇文章来记录一下自己的状态和未来的规划 下面的看法都是个人的看法&…

报错:torch.distributed.elastic.multiprocessing.errors.ChildFailedError:

错误: torch.distributed.elastic.multiprocessing.errors.ChildFailedError: 这个主要是torch的gpu版本和cuda不适配 我的nvcc -V是11.8 torch使用的: pip install torch2.0.1 torchvision0.15.2 torchaudio2.0.2 --index-url https://download.pyt…

最长有效括号(C语言)

题目链接:. - 力扣(LeetCode) 这道题,我看了一种解法,觉得很好,来分享一下 这道题主要是 思考 当前 ) 与之匹配 ( 在哪里 ,记录下来,最后比较最大值 例子: 第…

听了中国电信关闭Wi-Fi双频合一功能之后,到底该连接2.4GHz还是5GHz频段?

前言 前段时间沸沸扬扬的关闭双频合一建议,小白也尝试关闭了一下,网络确实是好了不少。 有小伙伴还是有点疑虑,中国电信说的关闭Wi-Fi双频合一功能真的有用吗?点击下方蓝字一探究竟! 中国电信建议关闭路由器的双频合一…

Python-基础部署

机器没法直接读懂我们写的代码,需要解释解释器作为中间的翻译,把代码转换成字节码在执行 安装python解释器 Download Python | Python.org 安装代码编辑器 pycharm Thank you for downloading PyCharm! 创建一个项目,每个项目里的文件夹…

Cisco ISR 1000 Series IOS XE Release IOSXE-17.13.1a ED

Cisco ISR 1000 Series IOS XE Release IOSXE-17.13.1a ED 思科 1000 系列集成多业务路由器系统软件 请访问原文链接:https://sysin.org/blog/cisco-isr-1000/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 思科…

ubuntu18.04 pycharm

一、下载pycharm (1)进入官网下载Download PyCharm: The Python IDE for data science and web development by JetBrains 选择专业版(professional)直接点击下载(download),我下载的是2023.3…

数字孪生|初识山海鲸可视化

哈喽,你好啊,我是雷工! 最近开始学习了解数字孪生的软件,看山海鲸可视化介绍的不错,便准备下载了试一下。 01 、概述 该软件是一套技术自主可控的、国产自研的、零代码数字孪生可视化工具集, 02、产品定…

从0到1利用express搭建后端服务

目录 1 架构的选择2 环境搭建3 安装express4 创建启动文件5 express的核心功能6 加入日志记录功能7 日志记录的好处本节代码总结 不知不觉学习低代码已经进入第四个年头了,既然低代码很好,为什么突然又自己架构起后端了呢?我有一句话叫低代码…

EasyRecovery2024中文版数据恢复软件功能全面介绍

EasyRecovery2024是世界著名数据恢复公司 Ontrack 的技术杰作,它是一个威力非常强大的硬盘数据恢复工具。能够帮你恢复丢失的数据以及重建文件系统。 EasyRecovery不会向你的原始驱动器写入任何东东,它主要是在内存中重建文件分区表使数据能够安全地传输…

nodejs下载安装以及npm、yarn安装及配置教程

1、nodejs下载安装 ​ 1.1、使用nodejs版本管理工具下载安装,可一键安装、切换不同nodejs版本, nvm-setup.zip:安装版,推荐使用 本次演示的是安装版。 1、双击安装文件 nvm-setup.exe 选择nvm安装路径 例如:E:\Soft…

ssm 科研奖励申报管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目

一、源码特点 ssm 科研奖励申报管理系统是一套完善的信息系统,结合springMVC框架完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库,系统主要采用…

iOS - Runloop介绍

文章目录 iOS - Runloop介绍1. 简介1.1 顾名思义1.2. 应用范畴1.3. 如果没有runloop1.4. 如果有了runloop 2. Runloop对象3. Runloop与线程4. 获取Runloop对象4.1 Foundation4.2 Core Foundation4.3 示例 5. Runloop相关的类5.1 Core Foundation中关于RunLoop的5个类5.2 CFRunL…