Linux基础笔记

news/2024/5/14 21:26:55/文章来源:https://blog.csdn.net/Vivien_CC/article/details/131521742

        已经有很长很长一段时间没有更新帖子了,一眨眼2023 已经过半,这些日子里,有太多太多事情要做了,今年只更新了几篇,这几天刚好有空,浅浅更新一篇叭!~~~

        首先,Linux是一种开源的操作系统,广泛应用于服务器和嵌入式设备中。学习Linux基础知识对于提升计算机技能和扩展职业发展具有重要意义。

1.Linux的基本概念

  • Linux是一个类Unix的操作系统,具有多用户、多任务和多线程的特性。
  • Linux内核是操作系统的核心部分,负责管理硬件和软件资源。
  • Linux发行版是基于Linux内核的完整操作系统,包括系统工具、库文件和应用程序。

2.Linux的文件系统

  • Linux使用树形结构的文件系统,以根目录(/)为起点,包含各种目录和文件。
  • 常见的文件系统目录包括/bin(可执行文件)、/etc(配置文件)、/home(用户主目录)等。
  • 使用命令行界面(Shell)可以浏览、创建、删除和修改文件和目录。

每一个用户在Linux系统中都有自己的专属工作目录,称之为HOME目录。

    普通用户的HOME目录,默认在:/home/用户名

    root用户的HOME目录,在:/root FinalShell

    登陆终端后,默认的工作目录就是用户的HOME目录

相对路径、绝对路径

  • 相对路径,非/开头的称之为相对路径 相对路径表示以当前目录作为起点,去描述路径,如test/a.txt,表示当前 工作目录内的test文件夹内的a.txt文件
  • 绝对路径,以/开头的称之为绝对路径 绝对路径从根开始描述路径

特殊路径符

    .,表示当前,比如./a.txt,表示当前文件夹内的a.txt文件

    ..,表示上级目录,比如/表示上级目录,../../表示上级的上级目录

    ~,表示用户的HOME目录,比如cd ~,即可切回用户HOME目录

3.Linux的基本命令

  • ls:列出目录内容。

功能:列出文件夹信息 语法:ls [-l -h -a] [参数]

参数:被查看的文件夹,不提供参数,表示查看当前工作目录

-l,以列表形式查看

-h,配合

-l,以更加人性化的方式显示文件大小

-a,显示隐藏文件

  • cd:切换目录。

功能:切换工作目录

语法:cd [目标目录]

参数:目标目录,要切换去的地方,不提供默认切换到当前登录用户HOME目录

  • pwd:显示当前所在目录。

功能:展示当前工作目录

语法:pwd

  • mkdir:创建新目录。

功能:创建文件夹 语法:mkdir [-p] 参数

参数:被创建文件夹的路径

选项:-p,可选,表示创建前置路径

  • rm:删除文件或目录。

功能:删除文件、文件夹

语法:rm [-r -f] 参数参数

参数:支持多个,每一个表示被删除的,空格进行分隔

选项:-r,删除文件夹使用

选项:-f,强制删除,不会给出确认提示,一般root用户会用到

rm命令很危险,一定要注意,特别是切换到root用户的时候。

在Linux中以.开头的,均是隐藏的。

默认不显示出来,需要-a选项才可查看到。

  • cp:复制文件或目录。

功能:复制文件、文件夹

语法:cp [-r] 参数1 参数2 参数1,被复制的 参数2,要复制去的地方

选项:-r,可选,复制文件夹使用

示例:

cp a.txt b.txt,复制当前目录下a.txt为b.txt
cp a.txt test/,复制当前目录a.txt到test文件夹内
cp -r test test2,复制文件夹test到当前文件夹内为test2存在
  • mv:移动文件或目录。

功能:移动文件、文件夹

语法:mv 参数1 参数2

参数1:被移动的

参数2:要移动去的地方,参数2如果不存在,则会进行改名

  • cat:显示文件内容。

功能:查看文件内容

语法:cat 参数

参数:被查看的文件路径

  • grep:在文件中查找指定的文本。

grep命令 功能:过滤关键字

语法:grep [-n] 关键字 文件路径

选项-n,可选,表示在结果中显示匹配的行的行号。

