Linux:入门学习知识及常见指令

文章目录

  • 入门介绍
    • 操作系统的概念
    • Linux机器的使用
    • Linux上的指令
  • 对文件知识的补充
    • 文件的定义和一些含义
    • 文件和目录的存储
    • 绝对路径和相对路径
  • ls指令
  • pwd指令
  • cd指令
  • touch指令
  • mkdir指令
  • rmdir指令
  • rm指令
  • man指令
  • cp指令
  • mv指令
  • cat指令
  • more指令
  • echo指令
    • 输出重定向
  • less指令
  • find指令
  • grep指令
  • zip/unzip指令

入门介绍

操作系统的概念

操作系统(Operating System)是软件,操作系统的存在是为了让计算机更好用,这是操作系统的根本要义

在计算机内部大致是可以这样进行划分:

在这里插入图片描述
操作系统是一款进行软硬件资源管理的软件,具体如何理解这句话?

在C语言学习中我们写的第一个程序一般都是:

printf("hello world!");

从最终效果来看,printf函数把hello world这句话打印在了显示屏上,我们可以通过显示屏看到这句话,那么实际上,从这句程序到最后打印到显示屏上是需要进行一些复杂的过程,我们编写的程序为什么最终可以访问到硬件?这当中必然离不开操作系统的能力

Linux机器的使用

这里我采用的是XShell的机器,后续的学习也都会用XShell进行学习

登录指令

进入Linux界面,输入

ssh root@xxx.xxx.xxx(ip地址)

Linux上的指令

对于用习惯Windows的我们来说,转到Linux上一大不习惯的地方就是Linux的各种指令,简单来说,你可以在Windows上用鼠标和键盘完成一系列例如进入目录寻找某个文件,复制粘贴文件…等所有操作,而这些操作都是用键盘鼠标完成的,而在Linux上的一大不同点就是把这些全部换成了指令,但我们需要知道的一点是图形化界面和命令行操作的本质都是一样的,都是对操作系统进行直接或间接的操作

我们用的指令,本质上就是可执行程序写的,指令,工具,可执行程序…的本质都是可执行程序

那么介绍完这些,就可以正式开始学习Linux了,打开来自新世界的大门


介绍linux指令中,对于我还没有完全学习的指令只写已经学习完的,没有学习的后续进行补充

对文件知识的补充

文件的定义和一些含义

ls是一个查看目录和文件的指令,那么在这之前首先要对存储的文件有一些基础的认识

新建一个文件,这个文件是否占据空间?
答案是占据!文件的名字,文件的大小,文件的修改日期…这些都会在计算机内存中占据一定的空间,因为这些都是对文件属性的描述,文件可以表示为内容加属性,而从数据的角度来讲,文件的内容和文件的属性都是数据,都是要在磁盘硬盘中留下自己的一席之地,而我们下面讲的ls指令,就是对文件的属性进行的操作

.开头的文件以及本级目录上级目录都是什么?

Linux中,以.开头的文件都是隐藏文件

在Windows图形化界面中,想要返回上一级目录只需要选择退回就可以,而在Linux指令级的界面中,就需要用到本级目录和上级目录:

.      表示的是本级目录,也叫做当前所在目录
..     表示的是上级目录,后面讲的cd指令就是去特定的目录所用的

.本级目录的作用:用来执行一个程序,假如现在有一个程序是a.out,现在我要执行它,我就应该使用下面的指令

正确的方式:
./a.out
不正确的方式:
a.out

而这个./的意义,就是要找到这个程序,再对它进行运行

文件和目录的存储

在Linux系统中,磁盘上的文件和目录被组成了一棵目录树,每个节点都是目录和文件,具体可以这样表示:

在这里插入图片描述
可以类比Windows系统的概念,在Windows系统中,C盘下有很多文件和文件夹,而文件夹中又会有很多文件和文件夹…在Linux中也是如此,root根目录下有user,dev,home等许多文件和文件夹,文件夹又可能有更多的分支,因此根目录实际上是一种多叉树的结构

