【Linux】常用命令大揭秘,轻松驾驭终端世界

概念

Linux概念:Linux是用C语言、少量汇编写的,是一款源代码公开的操作系统软件。

1.1:开源、闭源的区别

  1. 开源:源代码公开可用,允许任何人查看、使用、修改、分发。大部分情况下是免费的。
  2. 闭源:源代码不公开,只有特定的开发者或者授权用户可以访问。
  3. 开源优点:代码稳定、效率高、安全、具有活跃的社区和强大的生态系统等。

1.2:应用场景

  • Linux具有广泛的应用场景、涵盖了在服务器、嵌入式、桌面、云计算、大数据等多个领域的发展。

发行版

Linux发行版分为两大类,分别是商业发行版和技术发行版。

  1. 商业发行版:Ubunt、Centos、Redhat、Kail、红旗等操作系统的品牌。
  2. 技术发行版:主版本号. 次版本号. 修改次数。三者的改变相互影响,当次版本号为偶数时,说明该版本为稳定版本、当此版本号为奇数时,说明该版本为测试版本。eg : 6 . 5 . 3。

XShell

XShell概念:xshell是一款远程登陆软件,用于连接和管理远程服务器。

  • 复制:ctrl + Fn + insert ;
  • 粘贴:shift + Fn+ insert ;
  • 退出、进入全屏模式:Alt + Enter ;image.png

3.1:使用XShell登入主机

语法:ssh 用户名@云服务器的公网ip

3.2:普通用户的增加、删除

语法:adduser 用户名

  • 功能:添加普通用户。

image.png

语法:passwd 用户名

  • 功能:给普通用户设置密码。

image.png

语法:userdel -r 用户名

  • 功能:删除普通用户。

在这里插入图片描述

3.3:查看账户的信息

whoami指令

语法:whomai

  • 功能:显示当前登入系统的用户,即:查看当前账号是谁。

image.png

who指令

语法:who

  • 功能:查看有哪些用户当前正在登录系统中,即:查看当前有哪些人登入了我的机器。

image.png

文件和目录基本命令

  • 指令操作的理解:先有指令,再有图形化界面。两者本质是没有任何区别的,只是形式上的不同,对小白用户区别大。

4.1:指令的周边知识

文件

💡文件 = 文件属性 + 文件内容

问:新建一个空文件,是否需要占据磁盘或固态硬盘的存储空间呢?
答:需要。因为文件名、大小、时间等,都是文件的属性数据,本质也是数据,也需要被计算机存储起来。所以以后看到文件不要只看到文件的内容,而文件的属性也是数据。

  • 文件属性、文件内容都是二进制数据,都需要占据磁盘的存储空间。
  • 对文件的所有操作,本质上是要么对文件的内容做操作,要么对文件的属性做操作。

路径

  1. 问:路径是什么?

答:路径具有唯一性,用于标识或者定位一个特定文件或者目录,它是通过多个路径分隔符(/)分割的,由多个目录或者文件名组成的字符串。

  • 一个点(.)表示当前路径,两个点(. .)表示上级路径,用于进行路径切换,每个目录下默认都有一个点(.)、两个点(. .)的隐藏目录,它们都不会被删除、拷贝。
  • 路径分割符:Linux下为斜杆(/),Windows下为反斜杆()。具有分割目录和文件、标识文件的层次结构、提供可读性和可维护性等优点。
  • 根目录:它是文件系统的最顶层目录,通常用斜杆(/)来表示。

image.png

  1. 问:为什么要有路径?

答:路径具有唯一性,能够标识和访问特定的文件或者目录。

  1. 绝对路径和相对路径
  • 绝对路径:从根目录(/)开始,定位到一个指定目录或者文件,形成的路径,就叫做绝对路径。无论当前文件在哪里,它都能唯一定位到该文件,路径唯一。常用于配置文件中。
  • 相对路径:以自身当前所处的目录为参考起点,定位到一个指定目录或者文件,形成的路径,就叫做相对路径。常用于命令行中。
  1. 同级别目录下,不能出现同名目录/文件。因为是通过文件名来标识目录/文件,否则会造成路径不唯一。

