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

目录

前言

安装和卸载软件包

 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.mzph.cn/diannao/8646.shtml

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

相关文章

SQL查询语句(四)模糊查询

前文介绍的查询语句,无论是利用常规的数学运算符,还是IN,BETWEEN和EXISTS等范围查询关键字,本质上都属于精确查询的范围,也就是说,我们在条件中写明了完全限定死的条件。而有些场景,我们的条件并…

安全继电器的使用和作用

目录 一、什么是安全继电器 二、安全继电器的接线方式 三、注意事项 四、总结 一、什么是安全继电器 安全继电器是由多个继电器与硬件电路组合而成的一种模块,是一种电路组成单元,其目的是要提高安全因素。完整点说,应该叫成安全继电器模…

【JavaEE网络】HTTP响应详解:状态码、报头与正文的全面解析

目录 HTTP响应(Response)认识 "状态码" (status code)认识响应 “报头”(header)认识响应 “正文”(body) HTTP响应(Response) 响应: 首行响应头空行正文 认…

【线性代数】俗说矩阵听课笔记

基础解系的概念 31线性相关&#xff0c;线性无关&#xff0c;拓展与证明 n个m维向量在n<m时可能线性相关也可能线性无关&#xff0c;线性无关时可以构成某个m维空间的一组基。m不小于n时&#xff0c;秩小于n则线性相关。 n个m维向量在n>m时可一定线性相关。低维向量一定…

第八届大数据与物联网国际会议(BDIOT 2024)即将召开!

第八届大数据与物联网国际会议(BDIOT 2024)将于2024年9月14-16日在澳门圣若瑟大学举行。数聚未来&#xff0c;物联世界&#xff01;BDIOT 2024旨在搭建为各位与会代表展示自己研究成果、分享经验、建立联系和开展合作的平台&#xff0c;共同探讨大数据与物联网领域的未来发展方…

贪心算法(活动选择、分数背包问题)

一、贪心算法 贪心算法是指&#xff1a;在对问题求解时&#xff0c;总是做出在当前看来是最好的选择&#xff0c;而不从整体最优考虑&#xff0c;做出的仅是在某种意义上的局部最优解。 …

Dockerfile实践java项目

目的&#xff1a;用java项目测试dockerfil部署&#xff08;前提是安装好了docker&#xff09; 部署准备文件如下 1. java项目 java项目demo地址 https://gitee.com/xiaoqu_12/dockerfileDemo.git 或者百度网盘直接下载打包好的jar包 链接&#xff1a;https://pan.baidu.com/s/…

解决windows中的WS Llinux子系统(unbantu2204)访问网络失败问题?

一、问题描述 unbantu先前可以正常访问网络&#xff0c;后面用着用着发现上不了网了&#xff0c; 出现如下异常 Hmm. We’re having trouble finding that site.We can’t connect to the server at www.iqiyi.com.If you entered the right address, you can:Try again late…

C#winfrom三层架构实现简单课程管理系统管理系统,三层架构实现增删改查

1. 项目展示 1.1登录展示 1.2添加课程信息展示 1.3课程信息管理-查询-修改-删除 1.4修改登录密码 2.项目功能介绍&#xff08;图&#xff09; 3.数据库设计 3.1 教师表设计 3.2 课程分类表 3.3 课程信息表 4. 创建样式界面 winfrom 超详细UI创建过程 实现双色球选号器UI界面…

【算法】滑动窗口——将x减到0的最小操作数

本节博客主要是讲的我解“将x减到0的最小操作数”这道题的思路历程&#xff0c;从最开始的想法到代码提交的详细记录&#xff0c;有需要借鉴即可。 目录 1.题目2.代码示例3.细节3.1left越界3.2特殊情况 4.总结 1.题目 题目链接&#xff1a;LINK 看题目意思是就是给你一个数X&…

MySQL LRU算法(冷热数据分离)

