【linux-Day3】linux的基本指令<中>

【linux-Day3】linux的基本指令<中>

  • linux下的基本指令
    • 📢man:访问linux手册页
    • 📢echo:把字符串写入指定文件中
    • 📢cat:查看目标文件的内容
    • 📢cp:复制文件或目录
    • 📢mv:重命名文件或目录/把文件或目录移动到指定目录中
    • 📢which:查看指令->可执行文件的存放路径
    • 📢alias:给指令取别名(临时)
    • 📢more:分页查看目标文件的内容
    • 📢less:分页查看目标文件的内容
    • 📢head:显示指定文件的开头到显示器文件中。
    • 📢tail:显示指定文件的结尾到显示器文件中
    • 📢|:管道文件
  • 总结一下~

linux下的基本指令

先明确一下几点:

  1. 在linux下一切皆文件,比如显示器(向显示器文件进行写入->write),键盘(从键盘文件中读内容->read),普通文件(write、read)…
  2. 不管是linux还是windows中,同一份目录下,不能存在同名文件。
    • 指令和可执行程序都是可以被执行的->指令就是可执行程序!
    • 在执行指令之前,先在系统中查找对应的指令->指令一定是在系统的某一个位置存在的!
    • 指令的本质就是文件->可执行文件->直接安装到了系统的某种路径下。指令和我们自己写的代码编译好的程序,没有本质区别。安装程序相当于把程序的指令加入到系统指令存在的特定路径下,同样的,卸载程序相当于把程序的指令从系统指令中删掉。

📢man:访问linux手册页

linux命令有很多参数,linux系统调用接口也很多…,这些我们不可能全部记住。通过查看在线手册能帮我们解决这个问题。

man指令可以帮我们查看联机手册。

总结man的用法:

  1. man 指令1:查看指令1的手册
    在这里插入图片描述
    在这里插入图片描述

  2. man man:查看man的手册。
    在这里插入图片描述
    man有九个版本。比如man 1指令用来查是linux普通指令;man 2指令用来查系统调用接口;man 3指令用来查C语言中的库函数。
    如果在使用man指令的时候,没有说明指令的版本,比如man 指令1,它的意思是,先去man 1里查指令1的手册,如果找不到,再去man 2里查指令1的手册,依次往后找。
    在这里插入图片描述

  3. man [选项] 命令:
    man指令的后面也可以跟选项,下面是一些常用选项:

    • -k 根据关键字搜索联机帮助
    • num 只在第num章节找
    • -a 将所有章节的都显示出来,当按下q,他会继续往后面搜索,直到所有章节都搜索完毕再退出。

📢echo:把字符串写入指定文件中

总结echo的用法:

  1. echo 字符串1:默认把字符串1写到显示器文件中
    在这里插入图片描述
  2. echo 字符串1 > 文件1:把字符串1写到文件1里面->把字符串写入到普通的磁盘文件1中。
    在这里插入图片描述其中,> 文件1又叫输出重定向,输出重定向是覆盖写入,通过输出重定向向目标文件进行写入的时候,分为两步:先打开文件->清空文件,再写入新内容。
    在这里插入图片描述
  3. echo 字符串1 >> 文件1:把字符串1写到文件1里面。
    在这里插入图片描述
    其中,>> 文件1又叫追加重定向,通过追加重定向向目标文件进行写入的时候,是从文件的结尾开始写入。

通过echo指令写入的时候默认换行。

📢cat:查看目标文件的内容

总结cat的用法:

  1. 直接cat:输入什么打印什么->从键盘文件中读内容,写入到显示器文件中。
    在这里插入图片描述

  2. cat < 文件1:把文件1的内容写入到显示器文件中。
    在这里插入图片描述
    其中,< 文件1叫做输入重定向。
    在使用输出重定向,追加重定向时,如果文件名不存在,重定向命令会先自动创建文件。所以用touch指令/输出重定向/追加重定向都可以创建一个普通文件。
    在这里插入图片描述

  3. cat 文件1:把文件1的内容写入到显示器文件中
    在这里插入图片描述

  4. cat [选项] 文件1:cat指令后可以跟选项,常用选项如下:

    • -b :对 非空输出行 编号
    • -n :对 输出的所有行 编号
    • -s :不输出 多行空行,也就是说如果有连续空行,把连续空行压缩成一行空行输出。

📢cp:复制文件或目录

