Linux基本指令及周边(第一弹)

在这里插入图片描述

文章目录

  • 前言
  • mkdir指令(重要):
  • tree指令
  • rmdir指令 && rm 指令(重要):
  • touch指令
  • ls指令
  • pwd指令
  • cd 指令
  • 用户家目录
  • man指令(重要):
  • mv指令(重要)
  • cat指令
  • 绝对路径&&相对路径
  • 总结

前言

Linux基础指令比较多,面对这些指令该如何去记?不需要我们去死记硬背,经常使用即可,不知道的指令可以在网上搜索或者在Linux手册中查询,更多的是去理解Linux周边知识。在学习Linux指令时,可以和Windows系统进行结合,看看Linux的某些指令对应在Windows系统中的操作如何?

mkdir指令(重要):

语法:kdir [选项] dirname...

功能: 在当前目录下创建一个名为 “dirname”的目录

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

举例:

示例1:
在这里插入图片描述

[root@iZf8zhv7mi2thjdxsptkb8Z /]# pwd
/
[root@iZf8zhv7mi2thjdxsptkb8Z /]# mkdir learn
[root@iZf8zhv7mi2thjdxsptkb8Z /]# pwd
/
[root@iZf8zhv7mi2thjdxsptkb8Z /]# cd learn
[root@iZf8zhv7mi2thjdxsptkb8Z learn]# pwd
/learn
[root@iZf8zhv7mi2thjdxsptkb8Z learn]# mkdir test_11_17
[root@iZf8zhv7mi2thjdxsptkb8Z learn]# cd test_11_17
[root@iZf8zhv7mi2thjdxsptkb8Z test_11_17]# pwd
/learn/test_11_17

在learn目录(文件夹)里面建立一个test_11_17目录(文件夹),然后进入test_11_17目录


示例2:连续在一个文件夹里面建立文件夹

在这里插入图片描述

[root@iZf8zhv7mi2thjdxsptkb8Z test_11_17]# mkdir -p a/b/c/d
[root@iZf8zhv7mi2thjdxsptkb8Z test_11_17]# cd a
[root@iZf8zhv7mi2thjdxsptkb8Z a]# pwd
/learn/test_11_17/a
[root@iZf8zhv7mi2thjdxsptkb8Z a]# cd b
[root@iZf8zhv7mi2thjdxsptkb8Z b]# pwd
/learn/test_11_17/a/b
[root@iZf8zhv7mi2thjdxsptkb8Z b]# cd c
[root@iZf8zhv7mi2thjdxsptkb8Z c]# pwd
/learn/test_11_17/a/b/c
[root@iZf8zhv7mi2thjdxsptkb8Z c]# cd d
[root@iZf8zhv7mi2thjdxsptkb8Z d]# pwd
/learn/test_11_17/a/b/c/d

在示例1的test_11_17目录(文件夹)里面建立a目录,在a目录里面建立b目录,在b目录里面建立c目录,在c目录里面建立d目录。

tree指令

mkdir -p a/b/c/d指令中,嵌套建立了很多文件夹,如果每次先进入,然后再查看会有些麻烦,于是可以用tree指令。

新用户在使用tree指令时,无法执行,那是因为没有安装,使用下面的指令先安装一下:

yum -y install tree

回车,即可安装成功

a目录是在test_11_17目录下建立的,因此我们在test_11_17目录里面查看a目录:

[root@iZf8zhv7mi2thjdxsptkb8Z test_11_17]# pwd
/learn/test_11_17
[root@iZf8zhv7mi2thjdxsptkb8Z test_11_17]# tree a
a
└── b└── c└── d3 directories, 0 files

在这里插入图片描述

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

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

语法: rmdir [-p][dirName]

适用对象: 具有当前目录操作权限的所有使用者

功能: 删除空目录

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


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

语法: rm [-f-i-r-v][dirName/dir]

适用对象: 所有使用者

功能: 删除文件或目录

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

[root@iZf8zhv7mi2thjdxsptkb8Z test_11_17]# ll
total 8
drwxr-xr-x 3 root root 4096 Nov 17 16:34 a
drwxr-xr-x 2 root root 4096 Nov 17 16:33 abcd
[root@iZf8zhv7mi2thjdxsptkb8Z test_11_17]# pwd
[root@iZf8zhv7mi2thjdxsptkb8Z test_11_17]# rm -rf a
[root@iZf8zhv7mi2thjdxsptkb8Z test_11_17]# ll
total 4
drwxr-xr-x 2 root root 4096 Nov 17 16:33 abcd

test_11_17目录里将a目录删除

touch指令

