Linux的目录结构 | 命令的认识 | 相对路径 | 绝对路径 | 常用命令(一)

news2024/11/8 19:41:38

文章目录

        • 1.Linux的目录结构
        • 2.命令的认识
        • 3.相对路径和绝对路径
        • 4.常用命令(目录文件操作)
        • 5.常用命令(文本查看)

1.Linux的目录结构

在这里插入图片描述
\ :根目录
root:root用户的工作目录
home:普通用户的工作目录
bin:存放二进制文件,一些常用的命令
dev:设备(Device)文件,Linux下一切皆文件,访问外部设备和普通文件一样。
etc:存放所有的系统管理所需要的配置文件
lib:库文件
mnt:临时挂载的文件系统
media:Linux自动识别一些设备,如:U盘、光驱等
boot:开机启动引导程序
proc:存放内核运行状态的进程信息
opt:第三方软件默认按照的位置。
var:存放经常变化的文件,如系统日志
usr:用户的很多应用程序和文件,这个文件都不经常变化。

xiyan@LAPTOP-87PRR6K8:/usr/bin$ whereis cat	- 可以看到cat命令就存放在usr目录下
cat: /usr/bin/cat /usr/share/man/man1/cat.1.gz

whereis 命令主要用于查找命令、可执行文件、源代码和手册页的路径。用法:whereis [选项] <命令名>

2.命令的认识

刚开始接触Linux,可能对命令理解有点模糊,其实命令就是一个可执行程序,这个程序和你写得C语言程序(用C语言写的命令)是一模一样的,有区别的就是hello程序是你写的,而命令是别人写的。

xiyan@LAPTOP-87PRR6K8:~$ pwd
/home/xiyan
xiyan@LAPTOP-87PRR6K8:~$ vim hello.c
xiyan@LAPTOP-87PRR6K8:~$ gcc hello.c -o hello
xiyan@LAPTOP-87PRR6K8:~$ ls | grep hello
hello
hello.c
xiyan@LAPTOP-87PRR6K8:~$ ./hello
hello world

我编写了一个hello world的C程序然后编译,使用相对路径的方式运行了我的程序。其实hello就是一个命令。这里和系统的命令不同的是运行自己的程序多了./。我们来改变一些,上面whereis cat的命令的路径,我们也把hello放到/usr/bin。但是一般不要这么干。

xiyan@LAPTOP-87PRR6K8:~$ mv hello /usr/bin
mv: cannot move 'hello' to '/usr/bin/hello': Permission denied
xiyan@LAPTOP-87PRR6K8:~$ sudo mv hello /usr/bin
[sudo] password for xiyan:
xiyan@LAPTOP-87PRR6K8:~$ ls /usr/bin/hello
/usr/bin/hello
xiyan@LAPTOP-87PRR6K8:~$ hello
hello world
xiyan@LAPTOP-87PRR6K8:~$ sudo rm /usr/bin/hello	- 这里删除(其实删除移动拷贝这些命令是高危命令,别删库跑路了!)

上面我们就写了一条自己的命令hello。
上面统计将hello命令移动到/usr/bin路径下,当然也可以添加一个环境变量,系统会根据环境变量来查找了对应的命令。

xiyan@LAPTOP-87PRR6K8:~$ pwd
/home/xiyan
xiyan@LAPTOP-87PRR6K8:~$ gcc hello.c -o hello
xiyan@LAPTOP-87PRR6K8:~$ ls | grep hello
hello
hello.c
xiyan@LAPTOP-87PRR6K8:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
xiyan@LAPTOP-87PRR6K8:~$ export PATH=$PATH:/home/xiyan
xiyan@LAPTOP-87PRR6K8:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/xiyan
xiyan@LAPTOP-87PRR6K8:~$ hello
hello world
3.相对路径和绝对路径

绝对路径:以根目录为起点,精确表示一个文件的路径。
相对路径:以当前位置为起点,去表示一个文件的路径。

xiyan@LAPTOP-87PRR6K8:~$ ll
total 172
drwxr-x--- 22 xiyan xiyan  4096 Nov  8 10:30 ./
drwxr-xr-x  3 root  root   4096 Jun 15 20:14 ../

通过 ll 命令来查看,. 就表示当前路径,而 .. 表示父目录也就是上一级目录。所以在执行cd 命令的时候,就能找到对应的位置。

4.常用命令(目录文件操作)

命令的一般结构:命令 [选项] [参数(文件名或目录、命令等)]
1)man命令用来查看帮助文档

