部分Linux基础命令

目录

Linux目录结构以及路径表达形式

Linux命令

Linux命令基础格式

ls命令

目录切换命令(cd/pwd)

相对路径和绝对路径 

Linux中的一些特殊路径符号:

 创建目录命令(mkdir)

文件操作命令

查找操作

-echo -tail -重定向符

-grep -wc -管道符

vi\vim编辑器

光标移动类

文本编辑类

删除操作:

复制粘贴操作:

查找替换类

文件操作类

结语


Linux目录结构以及路径表达形式

在windows系统中,系统可以有多个盘符,比如C盘、D盘、E盘等等,但是Linux没有盘符这个概念,只有一个根目录 ,和windows一样是树形结构,所有的文件都在他的下面,如图:

windows目录:

Linux目录:

在Windows中,路径之间的层级关系用\来表示,而在Linux中用/表示。

比如在D盘的date目录下面有一个main.cpp文件,我们就这么表示他的路径:

D:\date\main.cpp

D:表示D盘,\表示层级关系

比如在Linux根目录下面也有一个 date目录,下面有也一个main.cpp文件,我们就这么表示他的路径:

/date/main.cpp

其中第一个/表示根目录,后面的/表示层级关系。

Linux命令

学习Linux,本质上就是在学习在命令行下熟练使用Linux的各种命令,他的命令行的操作效率是远大于他的图形化操作效率的。

Linux命令基础格式

在Linux系统中,无论是什么命令,都有其通用的格式:

command [-options] [parameter]

其中command是命令本身,-options是命令的一些选项,parameter是命令的参数,后面两者是可选非必填的。

例如:

ls -l /home/main.cpp 就是用列表的形式展示/home/main.cpp里面的内容;

cp -r text1 text2 就是让cp命令以递归的方式复制文件夹text1变成text2。

所以Linux命令就是由本体、选项、参数三部分构成的。

ls命令

ls(list)的命令的作用就是以平铺的形式列出当前工作目录下的内容,默认情况下是home目录(默认在:/home/用户名)。

部分ls命令的选项以及选项的组合使用:

  • -l

    • 作用:以长格式显示文件和目录的详细信息,包括文件类型、权限、硬链接数、所有者、所属组、文件大小、修改时间及文件名等。
    • 示例:ls -l
  • -a

    • 作用:显示所有文件和目录,包括以点(.)开头的隐藏文件和目录。
    • 示例:ls -a
  • -h

    • 作用:与-l选项结合使用,以人类可读的格式显示文件大小,将文件大小以更直观的单位(如 KB、MB、GB 等)显示出来。
    • 示例:ls -lh
  • -t

    • 作用:按照文件的修改时间进行排序,最新修改的文件排在最前面。
    • 示例:ls -lt
  • -S

    • 作用:按照文件大小进行排序,从大到小排列。
    • 示例:ls -S
  • -r

    • 作用:反转排序顺序。可与其他排序选项(如-t-S等)结合使用,改变原本的排序方向。
    • 示例:ls -rt
  • -R

    • 作用:以递归的方式显示目录及其子目录下的所有文件和目录信息。
    • 示例:ls -R

目录切换命令(cd/pwd)

使用cd(change directory)命令就可以切换当前的工作目录,例如,在默认情况下我们的默认工作目录在home目录,我们在finalshell用cd切换到根目录:

如果cd后面不接参数,默认情况下是回到home目录。

上述我们用ls来验证当前的工作目录是不恰当的,它显示的是当前的工作目录里面的内容。我们可以用pwd(print working directory)命令来查看当前的工作目录:

相对路径和绝对路径 

相对路径:

比如我们想找到根目录下lib的games目录:

相对路径就是以当前目录为起点,路径的描述不需要以/为开头;

绝对路径:

如果想找的路径不在当前目录的下面,就不能用相对路径来查找,就必须使用绝对路径查找。 

Linux中的一些特殊路径符号:

    “.”(当前目录符)

  • 含义及作用:“.” 表示当前目录本身。在一些情况下,比如执行某个程序或脚本时,如果需要指定在当前目录下进行操作,可以使用 “.” 来表示当前目录的路径。

  • 示例:若有一个脚本文件 “test.sh” 位于当前目录下,要执行它,可以输入 “./test.sh”,这里的 “.” 就是指当前目录,告诉系统在当前所在的目录中寻找并执行这个脚本。

  • “..”(上级目录符)

  • 含义及作用:“..” 用于指代当前目录的上一级目录。在进行文件路径操作时,比如切换目录(使用 “cd” 命令)等,可以利用 “..” 快速回到上一级目录或者构建相对路径。

  • 示例:假设当前目录是 “/home/user/documents”,那么执行 “cd..” 命令,就会切换到 “/home/user” 目录,也就是当前目录的上一级目录。如果执行“cd../..”那么就会切换到“/home"目录。

  •   “-”(上一次所在目录符)

  • 含义及作用:“-” 用于表示上一次所在的目录。在切换目录的操作中,当需要频繁在两个相邻目录之间来回切换时,可以利用 “-” 这个符号快速实现。

  • 示例:假设先从目录 “A” 切换到目录 “B”,然后执行 “cd -”,就会再次回到目录 “A”,也就是上一次所在的目录。

  • “~”(home符)

  • 含义及作用:“~” 代表当前用户的主目录。每个用户在 Linux 系统中都有一个专属的主目录,通常位于 “/home” 目录下(对于普通用户),以用户的用户名作为目录名。使用 “~” 可以方便地在命令中指定用户主目录相关的路径。
  • 示例:要查看用户主目录下的文件列表,可以输入 “ls ~”,这就相当于输入 “ls /home/user”(假设当前用户是 “user”),会列出用户主目录下的所有文件和目录。

 创建目录命令(mkdir)

 基础语法:mkdir [选项] 目录名

