2. Linux 基本指令(上)|ls|pwd|cd|tree|touch|mkdir|rmdir|rm

前言

计算机软硬件体系结构
层状结构
应用软件Word,Matlab
操作系统Windows,Linux
设备驱动声卡驱动
硬件CPU,内存,磁盘,显示器,键盘
操作系统概念

操作系统
是一款进行软硬件资源管理的软件

例子

比如在学校里的各种设施,如机房、实验室、体育场、宿舍、食堂…,都叫做硬件
在学校宿舍楼里的楼管,就是对一栋楼的硬件资源做管理;机房有微机老师;大门有门卫大爷;图书馆有图书管理员…
每一种硬件都有特定的驱动来管理这个硬件

在这个基础上,学校层面也有各种各样其他的管理,比如学生什么时候上下课;什么时候放假;举办的各种活动…都需要有底层的软硬件来配合
操作系统就相当于学校里的一套领导班子

为什么要进行软硬件资源管理
把软硬件资源管理好,给上层的用户提供良好的稳定的运行服务——工具
承上启下

使用XShell远程登录Linux

安装XShell

家庭/学校免费 - NetSarang Website

我们购买的云服务器,是远端云服务器,其实际地点可能在北京等地
而自己的计算机是在其他地方

XShell:远程登录软件
其中的远程登录或者输入指令,所有行为都是通过网络来进行的

![[Pasted image 20240507163541.png]]

使用命令行登录

输入

ssh root@你的云服务器公网IP
将云服务器的信息添加到列表当中

![[Pasted image 20240507164017.png]]

点击新建
![[Pasted image 20240507164211.png]]

输入常规内容,其他的都不要动,点击确定
![[Pasted image 20240507164301.png]]

这样打开会话弹窗里面,就出现了对应的机器
这样以后登录的时候,点击它,就不需要再去命令行输入指令了
![[Pasted image 20240507164424.png]]

点击连接,首次需要输入用户名
在这里插入图片描述

点击确认
接下来输入密码登录就可以了

XShell里的复制粘贴
  • 复制:ctrl + insert
  • 粘贴:shift + insert
    ctrl + c / ctrl + v 是不行的
XShell常用功能
  • 全屏/返回全屏:alt+enter

  • 可以选择配色方案
    ![[Pasted image 20240507165801.png]]

  • 可以设置字体
    ![[Pasted image 20240507165820.png]]

Linux基本指令

指令操作的理解

现在的Linux是进行纯指令操作的
Windows也是支持指令操作的,Cmd

刚开始所有的计算机是没有鼠标的,输入输出的时候一定是先有的键盘。先有的指令,然后才有的图形化界面

指令操作和图形化界面操作是没有本质区别的,只有形式上的不同
图形化界面操作比指令操作更容易使用

各种商业发行版的Linux可能为了服务好自己的用户,有一些准程序员,所以慢慢有了图形化界面——Ubuntu

系统当中只要是指令操作,大部分的作用都可以在图形化界面中找到操作的原型

简单指令学习
  1. 知道当前登录的账号是谁
whoami

![[Pasted image 20240507171942.png]]

  1. 查看当前有哪些用户正在系统当中
who

![[Pasted image 20240507172046.png]]

  1. 显示当前所处的工作目录
pwd

![[Pasted image 20240507172436.png]]

  1. 显示当前目录下的文件信息
lsls -l

![[Pasted image 20240507172628.png]]

  1. 清屏
clear

![[Pasted image 20240507172841.png]]

01. ls指令

-a 列出目录下的所有文件,包括以 . 开头的隐含文件。  
-d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录  
-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件  
-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件  
-l 列出文件的详细信息。  
-n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)  
-F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表  
示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)  
-r 对目录反向排序。  
-t 以时间排序。  
-s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)  
-R 列出所有子目录下的文件。(递归)  
-1 一行只输出一个文件。
1. ls

可以默认显示当前所指的目录下的所有的文件名属性
![[Pasted image 20240507194534.png]]

2. ls -l

