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

【Linux修炼】1.常见指令(上)

在这里插入图片描述每一个不曾起舞的日子,都是对生命的辜负。

Linux常见指令(上)

  • 01. pwd指令
  • 02. ls指令
  • 03. cd指令
  • 04. touch指令
  • 05. mkdir指令
  • 06. 扩展

Linux下基本指令

01. pwd指令

由于下面经常用到pwd指令,因此在这里先介绍pwd指令的功能:

pwd: 显示当前用户所在路径

我们实际操作一下:

image-20220919144039702

这是上一篇文章中在root账号中创建的cfy账号,回车之后,发现显示了:

/home/cfy 路径,由于这是Linux环境,实际上与Windows环境的内容是一样的,只是Windows环境下增添了可视化图形,并且直接按鼠标就能发现路径,因此,我们可以这么认为,Linux操作系统的指令和Windows操作系统的鼠标点击一一对应。

此外,我们发现Windows不仅在可视化上与Linux操作系统有所区别,其文件的路径的斜杠也有所不同:

image-20220919144605131

通过观察,Linux路径和Windows路径的间隔符是相反的。

02. ls指令

语法: ls 【选项】【目录或文件】
功能: 对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。

常用选项:

  • -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
  • -d 将目录像文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
  • -i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
  • -k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
  • -l 列出文件的详细信息。
  • -n 用数字的 UID,GID 代替名称。
  • -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)
  • -r 对目录反向排序。
  • -t 以时间排序。
  • -s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
  • -R 列出所有子目录下的文件。(递归)
  • -1 一行只输出一个文件。

对于上述命令,我们这里展示常用的几个选项,先来看看ls指令:

image-20220919144900925

我们直接ls然后回车后,发现出现了dir, test.cpp,wjj三个词,这其实是我之前创建过的文件,这里主要展示ls功能,创建文件后续进行讲解。

ls:显示当前路径下的文件或者目录名称

即这三个都是创建好的文件,那么为什么有的是蓝色,有的是和指令一样的颜色呢?虽然并不懂这些,但是我们知道test.cpp是什么意思,它就是一个文件名,因此,我们了解到,普通颜色的是文件名。那么蓝色的就代表目录,相当于Windows下的文件夹。

ls -l:显示当前路径下的文件或者目录更详细的属性信息

image-20220919145817115

和直接ls相比,这个显示的信息更加的详细。

ls -a:显示所有文件,包括隐藏文件 --> ls 默认不显示隐藏文件!

image-20220919150044656

.的文件就是隐藏的文件。我们发现,相比直接ls,这个多了很多前面带. 的名称,有的是文件,有的是目录,因此它能显示一些隐藏的文件,这和Windows环境下的隐藏文件的意义是一样的,我们在Windows 11 操作系统下找到这个隐藏文件:

image-20220919150331131

即对号就代表着Linux指令中的ls -a指令

与此同时,还有ls -al以及ls -a -l :

image-20220919150600895

通过与 ls -a的对比,发现这两种方式能显示更详细的信息。

此外,ll指令是Linux操作系统特有的指令,其与 ls -l的指令的功能是相同的.

而在这些所有指令的后面再输入文件或者目录时,就会显示单独的信息,显示的内容和前面的指令要求一致:

image-20220919151004072

ls -d :不进入目录,显示目录本身

image-20220926080937493

我们发现 ll dir显示的是dir里面的内容而不是dir本身的名字,因此通过ls -ld dir就只显示了dir本身的属性。

ls -l是显示,后面再加d,那就可以在ls -l的基础上以-d的方式显示。

注:通过指令:tree . 可以以树状显示文件之间的联系以及结构

  • 如果没有,需要安装,安装指令:
yum install -y tree

接下来展示:

image-20220926081406575

此外,无论是root用户还是创建的子用户,都可以通过一个命令查看主机的所有用户:

ls /home -l

image-20220926082656989

03. cd指令

Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。

image-20220926081704438

