首页 > 系统相关 >Linux从入门到精通-第二章(Linux的基础命令)

Linux从入门到精通-第二章(Linux的基础命令)

时间:2024-10-14 10:18:57浏览次数:8  
标签:文件 txt 入门 Linux 命令 linux test 第二章 目录

文章目录


前言

Linux 命令是用于在 Linux 操作系统中执行各种任务的指令。它们提供了与系统交互、管理文件和目录、处理文本、管理用户和组、配置网络以及执行其他任务的强大而灵活的方式。


一、linux的目录结构和命令基础

1:linux的目录结构

linux的目录结构是一个树形结构
在这里插入图片描述
windows中有盘符的概念,而linux中没有,只有一个根目录/,所有文件都存放在它下面;

  • 路径描述方式:windows中用\来连接,而linux中用/来连接:

例如上图中的bin文件夹:/usf/bin/test/hello.txt

2:linux基础命令

学习linux,其实就是学习熟练使用linux的各种命令;

命令行:即终端(Terminal),一种命令提示符页面;

命令:即linux程序,一个命令就是一个程序,只不过没有图形化界面;

a:命令基础格式

无论是什么命令,用于什么用途,在linux中,命令有他的通用格式command [-options] [parameter]

  • command:命令本身;
  • -options:命令的一些选项,可以通过选项来控制命令的行为细节【可选,非必填】;
  • parameter:命令的参数,多数用于命令的执行目标;【可选,非必填】
    例如

ls -l/home/itcsdn ls是命令本身,-l是选项,/home/itcsdn是参数;意思是以列表的形式,显示/home/itcsdn中的内容

二、基础命令(上)

1.ls命令

  • 命令的作用:列出目录下的内容;
  • 语法:ls [-a -l -h] [linux路径]

-a,-l,-h是可选的选项,linux路径是命令的参数
意思呢就是以-a,-l,-h的其中一种或多种方式去列出linux路径目录下的内容

