【Linux学习笔记】 - 常用指令学习及其验证(上)
前言:本文主要记录对Linux常用指令的使用验证。环境为阿里云服务器CentOS 7.9。关于环境如何搭建等问题,大家可到同平台等各大资源网进行搜索学习,本文不再赘述。
由于本人对Linux学习程度尚且较浅,本文仅介绍验证常用指令的常用功能,可能无法展现指令及附带选项的所有功能,大家若想对相关指令内容有更全貌的了解还有劳搜索相关资料进行学习,谢谢_(:з)∠)_
那么下面进入正题:
一、ls指令
(1)功能:对于目录,该命令列出该目录下的所有子目录与文件;对于文件,将列出文件名以及其他信息
(2)语法及验证:
语法:
ls[选项][目录名/文件名]
常用选项:
-a:列出目录下的所有文件,包括以 . 开头的隐含文件
-l:列出文件的详细信息
-d:将目录象文件一样显示,而不是显示其下的文件
-F:-F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。
验证(PS:由于笔者在写博客前已进行了相关指令的验证,故在验证时会有一些已创建的文件和目录,但不影响对指令功能理解):
-
ls
:
-
ls -a
:
-
ls -l
:
-
ls -d
:
解释:可以看到只显示了一个.
,在这表示的是当前目录 -
ls -F
:
解释:可以看到,有dir1、dir2、dir3三个目录和两个普通文件。
补充知识:这里补充一个有关文件类型的知识:
- 从指令
ls -a
输出结果的看到,显示出了当前目录下的所有文件包括隐藏文件,这里需要补充的是最前面的两个.
和..
,前者表示当前路径,后者表示当前路径的上级路径,Linux任何一个目录下都会有这两个文件,从而帮助用户更好地定位其他相关文件的位置。 - 指令
ls -l
的输出结果中,以d
开头的表示该文件为目录;以符号-
开头的表示该文件为普通文件;后面跟着是有关文件权限及创建时间等相关信息(之后对权限部分内容的介绍会进行说明)
二、pwd指令
(1)功能:显示用户当前所在目录
(2)语法及验证:
语法:
pwd
验证:
解释:可以看到,当前处于home目录(家目录)下的ad目录(每个用户对应的目录)中(PS:home目录一般称为家目录,ad目录则是每个用户对应的自己的目录,这一点会在用户与权限部分继续说明)
补充:其中的/
是Liunx系统的路径分割符,这里可以和Windows的对比一下:
那么相应地,通过路径分割符我们也能大致推断出某应用或网页底层所使用的操作系统。
三、cd指令
在使用这个指令时需了解一些预备知识:
-
Linux系统中磁盘上的文件和目录成树状,每个节点就是一个文件或目录,示意图如下所示:
-
我们在描述一个文件所在位置时一般有两种方式:绝对路径和相对路径:
假设我们当前所在目录(路径)为/home/ad
,那么就有两种方式描述目录dir1的路径(位置)信息:
绝对路径:/home/ad/dir1
相对路径:./dir1
(这里的.
上面也提到过,表示当前目录,一般在用于描述相对路径时可以省略(路径))
接下来进入功能介绍及验证
(1)功能:改变工作目录。将当前工作目录改变到指定的目录下,即“进入”指定文件当中。
(2)语法及验证:
语法:
cd[目录名]
验证:
四、touch指令
(1)功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件,主要用于建立一个普通文件。
(2)语法及验证:
语法:
touch[选项][文件名]
验证:
可以看到,原来在目录dir2下无任何文件,通过touch指令成功创建了一个文件d2.txt
五、mkdir指令
(1)功能:在当前目录下创建一个名为 “dirname”的目录
(2)语法及验证:
语法:
mkdir[选项]dirname
常用选项:
-p:mkdir -p后面的dirname可以是一个路径名,而不是目录名。此时若路径中的某些目录尚不存在,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录
验证:
可以看到,刚开始只有dir1、2、3三个目录,然后通过指令mkdir -p
创建了目录dir4及其子目录d4,通过指令ls
可以验证。
六、rmdir 和 rm指令
1、rmdir指令
(1)功能:删除空目录
(2)语法及验证:
语法:
rmkdir[选项]dirname
常用选项:
-p:同样,rmkdir -p后面的dirname也可以是一个路径名,而不是目录名。此时若路径中子目录为空被删除后如果父目录也变成空目录的话,就连带父目录一起删除
验证:
延续创建目录的指令可以看到,直接删目录dir4系统会报错,因为其为非空目录,在加上选项-p
后符合连续删除的条件即可进行连续删除
2、rm指令
(1)功能:删除文件或目录
(2)语法及验证:
语法:
rm [选项] [dirname/filename]
常用选项:
-f :对文件进行强制删除,即就算文件属性为只读(即写保护),也直接删除
-i :删除前让系统逐一询问是否确认删除
-r :删除目录及其下所有文件
验证:
rm -ri
在对目录dir4进行删除时需加上-r选项,此时再加上-i选项系统则会逐一询问确认删除,y表示确认。rm -rf
同理,在对目录dir4进行删除时需加上-r选项,不加-i选项系统就不会询问,对于-f选项的作用这里暂时体现不出来,到权限部分会进一步介绍。
3、两者区别:
从上面的介绍可以看出,其实可以只使用rm
进行删除操作,即rm的功能已经涵盖了rmdir
了。这里补充说明一下二者在适用对象上的区别:rmdir
仅适用于具有当前目录操作权限的所有使用者;而rm
适用于所有使用者
七、man指令
(1)功能:访问Linux手册页,获得相关命令使用帮助
(2)语法及验证:
语法:
man [选项] 命令
常用选项:
-k 根据关键字搜索联机帮助
num 只在第num章节找
-a 将所有章节的都显示出来
man手册章节内容说明:
手册共分为8章:
第1章: 普通的命令
第2章: 系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
第3章:库函数,如printf,fread
第4章:特殊文件,也就是/dev下的各种设备文件
第5章:指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
第6章:是给游戏留的,由各个游戏自己定义
第7章:是附件还有一些变量,比如向environ这种全局变量在这里就有说明
第8章:是系统管理用的命令,这些命令只能由root使用,如ifconfig
验证:
当我们在命令行输入man rm
并回车时就会输出以下结果:
可以通过上下键或jk键实现“滚动”查看。
八、echo指令
(1)功能:将指定字符串内容在显示器上输出。
(2)语法及验证:
语法:echo "字符串"
通过 “>” ">>"可以对echo的功能进行拓展:
- echo “字符串” > 文件名 :先将对应文件中的内容清空,再将字符串的内容写入文件当中,也称为输出重定向。故这里还有一个清空文件内容的指令:> 文件名
- echo “字符串” >> 文件名 :直接在文件中原有内容的基础上写入字符串中的内容,也称为追加重定向。
验证:
echo "字符串"
echo "字符串" > 文件名
将字符串内容写入文件:
清空文件内容:
(PS:cat指令可以查看文件的内容,紧接着马上介绍)echo "字符串" >> 文件名
九、cat指令
(1)功能:查看(输出)目标文件的内容
(2)语法及验证:
语法:cat [选项][文件]
常用选项:
-b :对非空输出行编号
-n :对输出的所有行编号
-s:不输出多行空行,即若无论是一行还是多行空行都仅输出一行。
< : 输入重定向。默认情况下,cat 指令会接受标准输入设备(键盘)的输入,并显示到控制台,但如果用文件代替键盘作为输入设备,那么该命令会以指定的文件作为输入设备,并将文件中的内容读取并显示到控制台。一般情况下,若想输出文件内容直接cat[文件名]即可,该符号可以省略。
验证之前,了解Linux系统下指令的本质可能会对验证结果有更好的理解,由于比较重要,专列了一个部分来说明,大家可以先跳转到最后一部分阅读后再返回。
验证:
cat "字符串" < 文件名
cat默认接受键盘(标准输入)输入的数据,并输出到显示器:
接收从文件中输出的内容,并输出到显示器:
cat -b
先往文件中写入了两行空行(空字符串)和一行字符串
cat -n
:
cat -s
:
十、cp指令
(1)功能:复制文件或目录。若仅指定一个文件,且目的的文件不存在,则会自动创建相应的普通文件;如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中;若最后的目的地并非一个已存在的目录,则会出现错误信息。
(2)语法及验证:
语法:cp [选项] 源文件或目录 目标文件或目录
常用选项:
-f:强行复制文件或目录, 不论目的文件或目录是否已经存在,不存在仍会报错
-R:递归处理,将指定目录下的文件及子目录一并处理,此时若最后目的地的目录若不存在,则会自动创建相应的目录
验证:
- 仅指定一个文件:
- 指定多个文件:
cp -R
:
十一、关于指令的本质
从对echo
指令的简单介绍中,根据各种输入输出重定向,我们其实对指令可以有一个更深层次的理解。下面从两个问题入手来说明指令的本质
-
指令是如何被执行的呢?
在C语言的学习阶段,我们学习了一个程序的生命周期,一个程序最后能够运行,关键在于最后生成的可执行文件,在Windows系统下我们存放程序的文件夹下我们可以看到由程序编译运行而产生相应的可执行文件,打开该文件,程序就被执行了。
那么其实指令本质也是如此。指令的本质就是一个可执行文件。即指令一定是在系统中特定的路径下存在的。这一点可以验证:
可以看到,路径/usr/bin
下就是基本指令存储的位置,它们都是一个个可执行程序(该环境下可执行程序默认会以绿色进行标识)
所以,如果你愿意,可以自己编写一个可执行程序并进行相关重命名,然后将其放入该路径下,这样就得到了一个“我们自己的”指令。 -
我们如何看待指令?
这里有一个非常重要的观点(视角):Linux下一切皆文件!
上面说到,指令本质就是可执行程序,我们平常所说的所谓键盘和显示器都是一个个对应的文件。
如平常说在“显示器上输出”,本质其实是将输出的内容写入了显示器文件中,让其能够输出;再如,我们平常说的“从键盘中读取”,本质其实是将键盘作为输出设备(文件),将其内容输入至目的地。那么对于显示器文件来说,我们就能粗略地认为其具有写方法,而读方法为空;对于键盘文件来说,我们就能粗略地认为其具有读方法,而写方法为空。
也就是说,Linux下一切皆文件,而文件都可以具有读写方法。
希望大家看完这部分对指令本质的介绍后可以有多一个角度来看待指令以及Linux系统。
本章完。
看完觉得有觉得帮助的话不妨点赞收藏鼓励一下,有疑问或有误地方的地方还请过路的朋友们留个评论,多多指点,谢谢朋友们!🌹🌹🌹
相关文章:
【Linux学习笔记】 - 常用指令学习及其验证(上)
前言:本文主要记录对Linux常用指令的使用验证。环境为阿里云服务器CentOS 7.9。关于环境如何搭建等问题,大家可到同平台等各大资源网进行搜索学习,本文不再赘述。 由于本人对Linux学习程度尚且较浅,本文仅介绍验证常用指令的常用…...
火山引擎边缘云助力智能科技赋予生活更多新意
当下,先进的科学技术使得我们的日常生活变得快捷、舒适。大到上百层智能大厦、高端公共场所、社会智能基础设施,小到智能家居监控、指纹密码锁等,在这个充满想象力的时代,科技以更加智能化的方式改变和守护我们的生活。 引入智能…...
【无标题】CTreeCtrl更改-/+展开按钮颜色
#pragma once #include <list>// CMyTreeCtrlclass CMyTreeCtrl : public CTreeCtrl {private:std::list<std::...
【深度学习】 Python 和 NumPy 系列教程(十九):Matplotlib详解:2、3d绘图类型(5)3D等高线图(3D Contour Plot)
目录 一、前言 二、实验环境 三、Matplotlib详解 1、2d绘图类型 2、3d绘图类型 0. 设置中文字体 1. 3D线框图(3D Line Plot) 2. 3D散点图(3D Scatter Plot) 3. 3D条形图(3D Bar Plot) 4. 3D曲面图…...
Java ZGC 算法调优
ZGC 是一种专门的垃圾收集器,专注于管理大型堆并最大限度地减少 Java 应用程序中的暂停。它解决了内存密集型工作负载和一致的响应时间至关重要的场景中垃圾收集的挑战。利用并发处理能力和先进算法,ZGC 为优化 Java 应用程序的性能提供了有效的解决方案…...
【海思SS626 | 开发环境】编译整个SDK全过程以及问题汇总
目录 一、概述二、解压SDK,打补丁三、安装交叉编译工具✨3.1 安装 aarch64-mix410-linux.tgz✨3.2 安装 cc-riscv32-cfg11-musl-20220523-elf.tar.gz✨3.3 检查工具链版本,打印版本则表示安装成功 四、安装软件包✨4.1 安装软件包✨4.2 安装mtd-utils的依…...
83 # 静态服务中间件 koa-static 的使用以及实现
静态服务中间件:koa-static 中间件可以决定是否向下执行,如果自己可以处理,那么直接处理完毕结束,如果自己处理不了,next 方法会继续向下执行 新建 public 文件夹,里面添加 index.html、style.css 文件 …...
带讲解的自行车租赁系统,可做毕设/课设
适合人群: 马上毕业/需要毕设的同学 技术栈: 前后端分离 前端使用: Vue Element 后端使用: SpringBoot Mysql8.0 Mybatis 支付宝支付 功能截图: 分为管理员端和 普通用户端 和 维修人员端 阿里大佬亲讲 免费看地址: 见评论区...
mysql指令
1.删除表: drop table table_name; 2.查询表字段: select COLUMN_NAME from information_schema.COLUMNS where TABLE_NAMEtable_name; 参考链接 3.切换数据库: use database_name 4.查看当前数据库所有表 show tables;...
【C语言】每日一题(半月斩)——day2
目录 一.选择题 1、以下程序段的输出结果是( ) 2、若有以下程序,则运行后的输出结果是( ) 3、如下函数的 f(1) 的值为( ) 4、下面3段程序代码的效果一样吗( ) 5、对于下面的说法,正确的是…...
电脑如何查看代理服务器IP?
许多人在使用互联网时可能会遇到需要使用代理服务器的情况。但是,你知道如何在电脑上查看代理服务器IP吗?本文将为您分享简单易懂的方法,帮助您轻松了解代理设置的秘密! 代理服务器在网络世界中担任着重要的角色,它可…...
【C++11】{}初始化、std::initializer_list、decltype、STL新增容器
文章目录 1. C11简介2. 统一的列表初始化2.1 {}初始化2.2 std::initializer_list 3. 声明3.1 auto3.2 decltype 4. nullptr5. 范围for循环6. 智能指针7. C11STL中的一些变化8. 演示代码 1. C11简介 在2003年C标准委员会曾经提交了一份技术勘误表(简称TC1…...
【FPGA项目】进阶版沙盘演练——报文收发(报文处理、CDC、CRC)
前言 书接上文【FPGA项目】沙盘演练——基础版报文收发_子墨祭的博客-CSDN博客,前面我们做了基础版的报文收发,相信对逻辑设计有了一定的认知,在此基础上,继续完善一个实际报文收发可能会遇到的一些处理: 报文处理握手…...
【程序员装机】自定义Edge浏览器用户目录
文章目录 前言修改Edge用户目录的批处理脚本上述批处理脚本的功能包括 总结 前言 本文将介绍Edge浏览器用户目录的批处理脚本方式修改,以自定义Edge浏览器的磁盘缓存目录和用户数据目录。 修改Edge用户目录的批处理脚本 以下是一个用于修改Edge浏览器用户目录的批…...
ubuntu18、20 cv_bridge 与自带opencv版本冲突问题
背景: nvidia tx2、xvaier 装机自带 ubuntu18 opencv4 后来我们会安装melodic的ros,ros中的cv_bridge 默认cv版本是3.2.0 编译带cv_bridge的代码时,会报错会崩溃,因为版本冲突了 为了解决该问题, 行之有效的一种…...
贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析免疫球蛋白、前列腺癌数据...
原文链接:http://tecdat.cn/?p22702 贝叶斯回归分位数在最近的文献中受到广泛关注,本文实现了贝叶斯系数估计和回归分位数(RQ)中的变量选择,带有lasso和自适应lasso惩罚的贝叶斯(点击文末“阅读原文”获取…...
css自学框架之图片懒加载
首先解释一下什么叫图片懒加载。图片懒加载是一种在页面加载时,延迟加载图片资源的技术,也就是说图片资源在需要的时候才会加载,就是在屏幕显示范围内加载图片,屏幕显示范围外图片不加载。 一、关键函数 用到的关键函数…...
RoutingKafkaTemplate,DefaultKafkaProducerFactory和 ReplyingKafkaTemplate
一、RoutingKafkaTemplate 1.1、RoutingKafkaTemplate 能做什么 RoutingKafkaTemplate可以根据目标topic名称在运行时选择生产者。 RoutingKafkaTemplate 不支持事务、execute、flush或metrics操作,因为这些操作的主题未知。 1.2、使用前提 RoutingKafkaTemplate 和 KafkaT…...
Flutter动态化开发之Fair实战
一、背景 目前移动端应用的版本更新, 最常见的方式是定期发版,无论是安卓还是iOS,都需要提交新的安装包到应用市场进行审核。审核通过后,用户在应用市场进行App的下载更新。而动态化, 就是不依赖更新程序安装包, 就能动态实时更新页面的技术。 相比动态化技术,定期发版…...
Stream流编程
流格式 Stream<T> filter(Predicate<? super T> predicate);-----> 参数:public interface Predicate<T> (函数式接口)----> 抽象方法:boolean test(T t);-----> 参数:public interface Consumer<T> (函…...
jenkins自动化脚本集成时钉钉消息未发送
在进行jenkins自动化脚本集成时,需要配置钉钉发送消息。钉钉的配置正确,测试钉钉消息发送成功,但是当构建项目时,却没有收到钉钉消息,报错如下: [钉钉插件]发送消息时报错: java.lang.NullPointerExceptio…...
java面试题第七天
一、java面试题第七天 1.方法重载和重写的区别? 方法重载:在同一个类中,不同的方法拥有同样的方法名,不一样的参数列表,这就叫做方法重载 **方法的重写:**描述的是父类和子类之间的。当父类的功能无法满…...
MATLAB入门-矩阵的运算
MATLAB入门-矩阵的运算 本篇文章为学习笔记,课程链接为:头歌 相关知识 常见的矩阵运算有算术运算、关系运算和逻辑运算。MATLAB中的所有变量都是以矩阵的形式存储的,单个变量就相当于一个1*1的矩阵。 算术运算 下面展示的是常见的矩阵之…...
[X3m]ros交叉编译
ros需要安装以下包 PYTHON_PACKAGE_LIST"lark lark-parser netifaces pyyaml ifcfg pyunicodedata " TogetheROS.Bot | TogetheROS.Bot用户手册 编译tros.b 1 使用docker文件 该部分操作均在开发机的docker内完成。 ## 创建目录 cd /mnt/data/kairui.wang/…...
【漏洞库】Fastjson_1.2.47_rce
文章目录 漏洞描述漏洞编号漏洞评级影响版本漏洞复现- 利用工具- 漏洞环境- 漏洞扫描- 漏洞验证- 深度利用- GetShell- EXP 编写 漏洞挖掘- 寻找入口点- 指纹信息 修复建议- 漏洞修复 漏洞原理 漏洞描述 Fastjson是阿里巴巴公司开源的一款json解析器,其性能优越&am…...
zabbix 钉钉微信企微告警(动作操作消息内容模板)
一、环境配置 1、配置zabbix服务端 2、配置监控主机&监控项&监控模板 zabbix配置安装_this page is used to test the proper operation of _疯飙的蜗牛的博客-CSDN博客 二、触发器 触发器的本质就是一个条件判断,对于不同的监控数据来说,我…...
阿里云国际站云服务器数据备份方法有哪些?
阿里云国际站云服务器是一种根据云计算技术的虚拟服务器,它能够经过互联网提供计算资源和服务。在运用云服务器的过程中,数据备份是非常重要的一个环节。本文将介绍云服务器数据备份的办法,包含手动备份、主动备份和数据同步。 一、手动备份 …...
游戏笔记本电脑可以进行 3D 建模和渲染吗?有哪些优势与缺点?
3D 建模和渲染是创建令人惊叹的数字艺术、动画和游戏体验的最流行和最广泛使用的工具之一。随着技术的进步,对运行这些模型的强大计算机的需求呈指数级增长。对于那些寻求强大机器来处理 3D 建模任务的人来说,游戏笔记本电脑已成为一个可行的选择。 游戏…...
【AI】推理系统和推理引擎的整体架构
本文主要是对 B 站 Up 主 ZOMI酱 推理系统系列视频 的理解,可以认为是重点笔记。 一、深度学习模型的全生命周期 相信很多人和我一样,刚看到深度学习模型中的推理系统或推理引擎时是一头雾水,因为学习 DL 时通常关注于模型的设计和训练。下图…...
k8s集群中流水线部署微服务
k8s集群中流水线发布微服务 一、流水线部署微服务部署流程 二、微服务发布流程 pipeline {agent {node {label maven}}parameters {string(name: PROJECT_VERSION, defaultValue: v1.0, description: )string(name: PROJECT_NAME, defaultValue: , description: )}environment…...
样本代替做网站/网站模板设计
敏捷中的用户故事是什么? 用户故事是对需求的简单描述,是捕获用户需求的流行敏捷方法。它可以作为团队关于用户需求的指南。用户故事是您将在敏捷项目管理课程中学习的众多敏捷技术或方法之一。 用户故事提供了预期的背景和清晰度,而不关注…...
哪个网站名片做的号/百度搜索风云榜游戏
根据 Mysql 里的字段 自动生成 类文件:但需要导入:require_once ./db/ez_sql_core.php;require_once ./db/ez_sql_mysql.php;上图 :核心代码:$meta mysql_fetch_field($rel);if($meta){if($meta->primary_key1){$this->primary_key $…...
网站的专区怎么建设/曹操论坛seo
文章目录1.运行时数据区⭐运行时常量池《深入理解Java虚拟机》第六章中关于常量池的解释:知乎:JVM详解之:运行时常量池:[https://zhuanlan.zhihu.com/p/160770086](https://zhuanlan.zhihu.com/p/160770086)字符串常量池2.3 对象的创建3.对象…...
个人做网站花多少钱/百度推广客户端手机版
-前言- 小游戏之所以称为小游戏,首先它的资源量就被限制在一个很小的区间,在微信及QQ小游戏上包大小有4M要求,即使使用分包也只能扩展到8M的大小,这与我们一般的APP游戏的资源两级是不能比的。不过随着小游戏的发展,我…...
用什么软件做介绍视频网站/网站流量监控
用RMAN 备份在异机恢复了一下。 用DBCA 的时候,发现识别不到这个恢复的实例。 解决方法,在/etc/oratab文件里添加实例的信息: [oracleqs-dmm-rh2 ~]$ cat /etc/oratab |grep -v "#" dave:/u01/app/oracle/product/11.2.0/d…...
仿站教程/百度推广客户端下载网址
本文转自:http://www.cnblogs.com/georgehu/archive/2010/10/23/1859573.html 有个项目,以前的成员离职了,刚好又签出了一个文件在TFS中并且上了锁,导致后面的维护无法签入和生成。在网上查了一下,找到了如下解决办法 …...