Linux目录结构

Linux目录结构是一个树形结构(多叉树)

  1. 叶子节点一定是普通文件或者空目录。
  2. 非叶子节点一定是目录。
  3. 访问一个文件,需要先找到它,找文件的本质上是在一颗多叉树中进行节点的查找。

linux目录结构.png

家目录、桌面理解

概念:在计算机系统中,为用户分配的一个专属目录,用于存放用户的个人文件和配置文件。

  1. Linux下由两类用户,分别为超级用户root、普通用户。超级用户的家目录为/root、普通用户的家目录为/home/普通用户名。
  2. 登陆时,默认所处的路径,就是当前登录用户的家目录。这个目录是用户的私有空间,用户可以在其内创建、修改、删除文件,不会影响其他用户的空间。
  3. 在Windows下,桌面是有概念的,但本质上桌面是个文件。用户在登录时,你的家目录中就有桌面文件,Windows把桌面文件夹中的所有文件以图标的形式,展示到显示器上,就有了桌面。云服务器中是没有传统意义上"桌面"的概念。

echo指令

Linux下一切皆文件 -》Linux中大部分硬件都可以看作有读写方法,只不过有些方法可以为空 —》以文件的方式,进行统一处理,减少了Linux系统编码的维护成本。

语法 :echo “xxx”

  • 功能 :向显示器文件进行写入。具有自动换行的功能。

image.png

重定向>、>>、<

  1. 输出重定向(>) :本来应该把内容向显示器文件进行写入,更改为向自定义文件进行写入。每次都会先清空目标文件的原始内容,再进行写入。

echo “xxx” >自定义文件

image.png

test

  • 功能:a. 新建空文件 、b.清空目标文件。
  1. 追加重定向(>>):在目标文件的原始内容后进行写入,不会清空目标文件的原始内容。

image.png

  1. 输入重定向(<): 本来应该从键盘文件中读取内容,更改为从自定义文件中读取(输入)内容。

cat < 自定义文件

image.png

管道|

概念:是一种基本的进程间的通信机制,它允许一个进程的输入直接作为另一个进程的输出,通过在命令行使用竖线(|)来创建的。它允许用户将多个命令行连接起来,创建出一个命令序列,简化了复杂任务的处理。

image.png

4.2:查看文件属性操作

ls指令

语法:ls [选项] [目录或文件]

  • 功能:对于目录而言,列出当前目录下所有子目录和文件名。对于文件而言,列出文件名。未指定任何目录时,ls默认显示当前工作目录下的内容。

image.png
常用选项:

  • -l :列出当前目录下所有文件的详细属性信息 ,ls -l命令等价于 ll命令。

image.png

  • -a : 列出当前目录下所有所有子目录和文件名,包括以.开头的隐藏文件和目录。
  • -la:列出当前目录下所有文件的详细属性信息,包括以.开头的隐藏文件,ls -la命令等价于ls -al、ls -l -a命令。

image.png

  • -d:显示文件或者目录名,而不是显示其内的所有文件名。
  • -ld:显示文件或目录的详细属性信息,而不是显示其内的文件属性信息,ls -ld命令等价于ls -l -d命令。

image.png

细节:键盘上的上、下箭头可以查看历史输入的命令。
image.png

4.3:路径切换操作

cd指令

语法:cd 相对路径/绝对路径。

  • 功能:改变用户的工作目录。从当前工作目录切换到指定目录下,即:进行路径切换。

image.png
其他用法:

  • cd - :跳转到最近一次所处的工作目录。常用于在两个目录之间进行来回切换。

image.png

  • cd ~ : 跳转到当前用户的家目录。

image.png

  • cd . . : 返回到上级目录。

image.png

4.4:创建、删除操作

touch指令

语法:touch [选项] 文件

  • 功能:在当前目录下新建一个空文件。

image.png

mkdir指令

语法:mkdir [选项] 目录

  • 功能:在当前目录下新建一个空目录。

image.png
常用选项:

  • -p 路径 :路径中某些目录不存在,系统会自动创建尚不存在的目录,即:一次性建立多个目录。