例如我们在home目录下简单创建一个yong文件夹:

我们可以看到在home路径下多了个yong文件夹。

部分常用选项参数: 

       -p

  • 作用:递归创建目录。如果要创建的目录路径中包含不存在的父目录,使用该选项可以自动创建这些父目录,确保目录创建成功。
  • -v
  • 作用:在创建目录时显示详细的创建过程信息,即会输出正在创建的目录名称等相关信息。

例如如果我们想创建一个层级文件夹,我们就必须加上选项参数,不然会创建失败,因为目录路径中 包含不存在的父目录:

以上是在home文件夹内创建,如果脱离home目录创建文件夹会涉及权限问题,例如:

文件操作命令

1、touch 创建文件 

touch linux路径

touch命令没有选项,参数必填,表示要创建的文件路径,相对,绝对,特殊路径都可以使用。例如:

2、cat 查看文件内容 

cat和touch命令一样没有选项,参数必填,表示要查看的文件路径,相对,绝对,特殊路径都可以使用。

比如我们在上述创建的yong.txt写上以下内容:

 

3、more 查看文件内容

more和cat一样可以查看文件内容,但是和cat不一样的是 ,cat是直接把内容显示出来,more支持翻页,如果文件内容过多,可以一页一页展示。

查看的过程中通过空格翻页,通过q退出查看。

 4、cp(copy)命令复制文件夹

语法:cp [-r] 参数1 参数2

其中-r选项可选,用于复制文件夹,参数1是被复制的文件或者文件夹,参数2是要复制去的地方。

5、mv(move)移动文件或文件夹

 语法:mv 参数1 参数2

参数1表示被移动的文件或者文件夹,参数2表示要移动的地方。

如果目标不存在,则自身进行改名,确保目标存在。

当使用 mv 命令尝试把一个文件移动到另一个文件时,实际上是将源文件移动到目标文件所在的目录,并将其重命名为目标文件的名称。

6、rm(remove)删除文件、文件夹

语法:rm [-r -f] 参数1 参数2 ....参数N

-r和cp一样,用于文件夹操作;-f表示force,表示强制删除(不会弹出提示确认信息)

rm命令支持通配符*,匹配任意内容,用来做模糊匹配:

*test,表示匹配任意以test开头的内容

test*,表示匹配任意以test结尾的内容

*test*,表示匹配任意包含test的内容

我们可以切换到root用户,普通用户下不会弹出确认信息:

查找操作

which命令

Linux命令他们的本体本质上就是一个个的二进制可执行程序,和windows中的.exe文件是一个意思。我们可以用which命令查看所使用的一系列命令程序的文件放哪里。

例如:

find命令-按文件名查找文件

语法:find 起始路径 -name "被查找文件名"

           find 起始路径 -size +/- n[KMG]

find命令也可以搭配通配符来进行模糊名称查找。

-echo -tail -重定向符

echo命令

可以使用echo命令在命令行输出指定内容。

语法:echo "输出的内容"