l是list的意思,就相当于显示文件的属性列表
![[Pasted image 20240507194554.png]]

补充知识

如果在Windows上新建一个空文件,这个文件要占据磁盘/固态硬盘的存储空间吗
一定要占据磁盘空间

虽然文件本身没有内容,但是文件的名字,修改时间,类型,大小,各种属性。也是数据,需要被记录下来
文件 = 文件内容 + 文件属性
全都是二进制数据,都需要被存储

我们以前,现在,未来,学习的所有的文件操作,本质是:

  1. 对文件内容做操作
  2. 对文件属性做操作
3. ls -a/ls -l -a/ls -a -l/ls -la/ls -al

显示当前目录下的隐藏文件
![[Pasted image 20240507194641.png]]

Linux当中有
隐藏文件,在Linux中隐藏文件通常以.开头

4. ll

等价于ls -l
![[Pasted image 20240507194741.png]]

02. pwd命令

用来显示当前所处的工作目录
![[Pasted image 20240507194804.png]]

pwd

p - process
w - work
d - directory
表示当前对应的工作目录

03. cd命令

用来改变工作目录,将当前工作目录改变到指定的目录下
c - change
d - directory

cd .. : 返回上级目录  

![[Pasted image 20240507194855.png]]

Linux下的目录结构的认识

.称之为当前路径
..称之为上级路径

任何一个目录里都有...

![[Pasted image 20240507195125.png]]

证明.是当前路径
![[Pasted image 20240507195546.png]]

cd ..
回退到上级路径

![[Pasted image 20240507222551.png]]

cd后可以直接跟当前目录的文件夹
![[Pasted image 20240507222625.png]]

cd后面跟绝对路径/相对路径即可

根目录

cd ..回退最后只剩下一个/
再回退,就一直是/,因为根节点的parent指针指向它自己,所以回退的时候就直接指向自己

称之为Linux的根目录,也是一个目录,也是一个文件夹
在Windows中喜欢把文件夹叫做文件夹,在Linux中,喜欢把文件夹叫做目录
整个Linux系统中,最开始的一个目录就是只有一个根目录
![[Pasted image 20240507215744.png]]

根目录是目录,因为最开始以d开头,d就是directory,目录的意思
根目录里有更多的目录
![[Pasted image 20240507215936.png]]

整体目录结构

Linux的整体目录结构是一棵多叉树的样子
![[Pasted image 20240507220042.png]]

结论

  1. 整个多叉树的叶子节点一定对应的是普通文件,或者是空目录
  2. 路上节点,非叶子节点,一定是目录(不是叶子节点,目录里面一定有其他文件)
  3. 访问一个文件的本质,需要先找到它;找到文件的本质,就是在一棵多叉树中进行节点的查找
  4. 路径的本质就是这一棵多叉树的搜索路径
  5. 几乎所有的操作系统,文件夹或者目录结构都是树状的
路径
什么叫做路径

具有唯一性的,在多叉树结构当中,标识指定文件的用一串特殊符号分割的,由多个目录构成的一段对应的字符串,称之为路径

Linux下的路径分隔符:/
两个/之间的一定是一个目录或者是文件夹
目录的最后一个可能是一个文件或者是文件夹
Windows下的路径分隔符\

为什么要有分隔符

为了区分分隔符和分隔符之间是一个文件夹,可以通过一个文件夹进入另一个文件夹

为什么要有路径

路径的本质就是这一棵多叉树的搜索路径
任何一个目录(包括根目录),可以有多棵子目录或者子文件夹;但是任何一个节点,永远只有一个父节点
所以从根目录开始逆向地推回来的时候,这条路径具有唯一性

路径分类
cd /home/litao/linux/ : 绝对路径  
cd ../day02/ : 相对路径  

绝对路径
从根目录开始,定位一个叶子文件的方式,形成的路径:绝对路径
在Linux中,无论在哪里,都可以唯一定位一个文件,放在哪里都是有效的
一般在一些配置文件中常用
手写的时候一般用得比较少

