【Linux网络编程】--- Linux基本指令(上)

news2024/10/22 4:26:09

 Welcome to 9ilk's Code World

       

(๑•́ ₃ •̀๑) 个人主页:        9ilk

(๑•́ ₃ •̀๑) 文章专栏:     Linux网络编程 



🏠 ls命令

语法 : ls -[选项] [目录或文件]

功能 : 对于目录,该命令列出该目录下的所有子目录与文件;对于文件,将列出文件名以及其他信息.

📌 常见选项

  • -l选项 : 列出文件的详细信息

  • -a选项:列出目录下的所有文件,包括以.开头的隐含文件。

  • -d选项:将目录像文件一样显示,而不是显示其下的文件。如:ls -d 指定目录。

-l 与 -d选项的区别: -d选项是不进入目录,只是查看目录自己;而-l选项会默认打印目录里面的内容

注 : 命令中的选项是可以一次传递多个的,选项可以拼接在一起,顺序随意.(但并不是什么选项都可以随便组合,有的选项组合并无意义)。同时还要注意选项之间的空格可以一个或多个,建议一个空格相隔美观些。

  • -n选项:用数字的UID,GID代替名称。

Linux系统中,每个用户的ID细分为两种,分别是用户ID(User ID,简称UID)和组ID(Group ID),这与文件有拥有者和所属组两种属性有关,我们后面涉及再详细赘述.

  • -R选项:列出所有子目录下的所有文件。

  • -t选项:以时间排序文件并呈现出来。

  • -m选项:将显示所有文件和目录,以逗号分隔。

📌 补充知识

1.在Linux中,以.开头的文件,我们叫做隐藏文件(这个隐藏文件有各种类型)。

证明:我们可以手动创建一个以.开头的目录/文件,再使用ls -a选项查看,如果能查到说明就是隐藏文件。

对应的Windows系统中也有隐藏文件:

2. 文件 = 文件内容(本质是数据) + 文件属性(数据),对文件进行操作,无法就是对文件的内容和属性进行操作。(比如新建一个空文件,其实也是占据空间的,这个空间就是给文件名,类型,修改时间等文件属性的,他们本质也是数据)

注 : d开头的是目录,而-r开头表示普通文件类型(文本文件就是普通文件的一种)。

3.ls -选项 + 指定目录 ,不加就是默认当前目录下的内容.

🏠 pwd命令

语法 : pwd

功能 : 显示用户当前所在目录/当前工作路径

  • Windows路径

  • Linux路径

我们可以得到结论:

1. 在Windows系统中\作为路径分隔符,而在Linux系统中/作为路径分隔符。

2.一条路径 == 文件夹(目录) 和 路径分隔符相结合。得到一个路径就能找到指定文件,所以路径本质是用来定位一个文件的。

注:对于Linux系统中/root中的第一个/并不是路径分隔符,而是表示Linux中的根目录!

🏠 cd命令

Linux系统中,磁盘上的文件和目录被组成一颗目录树,每个节点都是目录/文件。

语法 : cd 目录名/路径

功能 : 改变当前工作目录,将当前工作目录改变到指定(路径)的目录下

📌 .和..

说明:.和..是两个特殊目录,其中.表示的是当前目录,而..表示的是上级目录。

我们通常使用cd ..来进行简单的路径回退,也就是回退到上一级目录。

证明.和..分别是当前目录和上级目录。

📌 根目录

我们可以发现/是d开头,说明路径开头的/并不是分隔符,而是代表根目录。

根目录/是目录,它也可以放普通文件,也可以放目录;/里面的目录也可以放普通文件和目录

---> 这也能推导出Linux的目录结构整体是一个多叉树结构。

📌 cd -和 cd ~

  • cd - 

cd - 作用是跳转至最近的上一次路径。

  • cd ~跳转至家目录

家目录:

1. root用户首次登录所处的路径,叫做root的家目录。

2.普通用户首次登录所处的路径,叫做普通用户的家目录。

如下图:

🏠 tree命令

📌 tree命令使用和安装

  • 使用

语法 : tree

  • 安装
 yum install -y tree

📌 理解树形结构

1. 我们前面推测出Linux目录结构是一颗多叉树结构,而这个多叉树的叶子节点一定是空目录或者普通文件。