语法: touch [选项]... 文件...
功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
常用选项:
-a--time=atime--time=access--time=use只更改存取时间。
-c --no-create 不建立任何文档。
-d 使用指定的日期时间,而非现在的时间。
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m--time=mtime--time=modify 只更改变动时间。
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 使用指定的日期时间,而非现在的时间。

[root@iZf8zhv7mi2thjdxsptkb8Z test_11_17]# pwd
/learn/test_11_17
[root@iZf8zhv7mi2thjdxsptkb8Z test_11_17]# touch text.text
[root@iZf8zhv7mi2thjdxsptkb8Z test_11_17]# pwd
/learn/test_11_17
[root@iZf8zhv7mi2thjdxsptkb8Z test_11_17]# ll
total 4
drwxr-xr-x 2 root root 4096 Nov 17 16:33 abcd
-rw-r--r-- 1 root root    0 Nov 17 17:28 text.text

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

展示 llls -lls -lals -s效果:
ls -la等价于ll

[root@iZf8zhv7mi2thjdxsptkb8Z test_11_17]# pwd
/learn/test_11_17
[root@iZf8zhv7mi2thjdxsptkb8Z test_11_17]# ll
total 4
drwxr-xr-x 2 root root 4096 Nov 17 16:33 abcd
-rw-r--r-- 1 root root    0 Nov 17 17:28 text.text
[root@iZf8zhv7mi2thjdxsptkb8Z test_11_17]# ls -l
total 4
drwxr-xr-x 2 root root 4096 Nov 17 16:33 abcd
-rw-r--r-- 1 root root    0 Nov 17 17:28 text.text
[root@iZf8zhv7mi2thjdxsptkb8Z test_11_17]# ls -la
total 12
drwxr-xr-x 3 root root 4096 Nov 17 17:28 .
drwxr-xr-x 3 root root 4096 Nov 17 16:28 ..
drwxr-xr-x 2 root root 4096 Nov 17 16:33 abcd
-rw-r--r-- 1 root root    0 Nov 17 17:28 text.text
[root@iZf8zhv7mi2thjdxsptkb8Z test_11_17]# ls -s
total 4
4 abcd  0 text.text

pwd指令

语法: pwd
功能: 显示用户当前所在的目录

[root@iZf8zhv7mi2thjdxsptkb8Z test_11_17]# pwd
/learn/test_11_17

cd 指令

Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。
语法: cd 目录名
功能: 改变工作目录。将当前工作目录改变到指定的目录下。

在这里插入图片描述
cd .. : 返回上级目录
cd /home/litao/linux/ : 绝对路径
cd ../day02/ : 相对路径
cd ~:进入用户家目
cd -:返回最近访问目录

用户家目录

如何知道自己的家目录?

使用如下指令:
whoami

在这里插入图片描述
什么是家目录?

在Windows系统中:C:\Users\86153是我的家用户

Linux用户也有一个家用户:
对于root账户:默认的家用户是/root–>超级管理账号
对于普通用户:默认的家目录/home/XXX

man指令(重要):

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是
man 语法: man [选项] 命令
常用选项:

  • -k 根据关键字搜索联机帮助
  • num 只在第num章节找
  • -a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕。
    解释一下,面手册分为8章
  • 1 是普通的命令
  • 2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
  • 3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件
  • 4是特殊文件
  • 5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
  • 6 是给游戏留的,由各个游戏自己定义
  • 7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
  • 8 是系统管理用的命令,这些命令只能由root使用,如ifconfig

mv指令(重要)

mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。
语法: mv [选项] 源文件或目录 目标文件或目录
功能:

  1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。

例:将mydir 目录移动到 gwj目录中
mv src path/

[root@iZf8zhv7mi2thjdxsptkb8Z test_11_17]# mv mydir gwj/
[root@iZf8zhv7mi2thjdxsptkb8Z test_11_17]# cd gwj
[root@iZf8zhv7mi2thjdxsptkb8Z gwj]# ll
total 4
-rw-r--r-- 1 root root    0 Nov 17 18:22 learn.text
drwxr-xr-x 2 root root 4096 Nov 17 18:27 mydir

在这里插入图片描述

例:在剪贴的同时重新命名
mv src path/newname

  1. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。

例:在gwj目录里建立一个work.text文件,将work.text文件名字改为learn.text
mv src dst

[root@iZf8zhv7mi2thjdxsptkb8Z gwj]# pwd
/learn/test_11_17/gwj
[root@iZf8zhv7mi2thjdxsptkb8Z gwj]# touch work.text
[root@iZf8zhv7mi2thjdxsptkb8Z gwj]# ll
total 0
-rw-r--r-- 1 root root 0 Nov 17 18:22 work.text
[root@iZf8zhv7mi2thjdxsptkb8Z gwj]# mv work.text learn.text
[root@iZf8zhv7mi2thjdxsptkb8Z gwj]# ll
total 0
-rw-r--r-- 1 root root 0 Nov 17 18:22 learn.text