相对路径
相对于自身当前所处的目录为参考点,定位一个文件的路径:相对路径
相对路径只能与自身当前所处的目录强相关,当前路径变了,相对路径也要变化
比较适合在命令行场景中使用,打的代码比较少

04. tree命令

如何证明Linux是树状结构

tree 跟当前要显示的目录

以树状结构将当前目录及其子目录给组织起来
![[Pasted image 20240507225811.png]]

安装tree命令

如果输入tree命令,显示command not found
表示当前命令没有被安装
可以使用以下命令进行安装

yum install -y tree

![[Pasted image 20240507230649.png]]

如果没有安装yum
输入

apt-get install tree

![[Pasted image 20240507230726.png]]

显示已经是最新版本

05. cd的其他操作

cd ~
cd -

![[Pasted image 20240507232647.png]]

cd -:跳转到最近一次所处的目录
可以在两个目录之间快速跳转

cd ~
![[Pasted image 20240507233333.png]]

当用户是root的时候,执行这条指令就会进入到/root的路径下
这条路径称为当前用户的家目录
/root就是超级用户root的家目录

在Linux中有两大类用户

  1. root
  2. XXX

在centos系统中
root的家目录:/root
普通用户的家目录:/home/XXX

家目录

windows中,其实有桌面概念,但是本质桌面也是文件夹
只不过当用户登录的时候,家目录里面有桌面的文件夹,windows把这个文件夹中的所有的文件或者文件夹,以图标的形式展示在显示器上,就有了桌面

在windows中下载东西的时候,默认下载的地方,就是当前用户账号下的下载的文件夹里

在Linux中,每一个用户都有自己的家目录
root的家目录,就是/root
普通用户的家目录就是/home/XXX

默认登录的时候,默认登陆所处的路径,就是当前登录用户的家目录
未来写的代码,创建的文件,建议统一放在自己的家目录下

06. touch命令

有两个作用

1. 创建普通文件
touch t1.txt
touch t2
touch t3
touch t4 t5 t6 t7 t8

![[Pasted image 20240508080507.png]]

d开头证明是一个目录
-开头证明是一个普通文件

2. 更改文件时间
-a 或--time=atime或--time=access或--time=use只更改存取时间。  
-c 或--no-create 不建立任何文档。  
-d 使用指定的日期时间,而非现在的时间。  
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。  
-m 或--time=mtime或--time=modify 只更改变动时间。  
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。  
-t 使用指定的日期时间,而非现在的时间。

如何获取文件的时间,更详细的属性列表

stat 文件名

![[Pasted image 20240508082828.png]]

07. mkdir命令

创建一个空目录
mkdir code

在当前目录下创建一个名为“code”的目录
![[Pasted image 20240508083409.png]]

创建了code目录
code默认情况下,是空的文件夹
![[Pasted image 20240508083523.png]]

创建一条路径
mkdir dira/dirb/dirc/dire

无法创建一整串路径
只能不断cd进去,进行操作

mkdir -p dira/dirb/dirc/dird

递归建立多个目录
这样可以创建一整条路径
![[Pasted image 20240508084012.png]]

08. rmdir/rm命令

删除空目录
rmdir 目录名

可以删除空目录

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

如果目录非空,会报错
![[Pasted image 20240508085911.png]]

删除文件或目录
rm 目录名

![[Pasted image 20240508090148.png]]

同样报错

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

树状结构在定义时,就是递归定义的
如果一个目录不为空,极有可能目录里面还有目录
要删除一棵树,一定是先深度优先遍历,到叶子节点,递归返回时,再一个个删除

rm -r 目录名

递归式删除
![[Pasted image 20240508090446.png]]

强制删除

期间可能会需要进行y/n的确认,如果不想交互

rm -rf 目录名

09. 代码细节

1. ls
ls dira

![[Pasted image 20240508084759.png]]

ls dira,可以直接ls+目录,默认显示的是目录里面的内容
也可以dira/,带不带/都可以,也可以带./
不过简写成ls dira