总结cp指令的用法:

  1. cp 源文件1 目的文件2:在当前目录下,如果目的文件2不存在,创建目的文件2,并把源文件1里的内容拷贝到目的文件2中;如果目的文件2存在,把源文件1中内容拷贝到目的文件2中。
    在这里插入图片描述
    在这里插入图片描述

  2. cp -r 源目录1 目的目录2:在当前目录下,如果目的目录2不存在,创建目的目录2,并把源目录1里的内容拷贝到目的目录2中;如果目的目录2存在,把源目录1中内容拷贝到目的目录2中。
    -r选项:将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链
    接,则一律视为普通文件处理

  3. cp 源文件1 相对路径/绝对路径:拷贝一份源文件1到指定路径下。
    在这里插入图片描述

  4. cp [选项] 源文件/目录 目的文件/目录:cp指令后面可以跟选项,以下是常用选项:

    • -f:或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在 (不询问)
    • -i 或 --interactive 覆盖文件之前先询问用户

📢mv:重命名文件或目录/把文件或目录移动到指定目录中

总结mv的用法:

  1. mv 源文件1 xxx:把源文件1的名字改成xxx。
    在这里插入图片描述

  2. mv 源文件1 xxx:把源文件1移动到xxx目录下。
    长度

  3. mv 源文件1 xxx:把源文件1移动到指定目录下并重命名。
    在这里插入图片描述

在使用mv指令的时候,如何确定mv指令的作用是重命名文件,还是移动文件,还是二者都有呢?如果xxx里面有新名字,那么该mv指令肯定有重命名。如果xxx里面有路径,那么mv指令肯定有移动文件的作用。

  1. mv [选项] 源文件1 xxx:mv指令可以带选项,
    常用选项:

    • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
    • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖
  2. 重命名目录/移动目录到指定目录,和上面已经提高的四个用法是相同的。但是有一点要注意:
    在这里插入图片描述

📢which:查看指令->可执行文件的存放路径

总结which的用法:
去指定目录(usr/bin)下,查指令的存放路径。
在这里插入图片描述

📢alias:给指令取别名(临时)

ls -l和ll,这两条指令的意思是一样的,其中ll就是ls -l的别名。
在这里插入图片描述
我们可以通过alias指令 给想要的指令取别名:

总结alias的用法:
alias 别名1=‘指令1’;:给指令1取别名为别名1,但断开连接后失效。
如果在同一次连接内,别名1又被设置成了其他指令的别名,则前一次设置也会失效。
在这里插入图片描述

📢more:分页查看目标文件的内容

用cat指令查看文件内容时,文件内容是直接全部显示出来的,所以cat不适合看大文本。more指令的功能也是查看文件的内容,但more在显示文件内容的时候,是从第一页开始分页显示的,按enter键,向后翻看下一页。所以more指令更适合看大文本文件,more的分页显示方式决定了more更方便用户自顶向下的查看大文本文件的内容。

总结more的用法:

  1. more 文件1:查看文件1的的内容。
    在查看过程中,按q结束查看;输入/xxx在文件中搜索xxx内容。
    在这里插入图片描述
    在这里插入图片描述

  2. more -n 文件1:显示文件1的前n行。
    在这里插入图片描述

📢less:分页查看目标文件的内容

less指令的功能是分页显示目标文件的内容,特别是大文本文件,more指令能办到的,less指令都能办到。
不同的是,less指令不仅能向后翻看文件内容,还能向前翻看文件内容;less指令不仅能后下搜,还能向前搜。->通过less指令可以随意浏览文件。

总结less的用法:

  1. less 文件1 :分页查看文件1的内容
    在查看过程中,按q结束查看;/字符串是向下搜索“字符串”;?字符串是向上搜索字符串;PgUp向前翻看文件内容;PgUp向后翻看文件内容;
  2. less [选项] 文件1:分页查看文件1的内容
    常用选项如下:
  • -i:忽略搜索时的大小写
  • -N:显示每行的行号

📢head:显示指定文件的开头到显示器文件中。

总结head指令的用法:

  1. head 文件1:打印文件1的开头十行到显示器中在这里插入图片描述

  2. head -n 文件1 :打印文件1的开头n行到显示器中
    在这里插入图片描述

📢tail:显示指定文件的结尾到显示器文件中

总结tali指令的用法:

  1. tail 文件1:打印文件1的结尾十行到显示器中
    在这里插入图片描述

  2. tail -n 文件1:打印文件1的结尾n行到显示器中
    在这里插入图片描述

  3. tail -f 文件1:使用这条指令可以方便的查看正在改变的日志文件,这条指令会把文件1里最尾部的内容显示在屏幕上,并且不断刷新,使用户看到最新的文件内容

📢|:管道文件

|是一种符号,在linux中,|被认为是管道文件。管道文件是内存级文件。

生活中的管道,有入口和出口,用来传输资源。计算机中管道文件|亦是如此。

