【Linux】总结1-命令工具

文章目录

  • 基础指令
  • shell命令以及运行原理
  • Linux权限
  • 粘滞位
  • 工具

基础指令

  • ls、pwd、touch、mkdir、netstat、cp、mv、cd、tar、zip、unzip、grep、pstack、ps、rm、cat、more、less、head、tail、find、ulimit -a、clear、whoami、man

  • touch:创建文件,也包括源代码文件;要注意,“-”:普通文件,“d”:文件夹文件。在Linux系统中,一切皆文件,且文件在Linux操作系统当中并不是以后缀来区分文件类型的。

  • rm:删除文件或文件夹,不可逆操作,慎用,删除文件夹加上-r参数:表示递归删除,此外,-i参数表示每一步都询问是否操作;-f:强制执行,不再进行询问

  • cat:查看文件内容;-n参数:在输出文件内容的同时也输出文件行号

  • head:查看文件内容,从文件头部开始默认查看10行

  • tail:查看文件内容,从文件尾部开始默认查看10行

  • find:查看文件所在路径 find [path] -name [filename]

  • grep:在文件中查找字符串的命令

shell命令以及运行原理

  • Linux严格意义上说是一个操作系统,称为“核心 ”(kernel),但是我们一般用户 ,不能直接使用kernel,而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通
  • 操作系统 = 操作系统内核 + 一堆应用;操作系统内核:管理计算机中的软硬件资源,本质上是一个软件
  • 从技术角度:shell是命令行解释器,主要是将用户输入的命令递交给操作系统内核;同时将内核执行的结果反馈给用户,起到了一个承上启下的功能
  • 简单总结一下:shell是一个命令行解释器;bash:一个具体的命令行解释器

Linux权限

  • 字符表现形式:r:可读;w:可写;x:可执行;rwx相对位置固定,如果没有某个权限在该权限的位用“-”表示

  • 八进制数值表现形式,有三个十进制数字,最左位标识r权限,中间位标识w权限,最右位标识x权限,每个数字由三位二进制数字转化为为十进制得到。在二进制中:rwx对应三个二进制数字,同样的,最左位标识r权限,中间位标识w权限,最右位标识x权限,每个二进制位若为1,则表示有该权限,为0则表示没有,比如100,则表示有r权限,没有w权限和x权限,转换为十进制是4,则十进制4表示r–权限
    在这里插入图片描述

  • 第一个字符标识该文件是普通文件还是文件夹,若是字符表现形式,则后面三个一组表示某类用户的权限,第一组表示文件所有者的权限(user–u),第二组表示所属组内用户针对该文件或文件夹的权限(group–g),第三组表示对于其他用户的权限(other–o),若是八进制数值表现形式,则每一个转换后的十进制数字单独为一组

  • 修改权限

    使用chmod命令:

    • 字符修改方式:chmod [u/g/o] [+/-] [r/w/x] [filename],eg:chmod u-w a.out;如果不体现[u/g/o],则针对三类用户都做出修改
    • 八进制数字修改方式:chmod [数字] [filename] eg:chmod 777 a.out
  • 不同权限针对文件/文件夹的作用

    • r:对文件而言,表示是否具有读取文件的权限;对文件夹而言,决定用户是否能够查看文件夹下的内容
    • w:对于文件而言,表示是否具有能够修改文件内容的权限;对于文件夹而言,决定用户是否能够移动/删除文件夹下文件
    • x:对于文件而言,表示是否具有执行文件内容的权限;对于文件夹而言,决定用户是否能够进入到文件夹

粘滞位

  • 使用场景:给文件夹设置粘滞位
  • 作用:设置了粘滞位的文件夹只能被以下用户删除文件:root用户(超级管理用户)、该文件夹的所有者、该文件的所有者
  • 用chmod + t [文件夹] 设置粘滞位

工具

  • 1、yum

    yum的常规操作:查询软件信息、安装软件、移除软件,合称yum的三板斧

  • 2、vim:代码编辑器

    常见的三种模式:正常模式、插入模式、底行模式

正常模式下的快捷操作:

移动:移动光标:

  • 上下左右键

  • h:左移;j:下移;k:上移;l:右移

  • gg:光标回到文本开始

  • G:光标回到文本末尾

  • ^:光标回到所在行行首

  • $:光标回到所在行行尾

