超详细的Linux基础命令

文章目录

前言

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

Linux目录结构

在使用基础命令之前,我们首先要知道 Linux 的目录结构,因为它跟 Windows 系统还有 Mac 系统的目录结构是不同的。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

echo "handsome" >> /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文件路径 之后,如果我们在该文件中添加数据的话,控制台也会自动显示出我们添加的数据。

相关推荐
正在走向自律12 分钟前
阿里云ESC服务器一次性全部迁移到另一个ESC
服务器·阿里云·云计算
gywl37 分钟前
openEuler VM虚拟机操作(期末考试)
linux·服务器·网络·windows·http·centos
青木沐38 分钟前
Jenkins介绍
运维·jenkins
WTT00111 小时前
2024楚慧杯WP
大数据·运维·网络·安全·web安全·ctf
苹果醋31 小时前
React源码02 - 基础知识 React API 一览
java·运维·spring boot·mysql·nginx
了一li2 小时前
Qt中的QProcess与Boost.Interprocess:实现多进程编程
服务器·数据库·qt
日记跟新中2 小时前
Ubuntu20.04 修改root密码
linux·运维·服务器
唐小旭2 小时前
服务器建立-错误:pyenv环境建立后python版本不对
运维·服务器·python
码农君莫笑2 小时前
信管通低代码信息管理系统应用平台
linux·数据库·windows·低代码·c#·.net·visual studio