反引号 `

被他包围的内容会被当做命令去执行,而不是普通字符。

命令替换功能:

反引号允许将一个命令的输出作为另一个命令的参数来使用。当 Shell(如 Bash 等常见的 Linux Shell)遇到反引号包裹的内容时,会先执行反引号内的命令,然后将该命令的输出结果替换到原本反引号所在的位置,作为外层命令的参数继续执行外层命令。

重定向符:>和>>

>将左侧命令的结果覆盖写道右侧的指定文件中;

>>将左侧命令的结果追加写道右侧的指定文件中;

例如:

只要能产生结果的都可以往右边写。比如:

tail命令 

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

语法:

tail [-f -num] Linux路径

其中选项-f表示持续跟踪,-num表示查看尾部多少行,不填默认是十行。

Ctrl+c可以强制停止持续跟踪。

-grep -wc -管道符

grep

通过grep命令,可以从文件中通过关键字过滤文件行。

语法:grep [-n] 关键字 文件路径

选项 -n可选,表示结果中显示匹配的行号。

参数关键字和文件路径必须填,代表要过滤的关键字和过滤内容的文件路径,可作为内容输入端口。

例如

wc

可以通过wc命令统计文件的行数,单词数量等。

语法:wc [-c -m -l -w] 文件路径

选项 -c:统计bytes数量。

        -m:统计字符数量。

        -l:统计行数。

        -w:统计单词数量。

参数文件路径可作为内容输入端口。

管道符 |

管道符的含义是:将管道符左边命令的结果作为右边命令的输入。

例如搭配grep、wc:

比如我们还可以统计文件数量等:

这些只是管道符在Linux中的部分常见应用场景,实际上它还有很多其他的应用,通过不同命令的嵌套组合可以实现各种各样的复杂任务。

vi\vim编辑器

vi 和 vim 都是在 Linux 和 Unix 系统中广泛使用的文本编辑器,vim 可以看作是 vi 的增强版。

不仅能编辑文本,而且还具有shell程序编辑功能,语法增亮、自动补全、多窗口操作、插件拓展等等。

vim有三个工作模式,默认在命令模式中。

在这个模式下,不能直接输入文本内容,但可以通过输入各种特定的命令字符来执行众多操作,比如移动光标、删除文本、复制粘贴文本、查找替换等。

从命令模式切换到输入模式有多种方式,如按 “i” 键可在当前光标位置插入文本;按 “a” 键可在当前光标后插入文本;按 “o” 键可在当前行下方新开一行并插入文本;按 “I” 键可移动到当前行的第一个非空白字符处并插入文本;按 “A” 键可移动到当前行的末尾并插入文本;按 “O” 键可在当前行上方新开一行并插入文本。按下Esc可切换命令操作。

在输入模式下,就如同在普通文本编辑器中一样,可以正常输入文字、数字、符号等各种字符内容,用于对文本进行编辑、添加新内容等操作。

从命令模式输入 “:” 即可进入底线命令模式

在底线命令模式下,主要用于执行一些全局的操作和设置,比如保存文件、退出编辑器、对文件进行查找替换等操作。

Vim 编辑器拥有丰富的键盘快捷指令,以下是一些常见且实用的:

光标移动类
  • 基本方向移动
    • h:向左移动光标,相当于左箭头键。
    • j:向下移动光标,相当于下箭头键。
    • k:向上移动光标,相当于上箭头键。
    • l:向右移动光标,相当于右箭头键。
  • 以单词为单位移动
    • w:移动到下一个单词的开头。
    • b:移动到上一个单词的开头。
    • e:移动到当前单词的结尾。
  • 行首行尾移动
    • 0(数字零):移动到当前行的开头(不包括缩进)。
    • ^:移动到当前行的第一个非空白字符处。
    • $:移动到当前行的末尾。
  • 屏幕移动
    • Ctrl + f:向下滚动一屏。
    • Ctrl + b:向上滚动一屏。
    • Ctrl + d:向下滚动半屏。
    • Ctrl + u:向上滚动半屏。
文本编辑类
  • 插入模式切换
    • i:在当前光标位置插入文本(已介绍过)。
    • a:在当前光标后插入文本(已介绍过)。
    • o:在当前行下方新开一行并插入文本(已介绍过)。
    • I:移动到当前行的第一个非空白字符处并插入文本。
    • A:移动到当前行的末尾并插入文本。
    • O:在当前行上方新开一行并插入文本。
  • 删除操作
    • x:删除光标所在位置的一个字符。
    • X:删除光标前面的一个字符。
    • dd删除当前行。
    • D:删除从光标位置到当前行末尾的所有内容。
    • dw:删除从光标位置到下一个单词开头的所有内容。
    • db:删除从光标位置到上一个单词开头的所有内容。
  • 复制粘贴操作
    • yy复制当前行。
    • p:将复制或剪切的内容粘贴到光标所在位置之后。
    • P:将复制或剪切的内容粘贴到光标所在位置之前。
    • y$:复制从光标位置到当前行末尾的所有内容。
    • y^:复制从光标位置到当前行第一个非空白字符处的所有内容。
    • yw:复制从光标位置到下一个单词开头的所有内容。
    • yb:复制从光标位置到上一个单词开头的所有内容。
查找替换类
  • 查找操作
    • / 关键词:在文档中向下查找指定的关键词,输入关键词后按回车键开始查找,按 “n” 键可继续查找下一个匹配项,按 “m” 键可查找上一个匹配项。
    • ? 关键词:在文档中向上查找指定的关键词,同样输入关键词后按回车键开始查找,按 “n” 、“m” 键的作用与向下查找时相同。
  • 替换操作
    • :s / 旧词 / 新词 /g:在当前行中将所有的旧词替换为新词,“g” 表示全局替换,如果不写 “g”,则只替换第一个匹配项。
    • :% s / 旧词 / 新词 /g:在整个文档中将所有的旧词替换为新词。
文件操作类
  • 保存文件
    • :w:保存当前正在编辑的文件。
    • :w!:强制保存当前文件,即使文件有修改但未保存且可能存在权限问题等情况。
  • 退出编辑器
    • :q:退出 vim 编辑器,如果文件有修改未保存,会提示错误信息。
    • :q!:强制退出 vim 编辑器,会丢失修改的内容。
    • :wq:保存并退出 vim 编辑器。
    • :x:保存并退出 vim 编辑器,功能与:wq 类似,但如果文件未修改,:x 不会更新文件的修改时间。

结语

以上就是关于部分Linux基础命令的阐述和总结,如有不当还请指出~😎😎😎.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值