【linux学习指南】linux指令与实践文件编写

请添加图片描述

文章目录

  • 📝前言
  • 🌠 linux目录结构
    • 🌉linux命令介绍
  • 🌠pwd命令
    • 🌉mkdir指令(重要)
  • 🌠cd 指令
    • 🌉touch指令
  • 🌠rmdir指令 && rm 指令(重要):
    • 🌉ls 指令
    • 🌉 linux实践代码
    • 🌉 cp指令(重要):
    • 🌉 man指令(重要):
  • 🚩总结


📝前言

本节阿森将和你一起深入浅出的学习简单几条指令,快速上手在linux写代码,同时更好的理解指令记忆

🌠 linux目录结构

在linux系统中,磁盘上的文件和目录被组成一个树,每个节点都是目录或文件,像是一个多叉树的层次结构。如图所示:
在这里插入图片描述

以上只是展示目录的结构是目录树的结构,以下是 Linux 文件目录结构的主要组成部分:

根目录 (/)这是整个文件系统的顶级目录,所有其他目录和文件都是从根目录开始的。
/bin包含基本的用户级二进制文件,如 ls、cat、mkdir 等。
/etc包含系统级的配置文件,如网络、服务等的配置文件。
/home包含每个用户的个人目录,用户可以在自己的目录中存储文件和设置。
/lib包含系统级的共享库文件,供系统和应用程序使用。
/media用于挂载可移动设备,如 CD-ROM、USB 驱动器等。
/mnt用于临时挂载文件系统。
/opt用于安装可选的软件包。
/proc是一个虚拟文件系统,提供了系统内部信息。
/root是 root 用户的主目录。
/sbin包含系统级的二进制文件,如 init、shutdown 等。
/tmp用于存储临时文件,系统重启后会被清空。
/usr包含大部分用户级的程序和文件,如应用程序、库文件等。
/var用于存储经常变化的文件,如日志、缓存、锁定文件等。

这是在Xshell中我新建的目录,更好的展示树状结构,如图:
在这里插入图片描述
我们接着看~

🌉linux命令介绍

🌠pwd命令

pwd:显示用户当前所在的目录
在这里插入图片描述
这里pwd显示是/root,因为linux用户分为两类:

  1. 管理员(root)
  2. 普通用户
    linux登录系统后,默认登进去的是用户的主目录,类似window登录系统,当你在按进去用户,可以选择用户,再点击第一个,这相当于root,可以看到用户下面有很多目录和文件,包括桌面也是相当于目录,此时如果你的用户有多个账号,也相当于linux的多用户,剩下就是普通用户,默认的所在目录为、home/普通用户名
    在这里插入图片描述
    在这里插入图片描述

🌉mkdir指令(重要)

语法:mkdir [选项] dirname…
功能:在当前目录下创建一个名为 “dirname”的目录
常用选项:
-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;

如图:
在这里插入图片描述

记得mkdir后要加一个空格,然后再输入,这里你输入tree这个命令发现查看不了,原因是因为你还没安装tree
安装指令:

 yum install -y tree

右键是有复制粘贴的快捷键哦,不是CV
在这里插入图片描述

在这里插入图片描述
建立多个目录怎么办?,一个一个太麻烦了,因此我们可以递归建立多个目录

mkdir –p test/test1 : 递归建立多个目录

在这里插入图片描述

🌠cd 指令

语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下。
举例:
cd … : 返回上级目录
cd /home/litao/linux/ : 绝对路径
cd …/day02/ : 相对路径
cd ~:进入用户家目
cd -:返回最近访问目录

[root@hcss-ecs-ab43 ~]# tree
.
├── bin
├── dev
├── etc
├── home
├── test
│    └── test2
│       └── test3
│           └── test4
└── usr

9 directories, 0 files
[root@hcss-ecs-ab43 ~]# pwd
/root
[root@hcss-ecs-ab43 ~]# cd test
[root@hcss-ecs-ab43 test]# cd test2
[root@hcss-ecs-ab43 test2]# cd test3
[root@hcss-ecs-ab43 test3]# cd test4
[root@hcss-ecs-ab43 test4]# pwd
/root/test/test2/test3/test4
[root@hcss-ecs-ab43 test4]#

cd+空格+目录==进入进入目录
在这里插入图片描述
cd -:返回最近访问目录

[root@hcss-ecs-ab43 test4]# cd -
/root/test/test2/test3
[root@hcss-ecs-ab43 test3]# 