head 和 tail指令的作用分别显示文件的开头部分和结尾部分,那如何显示文件的中间部分?
有两种方法,一是借助临时文件、head指令、tail指令,二是通过管道文件|

总结 显示文件的中间内容的方法:

  1. head -n1 文件1 > 临时文件2 tail -n2 临时文件2:把文件1的n2~n1行打印在屏幕上 -> 借助临时文件2,先把文件1的前n1行写入到临时文件2中,再把临时文件2中的后n2行写入显示器文件中。
    在这里插入图片描述这种方法需要在磁盘上创建一个临时文件。

  2. head -n1 文件1 | tail -n2 :把文件1的n2~n1行打印在屏幕上 -> 借助管道文件,先在内存中读到文件1的前n1行内容,再把读到内容的后n2行写入到显示器文件中。
    在这里插入图片描述

总结一下~

  1. 在linux下一切皆文件。

  2. 指令的本质就是文件->可执行文件->直接安装到了系统的某种路径下。

  3. 十二条linux指令:

    • man:访问linux手册页
    • echo:把字符串写入到指定文件中
    • > :输出重定向(可创建文件);>>:追加重定向(可创建文件);<:输入重定向(不可创建文件)。
    • cat:查看目标文件的内容
    • cp:复制文件或目录(⭐️)
    • mv:重命名文件或目录/把文件或目录移动到指定目录中(⭐️)
    • which:查看指令的存放路径
    • alias:给指令取别名(临时)
    • more/less:分页查看目标文件的内容
    • head:显示指定文件的开头到显示器文件中。
    • tail:显示指定文件的结尾到显示器文件中
    • |:管道文件(利用管道文件截取文件的中间部分、管道文件是内存级文件)
  4. xshell快捷方式:

    • ctrl+c:在命令行中,终止因为程序或指令异常,而导致无法进行指令输入的情况

今天的linux学习暂时告一段落!
在这里插入图片描述

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

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

相关文章

根据 IP 地址进行 VPN 分流(详细,亲测,通用)

根据 IP 地址进行 VPN 分流&#xff08;详细&#xff0c;亲测&#xff0c;通用&#xff09; 背景 不在学校的时候需要使用实验室的服务器&#xff0c;但是实验室的服务器只能在校园网内访问&#xff0c;因此在校外就需要使用学校的 VPN&#xff0c;但是打开 VPN 以后会默认将…

Axure中后台管理信息系统通用原型方案

Axure中后台管理信息系统通用原型方案中的12套模板&#xff0c;旨在帮助开发者与设计师快速搭建出标准且美观的中后台产品原型&#xff0c;提升开发效率和节省协作成本。这些模板覆盖了多样化的中后台管理系统开发需求&#xff0c;具有高度的灵活性和可定制性。 以下是对这些模…

技术周总结 09.09~09.15周日(C# WinForm WPF 软件架构)

文章目录 一、09.09 周一1.1) 问题01: Windows桌面开发中&#xff0c;WPF和WinForm的区别和联系&#xff1f;联系&#xff1a;区别&#xff1a; 二、09.12 周四2.1&#xff09;问题01&#xff1a;visual studio的相关快捷键有哪些&#xff1f;通用快捷键编辑导航调试窗口管理 2…

论文解读《LaMP: When Large Language Models Meet Personalization》

引言&#xff1a;因为导师喊我围绕 “大语言模型的个性化、风格化生成” 展开研究&#xff0c;所以我就找相关论文&#xff0c;最后通过 ACL 官网找到这篇&#xff0c;感觉还不错&#xff0c;就开始解读吧&#xff01; “说是解读&#xff0c;其实大部分都是翻译哈哈哈&#x…

基于SSM的在线家用电器销售系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于JavaSSMVueMySQL的在线家…

传输层协议 —— UDP协议

目录 0.前言 1.UDP协议格式 16位源端口和目的端口 16位UDP长度 16位校验和 2.UDP协议特点 无连接 不可靠 面向数据报 3.UDP的缓冲区 0.前言 首先&#xff0c;我们得明确一点&#xff0c;网络模型是分层的。自底向上分别是物理层、数据链路层、网络层、传输层、应用层…

MODIS/Landsat/Sentinel下载教程详解【常用网站及方法枚举】

⛄前言 在当今快速发展的地球观测时代&#xff0c;遥感技术作为获取地球表面及其环境信息的重要手段&#xff0c;正以前所未有的广度和深度改变着我们对自然界的认知与管理方式。MODIS&#xff08;Moderate-resolution Imaging Spectroradiometer&#xff0c;中分辨率成像光谱…

unity安装配置和vs2022联动教程