man 语法: man [选项] 命令
xiyan@LAPTOP-87PRR6K8:~$ man man - 按q退出
man手册分为8章
1、普通的命令(默认)
2、系统调用。如open、write(重要)
3、库函数(重要)
5、是指文件的格式
6、是给游戏留的,由各个游戏自己定义
7、是附件还有一些变量
8、是系统管理用的命令,这些命令只能由root使用,如ifconfig
xiyan@LAPTOP-87PRR6K8:~$ man 3 printf

2)mkdir用来创建目录

xiyan@LAPTOP-87PRR6K8:~$ man mkdir
语法: mkdir [OPTION]... DIRECTORY...
选项:
	-p:此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多级目录

xiyan@LAPTOP-87PRR6K8:~$ mkdir mydir
xiyan@LAPTOP-87PRR6K8:~$ cd mydir
xiyan@LAPTOP-87PRR6K8:~/mydir$ mkdir a/b/c/d
mkdir: cannot create directory ‘a/b/c/d’: No such file or directory
xiyan@LAPTOP-87PRR6K8:~/mydir$ mkdir -p a/b/c/d
xiyan@LAPTOP-87PRR6K8:~/mydir$ sudo apt install tree
xiyan@LAPTOP-87PRR6K8:~/mydir$ tree
.
└── a
    └── b
        └── c
            └── d

3)cd:将当前工作目录改变到指定的目录

语法:cd 目录名
xiyan@LAPTOP-87PRR6K8:~$ cd .. - 返回
xiyan@LAPTOP-87PRR6K8:~$ pwd
/home/xiyan

4)pwd查看当前路径
5)touch创建一个空文件

xiyan@LAPTOP-87PRR6K8:~$ cd mydir/
xiyan@LAPTOP-87PRR6K8:~/mydir$ pwd
/home/xiyan/mydir
xiyan@LAPTOP-87PRR6K8:~/mydir$ touch a1
xiyan@LAPTOP-87PRR6K8:~/mydir$ ls
a  a1  a2  a3  a4  a5

6)ls命令用来列出该目录下的所有子目录与文件

xiyan@LAPTOP-87PRR6K8:~/mydir$ ls
a  a1  a2  a3  a4  a5
xiyan@LAPTOP-87PRR6K8:~/mydir$ ls -al
total 12
drwxrwxr-x  3 xiyan xiyan 4096 Nov  8 13:35 .
drwxr-x--- 22 xiyan xiyan 4096 Nov  8 11:58 ..
...

选项: 
	-a:列出目录下的所有文件,包括以 . 开头的隐含文件
	-l:列出文件的详细信息
	-R:列出所有子目录下的文件(递归)
	-s:在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)

7)rm删除一个文件或目录

xiyan@LAPTOP-87PRR6K8:~/mydir$ rm a1
xiyan@LAPTOP-87PRR6K8:~/mydir$ rm -r a
xiyan@LAPTOP-87PRR6K8:~/mydir$ ls
a2  a3  a4  a5

选项:
	-f:强制直接删除
	-r:删除目录及其下所有文件

8)cp指令复制文件或目录
C字符串函数传入参数的一个特点类似A of B 的格式,A of B表示BA。以strcpy为例,传入的参数第一个是destination,第二个是source。是将source拷贝到destination中。

char * strcpy ( char * destination, const char * source )

这里和Linux命令是相反的,例如,cp命令:前面的是原文件(source_file),后面的是目标文件(destination_directory)

cp [OPTION]... source... directory

cp命令的使用

xiyan@LAPTOP-87PRR6K8:~/mydir$ ls
a2  a3  a4  a5
xiyan@LAPTOP-87PRR6K8:~/mydir$ cp /usr/include/stdio.h ./
xiyan@LAPTOP-87PRR6K8:~/mydir$ ls
a2  a3  a4  a5  stdio.h

9)mv指令用来移动或者重命名

xiyan@LAPTOP-87PRR6K8:~/mydir$ mv a2 a2.txt
xiyan@LAPTOP-87PRR6K8:~$ cd
xiyan@LAPTOP-87PRR6K8:~$ touch hello.txt
xiyan@LAPTOP-87PRR6K8:~$ cd mydir
xiyan@LAPTOP-87PRR6K8:~/mydir$ mv /home/xiyan/hello.txt hello.c - 移动并重命名
xiyan@LAPTOP-87PRR6K8:~/mydir$ ls
a2.txt  a3  a4  a5  hello.c  stdio.h
5.常用命令(文本查看)

1)cat查看目标文件的内容

xiyan@LAPTOP-87PRR6K8:~/mydir$ pwd
/home/xiyan/mydir
xiyan@LAPTOP-87PRR6K8:~/mydir$ cat stdio.h
选项:
	-b 对非空输出行编号
	-n 对输出的所有行编号
	-s 不输出多行空行