语法: cd 目录名
功能: 改变工作目录。将当前工作目录改变到指定的目录下。
举例:

cd .. : 返回上级目录
cd /home/litao/linux/ : 绝对路径
cd ../day02/ : 相对路径
cd ~:进入用户家目
cd -:返回最近访问目录

对于上述命令,已经说的很详细了,只不过有一点需要注意,就是第一个命令,当一直回退,会发现最终没办法再进行回退:

image-20220926091841676

发现这样最终无法回退了,因此我们最后一次pwd显示的/就是根目录

04. touch指令

语法 :touch [选项]… 文件…

功能 :touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。

常用选项:

  • -a 或–time=atime或–time=access或–time=use只更改存取时间。
  • -c 或–no-create 不建立任何文档。
  • -d 使用指定的日期时间,而非现在的时间。
  • -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
  • -m 或–time=mtime或–time=modify 只更改变动时间。
  • -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
  • -t 使用指定的日期时间,而非现在的时间。

这些选项我们暂时只需要了解,最需要掌握的是touch + 文件名,创建任意类型的文件(在文章结束也会有一个扩展知识)

image-20220926090815469

通过touch + 文件名我们发现创建出了 add.c。

有创建就有删除,删除的rm指令将在下一篇讲述。

05. mkdir指令

既然有了创建文件,那么也有创建目录,也就是文件夹。

语法:mkdir [选项] dirname…
功能:在当前目录下创建一个名为 “dirname”的目录
常用选项:

  • -p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;

举例:

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

image-20220926092620145

image-20220926092754903

06. 扩展

当我们利用命令 stat +文件名 时,会出现一系列的信息,其中,有三个时间上的名称:

  1. Access
  2. Modify
  3. Change

image-20220926090459946

因此通过查阅,了解他们具体的含义:

【整理归纳】Linux中文件的Access,Modify,Change区别

当然,对于该文章的部分命令,还不了解,但是以后都会知晓。

相关文章:

  • 文件上传-- Web渗透
  • Redis:13-Redis持久化之RDB
  • 洛谷:P6062 [USACO05JAN]Muddy Fields G
  • 七、手把手教你搭建SpringCloudAlibaba之Sentinel实现流量控制
  • vue3 创建vue3模板
  • js 导出 excel
  • Mybatis-Plus(核心功能篇 ==> 代码生成器(新版)
  • Intel汇编-LOOP循环检查ECX含零值
  • DBNet学习笔记
  • 1、搭建环境
  • 基于Java+Spring+vue+element社区疫情服务平台设计和实现
  • 【Leetcode】剑指Offer 34:二叉树中和为某一值的路径
  • CockroachDB架构-复制层
  • Netty 入门学习(1)
  • Android手部检测和手势识别(含训练代码+Android源码+手势识别数据集)
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • CAP理论的例子讲解
  • Codepen 每日精选(2018-3-25)
  • create-react-app做的留言板
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • docker python 配置
  • github指令
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • Java 网络编程(2):UDP 的使用
  • JAVA 学习IO流
  • JavaScript标准库系列——Math对象和Date对象(二)
  • leetcode46 Permutation 排列组合
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • python大佬养成计划----difflib模块
  • 读懂package.json -- 依赖管理
  • 规范化安全开发 KOA 手脚架
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 使用Swoole加速Laravel(正式环境中)
  • 温故知新之javascript面向对象
  • 用jquery写贪吃蛇
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • 再次简单明了总结flex布局,一看就懂...
  • Semaphore
  • ​ssh免密码登录设置及问题总结
  • # Panda3d 碰撞检测系统介绍
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (6)设计一个TimeMap
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (二)linux使用docker容器运行mysql
  • (九)c52学习之旅-定时器
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • .net 8 发布了,试下微软最近强推的MAUI
  • .Net Remoting常用部署结构
  • .NET WebClient 类下载部分文件会错误?可能是解压缩的锅
  • .NET 动态调用WebService + WSE + UsernameToken