我们在命令行中输入ls命令,相当于在图形化界面中打开文件管理器显示出的文件

  • -a:是all的意思;即列出全部文件(包括隐藏文件
    没有-a在这里插入图片描述
    -a
    在这里插入图片描述
    可以看到多出来许多白色的文件前缀都带有.这就是隐藏文件

  • -l:是list的意思,以列表的形式展示内容;
    在这里插入图片描述
    上面我将-a -l一块用这一块也可以-al,-la效果都是一样的,可以动手试一下;

  • -h:以易于阅读的形式,列出文件的大小,如k,m,g
    上面我们看到在月份前面是内存大小,这些内存大小都是以k为单位的我们使用-h
    在这里插入图片描述
    可以发现第一行的4096变成的4.0k,所以-h可以自动转化进制;
    注意-h-l必须同时使用;

  • ls后面的是选填的,那我们只输入ls,他就会列出当前的工作目录,linux中默认的工作目录是用户的HOME目录;(可以动手试一下,看看命令行的输出的和文件管理器中的是否一致);

  • a,h,l可以自由组合,结果都是一样的;

2:cd命令和pwd命令

a:切换目录命令cd

我们打开命令行时,默认是以HOME目录作为当前的工作目录。我们可以使用cd更改当前的工作目录;
cd:change Directory
语法:cd [linux路径]

  • cd命令没有选项,只有参数,表示要切换到那个目录下;
  • cd命令如果不写参数表示回到默认工作目录HOME;
    例如:使用cd切换到根目录cd /在这里插入图片描述再切回HOME目录:cd 在这里插入图片描述

b:pwd命令

通过ls来验证当前的工作目录是不恰当的,我们可以通过pwd命令,来查看当前所在的工作目录。
pwd:print work directory
语法 :pwd

  • pwd命令,无选项,无参数,直接输入pwd;
    在这里插入图片描述

4:相对路径绝对路径和特殊路径

在这里插入图片描述
如图我们想切换到Desktop目录下,该 如何操作呢?

  • cd/home/wfwfr-long/Desktop
  • cd Desktop

第一种写法是绝对路径,第二种写法是相对路径;

  • 返回上一级该怎么操作呢?

  • . 表示当前目录‘

  • ..表示上一级目录,比如cd..就能防护上一级目录

  • ~ 表示HOME目录,比如cd ~就能回到HOME目录;

所以前面提到的问题可以用cd..
在这里插入图片描述

cd ~表示程序员要回家,要cd home哈哈;

5:mkdir命令

使用mkdir来创建新的目录(文件夹);
mkdir:Make Directory

  • 语法:mkdir [-p] linux路径
  • 参数必填,表示linux路径,即创建文件夹的路径,可以是相对路径,也可以是绝对路径;
  • -p选项选填,表示自动创建不存在的父目录,适用于创建连续多层级目录

例如:在当前目录下创建一个itcsdn的文件夹:
mkdir itcsdn
在这里插入图片描述
使用绝对路径在itcsdn下创建一个test文件夹:mkdir /home/wfwfr-long/itcsdn/test
在这里插入图片描述
在上一级目录中创建test2: mkdir ../test2

在这里插入图片描述

  • 加上-p可以创建多层级的目录
    比如可以在当前目录下创建一个itcast/good/666的文件:mkdir -p itcast/good/666
    在这里插入图片描述
    在这里插入图片描述

三:基础命令(下)

1:touch,cat,more命令

a:touch命令

使用touch命令创建文件:

  • 语法:touch linux路径
  • touch命令没有选项,参数必填,表示要创建的文件,路径,相对,绝对,特殊路径都能用;
    在这里插入图片描述

mkdir创建的是目录,touch创建的是文件,文件和目录在显示的时候有区别,文件是白色的,目录是蓝色的;

b:cat命令

  • 创建文件之后我们可以通过图形化界面来写入数据,然后通过cat来查看文件内容;
  • 语法 cat linux路径 在这里插入图片描述

c:more命令

more同样可以查看文件内容,但是和cat不同的是,cat将全部的内容显示,而more是可以支持翻页

  • 语法 more linux路径
    我们来查看一个系统内置的文件路径为/etc/services因为一般较小的文件体现不出来more的翻页的效果;more /etc/services
    在这里插入图片描述
  • 通过空格来翻页;
  • 通过q退出查看;

2:cp,mv,rm命令

a:cp命令

cp命令可以用于复制文件和文件夹;
cp:copy

  • 语法:cp [-r] 参数1 参数2
  • -r可选,负责文件夹时使用,表示递归;
  • 参数1,Linux路径,表示被复制的文件或文件夹;
  • 参数2,linux路径,表示要复制去的地方;
    例如:复制test,txt到当前目录下的test2.txt; cp test.txt test2.txt

在这里插入图片描述
复制文件夹也可以:cp -r itcast itcast2
需要加上-r的选项
在这里插入图片描述

b:mv命令

mv命令可以用于移动文件/文件夹;
mv:move

  • 语法:move 参数1 参数2
  • 参数1,linux路径,表示被移动的文件夹或目录
  • 参数2,linux路径,表示移动到的位置,如果目标不存在则有改名的效果,如将参数1的名字改成参数2的名字
    例如:将test.txt移动到Desktop里:mv test.txt Desktop/test.txt

在这里插入图片描述
在这里插入图片描述
可以看到原来的文件已经不在了;

将test2.txt改名为test3.txt:mv test2.txt test3.txt
在这里插入图片描述

c:rm命令

rm命令可用于删除文件,文件夹;
rm:remove

  • 语法:rm [-r -f] 参数1 参数2 .....参数n
  • 和cp命令一样-r用于删除文件夹
  • -f表示force,强制删除(不会弹出提示信息);

普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示,普通用户用不到-f选项;

  • 参数1,参数2等表示要删除的文件或者文件夹路径,用空格隔开;(也就是说一次可以删除多个文件或文件夹)
    例如:删test3.txt:rm test3.txt
    在这里插入图片描述
    删除itcast文件夹: rm -r itcast(这里删除文件夹要加上-r)
    在这里插入图片描述
    删除多个文件:rm -r itcast2 itcsdn
    在这里插入图片描述

rm命令支持通配符*,可以进行模糊匹配;
* 可以匹配任何内容,如test* 表示匹配以test开头的所有内容;* test *表示匹配含有test的内容

使用通配符: rm -r test*

在这里插入图片描述
注意:在这里插入图片描述

3:which,find命令

a:which命令

我们之前学过,命令是一种系统级程序;我们可以通过which来查看所使用的命令存放在哪:

  • 语法:which 要查找的命令
    在这里插入图片描述

b:find命令

find命令可以通过指定的名称去搜索文件:

  • 语法: find 起始路径 -name “被查找的文件名”
    我们需要拥有最大权限才能在整个系统中进行查找,我们可以切换到root用户:使用 su - root然后输入密码就能切换到root
    例如全盘搜索名称为test的文件:find / -name "test"
    在这里插入图片描述
    这里在查找时也可以使用通配符:
    如:查找以test开头的目录: find / -name "test*"
    查找以test结尾的目录:find / -name "*test"
    查找包含test的目录: find / -name *test*

find命令也可以通过文件大小去查找文件:

  • 语法:find 起始路径 -size +|- n【KMG】
  • +,-表示大于和小于;
  • n表示大小数字;
  • kmg为大小单位,K是kb,M是mb,G是gb
    例如:查找小于10kb的文件:find / -size -10b
    查找大于1g的文件:find / -size +1G

4:grep,wc命令和管道符

a:grep命令

可以通过grep命令,在文件中通过关键字来过滤文件行;即通过grep命令查找包含关键字的文件行;

  • 语法: grep [-n] 关键字 文件路径
  • -n可选,在结果中显示匹配行的行数;
  • 参数:关键字,必填,通过关键字来过滤,如果带有空格或者特殊符号需要用“”包起来;
  • 参数:文件路径,必填,表示要过滤内容的文件路径,可以作为管道符的输入
    例如:我们通过finalShell来创建一个txt文件然后在图形化界面中往文件中写入:
    itheima is a bround of itcast.
    itcast stock code 003032.
    过滤itheimagrep -n "itheima" ithbu.txt
    在这里插入图片描述
    过滤itcast:grep -n "itcast" ithbu.txt
    在这里插入图片描述

b:wc命令

wc命令用来统计文件行数,单词数量等;

  • 语法:wc [-c -m -l -w] 文件路径
  • -c,统计bytes数量;
  • -m,统计字符数量
  • -l,统计行数;
  • -w,统计单词数量;
  • 参数,文件路径,可以作为管道符的输入
    如果什么选项都不带:统计出来的是行数,单词数,字节数
    在这里插入图片描述

c:管道符

管道符|;含义:管道符左边命令的结果作为右边命令的输入;
例如:将cat的内容作为grep过滤的文件内容
cat ithbu.txt | grep ithbu.txt
在这里插入图片描述
练习:管道符,grep,wc的组合使用:
1:统计test。txt文件中带有itcast关键子的有几行;
grep "itcast" ithbu.txt | wc -l

在这里插入图片描述
2:统计文件中带有itheima的关键字的结果有多少个单词;
grep "itheima" ithbu.txt | wc -w

在这里插入图片描述

5:echo,tail和重定向符

a:echo命令

可以在命令行中输出指定的内容;

  • 语法:echo 输出的内容
  • 无需选项,只要一个参数,表示要输出的内容,复杂内容用”“包围
    例如在终端上输出:hello,linux: echo "hello linux"
    在这里插入图片描述
  • 反引号:如果我们想要输出的是pwd命令的内容,而不是pwd,我们需要在pwd上加上``:
    在这里插入图片描述
  • 重定向符:>和>>
    > 将左侧命令的结果,覆盖到右侧指定的文件中;
    >>,将左侧命令的结果,追加到右侧的指定文件中;
    1:将内容覆盖到test文件中:
    echo "hello linux" > ithbu.txt
    在这里插入图片描述
    2:追加:echo "good666" >> ithbu.txt
    在这里插入图片描述

b:tail命令

使用tail命令,可以查看文件尾部内容,跟踪文件的最新更改;

  • 语法:tail 【-f -num】linux路径
  • 参数,linux路径,表示被跟踪的文件路径;
  • 选项,-f,表示持续跟踪;
  • 选项,-num,表示尾部多数行,不填默认10行
    例如:先执行两个操作:
    1:ls / >> ithbu.txt
    2:ls >> ithbu.txt
    然后执行tail语句: tail ithbu.txt
    在这里插入图片描述
    2:查询后20行: tail -20 ithbu.txt
    在这里插入图片描述
    3:追踪: tail -f ithbu.txt
    在这里插入图片描述

追踪的时候我们的控制台会停留在tail命令中,我们创建第二个连接控制台,然后向其中追加单词,会在原来的连接控制台中更新这就是追踪文件的最新更新;
然后要想强制退出tail命令可以使用crol+c来停止


四:vi编辑器

vi和vim是visual interface的简称,是linux中最经典的文本编辑器;vi是命令行下对文本文件进行编辑的绝佳选择;

vim 是vi的加强版本,兼容vi的所有指令,不仅能编辑文本,而且还具有shell程序编辑的功能,可以根据不同颜色的字体来判别语法的正确性,极大方便了程序的设计和编辑性。

1:三种工作模式:

a:命令模式:
命令模式下,所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能,此模式下不能自由进行文本编辑;

使用vi/vim 文件路径进入命令模式

b:输入模式:编辑插入模式;此模式下可以对文件内容进行编辑;
c:底线命令模式:
开始通常用于文件的保存,退出;
在这里插入图片描述

2:vim编辑器的快速体验

  • 进入vi编辑器会进入命令模式
  • 通过命令模式输入键盘指令,可以进入输入模式;
  • 输入模式需要退到命令模式,然后可以通过命令进入底线命令模式;
    在这里插入图片描述
    在这里插入图片描述

3:命令模式快捷键

我们知道命令模式下输入i可以进入插入功能,那我呢来了解一下其他的快捷键;
在这里插入图片描述

  • i在当前光标位置进入输入模式;
  • a在当前光标位置之后进入输入模式
  • I在当前行的开头进入输入模式;
  • A在当前行的结尾进入输入模式
  • o 在当前光标的下一行进入输入模式;
  • O在当前光标的上一行进入输入模式;
  • esc 退回到命令模式;
    在这里插入图片描述
  • 上下左右,kjhl光标上下左右移动;
  • 0:移动光标到开头;
  • $:移动光标到结尾;
  • pageup:向上翻页;
  • pagedowm:向下翻页;
  • /进入搜索模式
  • n向下搜索
  • N向上搜索;**
    在这里插入图片描述
    dd:删除当前行内容;
    ndd:删除当前行向下n行;
    yy:复制当前行
    nyy:复制当前n行;
    p:粘贴
    u:撤销(ctrl+z)
    gg:回到首行;
    G:跳到行尾;
    dG:从当前行开始向下全部删除;
    dgg:向上全部删除
    d$:从当前光标开始删除到本行结尾
    d0:从当前行开始删除到开头;

4:底线命令模式:

在这里插入图片描述
我们在命令模式中输入:进入底线命令模式:
:wq:保存并退出;
:q:仅退出
:w:仅保存;
:q!:强制退出
:set nu:显示行号;
:set paste:设置粘贴模式;(从外部复制内容,进入粘贴模式粘贴后不会产生格式的错乱


总结

这一章我们学习了一些常用的Linux命令如:ls,cd,mv,mkdir,touch,cat,more,which,find,grep,wc,echo,tail,cp的使用;然后我们还学了vim编辑器的使用及其的快捷命令;

标签:文件,txt,入门,Linux,命令,linux,test,第二章,目录
From: https://blog.csdn.net/2301_79748665/article/details/142897839

相关文章

  • Linux操作系统常见的命令
    目录ls命令cd命令pwd命令mkdir命令touch命令cat命令more命令cp命令(copy)mv命令(move)rm命令which命令find命令grep命令wc命令echo命令tail命令su-root切换到root用户ls命令:列出当前工作目录的内容语法:ls[-a-l-h][linux路径]-a-l-h和linux路径都......
  • linux 操作系统下的dpkg 命令介绍和使用案例
    dpkg命令介绍dpkg是Debian及其衍生版(如Ubuntu)中用于管理软件包的底层工具。它的全称为“DebianPackage”,主要用于安装、删除、构建和管理以.deb格式存在的软件包。虽然dpkg功能强大,但它不会自动处理软件包之间的依赖关系,因此在使用时需谨慎主要功能安装软件包:使用dpkg-i......
  • 600条最强 Linux 命令总结(珍藏版)
    https://mp.weixin.qq.com/s/O5dauj1TU66skvci_ST9Rw  一、基本命令uname-m显示机器的处理器架构uname-r显示正在使用的内核版本dmidecode-q显示硬件系统部件(SMBIOS/DMI)hdparm-i/dev/hda罗列一个磁盘的架构特性hdparm-tT/dev/sda在磁盘上执行测试性读......
  • Veritas NetBackup 10.5 (Unix, Linux, Windows) - 领先的企业备份解决方案
    VeritasNetBackup10.5(Unix,Linux,Windows)-领先的企业备份解决方案The#1enterprisebackupandrecoverysolution.请访问原文链接:https://sysin.org/blog/veritas-netbackup-10/查看最新版。原创作品,转载请保留出处。作者主页:sysin.org备份和恢复软件解决方案领......
  • Linux入门
    Linux入门文章目录Linux入门前言(为什么选择linux)一、linux启动过程二、Linux系统目录结构三、Linux文件基本属性五、Linuxvi/vim六、Linuxapt命令前言(为什么选择linux)一、linux启动过程Linux系统的启动过程可以分为5个阶段:1,内核的引导。当计算机打开电源......
  • UniApp入门教程
    UniAppX是一种用于构建跨平台应用程序的框架,它基于Vue.js并通过UniApp技术栈支持多种平台,如微信小程序、支付宝小程序、H5、Android和iOS。以下是UniAppX的一些关键特点和基础知识:UniAppX的特点跨平台支持:可以使用相同的代码基础,构建多个平台的应用。支持小程......
  • linux kernel编译
    编译x86的kernelexportARCH=x86_64exportCROSS_COMPILE=x86_64-linux-gnu-makedefconfigmake-j32中间出现了libelf.h找不到,sudoapt-getinstalllibelf-devbc解决。编译aarch64的kernelexportARCH=x86_64exportCROSS_COMPILE=x86_64-linux-gnu-makedefconfig......
  • 猫头虎分享:Python库 Selenium 的简介、安装、用法详解入门教程
    ......
  • Web前端开发入门学习笔记之CSS 43-47 --新手超级友好版-复合选择器+css特性篇
         Foreword写在前面的话: 大家好,我是一名刚开始学习HTML的新手。这篇文章是我在学习html过程中的一些笔记和心得,希望能和同样在学习HTML的朋友们分享。由于我的知识有限,文章中可能存在错误或不准确的地方,欢迎大家在评论区提出建议和指正。我非常期待大家的反馈,以便......
  • C语言在Linux上编程的步骤
    如果对你有帮助,请点个免费的赞吧,谢谢汪。(点个关注也可以!)如果以下内容需要补充和修改,请大家在评论区交流~让大家都看见1.编程前的准备1.1新建文件夹mkdir【选项】【文件名】1.2选择编程工具1.使用VScode:code【文件或者目录】2.使用vi编译器(这里先不使用)1.3打开编......