2.任何一个父节点,可能存在多个子节点(一个目录下包含多个子目录和文件);

   任何一个子节点,一定只有一个父节点。(多个子目录/文件包含在同一级目录下)

3.我们从根目录开始定位一个文件,那为什么路径可以定位一个文件呢?原因是路径具有唯一性

4.相对路径 vs 绝对路径

(1) 什么是当前路径?

图中的../test.cc就代表一个相对路径,我们可以看到相对路径是相对于当前路径的.

相对路径特殊符号有以下几种表示意义:

◆以“./”开头,代表当前目录和文件目录在同一个目录里,“./”也可以省略不写!

◆以"../"开头:向上走一级,代表目标文件在当前文件所在的上一级目录;

◆以"../../"开头:向上走两级,代表父级的父级目录,也就是上上级目录,再说明白点,就是上一级目录的上一级目录。

◆以"/”开头,代表根目录。

注意 : 类似下图的路径其实是绝对路径!因为并没相对于当前路径。

(2) 使用场景

a. 一般命令行操作的时候,比较喜欢用相对路径(当当前路径变化时,就不好找指定文件)。

b.绝对路径,在任何路径,都能找到指定的文件(配置文件中使用)。

5. Linux下,任何一个目录都有.和..,新建的空目录也是如此

因此对于普通目录.相当于一个指针指向当前目录,..相当于一个指针指向上级目录(这也是为什么cd..能回到上级目录的原因);特别的,根目录的.和..都指向自己。

总结:

Linux目录结构是一个多叉树的树形结构,每个父节点对应多个子节点(一个目录对应多个子目录和文件),该多叉树的叶子节点一定是普通文件或空目录,由于父节点和子节点是一对多的关系,因此父节点和子节点的组合使得路径唯一,同时每个节点包含的.和..使得目录树实现线索化进行回退和进入。

🏠 touch命令

语法 : touch [选项]... [文件]...

功能 : touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个                 不存在的文件。

  • touch + 文件名,如果文件不存在则新建空白文件,否则修改该文件属性为当前时间。

  • touch命令以空格为分隔符可以一次创建多个文件,已存在的文件修改时间,未存在的则新建空白文件。

  • -t选项可以使用指定的日期时间,而非现在的时间。文件存在则修改时间属性,否则新建。

🏠 mkdir命令

语法 : mkdir [选项] dirname..。
功能 : 在当前目录下创建一个名为"dirname"的目录。

  • mkdir默认在当前路径下创建新目录,当然也可以使用相对路径和绝对路径实现指定路径新建目录。

注 : 使用mkdir指令新建目录时不能新建同名已存在的目录。

  • mkdir默认不能创建一串路径,需要层层创建。

  • mkdir -p:-p选项支持创建一串路径。-p后面可以是一个路径名称,此时若路径中某些目录尚不存在,加上此选项后,系统将自动建立号那些尚不存在的目录,即一次创建多个目录。

  • 删除空目录可以使用rmdir,但是rmdir删除不了普通文件和非空目录。

🏠 rm命令

语法 : rm [选项] [dirname/file]

功能 :删除文件或目录

  • rm命令可以删除普通文件

  • rm -r递归式删除非空目录

  • rm -rf 递归并强制删除非空目录

注意 :不能rm -rf /这样干,这样会尽可能从根目录开始把树的所有目录删除掉。

📌 通配符

Linux中*为通配符,表示任意内容。

📌 nano

nano是Linux中的一个笔记本,编辑完之后ctrl + x再回车就退出了。

yum install -y nano //安装nano

🏠 man命令

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是man。

语法 : man [选项] 命令

  • man手册分为八章

1 : 是普通的命令。

2 : 是系统的调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加说明头文件)。

3 : 是库函数,如printf,fread是特殊文件,也就是/dev下的各种设备文件。

5 : 是指文件的格式,比如passwd,就会说明这个文件中各个字段的含义。

6 : 是给游戏留的,由各个游戏自己定义。

7 : 是附件还有一些变量,比如向environ这种全局变量在这里就有说明

8 : 是系统管理用的命令,这些命令只能由root使用,如fconfig。

  • man默认查的是一号手册,从一号开始,查到就停止,在linux中printf也是一条指令。

  • man手册安装
