linux基础指令讲解(ls、pwd、cd、touch、mkdir)

2024-05-16 04:44

本文主要是介绍linux基础指令讲解(ls、pwd、cd、touch、mkdir),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

🪐🪐🪐欢迎来到程序员餐厅💫💫💫

          主厨:邪王真眼

主厨的主页:Chef‘s blog  

所属专栏:c++大冒险

总有光环在陨落,总有新星在闪烁

这个是我们今天要用到的初始文件结构:

首先提一句,很多指令都是英文单词的缩写(敲代码之余还可以背单词,真不错)

01. ls 指令

ls概括

全称:

list  directory contents
功能
对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。

语法

  • 使用格式:
ls [-选项] [目录或文件]
  • 基础功能:
1.不加选项、目录、文件
只是写下“ls”其他都不加,就会输出当前目录下所有目录和文件(蓝色的是目录,白色的是文件)
2.不加选项,加目录名
写下“ls  目录名”其他都不加,就会输出当该目录下所有目录和文件
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls project1
test1  test2  test3  test4
3.不加选项、加文件名
写下“ls 文件名”其他都不加,就会输出该文件名
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls d.txt
d.txt
  • 进阶功能:
选项-a
列出目录下的所有文件,包括以 . 开头的隐含文件。
  • ls指令结果
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls
d.txt  project1  project2
  • ls -a指令结果 
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls -a
.  ..  .bash_history  .bash_logout  .bash_profile  .bashrc  .code.c.swp  d.txt  .lesshst  project1  project2  .viminfo
可以发现,ls  -a下的文件多了一堆以"."开头的文件,我们称之为隐藏文件
选项-d(d是指directory)
将目录像文件一样显示,而不是显示其下的文件。 
  • ls指令结果
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls project1
test1  test2  test3  test4
  • ls-d指令结果 
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls -d project1
project1
选项-l
列出该目录下的文件以及子目录的的详细信息
  • ls指令结果
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls
d.txt  project1  project2
  • ls-l指令结果
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ll
total 8
-rw-rw-r-- 1 qingguo qingguo    0 May 14 21:43 d.txt
drwxrwxr-x 6 qingguo qingguo 4096 May 14 21:25 project1
drwxrwxr-x 2 qingguo qingguo 4096 May 14 21:29 project2
选项-r
对目录反向排序。
  • ls指令结果
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls
d.txt  project1  project2
  • ls -r指令结果
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls -r
project2  project1  d.txt
选项-s
l 文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
  • ls指令结果
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls
d.txt  project1  project2
  • ls -s指令结果
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls -s
total 8
0 d.txt  4 project1  4 project2

 选项-R       

  列出所有子目录下的文件。(递归)

  • ls指令结果
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls
d.txt  project1  project2
  • ls -R指令结果
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls -R
.:
d.txt  project1  project2./project1:
test1  test2  test3  test4./project1/test1:
a.txt  b.txt  c.txt./project1/test2:./project1/test3:./project1/test4:./project2:

 选项-1

一行只输出一个文件。
  • ls指令结果
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls
d.txt  project1  project2
  • ls -1指令结果
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls -1
d.txt
project1
project2

选项-F

在每个文件名后附上一个字符以说明该文件的类型,
  • ls指令结果
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls
d.txt  project1  project2
  •  ls -F指令结果
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ls -F
d.txt  project1/  project2/
  • 普通文件:没有任何字符
  • 目录:以斜杠 / 结尾
  • 可执行文件:以星号 * 结尾
  • 符号链接:以 @ 符号结尾
  • 套接字文件:以等号 = 结尾
  • 命名管道(FIFO):以竖线 | 结尾

02 pwd指令

全称:

Print Working Directory

功能:

显示用户当前所在的目录 

展示:

此时我们就在/home/qingguo的目录中