如果不想显示这个目录里面的内容,就想显示目录本身
![[Pasted image 20240508085055.png]]

-d,写什么就显示什么
-ld,会显示更详细的信息
不进入这个目录,只把这个目录本身的属性显示出来

2. 上下键

可以通过键盘的上下箭头的两个按键,快速翻阅历史命令,不用再敲

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

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

相关文章

vue2实现右键菜单功能——vue-diy-rightmenu——基础积累

五一之前遇到一个需求,就是关于要实现自定义右键菜单的功能,普通的右键展示的菜单有【返回/前进/重新加载/另存为】等,希望实现的效果就是右键出现自定义的菜单,比如【编辑/删除/新增】等。 遇到这种的需求,可以直接去…

光伏设备制造5G智能工厂数字孪生可视化平台,推进行业数字化转型

光伏设备制造5G智能工厂数字孪生可视化平台,推进行业数字化转型。光伏设备制造5G智能工厂数字孪生可视化平台是光伏行业数字化转型的重要一环。通过数字孪生平台,光伏设备制造企业可以实现对生产过程的全面监控和智能管理,提高生产效率&#…

C++ | Leetcode C++题解之第77题组合

题目&#xff1a; 题解&#xff1a; class Solution { public:vector<int> temp;vector<vector<int>> ans;vector<vector<int>> combine(int n, int k) {// 初始化// 将 temp 中 [0, k - 1] 每个位置 i 设置为 i 1&#xff0c;即 [0, k - 1] 存…

软件测试行业的变革与自我成长

随着科技的不断进步和市场的快速变化&#xff0c;软件测试行业也迎来了前所未有的变革。近期&#xff0c;一些大型互联网公司如阿里Lazada、字节跳动等纷纷宣布裁员计划&#xff0c;让不少软件测试从业者感受到了前所未有的压力与焦虑。面对这样的行业现状&#xff0c;我们不禁…

1707jsp电影视频网站系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 校园商城派送系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统采用web模式&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&#xff0c;数…

Web安全研究(七)

NDSS 2023 开源地址&#xff1a;https://github.com/bfpmeasurementgithub/browser-fingeprint-measurement 霍普金斯大学 文章结构 introbackground threat model measurement methodology step1: traffic analysisstep2: fingerprint analysis dataset attack statisticsbro…

当CV遇上transformer(二)MAE模型及源码分析

当CV遇上transformer(二)MAE模型 2020年10月&#xff0c;Dosovitskiy首次将纯Transformer的网络结构应用于图像分类任务中(ViT)&#xff0c;并取得了当时最优的分类效果&#xff0c;其研究成果是Transformer完全替代标准卷积的首次尝试。大神何恺明在2021年11月基于(ViT)架构&…

单单单单单の刁队列

在数据结构的学习中&#xff0c;队列是一种常用的线性数据结构&#xff0c;它遵循先进先出&#xff08;FIFO&#xff09;的原则。而单调队列是队列的一种变体&#xff0c;它在特定条件下保证了队列中的元素具有某种单调性质&#xff0c;例如单调递增或单调递减。单调队列在处理…

AWS Lambda 第一个例子Hello (JAVA)

什么是Serverless&#xff08;无服务器计算&#xff09; 行业通常所说的Serverless&#xff0c;主要是指“无服务器计算&#xff08;Serverless Computing&#xff09;”。无服务器计算&#xff0c;并不是真的不需要服务器&#xff0c;而是说&#xff0c;对于用户&#xff0c;…

C语言指针相关知识(第一篇章)(非常详细版)

文章目录 前言一、指针概念的引入与指针的基本介绍&#xff08;一&#xff09;、内存与地址&#xff08;二&#xff09;、指针变量和地址&#xff08;三&#xff09;、指针变量类型的意义&#xff08;四&#xff09;、const修饰指针 二、指针的运算&#xff08;一&#xff09;、…

锤子蜡烛如何交易?Anzo Capital这样交易10倍收益结束