参数,关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,建议使 用””将关键字包围起来

参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口

参数文件路径,可以作为管道符的输入

  • echo:输出内容 

echo命令 功能:输出内容 语法:echo 参数 参数:被输出的内容

  • touch:创建文件。

功能:创建文件

语法:touch 参数

参数:被创建的文件路径

  • more:查看文件。

功能:查看文件,可以支持翻页查看

语法:more 参数

参数:被查看的文件路径

在查看过程中: 空格键翻页 q退出查看 

  • which:查看命令的程序文本文件路径

功能:查看命令的程序本体文件路径

语法:which 参数 参数:被查看的命令 

  • head:查看文件头部

功能:查看文件头部内容

语法:head [-n] 参数

参数:被查看的文件 选项:-n,查看的行数 

  • find:搜索文件

 功能:搜索文件 语法1按文件名搜索:find 路径 -name 参数

路径,搜索的起始路径

参数,搜索的关键字,支持通配符*, 比如:*test表示搜索任意以test结尾 的文件

  • tail:查看文件尾部

功能:查看文件尾部内容

语法:tail [-f] 参数

参数:被查看的文件

选项:-f,持续跟踪文件修改

  • wc:统计

功能:统计 语法:wc [-c -m -l -w] 文件路径

选项,-c,统计bytes数量

选项,-m,统计字符数量 选项,-l,统计行数

选项,-w,统计单词数量

参数,文件路径,被统计的文件,可作为内容输入端口 

参数文件路径,可作为管道符的输入

  • 管道符 | 

写法:|

功能:将符号左边的结果,作为符号右边的输入

示例: cat a.txt | grep itheima,将cat a.txt的结果,作为grep命令的输入, 用来过滤itheima关键字

