[Linux]基础命令(1)

news2024/11/18 9:33:25

Linux基本命令(1)

文章目录

  • Linux基本命令(1)
    • 1.操作系统:
      • (1)什么是操作系统:
      • (2)为什么要有操作系统:
    • 2. ls命令:
    • 3. pwd指令:
    • 4. cd命令:
    • 5. touch命令:
    • 6. tree命令:
    • 7. mkdir 命令:
    • 8. rmdir 和 rm 指令:
    • 9. nano指令:
    • 10. clear命令:
    • 11. whoami 命令:
    • 12.常用键位:

1.操作系统:

(1)什么是操作系统:

操作系统是一款进行软硬件管理的软件

(2)为什么要有操作系统:

对软硬件进行合理的管理。以达到为上层用户提供良好的、稳定的、安全的运行环境的目的

在这里插入图片描述

2. 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 一行只输出一个文件。

其中有一些指令可以简写:

例如:

ls -l —> ll

[root@iZ2ze8prly56kg8in4hqa2Z learn]# ll
total 4
drwxr-xr-x 2 root root 4096 Dec 11 13:16 dir

ls -l -a —> ls -al / ls -la (用于显示一些隐藏文件)

[root@iZ2ze8prly56kg8in4hqa2Z learn]# ls -al
total 12
drwxr-xr-x   3 root root 4096 Dec 11 13:16 .
dr-xr-xr-x. 19 root root 4096 Nov 23 21:43 ..
drwxr-xr-x   2 root root 4096 Dec 11 13:16 dir

其中...分别是当前路径上级路径

一般在Linux中.开头命名的文件和文件夹都会被隐藏起来;

拓展:stat命令:用于获取文件的所有属性

[root@iZ2ze8prly56kg8in4hqa2Z learn]# stat dir
  File: ‘dir’
  Size: 4096      	Blocks: 8          IO Block: 4096   directory
Device: fd01h/64769d	Inode: 1310723     Links: 2
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2022-12-11 13:16:45.620810854 +0800
Modify: 2022-12-11 13:16:44.161761652 +0800
Change: 2022-12-11 13:16:44.161761652 +0800
 Birth: -

这里展示了三种时间:

Access time : 最后一次 访问 (仅访问,没有改动)文件的时间
Modify time: 最后一次 文件属性改变 的时间,包括权限,大小,属性等
Change time: 最后一次修改 文件 的时间

3. pwd指令:

语法: pwd
功能:是Print Working Directory的缩写,显示用户当前所在的目录 ;

代码演示:

[root@iZ2ze8prly56kg8in4hqa2Z dir]# pwd
/learn/dir

注意:

这里的路径分隔符是/而在windows中采用的分隔符是\;

4. cd命令:

语法: cd 目录名
功能:是change directory的缩写; 改变工作目录。将当前工作目录改变到指定的目录下

linux目录的结构就是一个多叉树形式:(如下图)

常用的指令:

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

绝对路径和相对路径:

​ 表示文件位置的最好方式就是使用 路径,因为 路径具有唯一性

绝对路径:从根目录开始,定位文件的路径,为绝对路径。(准确但麻烦,无论在哪个目录下都有效)

相对路径:由当前文件所在的路径引起的跟其它文件(或文件夹)的路径关系。(方便,在不同目录下可能会无效)

代码示例:

[root@iZ2ze8prly56kg8in4hqa2Z dir]# cd ..
[root@iZ2ze8prly56kg8in4hqa2Z learn]# cd -
/learn/dir
[root@iZ2ze8prly56kg8in4hqa2Z dir]# cd ~
[root@iZ2ze8prly56kg8in4hqa2Z ~]# cd /
[root@iZ2ze8prly56kg8in4hqa2Z /]# cd /learn/dir/
[root@iZ2ze8prly56kg8in4hqa2Z dir]# ll
total 0
-rw-r--r-- 1 root root 0 Dec 11 13:16 myfail.c
-rw-r--r-- 1 root root 0 Dec 11 19:03 test.c

5. touch命令:

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

常用选项:

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

代码演示:

(1)在当前目录创建一个文件:

[root@iZ2ze8prly56kg8in4hqa2Z dir]# touch test.c
[root@iZ2ze8prly56kg8in4hqa2Z dir]# ll
total 0
-rw-r--r-- 1 root root 0 Dec 11 13:16 myfail.c
-rw-r--r-- 1 root root 0 Dec 11 19:47 test.c