为什么在Linux系统中要采用这样的结构?

在系统中一定会存在命名一样的文件,而只有通过这种方式才能找到文件的唯一标识文件的方式,因为对于任何一个节点来说,它有且只有唯一的一个父节点

绝对路径和相对路径

在描述一个文件在系统中所处的位置时,可以有两种表示方式,分别是绝对路径和相对路径,绝对路径就是指从根目录出发到这个文件一路的路程表示,而相对路径是指我相对于你所处的位置,例如,现在要表示一下上图中bin文件的路径,我现在所处的目录是在lib路径下

用绝对路径来表示就是
/root/user/bin
用相对路径来表示就是
../bin/a.txt

ls指令

基本语法:ls 项目 目录或文件
功能:对于目录来说,用该命令列出该目录下的所有子目录和文件,对于文件,列出文件名和其他信息
常用的指令

-a:列出目录下的所有文件,包括.开头的隐藏文件
-l :查看目录下的详细信息,显示文件的更多信息

ls -l和ls -a可以一起使用,既显示隐藏文件又显示更多信息
在这里插入图片描述
在这里插入图片描述

pwd指令

语法:pwd
功能:显示用户当前所在的目录

这是一个很简单的指令,就是用来看当前我们所处的是哪个目录

cd指令

语法:cd 目录名
功能:改变工作目录,将当前工作目录转到指定的目录下
例如:

cd … : 返回上级目录
cd /root/litao/linux/ : 绝对路径
cd …/user/ : 相对路径
cd ~:进入用户家目
cd -:返回最近访问目录

touch指令

语法:touch 选项 文件
功能:touch命令参数可以改变文档或目录的日期和时间,包括存取时间和更改时间,或者创建一个不存在的文件
常用选项:

mkdir指令

语法:mkdir 选项 dirname
功能:在当前目录下创建一个名为dirname的目录
常用选项:

-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立
好那些尚不存在的目录,即一次可以建立多个目录

rmdir指令

rmdir是一个和mkdir向对应的指令,mkdir是用来创建目录,rmdir是用来删除命令
语法:rmdir -p dirname
功能:删除空目录
常用选项

-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除

rm指令

语法:rm 选项 dirname
功能:删除文件和目录
常用选项

-f 即使文件属性为只读(即写保护),亦直接删除
-i 删除前逐一询问确认
-r 删除目录及其下所有文件

man指令

这个指令类似于一个帮助文档,当我们遇到Linux中我们不熟悉的指令时,可以用这个帮助文档来替我们解决问题:
语法:man 选项 命令
功能:帮助我们寻找一些指令含义

cp指令

语法:cp 选项 源文件或目录 目标文件或目录
功能:复制文件或目录
说明:cp指令用于复制文件或目录,如果指定了两个以上的文件或目录,且最后一个的目的地是一个已经存在的目录,则会把它前面所有的文件或目录都复制到这个目录中,若指定了多个文件或目录,而最后一个目的地不存在,就会报错
常用选项:

-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i 或 --interactive 覆盖文件之前先询问用户
-r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链
接,则一律视为普通文件处理
-R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理

mv指令

mv指令是move的意思,可以用来移动文件或者给文件更改名字,这是Linux下常用的一个命令,用来备份文件或者目录
语法:mv 选项 源文件或目录 目标文件或目录
功能:

  1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
  2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
  3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
    常用选项:

-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

cat指令

语法:cat 选项 文件
功能:查看目标文件的内容
常用选项:

-b 对非空输出行编号
-n 对输出的所有行编号
-s 不输出多行空行

more指令

语法:more 选项 文件
功能:类似于cat
常用选项:

-n 对输出的所有行编号
q 退出more

echo指令

