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

Linux-常见命令(一)

前言

作者小蜗牛向前冲

名言我可以接收失败,但我不能接收放弃

  如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正。

目录

​编辑

一 区分二个概念

1 什么是文件

2 普通文件和目录

二 常见的文件操作

1 ls指令

2 pwd命令

3 cd 指令

4 touch指令

5 mkdir指令(重要)

6 rmdir指令 && rm 指令(重要)

三 cpu的占用命令


 

 最近博主学习Linux操纵系统的一下常见命令感觉非常实用,特意和大家分享!

一 区分二个概念

1 什么是文件

说到文件大家知道什么是文件吗?当我们创建一个空的文件夹,请问这是否要占有磁盘空间呢?

大家都会认为是占有,那文件到了是什么呢?其实文件可以认为是由文件的内容数据和文件的属性数据构成,所以我们在学习Linux操作系统的时候,不仅仅要关注文件的内容,还要关注文件的属性。

2 普通文件和目录

大家在刚刚学习Linux操作系统肯定会接触到普通文件和目录这二个概念。那么这里二者有什么区别呢?我们来window操作系统来类比一下,其实Linux操作系统的目录就相同于window操作系统的放文件夹;而普通文件就相当于window操作系统下的文本文件

二 常见的文件操作

1 ls指令

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

这里我在Linuxw为大家简单演示一下

 大家可以看到我们虽输入ls -a这里显示来所以文件。注意这里显示的是所以文件,包括隐藏文件。Linux操作系统下的隐藏文件是(.)点号加文件名。

这里我们先应ls(列举文件命令)看一下我们这时创建了什么文件。

这里我们可以看到这里并没有显示出隐藏文件。

2 pwd命令

 这个命令就非常简单了,他就是显示当前用户所在的目录。

 这里可以看到我当前的目录。

3 cd 指令

这个指令是对目录经行一系列操作

用法:

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

这里我们一一为大家演示一下:

 这里我们可以看到我们经行了一些操作,首先,我们cd ~进入了用户目录,然后我们列举(ll命令)了该目录下有什么,day1和test都是目录,而test.c和test.txt都是普通文件;这里我们重点要注意一下我们是怎么操作绝对路径和相对路径的。

 大家可以用tree命令看下目录和文件的分布在去理解一下路径的问题,总之绝对路径是无论在和目录下都能到达自己想要的路径下,而相当路径只能到直接附件的路径中。

4 touch指令

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

常用选项:

a 或--time=atime或--time=access或--time=use只更改存取时间。
-c 或--no-create 不建立任何文档。
-d 使用指定的日期时间,而非现在的时间.

-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m 或--time=mtime或--time=modify 只更改变动时间.

-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 使用指定的日期时间,而非现在的时间

 这里我们可以用touch 创建一个普通文件,其实创建普通文件的方式有很多种,其余的方式后面会和大家分享。

5 mkdir指令(重要)

该命令可以当前目录下在创建一个目录。

常用选项:

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

 这里我们可以看到我们重新在pjb这个目录下重新建了一个目录learn。

我们知道了如何去创建一个普通文件(touch)和建立应该目录(mkdir),那我们要删除他们又该该怎么操作呢?

6 rmdir指令 && rm 指令(重要)

rmdir指令

功能:rmdir是一个与mkdir相对应的命令。 mkdir是建立目录,而rmdir是删除命令.

权限:注意该命令的权限很高有权删除该目录下的所有的空目录。

常用选项:
-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。

 这里我们发现其实 rmdir只能删除空目录而不能删除存在文件的目录

rm 指令

功能:该命令既可以删除目录还可以删除文件。

权限:所以使用对象。

常用选项:

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

 

 这里我们可以看到rm指令是可以删除普通文件的,但是我们在删除目录的时候就报错了,告诉我们这是个目录。但是rm不是可以删除目录的吗?