在这里插入图片描述

  1. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。

常用选项:
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

rm改造成mv
vim ~/.bashrc #修改这个文件
mkdir -p ~/.trash
alias rm=trash
alias ur=undelfile
undelfile() {
mv -i ~/.trash/\$@ ./
}
trash() {
mv $@ ~/.trash/
}

cp指令(重要)
语法:cp [选项] 源文件或目录 目标文件或目录

功能: 复制文件或目录

说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息

常用选项:
-f--force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i--interactive 覆盖文件之前先询问用户
-r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
-R--recursive递归处理,将指定目录下的文件及子目录一并处理

例:将gwi目录下的learn.text拷贝到mydir
cp src dst

[root@iZf8zhv7mi2thjdxsptkb8Z gwj]# pwd
/learn/test_11_17/gwj
[root@iZf8zhv7mi2thjdxsptkb8Z gwj]# ll
total 8
-rw-r--r-- 1 root root    0 Nov 17 18:22 learn.text
drwxr-xr-x 2 root root 4096 Nov 17 18:27 mydir
drwxr-xr-x 2 root root 4096 Nov 17 18:35 yourdir
[root@iZf8zhv7mi2thjdxsptkb8Z gwj]# cp learn.text mydir
[root@iZf8zhv7mi2thjdxsptkb8Z gwj]# ll
total 8
-rw-r--r-- 1 root root    0 Nov 17 18:22 learn.text
drwxr-xr-x 2 root root 4096 Nov 17 18:37 mydir
drwxr-xr-x 2 root root 4096 Nov 17 18:35 yourdir
[root@iZf8zhv7mi2thjdxsptkb8Z gwj]# cd mydir
[root@iZf8zhv7mi2thjdxsptkb8Z mydir]# ll
total 0
-rw-r--r-- 1 root root 0 Nov 17 18:37 learn.text

cat指令

语法:cat [选项][文件]

功能: 查看目标文件的内容

常用选项:
-b 对非空输出行编号
-n 对输出的所有行编号
-s 不输出多行空行

绝对路径&&相对路径

  • 绝对路径:有根目录写起,如/learn/test_11_17/gwj
  • 相对路径:不是从根目录写起,指相对于目前工作目录的路径

总结

基本指令第一弹分享结束,需要自己动手去敲指令。数据结构学累了的小伙伴可以拿Linux基础来玩一玩,放松放松哈,基础指令第二弹后续分享~

在这里插入图片描述

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

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

相关文章

Python---列表 集合 字典 推导式(本文以 字典 为主)