删除:删除内容

  • x:删除光标所在字符
  • [num]x:删除num个字符,包含光标所在字符
  • X:删除光标所在位置前一个字符
  • [num]X:删除num个字符,向前删除
  • dd:删除本行内容
  • [num]dd:删除num行内容,向下删除

复制:

  • [num]yy/yy:复制当前光标所在/num行

  • p:粘贴到光标所在行的下一行

  • P:粘贴到光标所在行的上一行

替换:

  • r:替换光标所在字符,一次替换一个

  • R:替换光标所到之处的字符,一次可以替换多个

撤销:

  • u:撤销上一次误操作的操作

  • ctrl+r:反撤销

更改:

  • cw:更改光标所在处的字到字尾处,用了该命令后直接进入插入模式
  • [c#w]:#代表的是几个字,表示说能修改几个字

跳跃:

  • [#G]:#代表的是数字,eg:3G表示跳转到3行行首

删除:删除内容

  • x:删除光标所在字符
  • [num]x:删除num个字符,包含光标所在字符
  • X:删除光标所在位置前一个字符
  • [num]X:删除num个字符,向前删除
  • dd:删除本行内容
  • [num]dd:删除num行内容,向下删除

复制:

  • [num]yy/yy:复制当前光标所在/num行

  • p:粘贴到光标所在行的下一行

  • P:粘贴到光标所在行的上一行

替换:

  • r:替换光标所在字符,一次替换一个

  • R:替换光标所到之处的字符,一次可以替换多个

撤销:

  • u:撤销上一次误操作的操作

  • ctrl+r:反撤销

更改:

  • cw:更改光标所在处的字到字尾处,用了该命令后直接进入插入模式
  • [c#w]:#代表的是几个字,表示说能修改几个字

跳跃:[#G]:#代表的是数字,eg:3G表示跳转到3行行首

  • 3、编译器:gcc/g++
    gcc:编译C语言程序,后缀为.c
    g++:编译C++/C程序,后缀可以为:.c/.cpp/.cc/.cxx/.hpp
    生成可执行程序的4个过程:预处理(-E)、编译(-S)、汇编(-c)、链接

  • 4、gdb:调试器

    程序的发布方式有两种,一种是debug模式,一种是release模式,Linux下要得到debug版本的程序在编译时需要增加一个-g命令行参数,因为默认是不加-g的,则为release版本。debug比release多了调试信息,用gdb调试的时候一定是调试debug版本

    调试的基础方法:

    • l:查看源码,从main函数开始
    • l[func_name]:查看某个函数的源码
    • r:程序执行起来
    • n:逐过程
    • s:逐语句
    • b [行号]:在改行设置断点
    • i b:查看断点
    • c:继续执行
    • delete breakpoints:删除所有断点
    • delete breakpoints n:删除序号为n的断点
    • disable breakpoints:禁用断点
    • enable breakpoints:启用断点
    • info locals:查看当前栈帧局部变量的值
    • p [变量名]:查看变量的值,不仅可以查看内置类型变量,也可以查看自定义类型变量(struct、class、this)
    • bt:展示调用堆栈,可以通过调用堆栈来看代码执行的函数调用关系
    • q:退出

    三种使用场景:

    • 事前:可执行程序执行之前
    • 事中:可执行程序正在执行时
    • 事后:运行完毕,发生崩溃,调试崩溃程序产生的coredump文件,coredump文件:核心转储文件,是在程序在崩溃(内存访问越界、解引用空指针、double free)的一瞬间内存的映像(相当于案发现场)
  • 5、自动化构建项目:make

    make是一个命令,是自动化构建项目的工具;makefile/Makefile是一个文件,文件内容包含了编译程序时的规则。make根据makefile的文件内容,进行解析,编译程序(构建项目)

    make的工作方式:

    • 只为生成第一个目标对象而服务,如果生成了目标对象,则后续文件当中的内容不再进行解析,如果为了生成第一个目标对象,需要先生成依赖对象,则在makefile文件中查找生成依赖对象的方法,如果发现依赖对象不存在,就报错返回
    • 若依赖对象的最后一次修改时间先于目标对象的最后一次修改时间,则不再重新生成,意思就是依赖文件没有更新,目标对象就不必更新,不必再重新生成

makefile文件当中的自定义变量和内置变量:

内置变量:

  • $^:所有依赖的对象
  • $@:目标对象
  • $<:代表第一个依赖对象

自定义变量:自己给变量起名字,后续使用$符号进行解析

  • 6、git:版本管理工具

    • 克隆仓库
    • 提交到本地仓库
    • 推送到远端仓库
    • 将远端仓库内容更新到自己本地仓库
    • git status

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

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

相关文章

浏览器同源策略

浏览器同源策略 同源策略&#xff1a;是一个重要的浏览器的安全策略&#xff0c;用于限制一个源的文档或者它加载的脚本如何能与另一个源的资源进行交互 它能帮助阻隔恶意文档&#xff0c;减少可能被攻击的媒介 例如&#xff1a;被钓鱼网站收集信息&#xff0c;使用ajax发起…

【云原生K8s】初识Kubernetes的理论基础

K8S由google的Borg系统(博格系统&#xff0c;google内部使用的大规模容器编排工具)作为原型&#xff0c;后经GO语言延用Borg的思路重写并捐献给CNCF基金会开源。 云原生基金会&#xff08;CNCF&#xff09;于2015年12月成立&#xff0c;隶属于Linux基金会。CNCF孵化的第一个项目…

8.物联网操作系统之事件标志组

。事件标志组定义 FreeRTOS事件标志组介绍 FreeRTOS事件标志组工作原理 一。事件标志组定义 信号量信号量只能实现任务与单个事件或任务间的同步。但是某些任务可能会需要与多个事件或任务进行同步&#xff0c;此时就可以使用事件标志组来解决。事件标志组能够实现某个任务与…

IotGateway 网关后台设置

**硬件支持型号 点击 查看 硬件支持 详情** DTU701 产品详情 DTU702 产品详情 DTU801 产品详情 DTU802 产品详情 DTU902 产品详情 G5501 产品详情 ARM dotnet 编程 工业物联网网关&#xff08;IIoTGateway&#xff09;是一种硬件设备或软件程序&#xff0c;作为本地设备…

Git推送代码报错403

前言 最近接了一个新的项目&#xff0c;需要将项目创建好&#xff0c;后端基本框架已经搭建好了&#xff0c;就是需要将代码推送到公司的仓库中了&#xff0c;克隆的时候一切顺利&#xff0c;拉取也没有一点点问题&#xff0c;但是在推送的时候报403了&#xff0c;我 … &…

SpringCloud(32):Nacos配置管理应用于分布式系统

1 从单体架构到微服务 1.1 单体架构 Web应用程序发展的早期&#xff0c;大部分web工程师将所有的功能模块打包到一起并放在一个web容器中运行&#xff0c;所有功能 模块使用同一个数据库&#xff0c;同时&#xff0c;它还提供API或者UI访问的web模块等。 尽管也是模块化逻辑…

阿里云官方关于数据安全保护的声明

“阿里云监控用户的数据流量&#xff1f;”“真的假的&#xff1f;”随着近日早晨 朱峰肥鹅旅行 对阿里云的一条朋友圈截图传遍了整个IT圈。 对于网络上的各种传播&#xff0c;以下是阿里云的官方答复&#xff0c;原文如下&#xff1a; 关于数据安全保护的声明 今天有客户反映…

抓包神器-burp

Burp Suite是一款信息安全从业人员必备的集成型的渗透测试工具&#xff0c;它采用自动测试和半自动测试的方式&#xff0c;包含了 Proxy,Spider,Scanner,Intruder,Repeater,Sequencer,Decoder,Comparer等工具模块。通过拦截HTTP/HTTPS的web数据包&#xff0c;充当浏览器和相关应…

electron+vue3全家桶+vite项目搭建【13.1】ipc通信的使用,主进程与渲染进程之间的交互

文章目录 引入IPC通信[主/渲染]进程对应渲染进程>主进程代码测试测试效果 主进程>渲染进程代码测试测试效果 双向通信代码测试测试效果 引入 electron项目常常由一个主进程和多个渲染进程构成&#xff0c;渲染进程之间是隔离的&#xff0c;而所有渲染进程都和主进程共享…

LeetCode 周赛上分之旅 # 37 多源 BFS 与连通性问题

⭐️ 本文已收录到 AndroidFamily&#xff0c;技术和职场问题&#xff0c;请关注公众号 [彭旭锐] 和 BaguTree Pro 知识星球提问。 学习数据结构与算法的关键在于掌握问题背后的算法思维框架&#xff0c;你的思考越抽象&#xff0c;它能覆盖的问题域就越广&#xff0c;理解难度…

.NET 应用程序 部署

**硬件支持型号 点击 查看 硬件支持 详情** DTU701 产品详情 DTU702 产品详情 DTU801 产品详情 DTU802 产品详情 DTU902 产品详情 G5501 产品详情 本文内容 在设备上部署 dotnet应用&#xff0c;与任何其他平台的部署相同&#xff0c;可以2种方式&#xff1a; 依赖于框…

海外媒体发稿:软文写作方法方式?一篇好的软文理应合理规划?

不同种类的软文会有不同的方式&#xff0c;下面小编就来来给大家分析一下&#xff1a; 方法一、要选定文章的突破点&#xff1a; 所说突破点就是这篇文章文章软文理应以什么样的视角、什么样的见解、什么样的语言设计理念、如何文章文章的标题来写。不同种类的传播效果&#…

恒运资本:史上最强暑期档!总票房突破147亿,前三都是国产片!

暑期档电影又爆了&#xff01; 就在刚刚曩昔的周末&#xff0c;在《封神第一部》《巨齿鲨2&#xff1a;深渊》《火热》等电影的大卖&#xff0c;以及《背注一掷》点映及预售的加持下&#xff0c;短短两天的大盘票房就到达10亿元。 其间&#xff0c;据猫眼专业版数据&#xff0…

HCIP VLAN--Hybrid接口

一、VLAN的特点 1、一个VLAN就是一个广播域&#xff0c;所以在同一个VLAN内部&#xff0c;计算机可以直接进行二层通信&#xff1b;而不同VLAN内的计算机&#xff0c;无法直接进行二层通信&#xff0c;只能进行三层通信来传递信息&#xff0c;即广播报文被限制在一个VLAN内。 …

windows安装git并初始化

git官网下载地址&#xff1a; https://git-scm.com/downloads 安装步骤&#xff0c;一直点击下一步即可 git初始化 1、用户签名 git config --global user.email 2734542837qq.com#设置全局用户邮箱git config --global user.name "zoujiahao"# 设置全局用户使用人…

从零构建深度学习推理框架-6 构建计算图

PNNX PNNX项目 PyTorch Neural Network eXchange&#xff08;PNNX&#xff09;是PyTorch模型互操作性的开放标准。PNNX为PyTorch提供了一种开源的模型格式&#xff0c;它定义了与Pytorch相匹配的数据流图和运算图&#xff0c;我们的框架在PNNX之上封装了一层更加易用和简单的计…

ISC 2023︱诚邀您参与赛宁“安全验证评估”论坛

​​8月9日-10日&#xff0c;第十一届互联网安全大会&#xff08;简称ISC 2023&#xff09;将在北京国家会议中心举办。本次大会以“安全即服务&#xff0c;开启人工智能时代数字安全新范式”为主题&#xff0c;打造全球首场AI数字安全峰会&#xff0c;赋予安全即服务新时代内涵…

无涯教程-Perl - 环境配置

在开始编写Perl程序之前&#xff0c;让我们了解如何设置我们的Perl环境。 您的系统更有可能安装了perl。只需尝试在$提示符下给出以下命令- $perl -v 如果您的计算机上安装了perl&#xff0c;那么您将收到以下消息: This is perl 5, version 16, subversion 2 (v5.16.2) b…

JAVA SE -- 第十六天

&#xff08;全部来自“韩顺平教育”&#xff09; IO流 一、文件 是保存数据的地方 2、文件流 文件在程序中是以流的形式来操作 流&#xff1a;数据在数据源&#xff08;文件&#xff09;和程序&#xff08;内存&#xff09;之间经历的路径 输入流&#xff1a;数据从数据…

RISC-V基础之浮点指令(包含实例)

RISC-V体系结构定义了可选的浮点扩展&#xff0c;分别称为RVF、RVD和RVQ&#xff0c;用于操作单精度、双精度和四倍精度的浮点数。RVF/D/Q定义了32个浮点寄存器&#xff0c;f0到f31&#xff0c;它们的宽度分别为32位、64位或128位。当一个处理器实现了多个浮点扩展时&#xff0…