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

【Linux】-基本指令(上)

  🔑🔑博客主页:阿客不是客

🍓🍓系列专栏:深入代码世界,了解掌握 Linux

欢迎来到泊舟小课堂

😘博客制作不易欢迎各位👍点赞+⭐收藏+➕关注

Windows环境不同,我们在linux环境下需要通过指令进行各操作,今天要学习得就是一些常见的操作指令

注:上下键可以找到历史命令

命令1:ls 指令

1.1 基本语法

1.基本语法:ls 选项 目录或文件

2.功能:对于目录,列出目录下有关信息

1.2 选项

  1. -a:列出当前目录下所有文件,包括以.开头的隐藏文件。
  2. -d:将目录像文件一样显示,而不是显示其下的文件。
  3. -i:输出文件的 i 节点的索引信息。
  4. -k:以 k 字节的形式表示文件的大小。
  5. -l:列出文件的详细信息。
  6. -n:用数字的 UID、GID 代替名称。
    • UID(User ID)即用户标识号,用于唯一标识系统中的用户。
    • GID(Group ID)即组标识号,用于唯一标识系统中的用户组。
  7. -F:在每个文件名后附上一个字符以说明该文件的类型,*表示可执行的普通文件;/表示目录;@表示符号链接;|表示 FIFOs;=表示套接字(sockets)。
  8. -r:对目录反向排序。
  9. -t:以时间排序。
  10. -s:在文件名后输出该文件的大小,可用于大小排序,以便找到目录下最大的文件。
  11. -R:列出所有子目录下的文件。
  12. -1:一行只输出一个文件。

1.3 常用选项使用方法

1.3.1 ls

直接使用ls:显示当前所处目录或文件中的文件与目录名。

1.3.2 ls [目录或文件]

作用为显示当前目录下指定目录里面的文件或者目录名

注:ls / 是显示根目录

1.3.3 ls -l

ls -l [文件或目录]:列出文件的详细信息。当[文件或目录]为空时,列出当前所处文件或目录中所有文件或目录的详细信息,同时 ls -l可以简写成:ll

1.3.4 ls -a

ls -a: 列出目录下的所有文件,包括以 . 开头的隐含文件(在linux中,以 . 开头的文件为隐藏文件)。

如图所示,进入我新创建得113-1文件夹进行指令操作

1.3.5 同时指令得选项可叠加(叠加指令不分前后顺序)

命令2: pwd 指令

pwd 指令:显示用户当前所在的目录

命令3:cd 指令

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

在linux系统中,我们知道以  .  开头的为隐藏文件,以 .. 开头的为隐藏文件夹,那么在 ls -a指令中单独出现的 . 和 .. 指的是什么呢?

, 代表的是当前目录, .. 代表的是上一级目录,这在linux系统中的任意目录下都是自动生成的。

知道了上述概念,为了更好理解cd指令的操作,我们还需要了解,Linux中的文件是如何存放的。
Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件,且每一个目录中的文件或目录不能重名,因为只有这样才能保证每个目录都有一个唯一且确定的位置。

示例如下所示:

因为路径具有唯一性,所以我们可以通过两种方式来描述文件的位置: 

  • 绝对路径:我们把这种从根目录开始,定位文件的路径称为绝对路径,比如:/home/bob
  • 相对路径:相对于当前所处路径去定位某个文件的路径,比如:当前路径为:/home/bob,然后我们可以通过../eve来进入eve文件。

在这里我们可以与Windows系统类比,在Linux中也存在着绝对路径与相对路径。 在上图中我们可以看到每一个子目录或文件只有一个父目录,因此对于每一个文件或目录的绝对路径是唯一的。同时也因为在同意目录下,每一个文件和目录都不能重名,也是我们在使用相对路径是,也可以准确的找到想要找到的文件。

因此在使用cd指令是的路径,可以是绝对路径,也可以是相对路径。

指令示例如下:

1. cd .. :返回上一级目录

2. cd 绝对路径:使用绝对路径改变当前工作目录。

3. cd 相对路径:使用相对路径改变当前工作目录。

  1. cd ~:进入主工作目录,也就是家目录。其中对于root用户主工作目录就是/root,而对于普通用户就是/home/xxx
  2. cd -:返回上一次访问目录。