image.png

rmdir、rm指令

语法:rmdir [选项] 空目录

  • 功能:删除空目录。
  • 适用对象:具有当前目录操作权限的所有使用者。

image.png

语法:rm [选项] 目录/文件

  • 功能:删除目录或者文件。
  • 适用对象:所有使用者。

常用选项:

  • -i : 对于普通用户而言,删除前进行逐一询问。

image.png

  • -r : 递归式删除目录及其内所有文件。

image.png

  • -f : 对于root用户而言,无需询问,直接进行删除。
  • 通配符* :删除当前目录下的所有文件,当前目录不删除。*为通配符,表示指定路径下的所有文件。不会删除该目录下的隐藏文件,若想删除,需要进行指定删除,仅限于自己创建的隐藏文件,但文件名为一个点(.)、两个点(. .)的隐藏文件,即使指定文件名进行删除,也不会真正被删除。

image.png

4.5:显示系统手册页的命令

man指令

语法:man [选项] 命令

  • 功能:通过man手册查看命令的用法和功能。
  • man 命令:默认从1号手册中依次向下查找,查找到了就立即输出内容,按q进行退出。

image.png
常用选项:

  • n :man 手册编号n 查找的内容,只在2号手册中查找。

image.png

4.6:拷贝、剪切操作

cp指令(拷贝)

语法:cp [选项] 源文件/目录 目标文件/目录

  • 功能 : 复制文件或者目录。

对于文件而言,若目标文件存在但不同名,则会进行内容的覆盖 。若目标文件不存在,则会创建新的文件,内容相同。若最后目的为目录,直接将源文件复制到该目录下(注意:同级目录下,不允许出现同名文件)。
image.png

  • 对于目录而言, 若最后目的地为已存在的目录,则会递归式将源目录拷贝到该目录下(注意:同级目录下,不允许出现同名目录)。若最后目的地为不存在的目录,则会创建新的目录,内容相同。

image.png
常用选项:

  • -r : 递归式处理,将源目录以及其内的子目录和文件一并拷贝。
  • -i : 对于普通用户而言,覆盖文件会进行询问。
  • -f : 强制性复制文件或者目录。

mv指令(剪切)

语法:mv [选项] 源文件/目录 目标文件/目录

  • 功能 : 移动文件/目录、给文件/目录重命名。

如果mv第二个参数为已经存在的目录,mv将第一个参数内容全部移动到该目录下。 如果为不存在的目录/文件,mv将对源目录/源文件重命名并移动到指定的目录下。

mv命令.png
常用选项:

-f : 如果目标文件已存在,强制性进行覆盖,不会进行询问。
-i : 如果目标文件已经存在,覆盖前进行询问。

image.png

rz、sz指令

语法:rz [-E]

  • 功能:将windows本地文件上传到远程Linux服务器中。Windows -> Linux之间进行文件传输。

语法:sz 文件

  • 功能:将远端Linux服务器中的文件下载到window本地。Linux -> Windows之间进行文件传输。
  • 使用rz、sz之前,需要先进行yum安装lrzsz,yum install -y lrzsz。

scp指令

语法:scp Linux1中文件 Linux2的用户名@它的公网ip:指定路径

  • 功能:Linux与Linux之间进行文件传输。

4.7:查看文件内容操作

cat指令

语法:cat [选项] 文件

  • 功能 : 查看文件的内容,会刷屏。适用于小文件的查看。

常用选项:

  • -n : 对输出的所有行进行编号。

image.png

  • -b :对非空行进行编号。

image.png

  • -s : 不输出多行空行,即:去掉连续的空行,只保留一行空行。

image.png

  • tac : 逆向打印。

image.png

more指令

语法:more [选项] 文件

  • 功能 : 查看文件,分页显示。适用于大文件的查看。只能摁Enter逐行往后翻,不可以往前翻。

常用选项:

  • -n : 对输出的所有行进行编号。
  • q : 退出more。

image.png

less指令

语法:less [选项] 文件

  • 功能 : 功能与more类似,但less可以随意浏览文件,more只能通过Enter往下翻,不能向前翻、less通过上下箭头实现上、下翻。 具有强大的搜索功能。 less在查看文件内容不需要一次性加载整个文件到内存中,即:分页显示。

