Linux中的简单操作 ls/tar/pwd/cd/mkdir/touch 等

news2024/11/19 17:40:50

目录

前言

安装和卸载软件包

 ls 查看指定路径下的文件和文件夹

 tar 解压缩/压缩命令

pwd 查看当前路径

cd 改变目录

mkdir 创建目录

递归创建

rm rmdir 删除文件或目录

touch 创建文件

ll、echo、重定向符(>,>>) 

ll

echo

重定向符

cat 查看文件内容


前言

从0开始记录我的学习历程,我会尽我所能,写出最最大白话的文章,希望能够帮到你,谢谢。


提示:文章作者为初学者,有问题请评论指正,感谢。

安装和卸载软件包

安装软件包

想象一下,你在应用商店找到了一个游戏或者一个实用工具,你点击“安装”,然后它就自动下载并安装到你的手机上。在Linux中,我们也有类似的“应用商店”,叫做软件仓库。当你想安装一个软件时,你可以打开终端(就像命令行窗口),然后输入一个命令,比如sudo apt-get install 游戏名,(sudo这表示您将以超级用户的权限执行命令,避免一些因为圈钱问题而导致的错误)这个命令就会去软件仓库中找到这个游戏,下载并安装到你的电脑上。

//安装open-vm-tools这个软件包
sudo apt-get install open-vm-tools 

卸载软件包: 现在假设你不再玩那个游戏了,想要删除它。在手机上,你会长按那个APP图标,然后点击“卸载”。在Linux中,你也需要打开终端,然后输入一个命令来卸载软件,比如sudo apt-get remove 游戏名。这个命令会删除游戏,但是游戏的一些设置和保存文件可能还会留在你的电脑上。如果你想彻底删除游戏和它的所有文件,你可以使用sudo apt-get purge 游戏名这个命令。

//卸载open-vm-toos
sudo apt-get remove open-vm-toos 

清理不用的软件包: 最后,就像手机上有时候会有一些不用的缓存文件需要清理一样,Linux中也有类似的情况。有时候安装一个软件会带来一些额外的小程序,这些小程序是主软件运行所必需的。但当你删除主软件后,这些小程序有时候不会自动被删除。Linux提供了一个命令sudo apt-get autoremove,这个命令可以帮你找到并删除这些不再需要的小程序,让你的电脑保持整洁。

 ls 查看指定路径下的文件和文件夹

//查看当前路径下的文件及文件夹
ls 
//查看指定路径下的文件及文件夹
ls /home/qf
//查看挡墙路径下的所有文件啊包括隐藏文件
ls-a

 tar 解压缩/压缩命令

tar(tape archive)命令是一个在Linux系统中常用的工具,用于创建、压缩和解压缩文件和目录。它的主要功能包括:

  • 创建压缩包tar可以将多个文件或目录打包成一个单一的压缩包,以便更方便地传输或存档。

  • 压缩文件tar可以将文件和目录压缩成不同格式的压缩包,例如.tar.gz(gzip格式)或.tar.bz2(bzip2格式)。

  • 解压缩文件tar可以从压缩包中提取文件和目录,还可以处理不同格式的压缩包。

知道这个过后我们就要来看一下tar中各个字母的含义。

  1. c:代表“create”(创建)。

    • 使用c选项时,tar会创建一个新的压缩包,将指定的文件或目录添加到其中。
  2. x:代表“extract”(提取)。

    • 使用x选项时,tar会从现有的压缩包中提取文件或目录。
  3. v:代表“verbose”(详细模式)。

    • 使用v选项时,tar会在执行操作时显示详细信息,以便您了解正在发生的事情。
  4. f:代表“file”(文件)。

    • 使用f选项时,后面跟着的是要操作的压缩包文件名。
  5. z:代表“gzip”(GNU zip)。

    • 使用z选项时,tar会处理gzip格式的压缩包。这通常用于.tar.gz.tgz文件。
  6. j:代表“bzip2”。

    • 使用j选项时,tar会处理bzip2格式的压缩包。这通常用于.tar.bz2文件。
  7. C:代表“change directory”(改变目录)。

    • 使用C选项时,后面跟着的是要切换到的目录。这在解压缩时很有用,可以将文件提取到指定目录。