yum install -y man pages
  • -a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕。

🏠 cp命令

语法 :cp [选项] 源文件或目录 目标文件或目录。(也可结合相对和绝对路径使用)

功能 :复制文件或目录。

说明:cp指令用于复制文件或目录,如果同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已经存在的目录,则会出现错误信息。

  • 拷贝文件会将目标文件原有内容覆盖

  • 拷贝非空目录到空目录需要使用-r选项进行递归式拷贝

注 : 首次递归式拷贝完之后再次进行同样的拷贝,此时强制覆盖可以使用cp -rf,但是root用户不允许强制覆盖会有询问,普通用户可以。

🏠 mv命令

mv是move的缩写,可以用来移动文件或者将文件改名(move(rename)files),是Linux系统下常用的命令,经常用来备份文件或者目录。

语法 :mv [选项]  源文件或目录  目标文件或目录。

  • 当mv命令第二个参数是文件时,mv命令会完成文件重命名,此时源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。

  • 当第二个参数是已存在的目录名称(路径)时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中,相当于实现了"剪切"操作。

  • 结合前两点,可以实现对目录/文件剪切和重命名

🏠 cat命令

语法 : cat [选项] [文件]

功能 : 查看目标文件的内容。

📌 常用选项

  • - n : 对输出的所有行编号。(对空行也编号)

  • - s : 不输出多行空行,也就是会合并连续空行

  • - b : 只对非空输出行进行编号。

注 : cat的命令之间也可以进行组合。

📌 补充知识

  • cat是实现正序打印,若要实现逆序打印,我们可以使用tac,但要注意它是针对行的逆序而不是每一行内容都逆序。

  • cat后不带指令和目标文件,默认是从标准输入(键盘)读取,然后把内容显示到显示器上,要退出这个模式可以ctrl c或ctrl d。


本篇博客我们认识了Linux的一些基本指令,下篇博客我们继续了解一些常用指令和一些涉及的知识。

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

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

相关文章

STL.string(上)

string string类string类构造string类对象的容量操作size和lengthmax_sizeappend小总结下size、capacity、append、operatorresizereserve 初识迭代器附录1. vs下string结构的说明(解释前文为什么capacity是16而不是别的) 由于string创始初期没有参照导致…

1.centos 镜像

centos 它有官网的下载地址:https://vault.centos.org/ 选择想要的版本,我选择 centos7.8 进入到镜像目录 isos 选择 x86_64 选择想要的版本,我选择 CentOS-7-x86_64-DVD-2003.iso 安装就正常安装就行。我选择虚拟机安装。这个参考&…

一区鱼鹰优化算法+深度学习+注意力机制!OOA-TCN-LSTM-Attention多变量时间序列预测

一区鱼鹰优化算法深度学习注意力机制!OOA-TCN-LSTM-Attention多变量时间序列预测 目录 一区鱼鹰优化算法深度学习注意力机制!OOA-TCN-LSTM-Attention多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.基于OOA-TCN-LSTM-Attenti…

Java 入门基础篇11 - java基础语法

一 流程控制 1.1 流程控制语句介绍 一个java程序有很多条语句组成,流程控制语句是用来控制程序中的各语句执行的顺序,通过流程语句控制让程序执行顺序达到我们想要实现的功能。 其流程控制方式采用结构化程序设计中规定的三种基本流程结构:…

金融信用评分卡建模项目:AI辅助

最近我一直忙着开发一个信用评分卡建模工具,所以没有时间更新示例或动态。今天,我很高兴地跟大家分享,这个工具的基本框架已经完成了,并且探索性的将大语言模型(AI)整合了进去。目前ai在工具中扮演智能助手…

探索人工智能:深度解析未来科技的核心驱动力

目录 🍔 人工智能的应用方向 🍔 人工智能的发展历史 🍔 人工智能、机器学习、深度学习关系 🍔 为什么学习机器学习? 🍔 小节 学习目标 🍀 了解人工智能的应用方向 🍀 了解人工智…

CICD持续集成交付与持续交付

一 CICD是什么 CI/CD 是指持续集成(Continuous Integration)和持续部署(Continuous Deployment)或持续交付(Continuous Delivery) 1.1 持续集成(Continuous Integration) 持续集成…

javascript object