目录 1.选择vs2022配置 2.安装unity 2.1安装unity hub 2.2注册个人账号 2.3安装编辑器 2.4修改为简体中文 2.5添加许可证 2.6安装位置修改 3.项目的创建 3.1如何创建 3.2如何选择 3.3配置语言 3.4去哪里找语言包 4.unity编辑器窗口的介绍 4.1游戏的运行和停止 4…

AI编程的特点及SCSAI平台在AI编程方面的一些思路

团长团 AI智造AI编程 2024年09月18日 18:25 北京 说先来看看AI编程的优缺点&#xff0c;然后我们再看看SCSAI在AI编程方面的一些可能选择 使用AI编程的优点 ‌AI编程的优点包括提升编程效率、降低编程门槛、优化程序结构、加强软件可靠性、促进跨领域融合&#xff0c;而缺点则…

JS落叶动画代码分析

秋天到了&#xff0c;秋高气爽的季节。我们来做一个落叶动画吧&#xff01;来迎接秋天的到来 文字可以更换。 1.目录如下 在线演示&#xff1a;点击我在线演示 images两张照片&#xff0c;首先&#xff0c;你得要准备一个vscode编辑器。和一个chorme浏览器或edge浏览器。 …

Qt常用控件——QLCDNumber

文章目录 QLCDNumber核心属性倒计时小程序倒计时小程序相关问题 QLCDNumber核心属性 QLCDNumber是专门用来显示数字的控件&#xff0c;类似于这样&#xff1a; 属性说明intValue获取的数字值(int).value获取的数字值(double)和intValue是联动的例如value设为1.5&#xff0c;in…

Kubernetes Ingress

文章目录 一、为什么需要 Ingress二、什么是Ingress,Ingress Controller三、Ingress 的工作原理四、Ingress 配置资源模版五、实例1、搭建 Ingress 环境1.1、Ingress-Nginx官网地址1.2、master 节点下载 deploy.yaml1.3、所有节点提前 pull 必须的镜像1.4、修改并应用 deploy.y…

保护您的企业免受网络犯罪分子侵害的四个技巧

在这个日益数字化的时代&#xff0c;小型企业越来越容易受到网络犯罪的威胁。网络犯罪分子不断调整策略&#xff0c;并使用人工智能来推动攻击。随着技术的进步&#xff0c;您的敏感数据面临的风险也在增加。 风险的不断增大意味着&#xff0c;做好基本工作比以往任何时候都更…

JavaEE:网络编程(套接字)

文章目录 Socket套接字TCP和UDP的区别有连接/无连接可靠传输/不可靠传输面向字节流/面向数据报全双工/半双工 UDP/TCP api的使用UDPDatagramSocketDatagramPacketInetSocketAddress练习 TCPServerSocketSocket练习 Socket套接字 Socket是计算机网络中的一种通信机制&#xff0…

MySQL高阶1777-每家商店的产品价格

题目 找出每种产品在各个商店中的价格。 可以以 任何顺序 输出结果。 准备数据 create database csdn; use csdn;Create table If Not Exists Products (product_id int, store ENUM(store1, store2, store3), price int); Truncate table Products; insert into Products …

运行npm install 时,卡在sill idealTree buildDeps没有反应

一直停留在sill idealTree buildDeps 解决方法 npm config set registry https://registry.npm.taobao.org 配置后用下面命令看是否配置成功 npm config get registry 如果配置还不好使 就执行下行的ssl npm set strict-ssl false 然后执行 npm install 成功执行

【Python报错已解决】 TypeError: Descriptors cannot not be created directly

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 专栏介绍 在软件开发和日常使用中&#xff0c;BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…

Java--stream流、方法引用

Stream流 - Stream流的好处 - 直接阅读代码的字面意思即可完美展示无关逻辑方式的语义 - Stream流把真正的函数式编程风格引入到Java中 - 代码简洁 - Stream流的三类方法 - 获取Stream流 - 创建一条流水线,并把数据放到流水线上准备进行操作 - 中间方法 - 流水线上的操作 - 一次…

83.static关键字

目录 一.static关键字 1.1 修饰局部变量 1.2 修饰全局变量 1.3 修饰函数 二.视频教程 一.static关键字 static关键字可以修饰局部变量&#xff0c;全局变量和函数。 1.1 修饰局部变量 使用static关键字修饰局部变量&#xff0c;只在第一次进入作用域的时候初始化 。函数…

C++ | Leetcode C++题解之第409题最长回文串

题目&#xff1a; 题解&#xff1a; class Solution { public:int longestPalindrome(string s) {unordered_map<char, int> count;int ans 0;for (char c : s)count[c];for (auto p : count) {int v p.second;ans v / 2 * 2;if (v % 2 1 and ans % 2 0)ans;}retur…