超详细的Linux基础命令

简介: 超详细的Linux基础命令


前言

前面我们知道了什么是 Linux,以及如何在 Windows 系统上通过 VMware 来搭建Linux 系统环境。知道了这些之后,我们便可以开始操作 Linux了,那么今天我将为大家分享Linux 的基础命令

Linux目录结构

在使用基础命令之前,我们首先要知道 Linux 的目录结构,因为它跟 Windows 系统的目录结构是不同的。Windows 系统下可以有多个根目录,像我们的 C 盘和 D 盘,Windows 系统下不同层级的目录之间使用 \ 或者 / 来分隔。


但是 Linux 系统只有一个根目录 / 。并且不同层级的目录使用 / 来分隔。


例如:bob 的绝对路径就是 /home/bob/

什么是绝对路径,什么是相对路径?

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


Linux命令通用格式

command [-options] [parameter]

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


ls 命令

ls 命令的作用是列出当前工作目录下的内容。

ls [-a -l -h] [Linux文件路径]


-a 选项,表示所有,包含隐藏的文件

-l 选项,会将文件以列表的形式展开,也就是一行一行展示,并且会展示出文件的详细信息

-h 选项,需要搭配着 -l 选项使用,-h 选项会显示出文件大小的单位

这些选项都是可以搭配着使用的。


可以这样搭配 -a -l -l -h -a -l -h

也可以这样 -al -lh -alh 顺序可以不唯一。

什么是工作目录

Linux 的工作目录是指用户当前正在操作的目录。工作目录是Shell(命令行界面)或图形用户界面中当前打开的终端窗口运行命令时的默认目录。当您在终端中执行命令或在文件资源管理器中打开文件对话框时,系统将默认在工作目录中搜索文件或创建新文件。


当我们启动 Linux 命令行终端的时候,会默认加载到 HOME 目录。

什么是 HOME 目录


HOME目录是每个用户的默认主目录。HOME目录通常位于 /home/用户名/ 的位置,其中"用户名"是您在系统上的用户名。


HOME目录是每个用户在登录系统时默认进入的目录,也是用户存储其个人文件、配置文件和其他用户特定数据的地方。每个用户都有自己独立的HOME目录,各自之间互不干扰。


在HOME目录中,用户可以创建子目录来组织文件,存储个人文档、图像、音频和其他文件。除此之外,许多应用程序在HOME目录下保存用户的配置文件和个人设置,以便在不同会话中保持一致性。

ls

ls -a

ls -l

ls -lh

ls -l /boot

目录切换相关命令

  • cd 切换工作目录
  • pwd 展示当前的工作目录

cd 命令

使用 cd [Linux文件路径] 会将当前的工作目录转换为指定的目录,当cd不添加参数的时候表示会回到 HOME 目录。

cd /boot

ls -l


cd /

ls -l

pwd 命令

pwd 命令会将当前的工作目录给展示出来。

cd /

pwd


特殊的路径符

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

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

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

创建目录

使用 mkdir [-p] Linux路径 来创建目录。


  • 参数必填,表示Linux路径,即要创建的文件夹的路径,相对路径或绝对路径都可
  • -p 选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录

mkdir /home/handsome/test


注意:创建文件夹需要修改权限,需要确保操作均在 HOME目录内,不要在 HOME 外操作

使用选项 -p 我们可以一次创建多个层级的目录

mkdir -p /home/handsome/test1/123

文件操作相关命令

  • touch 创建文件
  • cat 查看文件内容
  • more 查看文件内容
  • cp 复制文件内容
  • mv 移动文件
  • rm 删除文件

touch 命令

使用 touch Linux文件路径 来创建文件。


touch /home/handsome/test/txt



cat 命令

使用 cat Linux文件路径 来查看指定文件内容。

我们先在文件中写入数据。

cat test.txt

more 命令

more 命令也是查看文件内容,但是它跟 cat 不同的是:当文件中内容较多时,cat 会一次将所有内容都给展示出来,而 more 则会一页一页的展示。more Linux文件路径

  • 在 more 一页一页展示数据的时候,使用空格进行翻页
  • q 退出查看

cat /boot/config-3.10.0-1160.el7.x86_64

more /boot/config-3.10.0-1160.el7.x86_64

cp 命令

使用 cp [-r] 参数1 参数2 来实现文件/文件夹的拷贝。


  • -r 选项表示复制文件夹
  • 参数1是被复制的文件的路径
  • 参数2是要复制到的文件路径

cp /home/handsome/test.txt test2.txt


cp -r /home/handsome/test1 test2

mv 命令

mv 参数1 参数2 来移动文件或者文件夹。

  • 参数1表示需要移动的文件/文件夹的路径
  • 参数2表示要移动到的路径

mv /home/handsome/test1 /home/handsome/Desktop

如果需要移动的文件/文件夹与要移动到的路径在一个层级的话,相当于把这个文件更改了名字。