2)more也是用来查看文本的内容,上面用cat命令直接把全部的内容打印到显示屏中。more分页查看文件内容。

xiyan@LAPTOP-87PRR6K8:~/mydir$ more stdio.h -也是q退出
选项:
	-n 对输出的所有行编号
操作:
	enter 回车,向下查看一行
	b 向上翻一页
	f 向下翻一页
	space 向下翻一页

3)less指令也是分页进行查看文本内容(重要)
less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。
less还可以查找功能等,它更加强大!

xiyan@LAPTOP-87PRR6K8:~/mydir$ less stdio.h

在这里插入图片描述
4)head从头查看文本内容

xiyan@LAPTOP-87PRR6K8:~/mydir$ head stdio.h
xiyan@LAPTOP-87PRR6K8:~/mydir$ head -5 stdio.h
选项:
	-n<行数> 显示的行数(默认十行)

5)tail从尾查看文本内容

xiyan@LAPTOP-87PRR6K8:~/mydir$ tail stdio.h

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

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

相关文章

linux nvidia/cuda安装

1.查看显卡型号 lspci |grep -i vga2.nvidia安装 2.1在线安装 终端输入&#xff08;当显卡插上之后&#xff0c;系统会有推荐的安装版本&#xff09; ubuntu-drivers devices可得到如下内容 vendor : NVIDIA Corporation model : TU104GL [Tesla T4] driver : nvid…

简单又便宜的实现电脑远程开机唤醒方法

现有的远程开机方案 1&#xff09;使用向日葵开机棒 缺点是比较贵一点&#xff0c;开机棒要一百多&#xff0c;而且查了评论发现挺多差评说不稳定&#xff0c;会有断联和无法唤醒的情况&#xff0c;而且设置也麻烦&#xff0c;还需要网卡支持WOL 2&#xff09;使用远程开机卡 …

容器架构-Docker的成长之路

目录 1. 什么是容器 2. 容器 vs 虚拟机 3. Docker极速上手指南 环境准备 3.1 配置docker源 3.2 下载镜像加速的配置 3.3 下载自动补全工具 4. Docker C/S架构 5. Docker的镜像管理 5.1 下载nginx:alpine镜像并查看 5.2 sl大法 5.3 删除镜像 5.4 镜像清理用的命令 5…

【开源社区】ELK 磁盘异常占用解决及优化实践

1、问题及场景描述 本文主要讨论在 CentOS环境下基于 rpm 包部署 ELK 系统磁盘异常占用的问题解析和解决方案。 生产问题描述&#xff1a;以下问题现实场景基于ELK体系下&#xff0c;ES服务的磁盘占用问题解析。默认情况下&#xff0c;基于 RPM 安装的 Elasticsearch 服务的安…

仪表板展示|DataEase看中国:历年双十一电商销售数据分析

背景介绍 2024年“双十一”购物季正在火热进行中。自2009年首次推出至今&#xff0c;“双十一”已经成为中国乃至全球最大的购物狂欢节&#xff0c;并且延伸到了全球范围内的电子商务平台。随着人们消费水平的提升以及电子商务的普及&#xff0c;线上销售模式也逐渐呈现多元化…

【深度学习】论文笔记:空间变换网络(Spatial Transformer Networks)

博主简介&#xff1a;努力学习的22级计算机科学与技术本科生一枚&#x1f338;博主主页&#xff1a; Yaoyao2024往期回顾&#xff1a; 【机器学习】有监督学习由浅入深讲解分类算法Fisher算法讲解每日一言&#x1f33c;: 今天不想跑&#xff0c;所以才去跑&#xff0c;这才是长…

基于java+SpringBoot+Vue的旅游管理系统设计与实现

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; Springboot mybatis Maven mysql5.7或8.0等等组成&#x…

【HarmonyOS】not supported when useNormalizedOHMUrl is not true.

【HarmonyOS】 not supported when useNormalizedOHMUrl is not true. 问题背景&#xff1a; 集成三方库编译时&#xff0c;IDE提示报错信息如下&#xff1a; hvigor ERROR: Bytecode HARs: [cashier_alipay/cashiersdk] not supported when useNormalizedOHMUrl is not true…

如何对LabVIEW软件进行性能评估?

对LabVIEW软件进行性能评估&#xff0c;可以从以下几个方面着手&#xff0c;通过定量与定性分析&#xff0c;全面了解软件在实际应用中的表现。这些评估方法适用于确保LabVIEW程序的运行效率、稳定性和可维护性。 一、响应时间和执行效率 时间戳测量&#xff1a;使用LabVIEW的时…

