Skip to main content

命令&命令行

  • 命令:即Linux程序。一个命令就是一个Linux的程序。命令没有图形化页面,可以在命令行(终端中)提供字符化的反馈。
  • 命令行:即Linux终端(Terminal),是一种命令提示符页面。以纯”字符“的形式操作系统,可以使用各种字符化命令对系统发出操作指令。

命令基础格式

command [-options] [parameter]

  • command:命令本身
  • -options:[可选,非必填]命令的一些选项,可以通过选项控制命令的行为细节
  • parameter:[可选,非必填]命令的参数,多数用于命令的指向目标等

ls命令

列出目录下的内容,ls [-a -l -h] [Linux路径]

  • -a -l -h是可选的选项
    • -a:全部的意思,列出全部文件(包含隐藏的文件/文件夹,开头有 . 的文件/文件夹为隐藏文件/文件夹)
    • -l:以列表(竖向排列)的形式展示内容,并展示更多信息
    • -h:以易于阅读的形式,列出文件大小,如K、M、G,必须搭配-l一起使用
  • Linux路径是此命令可选的参数
  • 写法:ls -l -a == ls -la == ls -al

目录切换命令(cd/pwd)

cd

  • cd切换工作目录:当Linux终端(命令行)打开的时候,会默认以用户的HOME目录作为当前的工作目录

    cd [Linux路径]

  • cd命令无需选项,只有参数,表示要切换到哪个目录下

  • cd命令直接执行,不写参数,表示回到用户的HOME目录

pwd

  • 通过pwd命令来查看当前所在的工作目录

    pwd

  • pwd命令,无选项,无参数,直接输入pwd

相对路径&绝对路径

  • cd Desktop,以当前目录为起点,描述路径的一种写法,路径描述无需以/开头
  • cd /home/itheima/Desktop,以根目录为起点,描述路径的一种写法,路径描述以/开头

特殊路径符

  • .:表示当前目录,比如cd ./Desktop表示切换到当前目录下的Desktop目录内,和cd Desktop效果一致
  • ..:表示上一级目录,比如:cd .. 即可切换到上一级目录,cd ../..切换到上二级的目录
  • ~:表示HOME目录,比如:cd ~ 即可切换到HOME目录或cd ~/Desktop,切换到HOME内的Desktop目录

创建目录命令(mkdir)

  • 可创建新的目录(文件夹)

    mkdir [-p] Linux路径

  • 参数必填,表示Linux路径,既要创建的文件夹的路径

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

文件操作命令

touch

  • 创建文件

    touch Linux路径

  • touch命令无选项,参数必填,表示要创建的文件路径

cat

  • 查看文件内容

    cat Linux路径

  • 没有选项,只有必填参数,参数表示:被查看的文件路径

more

  • 查看文件内容,但与cat不同:
    • cat是直接将内容全部显示出来
    • more支持翻页,如果文件内容过多,可以一页页展示

more Linux路径

  • 没有选项,参数表示:被查看的文件路径
    • 可通过空格翻页
    • 通过q退出查看

cp

  • 可以用于复制文件\文件夹

    cp [-r] 参数1 参数2

  • -r选项,可选,用于复制文件夹使用,表示递归

  • 参数1,Linux路径,表示被复制的文件或文件夹

  • 参数2,Linux路径,表示要复制去的地方

mv

  • 可以用于移动文件\文件夹

    mv 参数1 参数2

  • 参数1,Linux路径,表示被移动的文件或文件夹

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

可以用作重命名操作

rm

  • 可用于删除文件、文件夹

    rm [-r -f] 参数1 参数2 …… 参数N

  • 同cp命令一样,-r选项用于删除文件夹

  • -f表示force,强制删除(不会弹出提示确认信息)

    • 普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示
    • 所以一般普通用户用不到-f选项
  • 参数1 参数2 …… 参数N表示要删除的文件或文件夹路径,按照空格隔开

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

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

查找命令

之前的linux命令,本体是二进制可执行程序

which

  • 查看所使用的一系列命令的程序文件存放在哪里

    which 要查找的命令

查找文件

find

  • 搜索指定的文件-按文件名查找

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

  • 获取最大权限可以全局查找

    su - root 密码:123456

  • 根据文件大小查找文件

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

    • +、-表示大于和小于
    • n表示大小数字
    • kMG表示大小单位,k(小写字母)表示kb,M表示MB,G表示GB
  • 通配符,模糊查询:

    • test*,表示匹配任何以test开头的内容
    • *test,表示匹配任何以test结尾的内容
    • *test*,表示匹配任何包含test的内容

grep命令

  • 从文件中通过关键字过滤文件行

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

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

  • 关键字参数,必填,表示过滤的关键字,带有空格或其他符号,建议使用“ ”将关键字包围起来

  • 文件路径参数,必填,表示要过滤内容的文件路径,可作为内容输入端口

数量统计wc

  • 统计文件的行数、单词数量等

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

  • -c:统计bytes数量

  • -m:统计字符数量

  • -l:统计行数

  • -w:统计单词数量

  • 文件路径:被统计的文件,可作为内容输入端口

管道符 |

  • 将管道符左边命令的结果,作为右边命令的输入
  • 如:cat itheima.txt | grep itheima

echo命令

  • 可在命令行内输出指定内容

    echo 输出的内容

  • 只有一个参数,表示要输出的内容,复杂内容可以用“ ”包围

反引号`

  • 被反引号包围的内容会被作为命令执行,而非普通字符

    echo pwd

重定向符> >>

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

tail命令

  • 可以查看文件尾部内容,跟踪文件的最新更改

    tail [-f -num] Linux路径

  • Linux路径:表示被跟踪的文件路径

  • -f:表示持续跟踪,若使用新终端更新对应文件,该命令则可以获得最新更改

  • -num:表示查看尾部多少行,默认10行

vi编辑器

  • vi\vim是Linux中最经典的文本编辑器
  • vi是命令行下对文本文件进行编辑的绝佳选择,vim是vi的加强版本,兼容vi的所有指令,不仅能编辑文本,而且还具有shell程序编辑的功能,可以不同颜色的字体来辨别语法的正确性,极大方便了程序的设计和编辑性

命令模式

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

    进入:vi\vim 文件路径 退出::wq

    • 如果文件路径表示的文件不存在,那么此命令会用于编辑新文件
    • 如果文件路径表示的文件存在,那么次命令用于编辑已有文件
命令描述
i在当前光标位置进入输入模式
a在当前光标位置 之后 进入输入模式
I在当前的开头,进入输入模式
A在当前行的结尾,进入输入模式
o在当前光标下一行进入输入模式
O在当前光标上一行进入输入模式
esc任何情况下输入esc都能回到命令模式
/进入搜索模式
n向下继续搜索
N向上继续搜索
dd删除光标所在行的内容
nddn是数字,表示删除当前光标向下n
yy复制当前行
nyyn是数字,复制当前行和下面的n行
p粘贴复制的内容
u撤销修改
ctrl+r反向撤销修改
gg跳到首行
G跳到行尾
dG从当前行开始,向下全部删除
dgg从当前行开始,向上全部删除
d$从当前光标开始,删除到本行的结尾
d0从当前光标开始,删除到本行的开头

输入模式

  • 编辑模式、插入模式,可对文件内容进行自由编辑

    进入:先进入命令模式,i\a\o…… 退出:ESC键

底线命令模式

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

​ 进入:先进入命令模式,: 退出:回车键

:wq保存并退出
:q仅退出
:q!强制退出
:w仅保存
:set nu显示行号
:set paste设置粘贴模式