(2)在相对路径下创建一个文件:

[root@iZ2ze8prly56kg8in4hqa2Z dir]# touch ../newdir/test.c
[root@iZ2ze8prly56kg8in4hqa2Z dir]# ll ../newdir/
total 0
-rw-r--r-- 1 root root 0 Dec 11 19:50 test.c

(3)在绝对路径下创建一个文件:

[root@iZ2ze8prly56kg8in4hqa2Z dir]# touch /learn/newdir/test2.c
[root@iZ2ze8prly56kg8in4hqa2Z dir]# ll  /learn/newdir/
total 0
-rw-r--r-- 1 root root 0 Dec 11 19:52 test2.c
-rw-r--r-- 1 root root 0 Dec 11 19:50 test.c

6. tree命令:

功能:使当前目录往后的文件夹和文件以树状结构呈现出来

这个命令需要在root用户下安装:

在root权限下输入:yum install -y tree

代码演示:

[root@iZ2ze8prly56kg8in4hqa2Z dir]# tree
.
├── myfail.c
└── test.c

7. mkdir 命令:

语法: mkdir [选项] dirname…
功能:是make directory 的缩写;在当前目录下创建一个名为 “dirname”的目录

常用选项:

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

代码演示:

(1)在当前路径下创建文件夹:

[root@iZ2ze8prly56kg8in4hqa2Z dir]# mkdir newfile
[root@iZ2ze8prly56kg8in4hqa2Z dir]# ll
total 4
-rw-r--r-- 1 root root    0 Dec 11 13:16 myfail.c
drwxr-xr-x 2 root root 4096 Dec 11 20:08 newfile
-rw-r--r-- 1 root root    0 Dec 11 19:49 test.c

(2)递归创建一段路径:

[root@iZ2ze8prly56kg8in4hqa2Z dir]# mkdir -p a/b/c/d/
[root@iZ2ze8prly56kg8in4hqa2Z dir]# tree
.
├── a
│   └── b
│       └── c
│           └── d
├── myfail.c
├── newfile
└── test.c

8. rmdir 和 rm 指令:

rmdir是一个与mkdir相对应的命令。 mkdir是建立目录,而rmdir是删除命令。
语法: rmdir [-p] [dirName]
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录

常用选项:

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

代码演示:

删除空目录:

[root@iZ2ze8prly56kg8in4hqa2Z dir]# cd  a/b/c/d/
[root@iZ2ze8prly56kg8in4hqa2Z d]# rmdir -p d
rmdir: failed to remove ‘d’: No such file or directory
[root@iZ2ze8prly56kg8in4hqa2Z d]# cd ..
[root@iZ2ze8prly56kg8in4hqa2Z c]# rmdir -p d

rm命令可以同时删除文件或目录

语法: rm [-f-i-r-v][dirName/dir]
适用对象:所有使用者
功能:删除文件或目录

常用选项:

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

代码演示:

rm 文件名 //只能删除文件不能删除文件夹

[root@iZ2ze8prly56kg8in4hqa2Z dir]# rm test.c
rm: remove regular empty file ‘test.c’? y

rm -r //递归删除,目录(包括 非空目录)和文件都能删除

[root@iZ2ze8prly56kg8in4hqa2Z dir]# rm -r a
rm: descend into directory ‘a’? y
rm: descend into directory ‘a/b’? y
rm: remove directory ‘a/b/c’? y
rm: remove directory ‘a/b’? y
rm: remove directory ‘a’? y
[root@iZ2ze8prly56kg8in4hqa2Z dir]# tree
.
├── myfail.c
└── newfile

1 directory, 1 file

rm -rf // 无视权限强制删除

[root@iZ2ze8prly56kg8in4hqa2Z dir]# rm -rf myfail.c
[root@iZ2ze8prly56kg8in4hqa2Z dir]# ll
total 4
drwxr-xr-x 2 root root 4096 Dec 11 20:08 newfile