echo后跟着内容,默认情况下会把内容打印到显示屏上,通过输出重定向的指令可以把内容打印到文件中

在这里插入图片描述

输出重定向

首先要对Linux有直观的认识,Linux下一切皆文件,不管是从显示器写入还是从键盘写入,我们都可以把这个过程看成是文件的操作,下面就引入了输出重定向的概念

那么如何理解一切皆文件的概念?这里echo是把内容输出到显示屏中,我们可以把echo写到显示屏的操作看成向一个叫做显示屏的文件中写入内容,而输出重定向就是把这段本该输出到显示器文件的内容输出到其他文件中,因此可以完成下面的操作

在这里插入图片描述
那什么又是追加重定向?它和输出重定向有什么区别呢?
这里的追加重定向和输出重定向本质上和文件的操作中关于a和w是一样的
追加重定向不会覆盖原文件,只会在原来文件的基础上增加,而输出重定向会覆盖原文件重新写入

在这里插入图片描述

less指令

这里介绍less指令的各项作用和功能

首先nano中创建一个文件,里面是hello linux
在这里插入图片描述
less工具指令是对文件或其他输出进行分页显示的工具,在Linux中功能十分强大

语法:
less 参数 文件
功能:less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。
常用选项:

-i 忽略搜索时的大小写
-N 显示每行的行号
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
q:quit

find指令

Linux下find命令在目录结构中搜索文件,并执行指定的操作。
Linux下find命令提供了相当多的查找条件,功能很强大。
语法: find pathname -options
功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)
常用选项:
-name 按照文件名查找文件

grep指令

语法: grep [选项] 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来
常用选项:
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行

zip/unzip指令

语法: zip 压缩文件.zip 目录或文件
功能: 将目录或文件压缩成zip格式
常用选项:
-r 递 归处理,将指定目录下的所有文件和子目录一并处理


Linux指令只是入门要掌握的一些基本操作

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

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

相关文章

5、joern安装

文章目录 一、安装环境二、安装步骤1、joern地址2、安装中可能出现的问题 一、安装环境 1. java 8   2. gradle 2.0.0(按照官网步骤安装)   3. Graphviz (sudo apt install graphviz-dev)   4. python > 3.5 二、安装步骤 1、joern地址 joern地址 2、安装中可能出…

Docker配置阿里云容器镜像加速

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

白话机器学习笔记(三)评估已建立的模型

模型评估 在进行回归和分类时,为了进行预测,我们定义了函数 f θ ( x ) f_\theta(x) fθ​(x),然后根据训练数据求出了函数的参数 θ \theta θ。 如何预测函数 f θ ( x ) f_\theta(x) fθ​(x)的精度?看它能否很好的拟合训练数…

【玩转Linux】标准io缓冲区的操作

(꒪ꇴ꒪ ),hello我是祐言博客主页:C语言基础,Linux基础,软件配置领域博主🌍快上🚘,一起学习!送给读者的一句鸡汤🤔:集中起来的意志可以击穿顽石!作者水平很有限,如果发现错误&#x…

[Golang] Viper原理以及详细使用案例

文章目录 什么是 Viper?基础配置引入依赖:动态监听原理分析:监听原理分析 Config.yaml文件配置Viper文件配置 什么是 Viper? 介绍:用于处理配置文件中解析和读取配置文件 优点:支持多种配置格式&#xff0…

新老联手,火花四溅?大众汽车与小鹏汽车达成长期合作框架协议

7 月 26 日资讯,大众汽车宣布与小鹏汽车达成长期合作框架协议,并在官网中正式宣布,大众是老牌油车领军代表,小鹏则是新势力中的佼佼者,新老强强联手,又会碰撞出怎样的火花呢? 现阶段大众计划与…

Postman学习之常用断言

什么是断言? 断言——就是结果中的特定属性或值与预期做对比,如果一致,则用例通过,如果不一致,断言失败,用例失败。断言,是一个完整测试用例所不可或缺的一部分,没有断言的测试用例…