可以支持嵌套: cat a.txt | grep itheima | grep itcast

  • 反引号`

功能:被两个反引号包围的内容,会作为命令执行

示例: echo `pwd`,会输出当前工作目录 

  • 重定向符

功能:将符号左边的结果,输出到右边指定的文件中去

>,表示覆盖输出 ,

>>,表示追加输出

  • chmod:修改文件或目录的权限。 

4.Linux的用户和权限管理

Linux的用户和权限管理是操作系统中至关重要的部分,它允许系统管理员控制用户对系统资源的访问权限。

  • Linux支持多用户的操作环境,每个用户有自己的用户名和密码。
  • 使用sudo命令可以提升普通用户的权限,执行需要管理员权限的操作。
  • 使用chmod命令可以设置文件和目录的权限,包括读、写和执行权限。
  • 用户账户:
    • 每个Linux系统都有一个root账户,它是具有最高权限的管理员账户。root账户应该谨慎使用,以免对系统造成损坏。
    • 普通用户账户是在系统上创建的其他用户账户,它们具有较低的权限,用于日常操作。
    • 使用useradd命令可以创建新用户账户,使用passwd命令可以设置用户密码。
  1. 用户组:

    • 用户组是一组具有相似权限的用户的集合。用户可以属于一个或多个用户组。
    • 用户组可以用于简化权限管理,通过将权限分配给用户组而不是单个用户,可以更方便地管理多个用户的权限。
    • 使用groupadd命令可以创建新用户组,使用usermod命令可以将用户添加到用户组中。
  2. 权限:

    • Linux系统中的文件和目录具有权限属性,用于控制对它们的访问。
    • 权限被分为三个类别:所有者、群组和其他人。对于每个类别,权限可以分为读、写和执行。
    • 使用chmod命令可以修改文件和目录的权限。例如,chmod u+r file.txt将允许所有者读取文件。
  3. 文件所有权:

    • 每个文件和目录都有一个所有者和一个所属用户组。
    • 所有者是创建文件或目录的用户,而所属用户组是文件或目录的所有者所属的用户组。
    • 使用chown命令可以更改文件和目录的所有者,使用chgrp命令可以更改所属用户组。
  4. sudo权限:

    • sudo是一种命令,允许普通用户以root用户的身份执行特权命令。
    • 通过将用户添加到sudoers文件中,可以允许他们使用sudo命令。
    • 使用visudo命令可以编辑sudoers文件,添加或修改用户的sudo权限。

5.Linux的软件管理

在Linux系统中,软件管理是非常重要的一部分,它涉及到安装、更新和删除软件包。Linux提供了多种包管理工具,常见的包括apt、yum和pacman等,它们可以帮助用户轻松地管理软件包。

  • Linux使用包管理器来安装、更新和删除软件包。
  • 常见的包管理器有apt(Debian/Ubuntu)、yum(CentOS/Fedora)和pacman(Arch Linux)。
  • 使用包管理器可以轻松地安装和管理各种软件包,包括应用程序、库文件和系统工具。
  1. 软件仓库:

    • 软件仓库是存储软件包的服务器,用户可以从仓库中获取软件包进行安装和更新。
    • 不同的Linux发行版通常有自己的软件仓库,例如Debian和Ubuntu使用apt软件管理工具,CentOS和Fedora使用yum软件管理工具,Arch Linux使用pacman软件管理工具。
  2. 软件包的安装和更新:

    • 使用包管理工具可以方便地安装和更新软件包,这些工具会自动解决依赖关系并下载所需的软件包。
    • 安装软件包的命令通常是apt install <package>(apt)、yum install <package>(yum)或pacman -S <package>(pacman)。
    • 更新软件包的命令通常是apt updateapt upgrade(apt)、yum update(yum)或pacman -Syu(pacman)。
  3. 软件包的搜索和查询:

    • 包管理工具提供了搜索和查询软件包的功能,可以通过关键字查找特定的软件包。
    • 搜索软件包的命令通常是apt search <keyword>(apt)、yum search <keyword>(yum)或pacman -Ss <keyword>(pacman)。
    • 查询已安装软件包的信息的命令通常是apt show <package>(apt)、yum info <package>(yum)或pacman -Qi <package>(pacman)。
  4. 软件包的卸载和删除:

    • 软件包不再需要时,可以通过包管理工具进行卸载和删除。
    • 卸载软件包的命令通常是apt remove <package>(apt)、yum remove <package>(yum)或pacman -R <package>(pacman)。
    • 删除软件包及其配置文件的命令通常是apt purge <package>(apt)、yum erase <package>(yum)或pacman -Rs <package>(pacman)。
  5. 第三方软件源:

    • 除了官方软件仓库,还可以添加第三方软件源来获取更多的软件包。
    • 第三方软件源提供了额外的软件包和更新,但需要注意选择可信的软件源以确保软件的安全性。

6.Linux的网络管理

Linux的网络管理

  • Linux支持各种网络协议和服务,如TCP/IP、HTTP、SSH等。
  • 使用ifconfig命令可以查看和配置网络接口的信息。
  • 使用ping命令可以测试与其他主机之间的网络连接。
  • 使用ssh命令可以远程登录到其他Linux主机。
  1. 网络接口管理:

    • 使用ifconfig命令可以查看和配置网络接口的信息,如IP地址、子网掩码、MAC地址等。
    • 使用ip命令可以提供更高级的网络接口管理功能,如配置虚拟接口、修改路由表等。
  2. 网络连接管理:

    • 使用ping命令可以测试与其他主机之间的网络连接,以检查网络的可用性和延迟。
    • 使用traceroute命令可以跟踪网络数据包在网络中的传输路径。
    • 使用netstat命令可以查看当前系统上的网络连接和监听端口。
  3. 网络服务管理:

    • Linux系统提供了各种网络服务,如HTTP服务器(如Apache)、SSH服务器、FTP服务器等。
    • 使用systemctl命令可以启动、停止和管理系统服务,如systemctl start apache2用于启动Apache服务器。
    • 使用firewall-cmd命令(CentOS/Fedora)或ufw命令(Ubuntu)可以配置防火墙规则,以保护网络安全。
  4. 远程登录管理:

    • 使用ssh命令可以远程登录到其他Linux主机,以执行命令和管理远程系统。
    • 使用scp命令可以在本地主机和远程主机之间进行安全的文件传输。
    • 使用rsync命令可以在本地主机和远程主机之间进行文件同步和备份。
  5. 网络诊断工具:

    • Linux提供了许多网络诊断工具,如pingnslookupdigtcpdump等,用于排查网络故障和分析网络流量。

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

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

相关文章

手搓GPT系列之 - 通过理解LSTM的反向传播过程,理解LSTM解决梯度消失的原理 - 逐条解释LSTM创始论文全部推导公式,配超多图帮助理解(下篇)

本文承接上篇上篇在此和中篇中篇在此&#xff0c;继续就Sepp Hochreiter 1997年的开山大作 Long Short-term Memory 中APPENDIX A.1和A.2所载的数学推导过程进行详细解读。希望可以帮助大家理解了这个推导过程&#xff0c;进而能顺利理解为什么那几个门的设置可以解决RNN里的梯…

git push origin masterEverything up-to-date解决方法

按住这个看一下很简单的问题&#xff0c;我在网上看了很多就是没找到能用的&#xff0c;最后找到了这个看起来写的很简单的一个文章&#xff0c;但他写的真的有用。 出现的问题 解决步骤第一步 git add . 第二步 git commit -m “message” 第三步 git push origin master…

PyTorch示例——ResNet34模型和Fruits图像数据

PyTorch示例——ResNet34模型和Fruits图像数据 前言导包数据探索查看数据集构建构建模型 ResNet34模型训练绘制训练曲线 前言 ResNet34模型&#xff0c;做图像分类数据使用水果图片数据集&#xff0c;下载见Kaggle Fruits Dataset (Images)Kaggle的Notebook示例见 PyTorch——…

综合实验---基于卷积神经网络的目标分类案例

文章目录 配置环境猫狗数据分类建模猫狗分类的实例基准模型猫狗分类的实例基准模型之数据增强问题回答 配置环境 ①首先打开 cmd&#xff0c;创建虚拟环境。 conda create -n tf1 python3.6如果报错&#xff1a;‘conda’ 不是内部或外部命令,也不是可运行的程序 或批处理文件…

[github-100天机器学习]day1 data preprocessing

https://github.com/LiuChuang0059/100days-ML-code/blob/master/Day1_Data_preprocessing/README.md#step-6-feature-scaling—特征缩放 数据预处理 数据帧(Data Frame) 二维的表格形式&#xff0c;类似于电子表格或关系型数据库中的表。数据帧通常被用来存储和操作结构化数据…

科技项目验收测试报告有什么注意事项和疑惑?

科技项目验收测试报告是一份重要的文件&#xff0c;用于评估科技项目的质量和可靠性&#xff0c;对项目的成功交付具有关键作用。在项目完成的最后阶段&#xff0c;通过对项目进行全面测试和评估&#xff0c;以确保项目符合预期的目标和需求&#xff0c;并满足用户的期望。 一…

3D深度视觉与myCobot 320机械臂无序抓取

今天我记录使用myCobot320 M5跟FS820-E1深度相机进行一个无序抓取物体的分享。 为什么会选择深度相机和机械臂做一个案例呢&#xff1f; 2D相机&#xff08;最常见使用的相机&#xff09;可以捕捉二维图像&#xff0c;也就是在水平和垂直方向上的像素值。它们通常用于拍摄静态…

卷积神经网络--猫狗系列【VGG16】

数据集&#xff1a;【文末】 ​ 数据集预处理 定义读取数据辅助类&#xff08;继承torch.utils.data.Dataset&#xff09; import osimport PILimport torchimport torchvisionimport matplotlib.pyplot as pltimport torch.utils.dataimport PIL.Image # 数据集路径train_p…

nohup命令解决SpringBoot/java -jar命令启动项目运行一段时间自动停止问题

问题描述&#xff1a; 在centos7上部署多个springcloud项目。出现了服务莫名其妙会挂掉一两个的问题&#xff0c;重新启动挂掉的服务之后又会出现其他服务挂掉的情况&#xff0c;查看启动日志也并没有发现有异常抛出。令人费解的是所有的服务都是通过nohup java -jar xxx.jar …

强化学习路径优化:基于Q-learning算法的机器人路径优化(MATLAB)

一、强化学习之Q-learning算法 Q-learning算法是强化学习算法中的一种&#xff0c;该算法主要包含&#xff1a;Agent、状态、动作、环境、回报和惩罚。Q-learning算法通过机器人与环境不断地交换信息&#xff0c;来实现自我学习。Q-learning算法中的Q表是机器人与环境交互后的…

图像视频基础

图像视频基础 文章目录 图像视频基础图像颜色深度分辨率 视频帧率比特率帧类型 YUV模型色度子采样 图像 颜色深度 存储颜色的强度&#xff0c;需要占用一定大小的数据空间&#xff0c;这个大小被称为颜色深度。假如每个颜色的强度占用 8 bit&#xff08;取值范围为 0 到 255&…

nginx+tomcat负载均衡和动静分离

目录 1.部署nginx 2.部署两台tomcat 3.配置nginx 1.部署nginx vim /vim/lib/systemd/system/nginx.service 2.部署两台tomcat 进入第一台装第一个tomcat vim /etc/profile vim /usr/local/tomcat/webapps/test/index.jsp 重启 进入第二台安装第二台tomcat vim /usr/local/tom…

(0021) H5-Vuejs配合 mint-ui 开发移动端web

mint-ui 初衷 element-ui主打pcweb&#xff0c;导致移动端上UI适配问题突出&#xff0c;趟了很多坑。这次更加理智些&#xff0c;选择了饿了么团队的主打移动端的mint-ui&#xff0c;目前来说体验很好。 认识Mint-ui 首先在手机上体验其demo&#xff0c;扫描链接&#xff1a;…

在 Jetpack Compose 中创建 Drawer

Jetpack Compose 是一个现代的构建 Android UI 的工具集&#xff0c;它使得构建 UI 变得更加简单快速。在本篇博客中&#xff0c;我们将讨论如何在 Jetpack Compose 中创建 Drawer&#xff0c;也就是我们常见的侧边抽屉。 什么是 Drawer&#xff1f; Drawer 是一个提供导航选项…

基于Transformer视觉分割综述

基于Transformer视觉分割综述 SAM &#xff08;Segment Anything &#xff09;作为一个视觉的分割基础模型&#xff0c;在短短的 3 个月时间吸引了很多研究者的关注和跟进。如果你想系统地了解 SAM 背后的技术&#xff0c;并跟上内卷的步伐&#xff0c;并能做出属于自己的 SAM…

GC回收器演进之路

目录 未来演进方向 历经之路 引用计数法 标记清除法 复制法 标记整理 分代式 三色标记法的诞生 三色标记法的基本概念 产生的问题 问题 1&#xff1a;浮动垃圾 问题 2&#xff1a;对象消失 遍历对象图不需要 STW 的解决方案 屏障机制 插入屏障&#xff08;Dijks…

Autosar诊断系列介绍17 - 物理寻址及功能寻址详解

本文框架 前言1. 物理寻址及功能寻址基本概念1.1物理寻址及功能寻址-定义1.2两种寻址方式区别1.3不同诊断服务寻址方式配置 2.不同寻址方式的应用场景 前言 UDS&#xff08;Unified Diagnostic Services&#xff09;协议&#xff0c;即统一的诊断服务&#xff0c;是面向整车所…

基于SQLI的SQL字符型报错注入

基于SQLI的SQL字符型报错注入 一. 实验目的 理解数字型报错SQL注入漏洞点的定位方法&#xff0c;掌握利用手工方式完成一次完整SQL注入的过程&#xff0c;熟悉常见SQL注入命令的操作。 二. 实验环境 渗透主机&#xff1a;KALI平台 用户名: college 密码: 360College 目标网…

JAVA麻将胡牌算法深度解析

目录 麻将的基本概念 麻将牌的构成 麻将的碰&#xff0c;杠&#xff0c;吃&#xff0c;听&#xff0c;胡 麻将胡牌条件 胡牌算法简介 选将拆分法 算法数据结构 构建数据结构 数据结构使用 牌花色的获取 获取某一花色的牌值 获取某一张牌相邻牌 算法代码实现 基础代…

Web3.0 应用开发:选择合适的框架和工具至关重要

随着 Web3.0 时代的到来&#xff0c;区块链技术的普及和应用让去中心化的应用开发变得更加可行。然而&#xff0c;要开发出高效、稳定和安全的 Web3.0 应用&#xff0c;选择合适的框架和工具至关重要。本文将介绍 Web3.0 应用开发的关键因素&#xff0c;帮助开发者做出明智的选…