常用选项:

  • -N : 对输出的所有行进行编号。
  • q : 退出less。
  • /字符串:向下搜索字符串。
  • ?字符串:向上搜索字符串。

image.png

head指令

语法:head [选项] [文件]

  • 功能:打印文件的前10行的内容。

常用选项:

  • -n : 打印文件前n行的内容。

image.png

tail指令

语法:tail [选项] [文件]

  • 功能:打印文件的最后10行的内容。

常用选项:

  • -n : 打印文件最后n行的内容。

image.png

4.8:查看时间操作

date指令

语法:date [参数] [+格式]

  • 功能:指定格式显示时间。date后不加任何参数,默认显示的是当前的时间。

使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,常用的标记列表如下

%Y:年、%m:月、%d:日 ;
%F:相当于%Y-%m-%d ;
%H :时间、%M:分钟、%S:秒 ;
%X:相当于%H : %M :%S ;

  • 时间戳:从1997/1/1_0:0:0开始到现在所经过的秒数。

时间 -> 时间戳:date +%s ;
时间戳 -> 时间:date [+格式] -d @时间戳 ;

image.png

cal指令

语法:cal [选项] [年份]

  • 功能:用日历查看时间等信息。

常用选项:

  • -3 :只显示系统前一个月、当前月、下一个月。
  • -j:显示在当年中的第几天。

image.png

stat指令

语法:stat 文件

  • 功能:查看文件的状态信息。

image.png
日志:作用是辅助程序员进行问题排查。它是记录程序的运行过程、状态、错误和调试信息的重要机制。
例子:我从小就有写日记的习惯,某一天我消失了很久,爸妈十分着急,不得已去看我的日记本,希望能解决这个问题。爸妈相当于程序员、我相当于程序、日记本相当于日志,我消失了如同程序挂了,此时程序员需要查看日志进行问题排查和解决。

4.9:查找文件操作

find指令

语法:find [路径] [选项] [表达式]

  • 功能:在文件系统中指定的路径下进行搜索文件,并且可以按照多种条件进行筛选,如:文件名、文件类型、文件大、修改时间等。在目录树中进行递归搜索,查找时需要指定路径。

常用选项:

  • -name : 按照文件名进行查找文件。

image.png

which指令

语法:which [命令]

  • 功能:查找并显示给定命令在系统的哪个路径下(绝对路径)。一般只用于查找命令(可执行文件)。默认在系统指定的搜索路径下查找,一般为/usr/bin目录,但不全是。
  • 💡注意:命令就是可执行文件。命令 = 工具 = 程序。

image.png
补充:/usr/bin目录是Linux系统中一个非常重要的目录,主要用于存放系统的可执行文件,这些可执行文件通常是系统命令和一些应用程序的二进制文件。当用户在命令行输入一个命令时,系统通常会在该目录下查找该命令的可执行文件来执行它。

whereis指令

语法:whereis [指令]

  • 功能:查找二进制可执行文件(命令)、以及其相关的源代码文件(如:头文件)和man手册页文件。在预先构建的数据库来执行搜索,意味着它不会搜索整个文件系统来查找匹配的文件,而是查询一个包含已知文件位置的数据库。比find搜索速度块,但没它全面。

image.png

grep指令

语法:grep [选项] ‘搜索关键字’ 文件

  • 功能:行文本过滤器。在文件中根据指定’搜索关键字’,以行为基准进行查找,包含’搜索关键字’的行保留、反之舍去。

常用选项:

  • -n : 顺便输出行号。
  • -i : 忽略搜索所关键字中的大小写,即:大小写视为相同。
  • -v:反向选择,输出不包含’搜索关键字’的行。

image.png

grep命令通过管道和其他命令的结合使用,从而实现对文本数据的复杂分析。

4.10:文本处理和使用工具

sort指令

语法:sort [选项] 文件

  • 功能:对文件进行排序。它将输入文本中的行按照字母ASCII值、数字、其他排序标准重新排序。为了将重复的内容放在一起,便于与uniq指令结合,达到去重的效果。

