【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命令将各参数指定的源文件均移至目标目录中。 常用选项: 举例:
3.11 cat 指令 语法:cat [选项][文件] 功能: 查看目标文件的内容 常用选项: 举例: 为了方便后面指令的演示,这里我们使用 shell 脚本生成一段简单的具有 1W 行内容的文本,脚本指令如下:
然后我们可以使用 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]显示
重定向的概念: 顾名思义,改变原本的执行方向,重新定义方向 而在Linux中,有两种重定向: 输入重定向: 重新指定设备来代替 键盘 作为 新的输入设备 但是这种方法需要产生临时文件,会带来资源消耗,我们一般采用下面的方式。
管道的概念: 顾名思义,管道如下水管道、天然气管道,它们都有一个共同的作用,即运输资源,而对于计算机来说,数据就是资源,所以Linux中的管道就是用于传输数据的一种手段,它分为入口和出口。 在上面的程序中,head 和 tail 被管道连接,所以 head 从文件中读取的数据会直接流入管道中,然后 tail 从管道中读取数据,然后输出到终端上。 例子加码:将得到的数据逆置,并提取前三行
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 [选项] [文件与目录] 参数: 常用组合指令:
拓展知识: 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相关理论与基本操作”的知识啦~~ ,感谢友友们的阅读。后续还会继续更新,欢迎持续关注哟~ 如果有错误?,欢迎批评指正呀~让我们一起相互进步 如果觉得收获满满,可以点点赞支持一下哟~ (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |