Linux基础命令

目录

Linux 目录结构:

Linux 系统:

ls [-a -l -h] [linux路径]

cd [Linux路径]

pwd

mkdir [-p] Linux路径

touch Linux路径

cat Linux路径 

more Linux路径  

cp [-r] 参数1 参数2

mv 参数1 参数2 

rm [-r -f] 参数1 参数2 ...参数n

which 要查找的命令

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

find 起始路径 -size +|-n[kMG]

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

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

管道符:|

echo 输出的内容

重定向符:>和>>

tail [-f -num] Linux路径

vi\vim编辑器

命令模式快捷键

光标移动

文本操作

搜索和替换

窗口操作

其他

底线命令模式快捷键

文件操作

编辑操作

搜索和替换

设置和选项

其他

命令选项说明


Linux 目录结构:

在Linux操作系统中,文件系统以一个单一的树状结构开始于根目录(用 / 表示)。以下是一些主要的目录及其用途:

  • / (根目录):所有文件和目录的起点。
  • /bin:包含基本系统命令的二进制文件。
  • /sbin:包含系统管理员使用的二进制文件。
  • /etc:包含系统配置文件。
  • /dev:包含设备文件。
  • /proc:包含系统进程的信息。
  • /var:包含变量文件,如日志文件、数据库文件等。
  • /tmp:用于存放临时文件。
  • /usr:用于存放用户程序和文件。
  • /home:包含普通用户的主目录。

Linux 系统:

  • 使用正斜杠 / 来分隔路径中的各个部分,表示文件或目录的层级关系。
  • 例如:/home/user/documents/file.txt 表示在根目录下的 home 目录中,有一个名为 user 的目录,在该目录下有一个名为 documents 的目录,最后在该目录下有一个名为 file.txt 的文件。
  • 出现在开头的/表示:根目录
  • 出现在后面的/表示:层次关系

在Linux中,命令有其通用的格式:

command [-options] [parameter]

command: 命令本身

-options: [可选,非必填]命令的一些选项,可以通过选项控制命令的行为细节

parameter: [可选,非必填]命令的参数,多数用于命令的指向目标等

[],表示可选的意思

Linux命令的本体就是一个个的二进制可执行程序,和Windows系统中的.exe文件,是一个意思。

ls [-a -l -h] [linux路径]

基本的 ls 命令用于列出指定目录下的子目录和文件列表。如果不指定任何路径,则默认列出当前工作目录的内容。

选项:

  • -a: 显示所有文件和目录,包括以点(.)开头的隐藏文件。
  • -l: 使用长格式列出文件和目录的详细信息,包括权限、所有者、大小、最后修改日期等。
  • -h: 与 -l 选项配合使用,以可读的格式(例如 KB、MB)显示文件大小。

选项可以组合使用 

参数:

  • [linux路径]: 指定要列出内容的目录路径。如果不提供此参数,ls 命令会列出当前目录的内容。

cd [Linux路径]

cd 命令是用于在文件系统中更改目录的命令。它允许用户从一个目录移动到另一个目录。

其中 [Linux路径] 是您想要切换到的目录的路径。这可以是一个绝对路径(从根目录开始的完整路径)或相对路径(从当前目录开始的路径)。

cd 命令通常不带选项,它只接受参数。参数指定了您想要切换到的目标目录。

如果您直接执行 cd 命令而不带任何参数(即 cd),它将带您回到您的HOME目录。这是 cd 命令的一个特殊功能,它提供了一个快速回到起始点的快捷方式。

pwd

pwd 命令用于显示用户当前所在的目录路径,即当前工作目录(Working Directory)的完整路径。

使用 ls 命令可以列出当前目录下的文件和目录,但它不会显示当前目录的路径。因此,如果要确认当前所在的具体路径,使用 pwd 命令是更为恰当的方式。

pwd 命令是 “Print Working Directory” 的缩写,它的作用正是打印出当前的工作目录。

语法非常简单:直接输入 pwd 而不需要任何选项或参数。

当您在终端中输入 pwd 并按回车键时,系统会立即返回当前工作目录的路径。