cd ~:进入用户家目

[root@hcss-ecs-ab43 test4]# cd -
/root/test/test2/test3
[root@hcss-ecs-ab43 test3]# cd ~
[root@hcss-ecs-ab43 ~]# pwd
/root
[root@hcss-ecs-ab43 ~]# 

cd /home/litao/linux/ : 绝对路径
绝对路径和window一样,而cd … : 返回上级目录,一图了解:
在这里插入图片描述

🌉touch指令

语法:touch [选项]… 文件…
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
常用选项:
-a 或–time=atime或–time=access或–time=use只更改存取时间。
-c 或–no-create 不建立任何文档。
-d 使用指定的日期时间,而非现在的时间。
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m 或–time=mtime或–time=modify 只更改变动时间。
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 使用指定的日期时间,而非现在的时间。

[root@hcss-ecs-ab43 ~]# cd home
[root@hcss-ecs-ab43 home]# mkdir bit
[root@hcss-ecs-ab43 home]# cd bit
[root@hcss-ecs-ab43 bit]# touch test.c
[root@hcss-ecs-ab43 bit]# cd ~
[root@hcss-ecs-ab43 ~]# tree
.
├── bin
├── dev
├── etc
├── home
│   └── bit
│     └── test.c
├── test
│   └── test2
│       └── test3
│          └── test4
└── usr

10 directories, 1 file
[root@hcss-ecs-ab43 ~]# 

🌠rmdir指令 && rm 指令(重要):

rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。
语法:rmdir [-p][dirName]
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录

常用选项:
-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。
rm命令可以同时删除文件或目录
语法:rm [-f-i-r-v][dirName/dir]
适用对象:所有使用者
功能:删除文件或目录

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

[root@hcss-ecs-ab43 ~]# tree
.
├── bin
├── dev
├── etc
├── home
│   └── bit
│       └── test.c
├── test
│   └── test2
│       └── test3
│           └── test4
└── usr

10 directories, 1 file
[root@hcss-ecs-ab43 ~]# rm -r bin
rm: remove directory ‘bin’? y    //注这里是因为root用户会询问
[root@hcss-ecs-ab43 ~]# tree
.
├── dev
├── etc
├── home
│   └── bit
│       └── test.c
├── test
│   └── test2
│       └── test3
│           └── test4
└── usr

9 directories, 1 file
[root@hcss-ecs-ab43 ~]# 

加上f可以不用询问
在这里插入图片描述
递归删除:

[root@hcss-ecs-ab43 ~]# rm -r test 
rm: descend into directory ‘test’? y
rm: descend into directory ‘test/test2’? y
rm: descend into directory ‘test/test2/test3’? y
rm: remove directory ‘test/test2/test3/test4’? y
rm: remove directory ‘test/test2/test3’? y
rm: remove directory ‘test/test2’? y
rm: remove directory ‘test’? y

当然可以加上f可以不用询问
在这里插入图片描述

🌉ls 指令

语法: 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 一行只输出一个文件

在这里插入图片描述
组合使用-a 列出目录下的所有文件 的详细信息。包括以 . 开头的隐含文件。
在这里插入图片描述

🌉 linux实践代码

在linux写代码我最开始可以先用nano来写,
nano 是一个简单易用的文本编辑器,在 Linux 和 Unix 系统中广泛使用。

基本用法:
nano [文件名]: 打开指定的文件进行编辑。如果文件不存在,会创建一个新文件。
nano: 不指定文件名,会打开一个新的空白文件。

这是安装指令:

yum install -y nano

在这里插入图片描述

在这里插入图片描述
选Y
在这里插入图片描述
按Enter回车键
在这里插入图片描述
使用gcc编译编译生成可执行.o目标文件test
gcc test.c -o test
再次输入
./test
目的是为了找到该文件使用了./
在这里插入图片描述

🌉 cp指令(重要):

语法:cp [选项] 源文件或目录 目标文件或目录
功能: 复制文件或目录
说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,
则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存
在的目录,则会出现错误信息
常用选项:
-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i 或 --interactive 覆盖文件之前先询问用户
-r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链
接,则一律视为普通文件处理
-R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理
在这里插入图片描述
注意不要在home前面加/哦