常用选项:

  • -r : 将排序后的结果反向输出。

image.png

uniq指令

语法:uniq [选项] 文件

  • 功能 :对文件中相同且连续的内容去重,只保留一份。

常用选项:

  • -u : 只输出文件中无重复的行。
  • -d : 只输出文件中重复的行,每个只输出一份。

image.png

文本内容的去重

sort test | uniq (去重)
sort test | uniq -c (显示去重后的内容在原文本中出现的次数)
sort test | uniq -c | wc -l (显示去重后,剩余内容的总行数)

image.png

4.11:文件归档和压缩

打包压缩、解压解包

  1. 打包压缩:将多个文件或者目录打包成一个单独文件,并使用压缩算法来减少文件大小。
  2. 解压解包:将之前打包压缩好的文件还原成其原始的文件或目录结构。
  3. 作用:防止文件丢失、安全;减小了文件的大小、节省了空间;提高了文件管理效率;在网络传输时,节省了时间。

zip、unzip指令

打包压缩的语法:zip [选项] 压缩文件.zip 文件或目录

  • 功能:将文件或目录压缩为.zip格式,即:创建.zip压缩文件。

常用选项:

  • r :递归处理,将指定目录下所有文件和子目录一并压缩为.zip文件

image.png

解压解包的语法:unzip 压缩文件.zip [选项] 路径

  • 功能:将压缩.zip文件还原成其包含的原始文件或目录。

常用选项:

  • -d:将压缩文件解压到指定的目录下。若不带此选项,默认解压到当前路径下。

image.png

tar指令

打包压缩的语法:tar -czf/cvzf dst.tgz src文件或目录

  • 功能:将文件或目录压缩为.tgz(.tar.gz)格式,即:创建.tgz压缩文件。

常用选项:

  • -c : 创建一个压缩文件。
  • -x:解开一个压缩文件。
  • -z : 通过gzip压缩算法进行压缩或者解压。
  • -v : 压缩或者解压过程中显示文件。
  • -f :指定文件名,在f之后立即接文件名、不要再加参数。
  • -C:解压到指定目录。若不带此选项,默认解压到当前路径下。

解压解包的语法:tar -xzf/xvzf 压缩文件.tgz [选项] 路径

  • 功能:将压缩.tgz文件还原成其包含的原始文件或目录

image.png

4.12:其他

uname指令

语法:uname [选项]

  • 功能 : 获取电脑和操作系统的相关信息。

常用选项:

  • -a:详细输出所有信息,依次为内核名称、主机名、内核发行号、内核版本、硬件架构名称、处理器类型、硬件平台、操作系统名称、版本信息。
  • 💡-r : 查看内核发行版(技术+商业) + 机器的处理器架构。(面试考过)

image.png

重要的几个热键

ctrl + c : 终止进程。
ctrl + d : 退出,关闭XShell,可用exit来进行替代。
Tab键:具有命令补全 + 文件补齐的功能。
上下箭头:可以查看历史命令,可用history来进行替代。

image.png

cat /etc/redhat-release (查看发行版)
cat /proc/cpuinfo (查看cpu)
cat /proc/meminfo (查看内存)

pwd指令

语法:pwd

  • 功能:显示用户当前所在的工作目录

image.png屏幕截图 2024-05-01 180728.png

安装和卸载

安装:mv 可执行文件 /usr/bin

  • 本质:将一个可执行文件移动到系统能够识别的路径下,eg :Linux下路径为/usr/bin。

image.png

卸载:在/usr/bin目录下删除它的可执行文件

alias指令

语法:alias 命令1='命令2’

  • 概念:给命令行2取别名为命令行1,两个命令功能相同。

image.png在命令行上进行命令的重命名,只有XShell关闭了,在重启XShell,这个功效就会自动消失。

tree指令

语法:tree [选项] 目录

  • 功能:使当前目录以及其内子目录和文件以树状结构进行显示。

image.png

  • 96
    点赞
  • 114
    收藏
    觉得还不错? 一键收藏
  • 92
    评论
评论 92
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值