绝对路径:以根目录为起点,描述路径的一种写法,路径描述以/开头

相对路径:以当前目录为起点,描述路径的一种写法,路径描述无需以/开头

特殊路径符:

•   .  表示当前目录,比如 cd ./Desktop 表示切换到当前目录下的Desktop目录内,和cd Desktop效果一致

•   ..  表示上一级目录,比如:cd ..   即可切换到上一级目录,cd ../..  切换到上二级的目录

•   ~  表示HOME目录,比如:cd ~    即可切换到HOME目录或cd ~/Desktop,切换到HOME内的Desktop目录

mkdir [-p] Linux路径

通过mkdir命令可以创建新的目录(文件夹)。

参数必填,表示Linux路径,即要创建的文件夹的路径,相对路径或绝对路径均可

-p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录

  1. 在没有父目录的情况下直接创建子目录会报错

    尝试在Linux系统中创建一个新目录,但指定的路径中包含的父目录并不存在时,mkdir命令会报错,因为它无法创建一个不存在的父目录的子目录。
  2. 通过-p选项来创建整个链条

    使用 mkdir -p 命令可以一次性创建整个目录链,包括所有必要的父目录。如果父目录已经存在,mkdir不会重复创建它们,只会创建那些不存在的目录。例如,命令 mkdir -p /home/user/newdir/subdir 会创建 /home/user/newdir 以及其下的 /home/user/newdir/subdir,即使 /home/user/newdir 之前不存在。
  3. 创建文件时需要修改权限,确保操作都在HOME目录内

    在Linux系统中,文件权限决定了用户能否创建、读取、写入或执行文件。如果用户尝试在没有适当权限的目录中创建文件或目录,操作可能会失败。通常,普通用户在自己的HOME目录下拥有完全的权限,但在其他目录下可能没有权限创建文件或目录。

touch Linux路径

通过touch命令创建文件。

touch命令无选项,参数必填,表示要创建的文件路径,相对、绝对、特殊路径符均可以使用

cat Linux路径 

通过cat命令查看文件的内容。

cat同样没有选项,只有必填参数,参数表示:被查看的文件路径,相对、绝对、特殊路径符都可以使用 

more Linux路径  

more命令同样可以查看文件内容,同cat不同的是:

cat 是直接将内容全部显示出来
more 支持翻页,如果文件内容过多,可以一页页的展示

只有必填参数,参数表示:被查看的文件路径,相对、绝对、特殊路径符都可以使用 

在查看过程中,用户可以通过输入空格键来翻页,也可以通过输入q来退出查看。 

cp [-r] 参数1 参数2

cp命令可以用于复制文件\文件夹,cp命令来自英文单词:copy 

  • -r选项,可选,用于复制文件夹使用,表示递归
  • 参数1Linux路径,表示被复制的文件或文件夹
  • 参数2Linux路径,表示要复制去的地方

复制文件夹,必须使用-r选项,否则不会生效 

mv 参数1 参数2 

mv命令可以用于移动文件\文件夹,mv命令来自英文单词:move 

  • 参数1,Linux路径,表示被移动的文件或文件夹
  • 参数2,Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在

目标不存在,则有改名的效果 

rm [-r -f] 参数1 参数2 ...参数n

rm命令可用于删除文件、文件夹 

  • -r选项用于删除文件夹
  • -f表示force,强制删除(不会弹出提示确认信息)
  • •普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示
  • •所以一般普通用户用不到-f选项
  • 参数1、参数2、......、参数n 表示要删除的文件或文件夹路径,按照空格隔开
通过 su - root,并输入密码123456(和普通用户默认一样)临时切换到root用户体验
通过输入exit命令,退回普通用户。(临时用root,用完退出) 

rm命令支持通配符 *,用来做模糊匹配

•符号* 表示通配符,即匹配任意内容(包含空)
示例:
•test*,表示匹配任何以test开头的内容
•*test,表示匹配任何以test结尾的内容
•*test*,表示匹配任何包含test的内容

在root管理员用户下执行:

rm -rf /