mv /home/handsome/test2 test3

rm 命令

rm [-r -f] 参数1 参数2…… 用来删除一个或者一个以上的文件。


  • -r 选项 表示删除文件夹
  • -f 选项 表示强制删除
  • 参数1、2……表示需要删除的文件路径


rm -r /home/handsome/Desktop/test1

当我们以普通用户删除文件的时候,会让我们再次确认是否要删除。而如果我们使用 su - root 进入root管理员模式之后,使用 -f 删除的时候,就不会出现提示。


通配符

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

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




rm /home/handsome/test*

查找命令

  • which 查找指令所在的位置
  • find 查找文件所在的路径

which 命令

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

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

which cd

which pwd


find 命令

find 查找文件的方式分为两种:

  1. 按文件名查找
  2. 按文件的大小查找

按文件名查找文件

find 开始路径 -name 文件名 以文件名的形式查找文件。

find / -name test 全局查找

查找的时候也可以搭配着通配符来查找。

find / -name test*

按文件大小查找

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

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

find / -size +50M

ls -lh /boot/initramfs-0-rescue-eab91e769bd847959b68004062e843d5.img

grep 、wc、管道符


  • grep 通过关键字过滤文件行
  • wc 统计数量
  • | 管道符

grep 命令

通过 grep [-n] 关键字 文件路径 来查找指定文件的带有关键字的行。


  • -n 选项表示显示出匹配的行的行号
  • 参数 关键字 表示过滤的关键字,如果有空格或者其他特殊符号建议使用 " " 包起来
  • 参数 文件路径 表示需要过滤的信息的文件,可作为内容输入端口

grep girl /home/handsome/test.txt


grep -n girl /home/handsome/test.txt

wc 命令

通过 wc [-c -m -l -w] 文件路径 来统计文件中的行数、单词数量等。


-c 选项,统计文件的字节bytes数

-m 选项,统计字符数量

-l 选项,统计行数

-w 选项,统计单词数量

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

wc -c /home/handsome/test.txt

wc -m /home/handsome/test.txt

wc -l /home/handsome/test.txt

wc -w /home/handsome/test.txt

| 管道符

管道符可以将管道符左边命令的结果作为右边命令的输入。前面我们的 grepwc 都有可以作为内容输入的端口。


cat /home/handsome/test.txt | grep man

find /home -name test.txt | wc -c


? 这里为什么会是24,而不是65呢?其实这里管道符前面的命令返回的是/home/handsome/test.txt 然后将这个结果作为 wc 的输入,所以他统计的是文件路径的字节数,而不是对应的路径文件内容的字节数。那么如果我们想要统计文件内容的字节数该怎么办呢?


我们需要使用 -exec 选项来执行指定的命令,将 test.txt 文件的内容传递给 cat 命令进行合并,再通过管道传递给 wc -c 命令进行字符数统计。find /home -name test.txt -exec cat {} + | wc -c


echo、重定向符和tail

  • echo 输出后面的内容
  • tail 尾部
  • > >> 重定符

echo 命令

echo 输出的内容 echo可以将后面的输出内容给打印出来,类似于其他语言的 print 。

echo "i am a handsome man"


如果我们想要输出后面的命令的结果怎么办?可以直接echo吗?

echo pwd

这样是不可以的,那么该怎么办呢?我们需要使用反引号 ` ,反引号里的内容不会直接作为输出的内容,而是输出反引号内的命令的结果。

重定向符

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

echo "abcde" > /home/handsome/test.txt



tail 命令

tail [-f -num] Linux文件路径 查看文件尾部的内容。

  • -f 选项,表示持续跟踪
  • -num 选项,表示查看尾部的num行内容,默认是10行

cat /var/log/vmware-network.log

tail /var/log/vmware-network.log



tail -5 /var/log/vmware-network.log



什么叫持续跟踪:持续跟踪大概来讲就是当我们使用了 tail -f Linux文件路径 之后,如果我们在该文件中添加数据的话,控制台也会自动显示出我们添加的数据。


相关文章
|
6天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
24 3
|
6天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
19 2
|
27天前
|
运维 安全 Linux
Linux中传输文件文件夹的10个scp命令
【10月更文挑战第18天】本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的方法,涵盖基础文件传输、使用密钥认证、复制整个目录、从远程主机复制文件、同时传输多个文件和目录、保持文件权限、跨多台远程主机传输、指定端口及显示传输进度等场景,旨在帮助用户在不同情况下高效安全地完成文件传输任务。
177 5
|
27天前
|
Linux
Linux系统之expr命令的基本使用
【10月更文挑战第18天】Linux系统之expr命令的基本使用
76 4
|
14天前
|
缓存 监控 Linux
|
17天前
|
Linux Shell 数据安全/隐私保护
|
18天前
|
域名解析 网络协议 安全
|
24天前
|
运维 监控 网络协议
|
25天前
|
监控 Linux Shell
|
6天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
24 3