当前位置: 首页 > news >正文

【Linux】基本指令 · 上

操作系统是一款做软硬件管理的软件(是什么?)
操作系统的核心工作:通过对下管理好软硬件资源的手段,达到对上提供良好的(稳定 快速 安全)操作/使用环境(为什么要有?)

在计算机上的所有行为都会转换为硬件行为
我们所有的软件行为,都要自动向下贯穿计算机的软硬件结构
几乎所有的软件行为,都和操作系统直接、间接相关

Linux 操作特点:命令行、图形化界面 Windows 也是命令行、图形化界面
指令、图形化界面本质一样。指令更贴近操作系统

先有指令,再有图形(先有键盘,再有鼠标)


文件 = 文件内容 + 文件属性(文件的属性是数据,要存储)
文件操作 = 对文件内容的操作 or 对文件属性的操作

Linux 中,以 . 开头的文件叫隐藏文件


登录时,默认所处的 路径、目录 叫家目录


超级用户 root                 /root 是 root 用户的家目录

CentOS 系统中,所有普通用户,用户账号会统一放在 /home

一. 基本指令

基本功能

ls 指令:显示当前目录下的所有文件属性(只显示文件名属性)
显示结果:用空格分开的是一个一个的文件

什么是当前目录:

pwd 指令:显示当前命令行在进行操作时所处的目录在哪里
mkdir 指令:建立目录(make directory)         <==> Windows 建文件夹
cd 指令:更改/进入目录(change directory)         <==> Windows 双击进入文件夹
touch 指令:建立普通文本文件(不能创建目录)

路径分隔符:Linux:/         Windows:\

ls 指令

指令可以携带选项。选项让同一个指令表现出不同的行为,是指令的一种子功能(Windows 也有指令)

ls -l:显示文件更多的属性,简写为 ll(list 列表)
ls -a:显示所有文件,包括隐藏文件
ls -a -l         ls -al         ls -la 一样

.         .. 是什么?

Linux 任何一个目录下都有这俩隐藏文件
.. 表示当前路径的上级路径         <==> Windows 回退
. 表示当前路径

. 存在的意义:帮助用户定位当前目录下的一个文件(举例现在看不懂)

显示文件列表时,在众多属性中,第一个列表的第一个字母:文件类型
d:是一个目录
-:文件是一个普通文件(后面再说)


目录也是文件

想查目录时,默认不是显示目录的属性;而是把目录内部的文件 及 内部更多文件属性显示出来

ls - d:将目录像文件一样显示,而不是显示它里面的文件信息

只显示 ShanXi 这个 目录 / 文件夹 自己的属性

ls -F:可视化的形式给每个文件后面带符号

        带 /:文件是个目录
            *:当前文件是普通的可执行文件
什么都没带:文本文件


通配符 * :可以匹配任意名称的文件

安装树:输入指令:yum install -y tree

pwd 指令

cd 指令

退到只剩一个 /:Linux 的根目录

证明:

蓝色那一行是 / 目录下的内容,我只想看 / 这个目录的属性:ls -ld /
在众多属性中,第一个列表的第一个字母是 d ==> 是个目录


一个目录,里面可以再放目录 或 普通文件

所以:Linux 的整个目录结构:一定是个多叉树的样子
它的叶子节点,一定是空目录 或 非目录文件;路上节点一定是一个非空目录

所有的对文件 或 目录的增删查改,本质都是对这颗多叉树的增删查改

定位一个文件,通常通过路径来进行定位。路径定位有唯一性,因为任何节点都只有1个父节点

从 / 开始定位到指定位置,具有唯一路径,叫绝对路径

以自己当前所处的路径为起始参照位置,来进行特定文件的定位,叫相对路径
我们所处的路径发生变化,可能相对路径就失效了

  1. 绝对路径往往比较长,但是不变,一般在一些固定场景,配置文件中使用
  2. 一般命令行输入,常用相对路径

想进入一个目录,可以采用绝对路径的方式


cd ~ 指令:直接恢复到自己刚开始登录时所处的目录

cd - 指令:回退到最近(上一次)所在的路径

touch 指令

创建一个普通文件,不能创建目录

mkdir 指令

mkdir -p:创建一串路径

rmdir 指令 && rm 指令

rmdir 指令:只能删目录
rm 指令:直接删普通文件

rm test.txt:在 root 下会问是否确认删除。再输入 y 或 n;普通用户下不询问,想让你询问:rm -i
不想让你提示,我要强制(force)删除:rm -f


rm 不能直接删除目录。目录本身是递归形式定义的,所以删除要递归(recursion)的删除
rm -r:删除目录

 太烦了,如果几百个,路程很长。

rm -rf:递归并强制删除(一定要慎重!!!)

man 指令

做开发时,Linux 是用C语言写的,提供的接口都是C,不可能全都记住。查官方文档,通过 man 手册来查指令

man 指令 可以更加详细的 查看某些指令对应的说明。按 q 退出

输入 man man,查看 man 手册,一共8章
1号手册:基本指令;2号手册:系统调用接口;三号手册:C语言

例如:输入 man printf 打开的是1号手册。这个和C语言的printf毫无关系
想看C接口怎么办?输入 man 3 printf