🌉 man指令(重要):

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是
man 语法: man [选项] 命令
常用选项
-k 根据关键字搜索联机帮助
num 只在第num章节找
-a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按
下q退出,他会继续往后面搜索,直到所有章节都搜索完毕。

安装指令:

yum install -y man-pages

解释一下,面手册分为8章

  1. 基本用法:

    • man [命令名]: 查看指定命令的手册页。例如 man ls 查看 ls 命令的手册页。
    • man -k [关键词]: 搜索包含指定关键词的手册页。
      在这里插入图片描述
  2. 手册页的章节:

    • 1 - 用户命令
    • 2 - 系统调用
    • 3 - 库函数
    • 4 - 特殊文件
    • 5 - 文件格式
    • 6 - 游戏
    • 7 - 杂项
    • 8 - 系统管理命令
  3. 常用选项:

    • -f: 显示手册页的一行简介
    • -h: 显示帮助信息
    • -w: 显示手册页的文件路径
    • -a: 显示所有匹配的手册页
  4. 导航和搜索:

    • q 退出手册页
    • / 进行搜索,输入关键词后按回车
    • n 跳转到下一个搜索结果
    • N 跳转到上一个搜索结果
  5. 其他技巧:

    • 可以使用 man man 查看 man 命令本身的手册页在这里插入图片描述 - 可以使用 whatis [命令名] 快速查看命令的简介 - 可以使用 apropos [关键词] 搜索与关键词相关的手册页

可以自查

 [root@hcss-ecs-ab43 ~]# man man

需要注意的是,比如有八章节命令,如果一个命令在第一章找到,直接显示,即使后面的章节也有相同,他也不会继续查找!


🚩总结

ls 指令:-l 列出文件的详细信息。
pwd命令:功能:显示用户当前所在的目录
cd 指令:改变工作目录。将当前工作目录改变到指定的目录下。cd ~ 回家
touch指令:建立普通文件如test.c
mkdir指令:在当前目录下创建一个名为 “dirname”的目录 如:mkdir dir
rmdir指令 && rm 指令:删除空目录
cp指令:复制文件或目录,如cp [选项] 源文件或目录 目标文件或目录
man指令:查看指定命令的手册页如 man man
nano test.c 记事本编写

感谢你的收看,如果文章有错误,可以指出,我不胜感激,让我们一起学习交流,如果文章可以给你一个小小帮助,可以给博主点一个小小的赞😘

请添加图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

串的介绍与类型定义

串的定义 相关术语 应用 串类型定义 顺序存储实现 为了方便操作,数组下标从1开始存储 链式存储实现

【Leetcode】二叉树基础题思路

🔥个人主页:Quitecoder 🔥专栏:Leetcode刷题 目录 1.单值二叉树2.相同的树3.对称二叉树4.另一棵树的子树 1.单值二叉树 题目链接:965.单值二叉树 题目描述: 单值二叉树是所有节点的值都相同的二叉树。实现…

MySQL LIKE通配符(%,_)及escape实例讲解

LIKE操作符常用于模式匹配查询数据。以正确的方式使用LIKE运算符对于提高查询性能至关重要。 LIKE操作符允许您从基于指定的模式选择表中的数据。因此,LIKE操作符经常用于SELECT语句的WHERE子句中。 MySQL提供了两个通配符与LIKE操作符一起使用:百分比…

LeetCode 98.验证二叉搜索树

题目描述 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左 子树 只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。 示例 1&#xff…

移植 SquareLine 导出的 UI 源码到 HMI-Board

目录 准备工具创建 HMI 工程设计 UIUI 移植板级验证更多内容 HMI-Board 为 RT-Thread 联合瑞萨推出的高性价比图形评估套件,取代传统的 HMI 主控板 硬件,一套硬件即可实现 HMI IoT 控制 的全套能力。依托于瑞萨高性能芯片 RA6M3 及 RT-Thread 软件生态…

leetcode870.优势洗牌

题目描述: 给定两个长度相等的数组 nums1 和 nums2,nums1 相对于 nums2 的优势可以用满足 nums1[i] > nums2[i] 的索引 i 的数目来描述。 返回 nums1 的任意排列,使其相对于 nums2 的优势最大化。 示例一: 输入&#xff…

nginx--平滑升级

失败了,等我拍好错继续更新 命令 选项说明 帮助: -? -h 使用指定的配置文件: -c 指定配置指令:-g 指定运行目录:-p 测试配置文件是否有语法错误:-t -T 打印nginx的版本信息、编译信息等:-v -V 发送信号: -s 示例: nginx -s reload 信号说明 立刻停止服务:stop,相…

