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

devtools/2024/11/13 9:02:17/

文章目录

        • 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.ppmy.cn/devtools/132848.html

相关文章

`psdparse`:解锁Photoshop PSD文件的Python密钥

文章目录 psdparse&#xff1a;解锁Photoshop PSD文件的Python密钥背景&#xff1a;为何选择psdparse&#xff1f;psdparse是什么&#xff1f;如何安装psdparse&#xff1f;简单函数使用方法应用场景常见Bug及解决方案总结 psdparse&#xff1a;解锁Photoshop PSD文件的Python密…

使用axois自定义基础路径,自动拼接前端服务器地址怎么办

请求路径&#xff1a; http://localhost:5173/http://pcapi-xiaotuxian-front-devtest.itheima.net/home/category/head 很明显多拼接了路径地址 查看基础路径文件发现&#xff1a; //axios基础封装 import axios from axiosconst httpInstance axios.create({baseURL: /h…

LLM——10个大型语言模型(LLM)常见面试题以及答案解析

今天我们来总结以下大型语言模型面试中常问的问题 1、哪种技术有助于减轻基于提示的学习中的偏见? A.微调 Fine-tuning B.数据增强 Data augmentation C.提示校准 Prompt calibration D.梯度裁剪 Gradient clipping 答案:C 提示校准包括调整提示&#xff0c;尽量减少产生…

【时间之外】IT人求职和创业应知【31】

目录 新闻一&#xff1a;2024年“秦创原沣东杯”陕西省科技工作者创新创业大赛颁奖仪式暨沣东新城机器人产业发展大会盛大启幕 新闻二&#xff1a;声网CEO赵斌&#xff1a;RTE将成为生成式AI时代AI Infra的关键部分 新闻三&#xff1a;“5G工业互联网”融合应用试点城市名单…

棱镜七彩参加“融易行”产融对接南京站项目路演活动 展示供应链安全创新成果

近日&#xff0c;江苏省软件强链“融易行”产融对接南京站活动圆满举行&#xff0c;棱镜七彩作为江苏省重点软件企业受邀参加活动&#xff0c;并展示了公司在供应链安全与开源治理方面的创新成就。 本次活动由江苏省工业和信息化厅、南京市工业和信息化局主办&#xff0c;关键软…

苍穹外卖day09超出配送范围前端不提示问题

同学们在写苍穹外卖项目day09时调用了百度地图api来判断用户地址是否超出配送范围&#xff0c; 但是在黑马官方的课程或资料中&#xff0c;出现这样的问题时只会向用户端的控制台报错并不会提醒用户 如下图&#xff1a; 解决方法&#xff1a; 其实解决方法很简单只需要找到向…

ORACLE 闪回技术简介

闪回技术是若干技术的集合 包含对数据库整体的闪回 对表的闪回 对事务的闪回 经典面试题面试题&#xff1a;简述Oracle数据库闪回技术&#xff1f; 1.闪回Oracle数据库 2.闪回表 3.闪回事务 数据库闪回 要想实现数据库闪回 1.必须配置数据库的恢复区 SQL> show parameter …

网络安全从零开始学习CTF——CTF基本概念

这一系列把自己学习的CTF的过程详细写出来&#xff0c;方便大家学习时可以参考。 一、CTF简介 01」简介 中文一般译作夺旗赛&#xff08;对大部分新手也可以叫签到赛&#xff09;&#xff0c;在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。 CTF起…