是rm是可以删除目录的,但我们要注意rm指令默认只删除普通文件,而我们要想删除目录就必须递归去删除,意思是我们要先把目录中的文件都删除了才能去删除目录。

 这里我们可以看到当我们递归删除(rm -r 要删除的目录)day1。

但是大家不觉的这样不安全吗?当我们不小心误操作了目录中的文件就都没了,其实我们通过i命令来进行提示。

 可以看到这里进行了提示,当我们输入y(同意)/n(不同意)。

有时候我们在删除一些文件的时候,其实系统也会给我们一些提示。但我们又不想他们给出提示我们就可以用(rm -rf 要删除的文件)f是force是强制的意思。

 大家可以看到这里将没有提示直接就删除了。

我们常常会听到某某程序员删除跑了,这又是怎么做到的呢?因为Linux相当一个企业的后端服务器,里面有很多重要的数据。如果我们输入下面的命令就会直接删所以数据:

rm -rf/命令

在这里大家听听就好,删库跑路是要法律责任的 。

今天的操作指令就分享到这里,下面为大家分享如何去查看cpu的占用命令

三 cpu的占用命令

cpu的占用命令的占用命令很简单就是top,这里我们只输入top就是实现动态的。

如上所示,top命令可以看到总体的系统运行状态和cpu的使用率 。

%us:表示用户空间程序的cpu使用率(没有通过nice调度)

%sy:表示系统空间的cpu使用率,主要是内核程序。

%ni:表示用户空间且通过nice调度过的程序的cpu使用率。

%id:空闲cpu

%wa:cpu运行时在等待io的时间

%hi:cpu处理硬中断的数量

%si:cpu处理软中断的数量

%st:被虚拟机偷走的cpu

下期博主会为大家继续分享相关操作!小伙伴们记得来看噢!

相关文章:

  • 什么是C语言?
  • 封装——C++
  • 【Java高级】框架底层基础:Java的反射机制剖析
  • verilog移位寄存器实现序列检测
  • 前端性能优化方法与实战02 性能瓶颈点:从 URL 输入到页面加载整过程分析
  • 34.0、C语言——C语言预处理(2) - 预编译(预处理)详解(2)
  • ES优化实战 - 小操作节省百分之三十以上的磁盘空间
  • [Go WebSocket] 多房间的聊天室(五)用多个小锁代替大锁,提高效率
  • 我在windows环境下的YOLOV3环境搭建过程
  • bat goto 还是 call
  • JVM垃圾回收系列之垃圾收集算法
  • 计算机毕业设计选题推荐 40个高质量计算机毕设项目分享【源码+论文】(三)
  • BDD - SpecFlow BDD 测试实践 SpecFlow + MSTest
  • CRM项目记录(四)
  • React组件的生命周期函数
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • axios 和 cookie 的那些事
  • Git同步原始仓库到Fork仓库中
  • Laravel 菜鸟晋级之路
  • LeetCode算法系列_0891_子序列宽度之和
  • PhantomJS 安装
  • Redis在Web项目中的应用与实践
  • TiDB 源码阅读系列文章(十)Chunk 和执行框架简介
  • Yeoman_Bower_Grunt
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 今年的LC3大会没了?
  • 京东美团研发面经
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 通过git安装npm私有模块
  • 一个SAP顾问在美国的这些年
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • ​Python 3 新特性:类型注解
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (11)MSP430F5529 定时器B
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (AngularJS)Angular 控制器之间通信初探
  • (HAL库版)freeRTOS移植STMF103
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (转) ns2/nam与nam实现相关的文件
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)菜鸟学数据库(三)——存储过程
  • .CSS-hover 的解释
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .NET轻量级ORM组件Dapper葵花宝典
  • .Net小白的大学四年,内含面经
  • /run/containerd/containerd.sock connect: connection refused
  • @EnableWebMvc介绍和使用详细demo
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录
  • @NestedConfigurationProperty 注解用法