笔记:编写程序,绘制一个展示支付宝月账单报告的饼图,

文章目录 前言一、饼图是什么?二、分析题目三、编写代码总结 前言 编写程序,绘制一个展示支付宝月账单报告的饼图,实现过程如下: (1) 导入 matplotlib.pyplot 模块; (2)…

主成分分析在R语言中的简单应用:使用mvstats包

在数据科学领域,主成分分析(PCA)是一种广泛使用的技术,主要用于数据降维和探索性数据分析。PCA可以帮助我们发现数据中的模式,减少数据集的复杂性,同时保持数据中最重要的特征。本文将介绍如何在R语言中使用…

【经典算法】LeetCode112. 路径总和(Java/C/Python3/Go实现含注释说明,Easy)

作者主页: 🔗进朱者赤的博客 精选专栏:🔗经典算法 作者简介:阿里非典型程序员一枚 ,记录在大厂的打怪升级之路。 一起学习Java、大数据、数据结构算法(公众号同名) ❤️觉得文章还…

实时监控RTSP视频流并通过YOLOv5-seg进行智能分析处理

在完成RTSP推流之后,尝试通过开发板接收的视频流数据进行目标检测,编写了一个shell脚本实现该功能,关于视频推流和rknn模型的部署请看之前的内容或者参考官方的文档。 #!/bin/bash # 设置脚本使用的shell解释器为bashSEGMENT_DIR"./seg…

OceanBase开发者大会实录-陈文光:AI时代需要怎样的数据处理技术?

本文来自2024 OceanBase开发者大会,清华大学教授、蚂蚁技术研究院院长陈文光的演讲实录—《AI 时代的数据处理技术》。完整视频回看,请点击这里>> 大家好,我是清华大学、蚂蚁技术研究院陈文光,今天为大家带来《AI 时…

JUC线程

进程和线程: 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配的基本单位,是操作系统结构的基础。 线程(英语:thread)是操作系统能够进行运算调度…

python基础语法--函数

一、函数概述 函数就是执行特定任务完成特定功能的一段代码。可以在程序中将某一段代码定义成函数,并指定一个函数名和接收的输入(参数),这样就可以在程序的其他地方通过函数名多次调用并执行该段代码了。 每次调用执行后&#…

Ubuntu如何安装Calicoctl

在 Ubuntu 上安装 Calico 通常涉及几个步骤。以下是一般的安装过程: 安装 etcd 或使用 Kubernetes 集群的现有 etcd: 如果你使用的是独立的 etcd,请确保 etcd 在可访问的地方运行。如果你使用的是 Kubernetes 集群,通常会有一个 e…

用户中心(终)

文章目录 Ant Design Pro(Umi 框架)ProComponents 高级表单待优化点 todo注册逻辑增加注册页面页面重定向问题注册页面 **获取用户的登录态****前端用户管理功能** Ant Design Pro(Umi 框架) app.tsx 项目全局入口文件&#xff0c…

【车载开发系列】MCAL基本概念

【车载开发系列】MCAL基本概念 【车载开发系列】MCAL基本概念 【车载开发系列】MCAL基本概念一. BSW与MCAL1)BSW-服务层2)BSW-ECU抽象层3)MCAL驱动层 二. MCAL基本概念三. MCAL组成1)PORT2)DIO3)ADC4&#…

排序算法——直接插入排序

直接插入排序与希尔排序是插入排序的两个分支,直接插入排序是较为简单的一种排序算法,同时也是众多算法实现或优化的基石。 前提: 插入排序:有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数&…

BigKey的危害

1.2.1、BigKey的危害 网络阻塞 对BigKey执行读请求时,少量的QPS就可能导致带宽使用率被占满,导致Redis实例,乃至所在物理机变慢 数据倾斜 BigKey所在的Redis实例内存使用率远超其他实例,无法使数据分片的内存资源达到均衡 Redis阻…

nginx--自定义日志跳转长连接文件缓存状态页

自定义日志服务 [rootlocalhost ~]# cat /apps/nginx/conf/conf.d/pc.conf server {listen 80;server_name www.fxq.com;error_log /data/nginx/logs/fxq-error.log info;access_log /data/nginx/logs/fxq-access.log main;location / {root /data/nginx/html/pc;index index…