leetcode每日一练-第98题- 验证二叉搜索树

一、思路 因为要验证多个节点是否是二叉搜索树,因此使用递归 二、解题方法 设计一个递归函数 helper(root, lower, upper) 来递归判断,函数表示考虑以 root 为根的子树,判断子树中所有节点的值是否都在 (l,r)的范围内(注意是开区间&#x…

git配置

git查看配置:git config --global --list git配置: git config --global user.name "yumlu" git config --global user.email "yumlucisco.com" git config --global core.editorvim git权限,添加密钥: …

工厂方法模式——多态工厂的实现

1、简介 1.1、概述 在工厂方法模式中,不再提供一个统一的工厂类来创建所有的产品对象,而是针对不同的产品提供不同的工厂,系统提供一个与产品等级结构对应的工厂等级结构。 1.2、定义 工厂方法模式(Factory Method Pattern&am…

Filebeat学习笔记

Filebeat基本概念 简介 Filebeat是一种轻量级日志采集器,内置有多种模块(auditd、Apache、Nginx、System、MySQL等),针对常见格式的日志大大简化收集、解析和可视化过程,只需一条命令即可。之所以能实现这一点&#…

设计模式原则

1、设计模式七大原则 1.1 设计模式的目的 编写软件过程中,程序员面临着来自 耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性 等多方面的挑战,设计模式是为了让程序(软件),具有更好 代码重…

Mkdocs中利用Js实现大小圈鼠标拖动样式

在docs/javascripts/extra.js下复制粘贴: var CURSOR;Math.lerp (a, b, n) > (1 - n) * a n * b;const getStyle (el, attr) > {try {return window.getComputedStyle? window.getComputedStyle(el)[attr]: el.currentStyle[attr];} catch (e) {}return …

k8s核心概念

一、集群架构与组件 1,相关组件 【1】 master node三个组件 k8s的控制节点,对集群进行调度管理,接受集群外用户去集群操作请求master node 组成(四个组件):控制面 API Server:通信kube-Sche…

大模型的淘金时代,HPE给出了一份智能经济“奇点”攻略

进入2023年,ChatGPT引发了一个新的AI时代——大模型时代。陆奇说:“我已经跟不上大模型时代的狂飙速度了!”大模型引发了AI产业整体升级换代,各种大模型层出不穷,科技公司纷纷入局,AI创业公司再次雨后春笋般…

【LeetCode】79.单词搜索

题目 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或…

LabVIEW开发环境试验箱控制器

LabVIEW开发环境试验箱控制器 环境或气候试验箱是一种外壳,用于模拟各种材料(包括工业产品、生物物质、复合材料、电子设备和航空航天部件)的特定环境条件,并评估调节对这些材料的影响。 环境试验箱(ETC)…

08.计算机网络——其他重要协议和技术

文章目录 DNSICMPNAT代理服务器 DNS DNS是一整套从域名映射到IP的系统 ​ TCP/IP中使用IP地址和端口号来确定网络上的一台主机的一个程序,但是IP地址不方便记忆,于是人们发明域名,其本质是一个字符串,映射了它和IP地址的关系。 …

【iOS】—— RunLoop和多线程相关问题总结

RunLoop 1. 讲讲RunLoop,项目中有用到过吗? RunLoop 的基本作用:保持程序的持续运行,节省 CPU 的资源,提高程序的性能 ( 没有事情,就请休眠,不要功耗。有事情,就处理&a…

【JavaSE】运算符

【本节目标】 1. 熟练掌握各种运算符 这部分内容和C语言的位运算相似,可以参考这篇文章:【C语言】操作符详解 目录 1. 什么是运算符 2. 算术运算符 3. 关系运算符 4. 逻辑运算符 5. 位运算符 6. 移位运算(了解) 7. 条件运算符 1. 什么是运算符 …