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

目录

前言

安装和卸载软件包

[ls 查看指定路径下的文件和文件夹](#ls 查看指定路径下的文件和文件夹)

[tar 解压缩/压缩命令](#tar 解压缩/压缩命令)

[pwd 查看当前路径](#pwd 查看当前路径)

[cd 改变目录](#cd 改变目录)

[mkdir 创建目录](#mkdir 创建目录)

递归创建

[rm rmdir 删除文件或目录](#rm rmdir 删除文件或目录)

[touch 创建文件](#touch 创建文件)

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

ll

echo

重定向符

[cat 查看文件内容](#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选项时,后面跟着的是要切换到的目录。这在解压缩时很有用,可以将文件提取到指定目录。
      下面我会根据例子来解释每个命令的作用:
  8. 解压缩文件

    tar xf VMwareTools-10.3.25-20206839.tar.gz
    

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

  9. 压缩文件

    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这个压缩包中。* 是通配符,它可以代表任何字符或字符串。在这里,它表示匹配所有文件和子目录。

  10. 解压缩到特定文件夹

    tar -xvf test.tar.gz -C test
    

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

  11. 创建gzip格式的压缩包

    tar -zcvf echo.tar.gz echo
    

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

  12. 解压缩到指定目录

    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系统中,删除文件和目录的命令分别是 rmrmdir,以及 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等,祝愿你我的朋友在学习的路上一帆风顺,也祝愿我会成为一个优秀的嵌入式工程师。

相关推荐
Lary_Rock37 分钟前
RK3576 LINUX RKNN SDK 测试
linux·运维·服务器
云飞云共享云桌面3 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
Peter_chq3 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
一坨阿亮4 小时前
Linux 使用中的问题
linux·运维
dsywws5 小时前
Linux学习笔记之vim入门
linux·笔记·学习
幺零九零零6 小时前
【C++】socket套接字编程
linux·服务器·网络·c++
小林熬夜学编程7 小时前
【Linux系统编程】第四十一弹---线程深度解析:从地址空间到多线程实践
linux·c语言·开发语言·c++·算法
程思扬8 小时前
为什么Uptime+Kuma本地部署与远程使用是网站监控新选择?
linux·服务器·网络·经验分享·后端·网络协议·1024程序员节
sun0077008 小时前
拷贝 cp -rdp 和 cp -a
linux·运维·服务器
wowocpp8 小时前
ubuntu 22.04 server 安装 anaconda3
linux·运维·ubuntu