gitlab项目如何修改主分支main为master,以及可能遇到的问题

如果你希望将 Git 仓库的主分支名称从 main 修改为 master&#xff1a; 1. 本地修改分支名称 首先&#xff0c;切换到 main 分支&#xff1a; git checkout main将 main 分支重命名为 master&#xff1a; git branch -m main master2. 更新远程仓库 将本地更改推送到远程仓库…

(六千字心得笔记)零基础C语言入门第八课——函数(上)

文章目录 一、函数的概念1.1 函数的概念 二、库函数2.1 标准库和头文件2.2 库函数的使用方法sqrt函数&#xff08;举例&#xff09;功能包含的头文件实践2.2.4 库函数文档的一般格式 三、自定义函数3.1 自定义函数的语法形式3.2 函数的举例 四、形参和实参4.1 实参4.1 形参4.3 …

案例精选 | 河北省某检察院安全运营中异构日志数据融合的实践探索

河北省某检察院是当地重要的法律监督机构&#xff0c;肩负着维护法律尊严和社会公平正义的重要职责。该机构依法独立行使检察权&#xff0c;负责对犯罪行为提起公诉&#xff0c;并监督整个诉讼过程&#xff0c;同时积极参与社会治理&#xff0c;保护公民权益&#xff0c;推动法…

DBAPI连接阿里云 maxcompute 报错

使用正确的驱动包 访问以下链接寻找驱动包 https://github.com/aliyun/aliyun-odps-jdbc/releases/tag/v3.4.3 注意要使用odps-jdbc-3.4.3-jar-with-dependencies.jar &#xff0c;这个是完整的jar包 不要使用odps-jdbc-3.4.3.jar&#xff0c;这个不是完整的&#xff0c;它还…

【MongoDB】MongoDB的Java API及Spring集成(Spring Data)

文章目录 Java APISpring 集成1. 添加依赖2. 配置 MongoDB3. 创建实体类4. 创建 Repository 接口5. 创建 Service 类6. 创建 Controller 类7. 启动 Spring Boot 应用8. 测试你的 API 更多相关内容可查看 Java API maven <dependency><groupId>org.mongodb</gr…

2-Ubuntu/Windows系统启动盘制作

学习目标&#xff1a; 掌握使用Win32DiskImager、Rufus等工具制作系统启动盘的基本步骤。独立将ISO镜像文件写入USB闪存驱动器&#xff0c;确保在需要时顺利安装或修复系统。通过学习如何选择正确的源文件和目标驱动器&#xff0c;理解启动盘的使用场景和注意事项&#xff0c;…

CSS的三个重点

目录 1.盒模型 (Box Model)2.位置 (position)3.布局 (Layout)4.低代码中的这些概念 在学习CSS时&#xff0c;有三个概念需要重点理解&#xff0c;分别是盒模型、定位、布局 1.盒模型 (Box Model) 定义&#xff1a; CSS 盒模型是指每个 HTML 元素在页面上被视为一个矩形盒子。…

【贪心算法】No.1---贪心算法(1)

文章目录 前言一、贪心算法&#xff1a;二、贪心算法示例&#xff1a;1.1 柠檬⽔找零1.2 将数组和减半的最少操作次数1.3 最⼤数1.4 摆动序列1.5 最⻓递增⼦序列1.6 递增的三元⼦序列 前言 &#x1f467;个人主页&#xff1a;小沈YO. &#x1f61a;小编介绍&#xff1a;欢迎来到…

人工智能又创新!人声分离AI工具大放异彩

AI可以与人对话聊天、帮我们写PPT、做简单的图片处理等等&#xff0c;随着人工智能技术的发展&#xff0c;AI也逐渐深入到音视频编辑领域&#xff0c;很多人声分离AI工具应运而生。这些AI的作用&#xff0c;就是帮助我们从一首歌曲中将人声和伴奏分开。 AI是如何做到人声分离的…

现代Web开发:WebSocket 实时通信详解

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 现代Web开发&#xff1a;WebSocket 实时通信详解 现代Web开发&#xff1a;WebSocket 实时通信详解 现代Web开发&#xff1a;WebS…

物理验证Calibre LVS | SMIC Process过LVS时VNW和VPW要如何做处理?

SMIC家工艺的数字后端实现PR chipfinish写出来的带PG netlist如下图所示。我们可以看到标准单元没有VNW和VPW pin的逻辑连接关系。 前几天小编在社区星球上分享了T12nm ananke_core CPU低功耗设计项目的Calibre LVS案例&#xff0c;就是关于标准单元VPP和VBB的连接问题。 目前…