加入收藏 | 设为首页 | 会员中心 | 我要投稿 鹰潭站长网 (https://www.0701zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

【Linux详解】——相关理论与基本指令操作

发布时间:2022-10-19 14:31:45 所属栏目:Unix 来源:转载
导读: 前言:本期主要讲解Linux相关基本指令操作
目录
1. 相关理论 1.1 什么是操作系统
操作系统(OS)是一款管理软件,可以管理软硬件。

1.2 图形化界面与命令行
学习Linux下的基本指令等同

前言:本期主要讲解Linux相关基本指令操作

目录

1. 相关理论 1.1 什么是操作系统

操作系统(OS)是一款管理软件,可以管理软硬件。

在这里插入图片描述

1.2 图形化界面与命令行

学习Linux下的基本指令等同于学习windows基本操作,图形化界面和命令行在操作系统层面是等同的。在过去操作计算机是通过手拨二极管,由于过于麻烦,发明了键盘,使用命令行来操控系统,之后出现了图形化界面,用鼠标、触屏来操控系统。

在这里插入图片描述

Linux也是有图形化的界面,因为需要面向客户,不过大部分都是命令行形式

在这里插入图片描述

1.3 理解文件 文件本身

当我们创建一个空文件的时候,也是需要占磁盘空间的 文件之间(普通文件 vs 目录)

在这里插入图片描述

注意:

以.开头的文件,在Linux下我们叫做隐藏文件

1.4 路径

几乎所有操作系统文件的目录结构组织是一颗多叉树,形成了很多的路径

在这里插入图片描述

我们可以用路径来标识一个文件,因为它具有唯一性(路径+文件名)

在Linux下的路径是以/(路径分隔符)来分隔的,比如/root/hins/test

在Windows下的路径是以\来分隔的,比如C:\XXX\YYY\ZZZ

/root/hins/test这样从根目录开始的路径叫做绝对路径(官方配置文件常用),还有一种不从根目录路径就是相对路径,比如../test2,这个就是从test目录回退到上一级的hins目录,再进入hins目录下的test2目录。

我们平常使用的是比较简单的相对路径

1.5 目录

Linux 中,正常颜色为普通文件,蓝色为目录,也就是我们在 windows 中所说的文件夹。

2. 常用指令 2.1 查看 Linux 主机IP

在终端下敲ifconfig指令,查看到 ip 地址。

2.2 XShell 下的复制粘贴

复制:ctrl + insert (一些需要 insert 需要配合功能键 fn 来按)

粘贴: shift + insert

ctrl + c / ctrl + v 是不行的。

如果觉得不习惯,可以如下图设置

在这里插入图片描述

2.3 清屏

当屏幕内容太多时,可以输入clear进行清屏

2.4 全屏/退出全屏

Alt + Enter

2.5 上下(键) 命令

翻阅写过的历史命令

请添加图片描述

2.6 几个重要的热键 3. 基本指令 3.1 ls 指令

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

功能:对于目录,该命令列出该目录下的所有子目录与文件(不包括隐藏文件)。对于文件,将列出文件名以及其他信息。简而言之,相当于你在Windows下双击某个目录就直接看到所有文件。

常用选项:

注:多选项可以连用

在这里插入图片描述

方式1:ls -a -l

方式2:ls -al

指令简写:ll 等价于 ls -l,基于这个原则,其他与 -l 搭配的复合选项也可以被简写,如 ls -al 也可以写成 ll -a;

多行显示:\反斜杠可以续行,即如果出现命令过长导致需要换行时,可以在最后打出\,从而回车之后可以继续接着上一行输入。

在这里插入图片描述

3.2 pwd 指令

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

快问快答:这个是什么?

在这里插入图片描述

答:一个.的称之为当前目录,两个.的称之为上级目录

3.3 cd 指令

Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。

在这里插入图片描述

语法: cd 你想去的路径

功能:切换路径,让我们进入不同的路径下操作

举例:

./test.c:指打开当前目录的test.c文件

家目录的概念:特定用户登录时,默认所处的路径

比如你是root用户登录,你的家目录就是/root

在这里插入图片描述

多个用户都在这里

3.4 tree 命令

语法:tree [选项] [目录]

功能:以树状格式列出目录的内容;

安装命令:yum install -y tree

常用选项:

在这里插入图片描述

3.5 touch 指令

语法:touch [选项][文件名字]

功能:touch的命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件(普通文件),不能创建目录。

常用选项:

获取文件属性:stat [文件名]

在这里插入图片描述

3.6 mkdir 指令(重要)

语法:mkdir [选项] [dirname]

功能:在当前目录下创建一个名为 “dirname”的目录

常用选项:

举例:mkdir –p test/test1 : 递归建立多个目录

3.7 rmdir 指令 && rm 指令(重要)

rmdir是一个与mkdir相对应的命令。mkdir是创建空目录,而rmdir是删除空目录。

语法:rmdir [-p][dirName]

适用对象:具有当前目录操作权限的所有使用者

常用选项:

rm命令可以同时删除文件或目录,默认删除普通文件。

语法:rm [-f-i-r-v][dirName/dir]

适用对象:所有使用者

常用选项:

补充:sudo表示使用其他用户执行命令(默认是root用户,拥有最高权限)

危险指令:sudo rm -rf / 删库跑路

在这里插入图片描述

3.8 man 指令(重要)

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是man,手册是有编号的,如不指定编号则从1号手册开始往后找直至找到为止。

安装命令(root下安装):yum install -y man-pages

语法:man [选项] 命令

例子:man 3 printf

在这里插入图片描述

man手册分为8章unix命令图解,我们只关心1,2,3号手册即可

数字意义

1

普通命令

2

系统调用

3

C语言库函数

4

设备或特殊文件

5

文件格式和规则

6

游戏及其他

7

宏、包及其他杂项

8

系统管理员相关的命令

常用选项:

3.9 cp 指令(重要)

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

功能: 复制文件或目录

说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息

常用选项:

拓展知识:cp 指令用于复制文件或目录,如果同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录, 则它会把前面指定的所有文件或目录复制到此目录中;若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。

补充:echo指令,读取我们输入的文本内容,并打印显示到控制台上

3.10 mv 指令(重要)

mv命令是move的缩写,可以用来移动文件(类似剪切)或者将文件重命名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。

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

功能:

视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。

常用选项:

举例:

将rm改造成mv
vim ~/.bashrc #修改这个文件
mkdir -p ~/.trash
alias rm=trash
alias ur=undelfile
undelfile() {
	mv -i ~/.trash/\$@ ./
}
trash() {
	mv $@ ~/.trash/
}

3.11 cat 指令

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

功能: 查看目标文件的内容

常用选项:

举例:

为了方便后面指令的演示,这里我们使用 shell 脚本生成一段简单的具有 1W 行内容的文本,脚本指令如下:

cnt=0; while [ $cnt -le 10000 ] ; do echo "hello 106 [$cnt]"; let cnt++; done > test.txt

然后我们可以使用 nano/vim 来查看 test.txt 中的内容

nano 安装指令: - yum install -y nano):

在这里插入图片描述

现在暂时先不用这个编辑器,我们按ctrl+X退出,使用cat指令查看。

cat -n test.txt //-n表示显示行号

同时,我们看看这个指令tac test.txt和cat指令对比

在这里插入图片描述

cat vs tac

cat:正序打印

tac:逆序打印

发现假如想看第一行,要使劲往上翻。于是得出结论,cat:只适合查看小文本,不适合查看大文本

3.12 more 指令

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

功能:more命令,功能类似 cat,优点是可以一页页/一行行往下翻

常用选项:

举例:

在这里插入图片描述

按回车下翻

注意:在 more 中,我们可以使用 /[目标字符串] 来查找字符串;但是 more 只能查找处于文本后面的字符串,而不能查找处于文本前面的字符串;如需查看前面的内容则用到less指令

3.13 less 指令(重要)

语法: less [参数] 文件

功能:

less与more类似,但使用less可以随意浏览文件(上下键),而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。

选项:

拓展知识:

1、less 工具也是对文件或其它输出进行分页显示的工具,应该说是 linux 正统查看文件内容的工具,功能极其强大;

2、less 的用法比起 more 更加的有弹性;在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能前后翻看文件,更容易用来查看一个文件的内容;

3、除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜;

3.14 head 指令

head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然就是看档案的结尾。

语法: head [参数] [文件]

功能:head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。

选项:

3.15 tail 指令

tail 命令从指定点开始将文件写到标准输出。使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容.

语法: tail[必要参数][选择参数][文件]

功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

选项:

拓展知识:

1、tail 命令从指定点开始将文件写到标准输出;

2、使用tail命令的 -f 选项可以方便的查阅正在改变的日志文件;

3、tail - f filename 会把 filename里最尾部的内容显示在屏幕上,并且会自动刷新,使你看到最新的文件内容。

现在我们知道了如何显示文件头部和文件尾部的数据,那么如何显示文件中间位置的数据呢?方法有以下两种:

例子:取中间[1000,1010]显示

head -1010 test.txt > tmp.txt		# 将head得到的数据重定向到tmp中
tail -10 tmp.txt					#显示tmp最后10行得到数据

在这里插入图片描述

重定向的概念:

顾名思义,改变原本的执行方向,重新定义方向

而在Linux中,有两种重定向:

输入重定向: 重新指定设备来代替 键盘 作为 新的输入设备

但是这种方法需要产生临时文件,会带来资源消耗,我们一般采用下面的方式。

head -1010 test.txt | tail -10

在这里插入图片描述

在这里插入图片描述

管道的概念:

顾名思义,管道如下水管道、天然气管道,它们都有一个共同的作用,即运输资源,而对于计算机来说,数据就是资源,所以Linux中的管道就是用于传输数据的一种手段,它分为入口和出口。

在上面的程序中,head 和 tail 被管道连接,所以 head 从文件中读取的数据会直接流入管道中,然后 tail 从管道中读取数据,然后输出到终端上。

例子加码:将得到的数据逆置,并提取前三行

head -1010 test.txt | tail -10 | tac | head -3

3.16 date 指令

date显示

date 指定格式显示时间: date +%Y:%m:%d

date 用法:date [选项] [格式]

在这里插入图片描述

在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下 在设定时间方面 时间戳

时间->时间戳:date +%s

时间戳->时间:date -d@1508749502

Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。同时,由于我国处于东八区,所以对应过来我国是1970年1月1日8时0分0秒

在这里插入图片描述

3.17 cal 指令

cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。“阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”。

命令格式: cal [参数][月份][年份]

功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份

常用选项:

举例:cal -y 2022

在这里插入图片描述

溢出问题:千年虫

3.18 find 指令(灰常重要)

在这里插入图片描述

语法: find [路径] [选项]

功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)

常用选项:

拓展知识:

1、Linux下find命令在目录结构中搜索文件,并执行指定的操作;

2、Linux下find命令提供了相当多的查找条件,功能很强大;但由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间去了解;

3、即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,但是需要具有相应的权限;

4、在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会访问磁盘,从而花费很长的时间 (这里是指30G字节以上的文件系统)。

与 find 相关的其他指令:

在学习了find指令之后,我们还可以拓展学习一下Linux中与find相关的其他指令:

查找范围比较:which < whereis < find

3.19 grep 指令

grep参考文档

语法: grep [选项] 搜寻字符串 文件

功能: 在文件中搜索字符串,将找到的行打印出来

常用选项:

与 grep 相关的其他指令

注:grep、sort、uniq 类似指令是将文本中的内容按照一定的条件进行筛选后显示到终端,并不会改变文本中的内容。

3.20 zip/unzip 指令:

压缩语法: zip [压缩文件名字.zip] [目录或文件]

解压语法: unzip [压缩文件名字.zip] (当前目录)

安装指令:yum install -y zip unzip

功能: 将目录或文件压缩成zip格式

常用选项:

举例:

将test2目录压缩:zip test2.zip test2/*

解压到tmp目录:unzip test2.zip -d /tmp

3.21 tar 指令(重要)

功能:打包(tgz格式)/解包,不打开它,直接看内容

语法:tar [选项] [文件与目录]

参数:

常用组合指令:

$ tar -czf my.tgz test	# 打包并压缩
$ tar -xzf my.tgz   	# 解包并解压

拓展知识:

1、在使用 tar 时,-f 选项需要放在最后,其余选项,比如 -c -v -z -x 可以随意调换位置;

2、tar 默认也是解压到当前路径,如需要指定到其他路径需要使用 -C 选项;

3、tar 格式的压缩文件支持不解压查看文件,使用 -t 选项即可;

3.22 bc 指令

功能:bc 命令是任意精度计算器语言,通常在linux下当计算器用;它类似基本的计算器, 使用这个计算器可以做基本的数学运算;输入 quit 即可退出 bc

在这里插入图片描述

3.23 uname 指令

语法:uname [选项]

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

补充说明:uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。

常用选项:

在这里插入图片描述

3.24 关机

语法:shutdown [选项] 常见选项:

注:云服务器永远不关机

目前来看就Linux操作系统适合永不关机

安卓手机底层是使用Linux内核

其他的一些指令:

3.25 扩展指令 4. 中英文及全称对照表

在这里插入图片描述

OK,以上就是本期知识点“Linux相关理论与基本操作”的知识啦~~ ,感谢友友们的阅读。后续还会继续更新,欢迎持续关注哟~

如果有错误?,欢迎批评指正呀~让我们一起相互进步

如果觉得收获满满,可以点点赞支持一下哟~

(编辑:鹰潭站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章