背景 MySQL中使用的InnoDB存储引擎采用了一种特别的最近最少使用&#xff08;LRU, Least Recently Used&#xff09;算法来管理其Buffer Pool中的页&#xff08;包括数据页和索引页&#xff09;。Buffer Pool是InnoDB用来缓存数据&#xff0c;以减少磁盘I/O操作的内存区域。正…

初识C语言——第十一天

操作符&#xff1a; 1. 算数操作符&#xff1a; - * / % 2. 移位操作符&#xff1a; >> &#xff08;右移&#xff09; << &#xff08;左移&#xff09; 移动的是二进制位 例如&#xff1a; int ba<<1; 3. 位操作符&#xff1a; & 按位与 | 按位…

活动预告 | 5月16日 Streaming Lakehouse Meetup · Online 与你相约!

随着 Apache Flink 技术社区的不断成熟和发展&#xff0c;越来越多企业开始利用 Flink 进行流式数据处理&#xff0c;从而提升数据时效性价值&#xff0c;获取业务实时化效果。与此同时&#xff0c;在大数据领域数据湖架构也日益成为新的技术趋势&#xff0c;越来越多企业开始采…

NERF++:Analyzing and Improving Neural Radiance Fields神经辐射场的分析与改进

ABSTRACT 神经辐射场(NeRF)可以实现各种捕获设置的令人印象深刻的视图合成结果&#xff0c;包括360度捕获有界场景和前向捕获有界和无界场景。NeRF 将代表视图不变不透明度和视图相关颜色体积的多层感知器(MLPs)匹配到一组训练图像中&#xff0c;并基于立体渲染技术对新视图进…

nestjs版若依全栈管理后台完全开源!

hello&#xff0c;大家好&#xff0c;我是徐小夕。之前和大家分享了很多可视化&#xff0c;零代码和前端工程化的最佳实践&#xff0c;今天继续和大家分享一下我们小伙伴开源的基于 nestjs 的若依全栈管理系统。 相信前端小伙伴对若依管理系统并不陌生&#xff0c;它的后端采用…

股票退市的最新要求!

五一假期一过&#xff0c;多家上市公司都进入退市名单&#xff0c;不知道有没有您的股票&#xff1f;很多朋友直呼现在炒股越来越难&#xff0c;一步小心就买到了退市个股&#xff0c;加上新改革&#xff0c;我们一起来结合退市政策来了解下怎么挑选个股&#xff1f; 2024年最新…

JAVA队列相关习题4

1. 用队列实现栈。 225. 用队列实现栈 - 力扣&#xff08;LeetCode&#xff09; 一个队列无法实现栈 尝试使用两个队列 1)push元素的时候应当放在那里&#xff1f;哪个队列不为空就放在哪里 2&#xff09;出栈的时候&#xff0c;出不为空的队列size-1元素&#xff0c;剩余元…

去哪找高清视频素材?哪个网站有视频素材?

在这个视觉表达日益重要的时代&#xff0c;获取高品质的视频素材变得尤为关键。4K和无水印视频素材特别受到创作者的青睐&#xff0c;因为它们能极大地提升视觉作品的吸引力和专业度。接下来&#xff0c;我将介绍几个国内外的优秀视频素材网站&#xff0c;助您在创作旅程上一帆…

解决springboot项目的网站静态页面显示不全问题

在通过springboot搭建项目时&#xff0c;为了能够访问静态的前端页面&#xff0c;我们考虑到访问的优先级问题&#xff0c;通常选择将资源放在recourses/static的目录下&#xff0c;如下&#xff1a; 这时可能会出现类似于下面这种图片无法加载、没有按照指定位置显示的情况&am…

第四十节实现主人公的技能释放功能(二)实现技能按钮

看看我们今天要实现的效果是&#xff0c;当我们按下数字1快捷键&#xff0c;我们的技能按钮会进入倒计时&#xff0c;如下图演示&#xff1a; 一、新建场景和根节点设置 新建场景&#xff0c;选择TextureButton作为根节点&#xff0c;重名为SpellButton&#xff0c;保存场景…