下面我会根据例子来解释每个命令的作用:

  1. 解压缩文件

    tar xf VMwareTools-10.3.25-20206839.tar.gz
    

    这个命令会将名为VMwareTools-10.3.25-20206839.tar.gz的压缩包解压到当前目录(默认是当前目录)。x代表解压缩,f代表文件。

  2. 压缩文件

    tar -cvf filename.tar directory/file
    

    这个命令会将directory/file路径下的文件或目录压缩成一个名为filename.tar的压缩包。c代表创建压缩包,v代表在压缩或解压时显示过程信息,f代表文件。如果你自己练习的时候在home那里创建了一个a文件 想要把a打包的话 你就直接写成                    tar -cvf filename.tar home/a就可以了。

     

    另一个例子:

    tar cvf test.tar vmware-tools-distrib/*
    

    这个命令会将vmware-tools-distrib目录下的所有文件和子目录压缩到test.tar这个压缩包中。* 是通配符,它可以代表任何字符或字符串。在这里,它表示匹配所有文件和子目录。

  3. 解压缩到特定文件夹

    tar -xvf test.tar.gz -C test
    

    这个命令会将test.tar.gz压缩包解压到test这个文件夹中。x代表解压缩,v代表显示过程信息,f代表文件,-C代表改变到指定目录。

  4. 创建gzip格式的压缩包

    tar -zcvf echo.tar.gz echo
    

    这个命令会将echo目录或文件压缩成gzip格式的压缩包echo.tar.gzz代表gzip格式,c代表创建压缩包,v代表显示过程信息,f代表文件。

  5. 解压缩到指定目录

    tar -zxvf archive.tar.gz -C /path/to/directory
    

    这个命令会将archive.tar.gz压缩包解压到/path/to/directory这个指定的目录。z代表解压gzip格式的压缩包,x代表解压缩,v代表显示过程信息,f代表文件,-C代表改变到指定目录,就是后面这些/path/to/directory。

注意:如果压缩时选择的参数是cvf,解压时的参数xvf

如果压缩时选择的参数是zcvf,解压时的参数可以是xvf或者zxvf。

不过其实一般情况下xf就能满足大多数情况了

pwd 查看当前路径

pwd用于显示当前工作目录(也称为当前路径)。

  • pwd:代表“print working directory”(打印当前工作目录)。
  • 使用 pwd 命令时,它会在终端中显示当前所在的目录路径。

例如,如果您在终端中运行 pwd,它会返回类似于以下的输出:

这表示您当前位于 /home/ljl这个目录下。pwd 帮助您了解您在文件系统中的位置,方便您进行其他操作,比如查找文件、切换目录等。就是看你娃儿在哪个地方,如果你不知道你在哪里了 找不到了 就用pwd看看自己在哪里。

cd 改变目录

//切换到上一级目录
cd .. 
//切换到当前目录
cd .
//切换到指定目录
cd /hone/qf
//切换到根目录
cd ~
  1. 切换到上一级目录

    • 使用 cd .. 命令,您可以将当前工作目录切换到上一级目录。
    • 例如,如果您当前在 /home/user/documents 目录下,运行 cd .. 后,您将切换到 /home/user 目录。
  2. 切换到当前目录

    • 使用 cd . 命令,实际上不会改变当前工作目录。它只是一个占位符,表示“当前目录”。
    • 这通常用于脚本或其他需要明确指定当前目录的情况。感觉没啥用
  3. 切换到指定目录

    • 使用 cd /home/qf 命令,您可以直接切换到指定的目录 /home/qf
    • 这将更改您的当前工作目录为 /home/qf
  4. 切换到根目录

    • 使用 cd ~ 命令,您可以切换到当前用户的根目录(也称为主目录家目录)。
    • 例如,如果您的用户名是 qf,那么 cd ~ 将切换到 /home/qf 目录。

 

  • 相对路径:从当前路径开始
  • 绝对路径:从根目录开始
  • ”/“:根目录

 你在用cd的时候一定要看清楚自己在哪里,相对路径绝对路径要分清楚,不然会报错。

mkdir 创建目录

mkdir 是一个常用的命令,用于在Linux系统中创建新目录(也称为文件夹)

  • mkdir:代表“make directory”(创建目录)。
  • 使用 mkdir 命令时,您可以指定一个目录名,然后它会在当前工作目录下创建一个新的子目录。

例如,如果您在终端中运行:

mkdir my_folder

这将在当前目录下创建一个名为 my_folder 的新目录。您可以在这个目录中存储文件、创建其他子目录,或者进行其他操作。

你也可以用空格间隔一次来创建多个目录。

mkdir dir1 dir2 dir3

这个命令会在当前工作目录下创建三个新目录:dir1dir2dir3。只要确保每个目录名之间有空格分隔,mkdir命令就可以同时创建它们。

如果结合使用-p选项,您还可以为每个目录创建多级子目录,例如:

mkdir -p project/{dir1,dir2,dir3}/subdir

这将在project目录下创建dir1dir2dir3目录,每个目录中都包含一个名为subdir的子目录。

递归创建

mkdir 命令的递归创建功能允许您一次性创建多个嵌套的目录。这是通过 -p(代表“parents”)选项来实现的。如果您想创建一个目录,以及它的所有父目录,即使这些父目录还不存在,您可以这样做:

mkdir -p /path/to/directory/subdirectory

这个命令会创建 subdirectory,以及路径中的所有父目录 /path/to/directory。如果这些目录已经存在,mkdir -p 不会报错,而是会安静地继续执行。

例如,如果 /path 和 /path/to 这两个目录还不存在,上面的命令会首先创建 /path,然后是 /path/to,最后是 /path/to/directory 和 /path/to/directory/subdirectory

这个 -p 选项在自动化脚本中非常有用,因为它可以确保所需的目录结构被创建,而不管其中的某些部分是否已经存在。

rm rmdir 删除文件或目录

在Linux系统中,删除文件和目录的命令分别是 rm 和 rmdir,以及 rm 命令的 -r 选项。下面是详细的解释:

  1. 删除文件

    • 使用 rm 命令可以删除一个或多个文件。
    • 例如,要删除名为 file.txt 的文件,您可以使用:
      rm file.txt
      
    • 如果要删除多个文件,可以一次性列出所有文件名,用空格分隔。注意 这个没加-r只能删文件!!!
  2. 删除目录

    • rmdir 命令用于删除空目录
    • 例如,要删除名为 empty_folder 的空目录,您可以使用:
      rmdir empty_folder
      
    • 请注意,rmdir 只能删除空目录。如果目录中有文件或其他目录,rmdir 会失败。
  3. 递归删除目录

    • 如果您需要删除一个目录及其所有内容(包括所有文件和子目录),您可以使用 rm 命令配合 -r(或 -R)选项,这代表递归删除。
    • 例如,要删除名为 folder 的目录及其所有内容,您可以使用:
      rm -r folder
      
    • 这将删除 folder 目录以及其中的所有文件和子目录。
  4. 强制删除

    • 如果您想要在删除时不接收任何提示,可以使用 -f(force)选项。
    • 例如,要强制删除 folder 目录及其所有内容,您可以使用:
      rm -rf folder
      
    • 这将在没有任何确认的情况下删除目录和文件,所以请谨慎使用。

touch 创建文件

touch 命令主要用于创建一个新的空文件。它的工作原理非常直接:如果指定的文件不存在,touch 将会创建一个没有任何内容的新文件。如果文件已经存在,touch 命令不会对文件内容做任何改变,只会更新文件的时间戳。

例如,要使用 touch 创建一个名为 example.txt 的新文件,你可以在终端中输入以下命令:

touch echo/1 echo/2 echo/3

执行这个命令后,当前目录中就会出现三个名字分别为为 1 、2、3的空文件。如果 1、2、3文件已经存在,这个命令将更新该文件的时间戳,而不会更改文件内容。

ll、echo、重定向符(>,>>) 

ll

ll命令实际上是ls -l的别名,它提供了一个文件或目录的详细列表。这个列表包括文件的权限、所有者、大小和最后修改时间。例如:

-rw-r--r-- 1 user group 4096 Apr 7 10:00 example.txt

这里,-rw-r--r--表示文件权限,1表示链接数,user是文件所有者,group是文件所属的用户组,4096是文件大小(字节),Apr 7 10:00是最后修改时间,example.txt是文件名。

echo

echo命令用于在终端输出文本或变量内容。例如:

echo "Hello, World!"

这将在终端显示Hello, World!。你可以理解成c里面的printf。

重定向符

重定向符号>>>用于将命令的输出从标准输出(通常是终端)重定向到文件。

  • >:如果目标文件不存在,它会创建文件;如果文件已存在,它会覆盖文件原有内容。例如:
echo "Hello, World!" > hello.txt

这会创建或覆盖hello.txt文件,并写入Hello, World!

  • >>:如果目标文件不存在,它会创建文件;如果文件已存在,它会将新内容追加到文件末尾。例如:
echo "Hello again!" >> hello.txt

这会在hello.txt文件末尾追加Hello again!,而不会覆盖原有内容。

cat 查看文件内容

cat命令用于查看文件的内容。它会将文件的内容输出到终端。以下是一些常见用法:

  1. 查看单个文件:

    cat filename.txt
    

    这将在终端显示filename.txt文件的全部内容。

  2. 查看多个文件:

    cat file1.txt file2.txt
    

    这会将file1.txtfile2.txt的内容依次输出到终端。

  3. 查看文件并显示行号:

    cat -n filename.txt
    

    这将在终端显示filename.txt文件的内容,并在每一行前面加上行号。

  4. 合并文件:

    cat file1.txt file2.txt > combined.txt
    

    这会将file1.txtfile2.txt的内容合并到一个新文件combined.txt中。如果你之前combined.txt文件里面有内容会直接覆盖掉,这个需要注意。

总结

以上就是今天要讲的内容,本文仅仅简单介绍了Linux中常用的一些操作pwd、cd、ls、echo、rm、rmdir等,祝愿你我的朋友在学习的路上一帆风顺,也祝愿我会成为一个优秀的嵌入式工程师。 

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

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

相关文章

VS编辑器下使用MFC完成水果销售系统

背景: 项目11:水果销售管理系统 (2周) (一)实验目的 通过该实验,使学生掌握windows程序设计的基本方法。以水果销售管理为背景,熟练应用数据库技术和第三方插件的嵌入技术&…

安卓自定义View

部分效果如下: 完整项目地址:https://download.csdn.net/download/qq_41733851/89282771?spm1001.2101.3001.9500

elk + filebeat 8.4.3 收集nginx日志(docker部署)

ELK filebeat docker部署 一、 elasticsearch部署1、运行elasticsearch临时配置容器2、拷贝文件目录到本地3、检查elasticsearch.yml4、删除之前elastic,运行正式容器5、docker logs记录启动日志 二、部署kibana1、运行kibana临时配置容器2、docker拷贝配置文件到本…

日志审计系统在提高网络安全方面具有哪些重要的作用

随着信息技术的飞速发展,我们正处于一个高度互联、数据驱动的网络时代。在这个时代,日志审计系统作为网络安全和信息管理的重要工具,发挥着至关重要的作用。下面德迅云安全就详细介绍下关于日志审计系统在当今网络时代的重要性。 一、什么是日…

Encoder——Decoder工作原理与代码支撑

神经网络算法 :一文搞懂 Encoder-Decoder(编码器-解码器)_有编码器和解码器的神经网络-CSDN博客这篇文章写的不错,从定性的角度解释了一下,什么是编码器与解码器,我再学习笔记补充的时候,讲一下…

LeetCode—随机链表的复制(深拷贝)

一.题目 二.思路分析 1.将拷贝节点插入到原节点后面 拷贝节点和原节点建立了一个关联关系 2.深拷贝 3.将新节点拿下来尾插形成新链表,恢复原链表 三.参考代码 /*** Definition for a Node.* struct Node {* int val;* struct Node *next;* struct No…

感应关盖垃圾桶项目

1.功能描述 检测靠近时,垃圾桶自动开盖并伴随滴一声,2秒后关盖 发生震动时,垃圾桶自动开盖并伴随滴一声,2秒后关盖 按下按键时,垃圾桶自动开盖并伴随滴一声,2秒后关盖 2.硬件说明 SG90舵机,超声…

java项目之校园失物招领系统(springboot+vue+mysql)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的校园失物招领系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 校园失物招领系统的主要…

springcloud -nacos实战

一、nacos 功能简介 1.1.什么是Nacos? 官方简介:一个更易于构建云原生应用的动态服务发现(Nacos Discovery )、服务配置(Nacos Config)和服务管理平台。 Nacos的关键特性包括: 服务发现和服务健康监测动态配置服务动态DNS服务服务及其元数…

【青龙面板教程】保姆级拉库 Faker库 以及依赖安装教程

青龙面板最新版拉库教程 新版青龙(订阅)拉库教程 拉库前请打开青龙面板-配置文件 第18行 GithubProxyUrl"" 双引号中的内容清空复制以下拉库命令即可。Faker2 助力池版【安全本地sign防CK泄漏】使用助力池请在群里发"助力池" 机器…

【翻译】Processing系列|(四)用 Android Studio 从 0 到 1 进行 Processing 安卓开发

原文链接:Processing for Android Developing with Android Studio 朋友跟我说官方教程里也写了该怎么用 Android Studio 开发,并且亲测可行。这种方式确实能开发出结构更加清晰、额外组件更加少的程序,比上一篇文章中直接克隆 Processing-An…

5G NR 吞吐量计算 and 4G LTE 吞吐量计算

5G NR Throughput References • 3GPP TS 38.306 V15.2.0 (2018-06) ➤J : number of aggregated component carriers in a band or band combination ➤Rmax : 948/1024 • For the j-th CC, Vlayers(j) is the maximum number of layers ➤Qm(j) : Maximum modulation orde…

韩顺平0基础学Java——第6天

p87-p109 运算符(第四章) 四种进制 二进制用0b或0B开头 十进制略 八进制用0开头 十六进制0x或0X开头,其中的A—F不区分大小写 10转2:将这个数不断除以2,直到商为0,然后把每步得到的余数倒过来&#…

【大数据】分布式数据库HBase下载安装教程

目录 1.下载安装 2.配置 2.1.启动hadoop 2.2.单机模式 2.3.伪分布式集群 1.下载安装 HBase和Hadoop之间有版本对应关系,之前用的hadoop是3.1.3,选择的HBase的版本是2.2.X。 下载地址: Index of /dist/hbase 配置环境变量&#xff1a…

虹科Pico汽车示波器 | 免拆诊断案例 | 2010款凯迪拉克SRX车发动机无法起动

故障现象 一辆2010款凯迪拉克SRX车,搭载LF1发动机,累计行驶里程约为14.3万km。该车因正时链条断裂导致气门顶弯,大修发动机后试车,起动机运转有力,但发动机没有着机迹象;多起动几次,火花塞会变…

《铁路出行更便捷:火车票预定审批系统的设计与应用》

在现代化的铁路交通管理中,火车票预定审批系统扮演着至关重要的角色。它不仅能够有效管理员工出差、培训等需要乘坐火车的行程,还能够提高审批效率,减少人力成本,确保出行安全。本文将探讨火车票预定审批系统的设计原则和应用场景…

如何使用Python下载哔哩哔哩(Bilibili)视频字幕

在本文中,我将向大家展示如何使用Python下载哔哩哔哩(Bilibili)视频的字幕。通过这个方法,你可以轻松地获取你喜欢的视频的字幕文件,方便学习和交流。 准备工作 在开始之前,我们需要安装一些必要的库&…

idea配置hive

idea配置hive 今天才知道,idea居然可以配置hive,步骤如下: view -> Tool Windows -> Database Database出来了之后,直接配置即可

Python爬虫获取豆瓣电影Top100

大家好,我是秋意零。 今天分析一篇,Python爬虫获取豆瓣电影Top100。 在此之前,我没有学习过爬虫,只有一丢丢的Python基础。下面效果的实现源码几乎没经过我,而是AI百老师。我主要负责了对应的调试以及根据我想要的功…

Spring Cloud Kubernetes 本地开发环境调试

一、Spring Cloud Kubernetes 本地开发环境调试 上面文章使用 Spring Cloud Kubernetes 在 k8s 环境中实现了服务注册发现、服务动态配置,但是需要放在 k8s 环境中才能正常使用,在本地开发环境中可能没有 k8s 环境,如何本地开发调试呢&#…