rm -rf ./* //删除当前目录下文件及其所有子文件

[root@iZ2ze8prly56kg8in4hqa2Z dir]# mkdir -p a/b/c/d/e
[root@iZ2ze8prly56kg8in4hqa2Z dir]# tree
.
├── a
│   └── b
│       └── c
│           └── d
│               └── e
└── newfile

6 directories, 0 files
[root@iZ2ze8prly56kg8in4hqa2Z dir]# rm -rf ./* 
[root@iZ2ze8prly56kg8in4hqa2Z dir]# tree
.

0 directories, 0 files

9. nano指令:

一个用于编写代码的命令:

安装nano:

yum install -y nano

语法:

nano 文件名 // 对文件进行编辑

:使用 nano 时右侧小键盘无法使用。

代码演示:

[root@iZ2ze8prly56kg8in4hqa2Z dir]# nano test.c  //编辑文件
[root@iZ2ze8prly56kg8in4hqa2Z dir]# gcc test.c  //用gcc编译
[root@iZ2ze8prly56kg8in4hqa2Z dir]# ./a.out   //运行a.out
Hello Linux!				//编译结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2te1TCDj-1670767143602)(C:\Users\jason\AppData\Roaming\Typora\typora-user-images\image-20221211213637404.png)]

10. clear命令:

清理屏幕

11. whoami 命令:

显示当前用户名称

12.常用键位:

tab :

功能:只能补全(命令, 显示当前目录的文件);

命令:

如果忘记了某些命令,但记得命令的一部分,可以使用tab来帮助我们:

[root@iZ2ze8prly56kg8in4hqa2Z dir]# y
yes           ypdomainname  yum   

显示当前目录的文件:

可以用于书写绝对路径的时候辅助书写;

[root@iZ2ze8prly56kg8in4hqa2Z dir]# cd 
a.out   test.c  

ctrl + c:

语法: 用于终止程序;

alt + enter:

全屏


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

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

相关文章

2022-12-11

文章目录前言PWMPwmChannelPwmAssignedHwUnitPwmChannelIdPwmCoherentUpdatePwmDutycycleDefaultPwmIdleStatePwmNotificationPwmChannelClassPwmPeriodDefaultPwmPolarityPwmReferenceChannelPwmSafetySignalPwmShiftValuePWM输出偏移的使用PwmConfigurationOfOptApiServicesP…

windows 基于 MediaPipe 实现 Holistic

主页: https://google.github.io/mediapipe/solutions/holistic.html MediaPipe Holistic pipelines 集成了姿势、面部和手部组件的独立模型,每个组件都针对其特定领域进行了优化,每个组件的推断输入图不同。 MediaPipe Holistic 首先通过 BlazePose 的姿…

基于极限学习机进行股市预测(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

MySQL-InnoDB的事务隔离级别

MySQL 是一个服务器/客户端架构的软件,对于同一个服务器来说,可以有若干个客户端与之连接,每个客户端与服务器连接上之后,就可以称之为一个会话( Session )。我们可以同时在不同的会话里输入各种…

【图像处理】opencv | 图像的载入,显示,保存 | 视频流的载入,显示,保存

文章目录前言一、cv2读取图片并展示1.1、cv2.imread读取图片1.2、cv2.imshow展示图片1.3、完整代码1.4、封装函数调用1.5、cv2读取为灰度图像1.6、cv2.imwrite保存图像二、cv2读取视频并且展示2.1 展示彩色视频2.2 展示灰度视频2.3 保存视频前言 本文参考视频:唐宇…

二进制搭建k8s——部署etcd集群和单master

二进制搭建k8s——部署etcd集群和单master二进制搭建k8s——部署etcd集群和单master环境1、操作系统初始化配置(全部节点)2、部署 docker 引擎(所有节点)3、部署 etcd 集群准备签发证书环境在 master01 节点上操作在 node01 和 no…

端口隔离实现同一vlan下,二层和三层的互不通

如图:我们要实现下图中,PC1和PC2不通,但都和PC3互通: 配置如下: vlan batch 10 port-isolate mode all # interface GigabitEthernet0/0/1 port link-type access port default vlan 10 port-isolate enable grou…

【golang】 demo 之王realworld,使用golang+gin做后端技术,使用vue做前端项目的开源博客项目

目录前言1,关于realworld项目2,前端项目使用vue3开发的3,后端使用golanggin进行接口开发4,总结前言 本文的原文连接是: https://blog.csdn.net/freewebsys/article/details/108971807 未经博主允许不得转载。 博主CSDN地址是&…

idea中打包docker镜像

idea中打包docker镜像 说明 ​ 构建和推送镜像都是需要docker环境的,这个大家可以使用同一个远程的环境,这里说的就是idea使用服务器上的docker进行镜像的构建和发布, ​ 默认高版本的idea中默认集成了docker插件,这个插件的官…

高并发高可用

一、高并发 1、异步并发 同步阻塞 异步Future 异步CallBack 异步编排CompletableFuture 请求缓存 请求合并 2、扩容 单体应用垂直扩容 单体应用水平扩容 应用拆分 数据库拆分水平/垂直拆分 使用Sharding-jdbc分库分表/读写分离 数据异构 任务系统扩容 3、队列 …

[LeetCode周赛复盘] 第 93 场双周赛20221015-补

[LeetCode周赛复盘] 第 93 场双周赛20221015-补 一、本周周赛总结二、 [Easy] 6261. 数组中字符串的最大值1. 题目描述2. 思路分析3. 代码实现三、[Medium] 6262. 图中最大星和1. 题目描述2. 思路分析3. 代码实现四、[Medium] 6263. 青蛙过河 II1. 题目描述2. 思路分析3. 代码实…

【OpenCV学习】第13课:基本阈值操作

仅自学做笔记用,后续有错误会更改 参考文章:https://blog.csdn.net/qq_37835727/article/details/123373339 理论 图像阈值:什么是图像阈值?简单点来说就是把图像分割的标尺, 举个栗子, 现在想象一个场景, 一个桌子上…

BA_重投影误差e对于相机的位姿ξ和对空间点的坐标P的雅可比矩阵的推导

1. 基本思路 重投影误差表示为e, 相机的位姿表示为ξ (或者表示为T(R,t)), 空间点表示为P, 则空间点投影到相机坐标系下的空间坐标点的相机坐标表示为P[X, Y, Z], 则 重投影误差e对于相机的位姿ξ的雅克比矩阵表示为 分别求等式右侧的两半部分(误差对空…

DevExpress WinForms 22.2

DevExpress WinForms 22.2 添加了对Microsoft.NET 7的完全支持。 此版本现在需要.NET 6和Microsoft Visual Studio 2022(v17.0)或更高版本。 这不会影响.NET Framework客户,产品程序集在此发布周期中将继续以.NET Framework 4.5.2为目标。 蒙皮和矢量图标 WXI皮肤的…

每天五分钟机器学习:经典的降维算法——主成分分析法PCA

本文重点 前面我们学习了降维算法的两大应用场景,本节课程我们将学习具体的降维算法PCA,它是主成分分析法。 PCA要做什么? 将二维数据降维到一维,关键就是找到一个方向向量,然后把所有的数据都投射到该向量上,那么什么样的方向向量最好呢? 我们希望投射平均均方误差…

UIPickerView,UIDatePicker,UITextView

文章目录UIPickerView概念应用创建选中数据时的回调代理UIDatePicker概念创建四种模式UITextView概念创建常用属性与方法常用协议方法UIPickerView 概念 UIPickerView是一个列表控件。它可以提供给用户有限个数的可供选择的选项。 他可以设置列数和每一列的行数,然…

Fiddler抓包和Fiddler过滤器

目录 一、Fiddler与其他抓包工具的区别 二、Fiddler的工作原理 三、使用fiddler实现手机抓包 四、Filters过滤器 一、Fiddler与其他抓包工具的区别 1、Firebug虽然可以抓包,但是对于分析http请求的详细信息,不够强大。模拟http请求的功能也不够&…

简述基于JavaEE企业级开发技术

一、绪论 1、学习内容 javaEE企业开发技术概述javaEE容器——SpringORM数据层——MyBatis/JPAWeb层——Spring MVC展现层——JSP/Thymeleaf整合框架——SSM/SSH用户模块分析用户模块功能模块设计 前端框架:Bootstrap,NodeJS,Vue/React/Ang…

[附源码]计算机毕业设计个性化名片网站Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

Appium基础 — Appium测试环境搭建总结

1、Appium测试环境搭建整体思路 (1)Android测试环境搭建 Android测试环境需要搭建三个环境,Java,AndroidSDK,Android模拟器。 为什么要安装这三个环境? Java:Android的应用程序层使用的语言是…