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

news2024/12/24 22:00:04

前言

计算机软硬件体系结构
层状结构
应用软件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. 显示当前目录下的文件信息
ls

ls -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.coloradmin.cn/o/1658167.html

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

相关文章

Q1保健品线上市场分析(三):牛初乳市场扩张,同比去年增长54%

近几年,牛初乳在多项科学研究支撑下,其卓越的“肠道免疫力”正得到越来越多的挖掘、验证和商业化尝试。因此,随着人们对健康饮食的重视,牛初乳产品的需求量也在逐年增加,市场潜力巨大。 根据鲸参谋数据显示&#xff0…

AI 资料汇总专栏

包含AI资料、大模型资料、AI最新行业发展 人工智能(Artificial Intelligence,简称AI)是一门研究如何使计算机能够具备智能行为的科学与技术。它致力于开发出能够像人类一样思考、学习、理解和决策的计算机系统。自20世纪50年代以来&#xff…

C语言leetcode刷题笔记2

C语言leetcode刷题笔记2 第4题:283.移动零互换直接移动 第5题:122.买卖股票的最佳时机‖递归(超时)动态规划贪心算法 第6题:49.字母异位词分组优化 第4题:283.移动零 给定一个数组 nums,编写一…

100G ZR4 80KM光模块产品亮点有哪些

之前的文章我们介绍了100G ZR4 80KM光模块的产品特征以及技术原理等,那本期文章我们来了解一下易天第二代100G ZR4 80KM光模块的产品亮点。 首先我们通过下面这张表格以最直观的方式来了解第一代和第二代100G ZR4 80KM光模块在工作温度、功耗、FEC纠错等方面有哪些…

哪个可以下载视频素材?哪里有视频素材网站啊?

在这个视频内容日益重要的世界里,选择正确的可商用素材网站可以极大提升您的项目质量。下面是另一批国内外知名的视频素材网站,希望能为您的创作提供新的灵感。 1. 蛙学府 提供广泛的创意资产,包括高分辨率的视频素材。订阅后用户可无限次下…

VIsualGDB : 快速入门系列

《VisualGDB : 解决编码导致的编译错误》 《VisualGDB : 在windows上开发和调试Linux代码(一)》 《VisualGDB:为Linux项目添加系统依赖库》 《VisualGDB:Linux动态库项目创建、编译及库的使用》 《VisualGD…

点击导航栏选项后,导航栏高亮该选项

如图所示&#xff0c;点击“流浪猫客栈”时&#xff0c;会一直高亮显示&#xff0c;表示现在看的是这个选项的页面。 Cat.jsp上写&#xff1a; <!--header--> <jsp:include page"header.jsp"><jsp:param name"flag" value"3">…

中国科技大航海时代,“掘金”一带一路

文&#xff5c;白 鸽 编&#xff5c;王一粟 “这不就是90年代的内地吗&#xff1f;” 在深度考察完沙特市场后&#xff0c;华盛集团联合创始人兼CEO张霆对镜相工作室感慨道。 在张霆看来&#xff0c;沙特落后的基建&#xff08;意味着大量创新空间&#xff09;、刚刚开放…

邮件系统国产化,保障企业信息安全的重要举措

随着信息技术日益发展和成熟&#xff0c;企业信息化建设深入推进&#xff0c;企业信息化管理能力大幅提升&#xff0c;其中邮件系统在企业信息化建设中扮演着至关重要的角色。然而&#xff0c;长期以来&#xff0c;我国企业在邮件系统方面主要依赖于国外的产品&#xff0c;这不…

【Linux系统】进程控制

再次理解进程 进程&#xff1a;内核的相关管理数据结构(task_struct(进程控制块PCB)&#xff0c;mm_struct(地址空间)&#xff0c;页表) 代码和数据 那么如何理解进程具有独立性&#xff1f; 我们之前已经学习过进程控制块啊&#xff0c;地址空间啊&#xff0c;页表啊&…

Linux-笔记 修改开发板默认时区

1. 时区文件 使用命令date -R查看当前的默认时区&#xff0c;date - R命令会自动解析/etc/localtime 文件&#xff0c;而该文件又是指向“ /usr/share/zoneinfo/$主时区/$次时区 ”&#xff0c;当需要更改到指定的时区只要将/etc/localtime 文件软链接到 ”/usr/share/zoneinf…

c++ libtorch使用cmake建立

如果我们安装好pytorch&#xff0c;其实不一定一定要安装libtorch&#xff0c;默认都已经安装过了 1 进入pytorch conda env list conda activate pytorch 命令行下使用 python -c 来获取libtorch的基本信息&#xff0c; python -c "import torch;print(torch.utils.c…

1.基于python的单细胞数据预处理-质量控制

目录 质量控制过滤低质量细胞的指南双细胞过滤手动过滤低质量读数细胞自动过滤低质量读数细胞环境RNA校正 参考&#xff1a; [1] https://github.com/Starlitnightly/single_cell_tutorial [2] https://github.com/theislab/single-cell-best-practices 质量控制 原始的单细胞…

[C++核心编程-05]----C++类和对象之对象的初始化和清理

目录 引言 正文 01-构造函数和析构函数 ​02-构造函数的分类及调用 03-拷贝构造函数调用时机 04-构造函数调用规则 05-深拷贝与浅拷贝 06-初始化列表 07-静态成员变量 08-静态成员函数 …

vue3 - 150

目录 vue优势使用方式编写vue代码指令响应式数据其他 vue优势 功能全面生态好&#xff0c;语法简洁效率高&#xff0c;免去 DOM 操作苦&#xff0c;开发重任一肩挑&#xff01; 使用方式 1.通过cdn引入来将 Vue 应用到整个页面 2.或通过官方脚手架 create-vue来创建完整的v…

Spring-依赖来源

依赖来源 1 Spring BeanDefinition&#xff08;xml,注解&#xff0c;BeanDefinitionBuilder, 还有API实现的单例对象&#xff09; 2 Spring 内建BeanDefinition 3 内建单例对象 依赖注入和依赖查找的区别 Context.refresh() 的时候会调用这个方法&#xff1a;prepareBeanF…

【Linux】-Linux用户和权限[3]

一、认知root用户 1、root用户&#xff08;超级管理员&#xff09; 无论是Windows、MacOS、Linux均采用多用户的管理模式进行权限管理。 在Linux系统中&#xff0c;拥有最大权限的账户为&#xff1a;root&#xff08;超级管理员&#xff09; root用户拥有最大的系统操作权限…

多线程三种实现

多线程 线程 线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中&#xff0c;是进程中的实际运作单位。 &#xff08;理解&#xff1a;应用软件中互相独立&#xff0c;可以同时运行的功能&#xff09; 进程 进程是程序的基本执行实体。&#xff08;理解&#…

部署JVS服务出现上传文件不可用,问题原因排查。

事情的起因是这样的&#xff0c;部门经理让我部署一下JVS资源共享框架&#xff0c;项目的地址是在这里 项目资源地址 各位小伙伴们做好了&#xff0c;我要开始发车了&#xff0c;全新的“裂开之旅” 简单展示一下如何部署JVS文档 直达链接 撕裂要开始了 本来服务启动的好好…

SpringBoot结合Canal 实现数据同步

1、Canal介绍 Canal 指的是阿里巴巴开源的数据同步工具&#xff0c;用于数据库的实时增量数据订阅和消费。它可以针对 MySQL、MariaDB、Percona、阿里云RDS、Gtid模式下的异构数据同步等情况进行实时增量数据同步。 当前的 canal 支持源端 MySQL 版本包括 5.1.x , 5.5.x , 5.6.…