用const去define一个constant 用let (如果要reassign的话) 一个变量。

每天3分钟,彻底弄懂神经网络的优化器(十一)AdamW

1. AdamW算法的提出 AdamW算法是由Ilya Loshchilov和Frank Hutter提出的。这一算法的详细描述和原理可以在论文《Decoupled Weight Decay Regularization》1中找到,该论文发表于2017年。在论文中,作者指出了传统Adam算法在权重衰减(weight d…

初等数学几百年重大错误:将根本不是无穷集的真子集误为其真子集

黄小宁 【摘要】长为1的直线段形橡皮筋A拉长为长为2的橡皮筋B(可二等分),去掉拉力使B缩短成原来的A,A不是B的一半。同样可证直线段L均匀压缩变短为直线段D~L不能成为L的一部分。数学一直误以为D是L的一部分使康脱推出…

C/C++栈和队列

一.队列 结构定义 FIFO:队列是一个先进先出的数据结构; 只允许从队首出元素,从队尾入元素; head和tail所包含的区间是左闭开的; 入队操作 没用真实将一号元素删除,而是将head指针向后移动一位,进行逻辑上的删除; 出队操作 将新元素储存在队尾指针所在的位置,并将队尾指针…

二校区图书馆一楼《中华再造善本》很多

上两幅为同一本书的,有“太平之时嫌官小,离乱之时怕出征”这句 上两幅为同一本书的,为《水浒传》节选 二校区图书馆一楼满眼都是线装的古书《中华再造善本》 图书馆五楼 图书馆四楼,一个人躺在长沙发上 图书馆一楼的透明电梯

Intel Xeon(至强) 服务器 CPU

Purley平台:Sky Lake(第一代)、Cascade Lake(第二代) Whitley平台:Cooper Lake、Ice Lake(第三代) Eagle Stream平台:Sapphire Rapids、Emerald Rapids(第四…

Vite打包碎片化,如何化解?

背景 我们在使用Vite进行打包时,经常会遇到这个问题:随着业务的展开,版本迭代,页面越来越多,第三方依赖也越来越多,打出来的包也越来越大。如果把页面都进行动态导入,那么凡是几个页面共用的文…

RHCSA的学习(5)

一、文本内容处理命令 1、数据流和重定向 1、数据流 标准输入(standard input,简称stdin):默认情况下,标准输入指从键盘获取的输入标准输出(standard output,简称stdout)&#xff…

2020前端面试 - JavaScript2.0篇

前言: 个人觉得面试其实是一个自我学习的过程,如果说短时间内找不到工作,那一定是你面的还不够多,不要气馁,不要放弃,在心底告诉自己,下一次面试,再下一次面试,一定能够拿…

为什么inet_ntoa会返回错误的IP地址?

目录 1、调用inet_addr和inet_ntoa实现整型IP与点式字符串之间的转换 1.1、调用inet_addr将点式字符串IP转换成整型IP 1.2、调用inet_ntoa将整型IP转换成点式字符串IP 2、调用inet_ntoa返回错误点式字符串IP的原因分析 3、解决多线程调用inet_ntoa返回错误点式字符串IP的办…

在 Docker容器中安装 ROS-Melodic 并使用 rviz 进行图形化显示

文章目录 写在前面1. 背景描述2. 安装步骤2.1 允许本地机器上的用户或进程连接到 X server2.2 拉取 docker 镜像2.3 使用镜像osrf/ros:melodic-desktop-full创建并运行容器2.4 运行 roscore2.5 运行 rviz 参考链接 写在前面 自己的测试环境: Ubuntu20.04&#xff0…

基于SSM的微信小程序博客管理系统(博客1)

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 基于SSM的微信小程序博客管理系统实现与设计,实现了管理员与用户,管理员实现了用户管理、博文信息管理、博文类型管理、我的博文管理、个人名片分享管理、签到管理…

SAP S/4 HANA 销售返利

目录 1 简介 2 后台配置 3 主数据 4 业务操作 4.1 场景 1 - 返利应计 4.2 场景 2 - 最终结算 1 简介 在过去 SAP ECC 把“返利”功能集成在了 SD 模块当中,而 SAP S/4 HANA 把“返利”集成在了结算管理功能模块当中。究其原因,主要是 ECC “返利”…