很多投资者发现以下的情况&#xff0c;就认为反转到来了&#xff0c;颓势即将结束牛市即将来临。什么情况呢&#xff1f;就是在交易中发现这种情况&#xff1a;会在局部低点形成&#xff0c;上影线很小或几乎没有上阴影&#xff0c;收盘价高出 1/4 &#xff0c;烛台总有长长的下…

【数据结构(邓俊辉)学习笔记】栈与队列01——栈应用(栈混洗、前缀后缀表达式、括号匹配)

文章目录 0. 概述1. 操作与接口2. 操作实例3. 实现4. 栈与递归5. 应用5.1 逆序输出5.1.1 进制转换5.1.1.1 思路5.1.1.2 算法实现 5.2 递归嵌套5.2.1 栈混洗5.2.1.1 混洗5.2.1.2 计数5.2.1.3 甄别 5.2.2 括号匹配5.2.2.1 构思5.2.2.2 实现5.2.2.3 实例 5.3 延迟缓冲5.3.1 中缀表…

Gitee 码云与Git 交互

优质博文&#xff1a;IT-BLOG-CN 一、进入码云官方网站&#xff0c;注册用户 码云(Gitee.com)是一个类似于GitHub的在线代码托管平台。 码云提供了包括版本控制、代码托管、协作开发和代码分享等功能&#xff0c;基于Git开发&#xff0c;支持代码在线查看、历史版本查看、Fo…

基于vs和C#的WPF应用之动画3

注&#xff1a;1、在内部和外部使用缓动函数 <Grid.Resources> <PowerEase x:Key"powerease" Power"3" EasingMode"EaseInOut"/> </Grid.Resources> <DoubleAnimation EasingFunction"{StaticResource powerease}&quo…

linux开发笔记(buildroot 增加自己的开发板支持文件)

1、该笔记参考了mangopi r3的buildroot。某宝上卖的LC-PI-200S提供的buildroot就是这个。已经上传到我的资源中&#xff0c;可以下载看看。 2、首先在buildroot目录输入make menuconfig打开buildroot配置。 进入build options查看 可以看到第二行就是buildroot配置的保存位置…

KaiwuDB 解析器之语义解析

KaiwuDB 解析器介绍 解析器是数据库系统的重要组成部分之一&#xff0c;主要的功能是将客户端输入的 SQL 语句分解为语法单元&#xff0c;然后将这些语法单元转化成数据库内部可识别的数据结构&#xff0c;最终生成数据库可以执行的计划。 KaiwuDB 的一条 SQL 执行的整个生命…

达梦数据刷盘测试

达梦数据库为了保证数据故障恢复的一致性&#xff0c;REDO 日志的刷盘必须在数据页刷盘之前进行。 下面我们通过测试来验证是不是这样 执行我们事先准备的SHELL脚本 可以看到第一次strings文件没有输出&#xff0c;说明刚写的数据在数据库的BUFFER缓冲区内&#xff0c;还没有刷…

什么样的人能上百度词条

百度百科是一个向所有互联网用户开放的平台&#xff0c;任何人都可以创建或编辑词条。然而&#xff0c;并不是所有的人物或事物都能被收录到百度百科中&#xff0c;它有一定的收录标准和审结的关于哪些人或事物能上百度百科的条件和流程。 百度百科的收录标准 知名度和影响力&…

太牛了!360大佬编写的《应急响应指导手册》火了!(PDF限时3天领取)

免责声明&#xff1a; 请使用者遵守《中华人民共和国网络安全法》&#xff0c;由于传播、利用本账号所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;公众号及作者不为此承担任何责任。 简介 这份《应急响应指导手册》&#xf…

OpenNJet评测,探寻云原生之美

在信息时代的大海上&#xff0c;云原生应用引擎如一艘航行于波涛之间的帆船&#xff0c;承载着创新的梦想和数字化的未来。本文将带领您登上这艘船&#xff0c;聚焦其中之一的OpenNJet&#xff0c;一同探寻其中的奥秘和精妙&#xff0c;领略其独特之美。 OpenNJet 内容浅析 O…