推导式: 推导式comprehensions(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列(一个有规律的列表或控制一个有规律列表)的结构体。 共有三种推导:列表…

【Azure 架构师学习笔记】-Azure Storage Account(6)- File Layer

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Storage Account】系列。 接上文 【Azure 架构师学习笔记】-Azure Storage Account(5)- Data Lake layers 前言 上一文介绍了存储帐户的概述,还有container的一些配置,在…

ubuntu云服务器配置SFTP服务

目录 一、安装并运行SSH服务 1,安装ssh服务 2,运行ssh 3,查看ssh运行状态 二、创建SFTP用户并进行用户相关的配置 1,创建SFTP用户 2,限制用户只能使用 SFTP,并禁止 SSH 登录。打开/ect/ssh/sshd_conf…

ChatGPT被曝测试新功能:学习所有历史聊天,还能重置记忆、“阅后即焚”

丰色 发自 凹非寺 量子位|公众号QbitAI ChatGPT可能要上新一项重大功能了。 那就是记住你之前的聊天内容并不断从中学习(并非单纯保存历史记录),从而了解你的偏好和信息,用于在日后聊天派上用场。 比如你可以给它下达一句“始终…

Django——模板层、模型层

模板层 一. 模版语法 {{ }}: 变量相关 {% %}: 逻辑相关 1. 注释是代码的母亲 {# ... #} 2. 基本数据类型传值 int1 123 float1 11.11 str1 我也想奔现 bool1 True list1 [小红, 姗姗, 花花, 茹茹] tuple1 (111, 222, 333, 444) dict1 {username: jason, age: 18, i…

3.5 Windows驱动开发:应用层与内核层内存映射

在上一篇博文《内核通过PEB得到进程参数》中我们通过使用KeStackAttachProcess附加进程的方式得到了该进程的PEB结构信息,本篇文章同样需要使用进程附加功能,但这次我们将实现一个更加有趣的功能,在某些情况下应用层与内核层需要共享一片内存…

基于 Amazon EKS 搭建开源向量数据库 Milvus

一、前言 生成式 AI(Generative AI)的火爆引发了广泛的关注,也彻底点燃了向量数据库(Vector Database)市场,众多的向量数据库产品开始真正出圈,走进大众的视野。 根据 IDC 的预测,…

photoshop插件开发入门

photoshop 学习资料和sdk 下载地址https://developer.adobe.com/console/servicesandapis/ps 脚本编程文档 官方文档: https://extendscript.docsforadobe.dev/ 官方文档: https://helpx.adobe.com/hk_en/photoshop/using/scripting.html open(new F…

用人话讲解深度学习中CUDA,cudatookit,cudnn和pytorch的关系

参考链接 本人学习使用,侵权删谢谢。用人话讲解深度学习中CUDA,cudatookit,cudnn和pytorch的关系 CUDA CUDA是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,是一种并行计算平台和编程模型&…

计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)

第1章:视觉项目资料介绍与学习指南 相关知识: 介绍计算机视觉、OpenCV库,以及课程的整体结构。学习概要: 了解课程的目标和学习路径,为后续章节做好准备。重要性: 提供学生对整个课程的整体认识&#xff0…

虹科示波器 | 汽车免拆检修 | 2014款保时捷卡宴车行驶中发动机偶尔自动熄火

一、故障现象 一辆2014款保时捷卡宴车,搭载4.8L自然吸气发动机,累计行驶里程约为10.3万km。车主反映,行驶中发动机偶尔自动熄火,尤其在减速至停车的过程中故障容易出现。 二、故障诊断 接车后路试,确认故障现象与车主所…

mysql group by 执行原理及千万级别count 查询优化

大家好,我是蓝胖子,前段时间mysql经常碰到慢查询报警,我们线上的慢sql阈值是1s,出现报警的表数据有 7000多万,经常出现报警的是一个group by的count查询,于是便开始着手优化这块,遂有此篇,记录下…

torch - FloatTensor标签(boolean)数值转换(1/0)

当我们数据集的标签为True/False的boolean型时,我们可以直接使用FloatTensor传入该标签。返回的数据为tensor([0.])或者tensor([1.]),这十分有利于二分类任务的预测标签对错判断。 这个用法是基于Python的布尔类型与整数之间的隐式类型转换。在Python中&…

PostgreSQL 数据类型

文章目录 PostgreSQL数据类型说明PostgreSQL数据类型使用单引号和双引号数据类型转换布尔类型数值类型整型浮点型序列数值的常见操作 字符串类型日期类型枚举类型IP类型JSON&JSONB类型复合类型数组类型 PostgreSQL数据类型说明 PGSQL支持的类型特别丰富,大多数…

编译和链接

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 1. 翻译环境和运行环境 2. 翻译环境 2.1 预处理(预编译) 2.2 编译 2.2.1 词法分析: 2.2.2 语法分析 2.2.3 语义分析 2.3 汇编 2…

MXNet中图解稀疏矩阵(Sparse Matrix)的压缩与还原

1、概述 对于稀疏矩阵的解释,就是当矩阵里面零元素远远多于非零元素,且非零元素没有规律,这样的矩阵就叫做稀疏矩阵,反过来就是稠密矩阵,其中非零元素的数量与所有元素的比值叫做稠密度,一般稠密度小于0.0…

搭建知识付费系统的最佳实践是什么

在数字化时代,搭建一个高效且用户友好的知识付费系统是许多创业者和内容创作者追求的目标。本文将介绍一些搭建知识付费系统的最佳实践,同时提供一些基本的技术代码示例,以帮助你快速入门。 1. 选择合适的技术栈: 搭建知识付费…

Vim + YCM + clangd

目录 1. Vim的安装 1.1 Vim安装vim-plug2. 安装YCM3. 进行语言补全配置 3.1 测试效果 1. 目的:让 Vim 像 C/C IDE 一样具备自动补全代码等功能 2. YCM:YouCompleteMe GitHub - ycm-core/YouCompleteMe: A code-completion engine for Vi…

C#asp.net考试系统+sqlserver

C#asp.net简易考试系统 sqlserver在线考试系统学生登陆 判断学生是否存在 选择课程名 科目 可以进行答题操作,已经考试的课程不能再次答题, 自动根据课程名对应的题库生成试卷界面 加入选项类容 说明文档 运行前附加数据库.mdf(或sql生成数…

【机器学习】线性回归算法:原理、公式推导、损失函数、似然函数、梯度下降

1. 概念简述 线性回归是通过一个或多个自变量与因变量之间进行建模的回归分析,其特点为一个或多个称为回归系数的模型参数的线性组合。如下图所示,样本点为历史数据,回归曲线要能最贴切的模拟样本点的趋势,将误差降到最小。 2. 线…