rm -rf /*

效果等同于在Windows上执行C盘格式化。

which 要查找的命令

可以通过which命令,查看所使用的一系列命令的程序文件存放在哪里 

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

在Linux系统中,我们可以通过find命令去搜索指定的文件。类似在图形化中,通过系统提供的搜索功能,搜索指定的文件。

可以切换到root用户以获得管理员权限,执行命令:su - root,输入密码,确保拥有最大权限。

例如:

查找文件名叫做:test的文件,从根目录开始搜索:

find / -name “test”

被查找文件名,支持使用通配符 * 来做模糊查询。

find 起始路径 -size +|-n[kMG]

按文件大小查找文件

  • +、-表示大于和小于
  • n表示大小数字
  • kMG表示大小单位,k(小写字母)表示kb,M表示MB,G表示GB

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

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

  • 选项-n,可选,表示在结果中显示匹配的行的行号。
  • 参数,关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用””将关键字包围起来
  • 参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口

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

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

  • 选项,-c,统计bytes数量
  • 选项,-m,统计字符数量
  • 选项,-l,统计行数
  • 选项,-w,统计单词数量
  • 参数,文件路径,被统计的文件,可作为内容输入端口

管道符:|

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

可以嵌套使用

echo 输出的内容

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

复杂内容可以用””包围

带有空格或\等特殊符号,使用双引号包围,因为不包围的话,空格后很容易被识别为参数2

通过将命令用反引号(通常也称之为飘号)`将其包围,被`包围的内容,会被作为命令执行,而非普通字符

重定向符:>>>

  • >,将左侧命令的结果,覆盖写入到符号右侧指定的文件中
  • >>,将左侧命令的结果,追加写入到符号右侧指定的文件中

tail [-f -num] Linux路径

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

  • 参数,Linux路径,表示被跟踪的文件路径
  • 选项,-f,表示持续跟踪
  • 选项, -num,表示,查看尾部多少行,不填默认10

vi\vim编辑器

vi\vim 文件路径

如果文件路径表示的文件不存在,那么此命令会用于编辑新文件

如果文件路径表示的文件存在,那么此命令用于编辑已有文件

vim兼容全部的vi功能

vi\vim是visual interface的简称, 是Linux中最经典的文本编辑器。

同图形化界面中的 文本编辑器一样,vi是命令行下对文本文件进行编辑的绝佳选择。

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

通过vi/vim命令编辑文件,会打开一个新的窗口:命令模式窗口

命令模式(Command mode)  

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

输入模式(Insert mode)  

也就是所谓的编辑模式、插入模式。  此模式下,可以对文件内容进行自由编辑。

底线命令模式(Last line mode)  

以:开始,通常用于文件的保存、退出。

  1. 命令模式(Command Mode):这是启动vi/vim后默认进入的模式。在命令模式下,可以执行各种编辑命令,如移动光标、删除文本、复制和粘贴等,但不直接输入文本。

  2. 输入模式(Insert Mode):在命令模式下,通过输入特定的插入命令(如iao等),可以进入输入模式。在输入模式下,可以像使用普通文本编辑器一样编辑文件。

  3. 底线命令模式(Last Line Mode):在命令模式下,通过输入冒号:可以进入底线命令模式。在这个模式下,您可以执行保存文件、退出编辑器、查找和替换文本等操作。

以下是这些模式之间的转换方法:

  • 命令模式到输入模式:在命令模式下,输入以下命令之一可以进入输入模式:

    • i:在光标位置前插入
    • a:在光标位置后插入
    • o:在光标所在行的下一行插入新行
    • I:在当前行的行首插入
    • A:在当前行的行尾插入
    • 等等。
  • 输入模式到命令模式:只需按下Esc键即可退回到命令模式。

  • 命令模式到底线命令模式:在命令模式下,输入:(冒号)即可进入底线命令模式。

  • 底线命令模式到命令模式:在底线命令模式下,按下Enter键执行命令后,会自动回到命令模式。

命令模式快捷键

在命令模式下,Vi/Vim 提供了许多快捷键来提高编辑效率。以下是一些常用的命令模式快捷键:

光标移动

  • h 或 :向左移动光标。
  • j 或 :向下移动光标。
  • k 或 :向上移动光标。
  • l 或 :向右移动光标。
  • 0(数字零):移动到行首。
  • ^:移动到行首的第一个非空白字符。
  • $:移动到行尾。
  • w:移动到下一个单词的开头。
  • W:移动到下一个空白分隔的单词的开头。
  • e:移动到当前单词的末尾。
  • E:移动到当前空白分隔的单词的末尾。
  • b:移动到上一个单词的开头。
  • B:移动到上一个空白分隔的单词的开头。
  • {:移动到上一段的开头。
  • }:移动到下一段的开头。
  • gg:移动到文件的开头。
  • G:移动到文件的末尾。
  • nG:移动到第 n 行的开头(n 是行号)。

文本操作

  • x:删除光标所在位置的字符。
  • X:删除光标前一个位置的字符。
  • d:开始删除操作,后面可以跟移动命令(如 dw 删除单词,dd 删除整行)。
  • c:开始修改操作,后面可以跟移动命令(如 cw 修改单词,cc 修改整行)。
  • y:复制文本,后面可以跟移动命令(如 yw 复制单词,yy 复制整行)。
  • p:在光标后粘贴。
  • P:在光标前粘贴。
  • u:撤销最后一次修改。
  • Ctrl + r:重做最后一次撤销。

搜索和替换

  • /:正向搜索(输入模式)。
  • ?:反向搜索(输入模式)。
  • n:重复上一次搜索。
  • N:反向重复上一次搜索。

窗口操作

  • :split 或 :sp:水平分割窗口。
  • :vsplit 或 :vsp:垂直分割窗口。
  • Ctrl + w + h/j/k/l:在窗口之间切换。

其他

  • .:重复上一次的修改操作。
  • Esc:退出插入模式、底线命令模式等,返回命令模式。

底线命令模式快捷键

文件操作

  • :w:保存文件(write)。
  • :wq 或 :x:保存并退出文件。
  • :q:退出文件(如果未做修改)。
  • :q!:强制退出文件,不保存更改。
  • :w filename:将当前缓冲区保存到另一个文件。
  • :saveas filename:另存为另一个文件名。

编辑操作

  • :e filename:编辑另一个文件。
  • :split filename:水平分割窗口并打开另一个文件。
  • :vsplit filename:垂直分割窗口并打开另一个文件。
  • :bn:跳转到下一个缓冲区。
  • :bp:跳转到上一个缓冲区。

搜索和替换

  • :/pattern:从当前光标位置向下搜索模式。
  • :?pattern:从当前光标位置向上搜索模式。
  • :%s/old/new/g:在整篇文章中替换所有的 “old” 为 “new”。
  • :%s/old/new/gc:在整篇文章中替换所有的 “old” 为 “new”,并在每次替换前进行确认。

设置和选项

  • :set number:显示行号。
  • :set nonumber:不显示行号。
  • :set spell:开启拼写检查。
  • :set nospell:关闭拼写检查。
  • :set tabstop=4:设置制表符宽度为4个空格。
  • :syntax on:开启语法高亮。
  • :syntax off:关闭语法高亮。

其他

  • :!command:执行一个外部命令。
  • :r !command:读取外部命令的输出并将其插入到文件中。
  • :history:显示命令历史。
  • :help command:显示关于 “command” 的帮助。

底线命令模式下的命令通常以冒号 : 开头,后面跟随命令和参数。

命令选项说明

任何命令都支持:--help 选项, 可以通过这个选项,查看命令的帮助。

如:ls --help 会列出ls命令的帮助文档

如果想要查看命令的详细手册,可以通过manmanual 手册)命令查看

比如:

man ls ,就是查看 ls 命令的详细手册
man cd ,就是查看 cd 命令的详细手册

大多数手册都是全英文的,如果阅读吃力,可以通过重定向符:man ls > ls-man.txt,输出手册到文件,然后通过翻译软件翻译内容查看  

  • 19
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值