[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ pwd
/home/qingguo

03. cd 指令

cd概括

Linux 系统中,磁盘上的文件和目录被组成一棵目录树(如上图),每个节点都是目录或文件
全称:
Change Directory
功能
改变工作目录。将当前工作目录改变到指定的目录下。

语法:

  • 使用格式:
cd 目录名

cd .. : 返回上级目录

  • 当前目录:
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z test1]$ pwd
/home/qingguo/project1/test1
  • 使用cd..后
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z test1]$ cd ../
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project1]$ pwd
/home/qingguo/project1

可以看出回到了上一层目录

cd /home/litao/linux/ : 绝对路径

进入到该绝对路径下的目录中

  • 当前目录:
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z test1]$ pwd
/home/qingguo/project1/test1
  • 使用cd /home/litao/linux/ : 绝对路径后
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z test1]$  cd /home/qingguo/project1
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project1]$ pwd
/home/qingguo/project1

cd ../day02/ :相对路径

进入到该相对路径下的目录中

  • 当前目录:
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z test1]$ pwd
/home/qingguo/project1/test1
  • 使用cd ../day02/ :后
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project1]$ cd ../project2
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project2]$ pwd
/home/qingguo/project2
cd ~:
进入用户家目
  • 当前目录:
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z test1]$ pwd
/home/qingguo/project1/test1
  • 使用cd ~后
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project1]$ cd ~
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ pwd
/home/qingguo

cd -:

返回最近访问目录,并打印该目录

  • 当前目录:
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z home]$ cd qingguo
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ cd project1
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project1]$ pwd
/home/qingguo/project1
  • 使用cd -后
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project1]$ cd -
/home/qingguo

04. touch指令

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

基础功能

touch 命令参数可新建一个不存在的文件。
注意:我们建立的是文件不是目录,与后面的mkdir指令分开
  • 使用该指令之前
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project1]$ tree ./
./
├── test1
│   ├── a1
│   ├── a.txt
│   ├── b.txt
│   └── c.txt
├── test2
├── test3
├── test4
└── test5
  • 使用该指令后
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project1]$ touch test6.txt
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project1]$ tree ./
./
├── test1
│   ├── a1
│   ├── a.txt
│   ├── b.txt
│   └── c.txt
├── test2
├── test3
├── test4
├── test5
└── test6.txt

进阶功能

touch 命令参数可更改文档或目录的日期时间,包括存取时间和更改时间
常用选项
  • -a   或--time=atime或--time=access或--time=use只更改存取时间。
  • -c   或--no-create  不建立任何文档。
  • -d  使用指定的日期时间,而非现在的时间。
  • -m   或--time=mtime或--time=modify  只更改变动时间。
  • -r  把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
  • -t  使用指定的日期时间,而非现在的时间

05.mkdir指令:

语法 mkdir [ 选项 ] dirname...

基础功能

mkdir - 目录名
  • 使用该指令前
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project1]$ tree ./
./
├── test1
│   ├── a1
│   ├── a.txt
│   ├── b.txt
│   └── c.txt
├── test2
├── test3
└── test4
  • 使用该指令后
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project1]$ mkdir test5
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project1]$ tree ./
./
├── test1
│   ├── a1
│   ├── a.txt
│   ├── b.txt
│   └── c.txt
├── test2
├── test3
├── test4
└── test5

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

常用选项

-p, --parents 
可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立 好那些尚不存在的目录,即一次可以建立多个目录
mkdir –p test/test1 : 通过 递归的方式建立多个目录
  • 使用ls - p指令前
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ tree ./
./
├── d.txt
├── project1
│   ├── test1
│   │   ├── a.txt
│   │   ├── b.txt
│   │   └── c.txt
│   ├── test2
│   ├── test3
│   └── test4
├── project2
│   ├── a.out
│   └── test1.c
└── project3└── test1└── a
  • 使用ls -p后
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ mkdir -p project4/test1/a1
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ tree ./
./
├── d.txt
├── project1
│   ├── test1
│   │   ├── a1
│   │   ├── a.txt
│   │   ├── b.txt
│   │   └── c.txt
│   ├── test2
│   ├── test3
│   └── test4
├── project2
│   ├── a.out
│   └── test1.c
├── project3
│   └── test1
│       └── a
└── project4└── test1└── a1

总结:

ok,现在我们也是正式迈入linux的大门了,今天算是浅浅的学习了五个指令,下期博客继续和你一起探索linux指令的奥秘,


🥰创作不易,你的支持对我最大的鼓励🥰

🪐~ 点赞收藏+关注 ~

e3ff0dedf2ee4b4c89ba24e961db3cf4.gif

这篇关于linux基础指令讲解(ls、pwd、cd、touch、mkdir)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

windows和Linux安装Jmeter与简单使用方式

《windows和Linux安装Jmeter与简单使用方式》:本文主要介绍windows和Linux安装Jmeter与简单使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Windows和linux安装Jmeter与简单使用一、下载安装包二、JDK安装1.windows设

Kali Linux安装实现教程(亲测有效)

《KaliLinux安装实现教程(亲测有效)》:本文主要介绍KaliLinux安装实现教程(亲测有效),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、下载二、安装总结一、下载1、点http://www.chinasem.cn击链接 Get Kali | Kal

linux服务之NIS账户管理服务方式

《linux服务之NIS账户管理服务方式》:本文主要介绍linux服务之NIS账户管理服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、所需要的软件二、服务器配置1、安装 NIS 服务2、设定 NIS 的域名 (NIS domain name)3、修改主

Linux实现简易版Shell的代码详解

《Linux实现简易版Shell的代码详解》本篇文章,我们将一起踏上一段有趣的旅程,仿照CentOS–Bash的工作流程,实现一个功能虽然简单,但足以让你深刻理解Shell工作原理的迷你Sh... 目录一、程序流程分析二、代码实现1. 打印命令行提示符2. 获取用户输入的命令行3. 命令行解析4. 执行命令

SpringBoot基础框架详解

《SpringBoot基础框架详解》SpringBoot开发目的是为了简化Spring应用的创建、运行、调试和部署等,使用SpringBoot可以不用或者只需要很少的Spring配置就可以让企业项目快... 目录SpringBoot基础 – 框架介绍1.SpringBoot介绍1.1 概述1.2 核心功能2

CSS引入方式和选择符的讲解和运用小结

《CSS引入方式和选择符的讲解和运用小结》CSS即层叠样式表,是一种用于描述网页文档(如HTML或XML)外观和格式的样式表语言,它主要用于将网页内容的呈现(外观)和结构(内容)分离,从而实现... 目录一、前言二、css 是什么三、CSS 引入方式1、行内样式2、内部样式表3、链入外部样式表四、CSS 选

Spring Boot集成SLF4j从基础到高级实践(最新推荐)

《SpringBoot集成SLF4j从基础到高级实践(最新推荐)》SLF4j(SimpleLoggingFacadeforJava)是一个日志门面(Facade),不是具体的日志实现,这篇文章主要介... 目录一、日志框架概述与SLF4j简介1.1 为什么需要日志框架1.2 主流日志框架对比1.3 SLF4

Spring Boot集成Logback终极指南之从基础到高级配置实战指南

《SpringBoot集成Logback终极指南之从基础到高级配置实战指南》Logback是一个可靠、通用且快速的Java日志框架,作为Log4j的继承者,由Log4j创始人设计,:本文主要介绍... 目录一、Logback简介与Spring Boot集成基础1.1 Logback是什么?1.2 Sprin

ubuntu16.04如何部署dify? 在Linux上安装部署Dify的技巧

《ubuntu16.04如何部署dify?在Linux上安装部署Dify的技巧》随着云计算和容器技术的快速发展,Docker已经成为现代软件开发和部署的重要工具之一,Dify作为一款优秀的云原生应用... Dify 是一个基于 docker 的工作流管理工具,旨在简化机器学习和数据科学领域的多步骤工作流。它

Linux高并发场景下的网络参数调优实战指南

《Linux高并发场景下的网络参数调优实战指南》在高并发网络服务场景中,Linux内核的默认网络参数往往无法满足需求,导致性能瓶颈、连接超时甚至服务崩溃,本文基于真实案例分析,从参数解读、问题诊断到优... 目录一、问题背景:当并发连接遇上性能瓶颈1.1 案例环境1.2 初始参数分析二、深度诊断:连接状态与