man pagenumber(手册编号) target(查的东西)

不指定编号,默认按手册编号顺序找。1号里没有在2号里找,通篇都没有 No manual entry for ...

cp 指令

向 test.txt 内部写入

echo 将后面跟的字符串原封不动的向显示器打印

echo "Hello Linux" > test.txt         echo 字符串 > 文件名
现象 1. 没有在显示器显示;2. 而是数据被写入到目标文件中
输出重定向:把本来应该显示到显示器的内容,写入到文件中

cat  文件名:打印文件内容


cp 拷贝指令的基本用法

用法1:拷贝普通文件 cp  src(源文件)  dest(目标文件)

用法2:把它拷贝到上级路径下 cp  src  相对/绝对路径

用法3:拷贝目录 cp  -r  src(源文件)  dest(目标文件)

mv 指令

重命名:mv  src(源文件)  dest(目标文件)

剪切:mv  源文件  想去的路径 mv  源文件  想去的路径/目标文件

mv 源文件 目标文件 也可以被认定为剪切并重命名,因为:mv 源文件 ./目标文件


目录和普通文件一样,想把 dir1 剪切到上级路径并重命名为 newdir1

新名字一定不能和想去的那个上级路径中,已经存在的某个目录的名字相同
否则,就把想要改名字的目录,移动到这个目录(路径)下了

路径最后跟的目录后面带不带 / 都可以。前提:这个目录必须存在


Linux下没有垃圾桶,删除就找不到了
可以自己写一个垃圾桶(目录),对 rm 指令重命名,把 rm 指令用 mv 替换掉
未来想删文件,操作系统自动转换成 mv 指令

mkdir 垃圾桶
touch test.c
rm test.c ==> mv test.c 垃圾桶

本篇的分享就到这里了,感谢观看,如果对你有帮助,别忘了点赞+收藏+关注
小编会以自己学习过程中遇到的问题为素材,持续为您推送文章


文章转载自:

http://xlFdXP2A.nmymn.cn
http://SGyl6cF0.nmymn.cn
http://CTwxfOx7.nmymn.cn
http://3ZMBUZUU.nmymn.cn
http://QR3gwmVE.nmymn.cn
http://PrdWNXHm.nmymn.cn
http://KLud3MkR.nmymn.cn
http://INIdC2P3.nmymn.cn
http://EAXmTnzC.nmymn.cn
http://40IDRS9S.nmymn.cn
http://UzYWY3If.nmymn.cn
http://BSZe5tmv.nmymn.cn
http://PSuyP3zB.nmymn.cn
http://lykXzbEl.nmymn.cn
http://sflRZaPI.nmymn.cn
http://X4zfm8By.nmymn.cn
http://bccahaXL.nmymn.cn
http://xc4R0qjt.nmymn.cn
http://jw0m7YV6.nmymn.cn
http://n0zGlhKv.nmymn.cn
http://361264xY.nmymn.cn
http://nom7ydUC.nmymn.cn
http://QBQIsRdt.nmymn.cn
http://ECFsfaGZ.nmymn.cn
http://YU6rKgLW.nmymn.cn
http://DQKag14z.nmymn.cn
http://eePbBURh.nmymn.cn
http://imy4Yf8g.nmymn.cn
http://VZ29byms.nmymn.cn
http://3lVYwnG9.nmymn.cn
http://www.dtcms.com/a/377856.html

相关文章:

  • OBS插件详细教程:OBS美颜插件下载,OBS美颜插件怎么用?
  • 如何在 Spring Boot 中指定不同的配置文件?
  • spring boot 拦截器增加语言信息
  • leedcode 算法刷题第三十二天
  • CentOS 7 下iscsi存储服务配置验证
  • 求解指定泛函的驻点所满足的偏微分方程及边界条件
  • 股指期货保证金一手需要多少钱?
  • LVS与Keepalived详解(一)负载均衡集群介绍
  • 【Proteus仿真】按键控制系列仿真——LED灯表示按键状态/按键控制LED灯/4*4矩阵键盘控制LED
  • 【前沿技术拓展Trip one】 芯片自动化和具身智能
  • javaEE之线程初步认识
  • `struct iovec`详解
  • python超市购物 2025年6月电子学会python编程等级考试一级真题答案解析
  • 项目模块划分
  • leetcode18(无重复字符的最长子串)
  • HackathonCTF: 1
  • redis cluster(去中心化)
  • 量子机器学习入门:三种数据编码方法对比与应用
  • 【Mysql】数据库的内置函数
  • 【Unity基础】枚举AudioType各个枚举项对应的音频文件类型
  • 2025数字化转型时代必备证书有哪些?
  • 认知-学习-时间管理系统模型-md说明文档
  • 如何用Postman做接口自动化测试
  • huggingface模型中各文件详解
  • cJson系列——json数据结构分析
  • Bandicam 班迪录屏 -高清录屏 多语便携版(Windows)
  • OpenLayers数据源集成 -- 章节五:MVT格式驱动的现代地图渲染引擎
  • 文件上传与诉讼资料关联表设计实战
  • 一个简单的langgraph agent系统
  • 日语学习-日语知识点小记-构建基础-JLPT-N3阶段(29):文法運用第9回2+使役+(考え方10)