中需要注意的是:如果一直用 cd ..回到上级目录,如果回到根目录就无法回退了,其中Linux下根目录为/。并且,/也可以作为路径分隔符,比如/home/beidi_113/113;而值得一提的是Window环境下的路径分割符为\

命令4:touch 指令

4.1 基本语法

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

4.2 选项

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

命令5 mkdir 指令

  1. 语法:mkdir 选项 dirname
  2. 功能: 在当前目录下创建一个名为dirname的目录。

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

命令6 rmdir 指令和 rm 指令

rmdir 命令:

由于rmdir指令只能删除对应的空目录,所以局限性很大,一般我们比较常用的是下面的rm指令。

6.1 基本语法

  1. 语法:rm 选项 dirname。
  2. 功能:删除文件或目录。

6.2 选项

-i 删除前逐一询问确认(y为确定删除,n为不删除)。

-f 即使文件属性为只读(即写保护),亦直接删除。

-r 删除目录及其下所有文件(递归式删除)。

当我们想删除当前目录下的所有文件时,可以使用通配符*rm ./*就能删除当前目录下的所有文件。如果我们想指定删除某种类型的文件,比如说我们想删除后缀为.c的文件,可以这样使用rm ./*.c

命令7 man 指令

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

解释一下,面手册分为8章

  1. 是普通的命令
  2. 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
  3. 是库函数,如printf,fread
  4. 是特殊文件,也就是/dev下的各种设备文件
  5. 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
  6. 是给游戏留的,由各个游戏自己定义
  7. 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
  8. 是系统管理用的命令,这些命令只能由root使用,如ifconfig

常用选项:

-k 根据关键字搜索联机帮助
num 只在第num章节找
-a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按 下q退出,他会继续往后面搜索,直到所有章节都搜索完毕

注:如果man后面直接跟指令时,它会从手册的第一章开始,依次往下找,直到找到为止。

man is:

man 3 printf:

注:使用q推出手册

命令8 cp 指令

8.1 语法:

cp [选项] 源文件或目录 目标文件或目录 (注:同意目录下,每一个文件或目录名都是唯一的!!!)
功能: 复制文件或目录
说明:cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。 若同时指定多个文件或目录,而最后的目的地并非一个已存 在的目录,则会出现错误信息

直接使用cp 可拷贝任意文件和空文件夹

使用方式:

拷贝到当前路径下,并修改成新的名字:

 直接拷贝到指定路径下:

 修改名称拷贝到指定路径下:

 

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

 


http://www.kler.cn/a/308096.html

相关文章:

  • CCI3.0-HQ:用于预训练大型语言模型的高质量大规模中文数据集
  • 【C++学习(37)】并发性模式:如生产者-消费者、读写锁等。 架构模式:如MVC、MVVM等。属于23 种设计模式吗? RAII 的关系?
  • CTFHub每日练习
  • 第三十一天|贪心算法| 56. 合并区间,738.单调递增的数字 , 968.监控二叉树
  • 学习记录:js算法(九十二):克隆图
  • jmeter介绍、使用方法、性能测试、现参数化和数据驱动、分布式测试、压力测试、接口测试
  • 7-16 一元多项式求导(vector)
  • Linux - iptables防火墙
  • 安全、稳定、高速的跨国文件传输系统
  • Vue3 : ref 与 reactive
  • 【DataSophon】Yarn配置历史服务器JobHistory和Spark集成historyServer
  • 【C++】list常见用法
  • 数据库基础(MySQL)
  • 【C++】——string类的模拟实现
  • 【网络】DNS,域名解析系统
  • Vue Application exit (SharedArrayBuffer is not defined)
  • 数据结构与算法-17高级数据结构_图论(迪杰斯特拉算法)
  • 5分钟熟练上手ES的具体使用
  • Python数据分析-Steam 收入排名前 1500 的游戏
  • 克隆虚拟机,xshell无法传文件,windows无法ping克隆虚拟机,已解决
  • idea2024 Safe Mode解决、配置git出现Can‘t run a Git command in the safe mode、取消受信任项目功能
  • Python | Leetcode Python题解之第409题最长回文串
  • JDBC与MyBatis:数据库访问技术的变迁【后端 15】
  • VScode 怎么缩放界面大小
  • Spring Boot 3项目使用Swagger3教程
  • Web 安全基础教程:从零基础入门到精通