初识Linux操作系统以及基本指令

初始Linux操作系统及常见指令

1. 初识Linux操作系统

这里引入开源和操作系统的介绍:

1.1 首先是开源和闭源的比较:

开源的代码 --> 非常多的人看到 --> 参与讨论 --> 付出行动 --> 解决问题
因此,由于公开的原因,很容易暴露系统的稳定和效率,从而会有顶级黑客、工程师等人提出解决方案,促使系统更快完善,致使开源系统相对闭源系统的稳定和效率都会更高
而对于安全性而言,公开了不应该是更危险吗?恰恰相反,更多人看到源代码,安全问题都能更快发现,暴露无遗,因此开源系统相对闭源系统而言也会更安全

1.2 接着是操作系统介绍:

什么是操作系统?
直接抛出概念,操作系统是一款进行软硬件资源管理的软件
为什么要有操作系统?

  1. 对下提供基本的管理工作,让各种硬件工作在一个稳定的、高效的、安全的状态中。(手段)
  2. 对上要提供一个稳定的、高效的、安全的运行环境。(用户的目的)
    image-20241111165331072

1.3 结论

综上所述,Linux是一款具体的操作系统的一个品类,CentOS 7是一款具体的Linux操作系统

1.4 版本问题

Linux商业化版本
image-20241111170226340
Linux技术版本
举例子:2.6.11,这几个数字分别代表:主版本号、次版本号、修正次数。
次版本号偶数代表稳定版本,奇数代表开发版本

2. Linux下的基本指令

2.1 ls 指令

罗列当前路径下的文件名,多个选项可以搭配一起使用,不区分选项前后

-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
-l 列出文件的详细信息。
-n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)
-F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表
示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)
-r 对目录反向排序。
-t 以时间排序。
-s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
-R 列出所有子目录下的文件。(递归)
-1 一行只输出一个文件。

image-20241112211856268

补充知识1:. 和 … 是什么?

在Linux中, . 开头的 文件是隐藏文件,而任何目录下都会默认具有两个隐藏目录 . 和 …

. :用它表示 当前路径

… :用它表示 上级路径

补充知识2:为什么要有 . 和 … ?

. :方便我们找到当前目录下的一个文件(可执行文件)

… :方便我们进行路径的回退,毕竟不光要能进去,也要能出来

2.2 pwd 指令

当前在Linux系统中所处的路径,其中 / 是Linux的路径分隔符(\ 是Windows的路径分割符)

两个路径分隔符之间,一定是一个目录;路径最末端,一定是一个普通文件或者目录

image-20241112211413885

补充知识3:相对路径和绝对路径分别是什么?

相对路径:基于当前工作目录的路径,比如:./test

绝对路径:从根目录开始的完整路径,比如:/root/test

2.3 mkdir 指令

在当前路径下创建一个新的目录,可以一次性创建多个

image-20241112211645342

p, --parents 可以递归创立多个目录

image-20241112213712923

2.4 touch 指令

在当前目录下创建一个新的普通文件

image-20241112212036294

补充知识4:文件是什么?

文件 = 文件属性 + 文件内容,文件是数据,需要保存

未来对文件的任何操作,无外乎:1. 对属性的操作 2. 对内容的操作。而这里的操作有两种方式:1. 用指令控制文件 2. 编程访问文件

2.5 clear 指令

清屏

image-20241112212105993

清屏后的效果:

image-20241112212125976

2.6 cd 指令

进入指定的目录(目录 就是Windows系统下的“文件夹”)

cd … : 返回上级目录
cd /home/litao/linux/ : 绝对路径
cd …/day02/ : 相对路径
cd ~:进入用户家目
cd -:返回最近访问目录

image-20241112212225396

补充知识5:访问任何文件之前,都必须先找到这个文件,为什么要找到目标文件?(或者说为什么要有路径?)

首先,Linux的整个文件目录结构是一颗多叉树,/ 是根目录,在这个多叉树中,任何一个文件都只有一个父目录,因此,每一个文件的路径都是唯一的,找到了这个路径我才能找到这个文件,才能去进行访问,这也就是路径存在的原因。

2.7 whoami 指令

表述时,经常说我们在xxx路径下,这里的“我们” 就是 whoami

image-20241112212451617

补充知识6:

Linux下指定的用户都有自己的家目录:

  1. 对root账号:默认的家目录就是 /root – 超级管理员账号

  2. 对于普通用户:默认家目录就是 /home/XXX 这里的XXX就是新建的用户名

任何一个用户首次登陆时,所处的路径都是自己的家目录!!

补充知识7:多用户操作系统 – Windows,Linux

桌面,本质是文件夹,当你登录Windows时:

  1. 确认是谁

  2. 根据用户名。找到该用户目录下的“桌面文件夹”

  3. 将“桌面文件夹”显示为图形化页面

2.8 重新认识指令

1. 指令本质都是程序

指令、程序、可执行程序都是一样,安装和卸载的本质就是把可执行程序拷贝或删除到系统路径下。系统执行一个指令时一定要找到这个命令。当系统没有这个指令时,可以通过yum install -y XXX,XXX就是要安装的命令

image-20241112213039110

2. which 要求系统打印出我所指定的指令名称在系统的所在路

image-20241112213116533

3. alias 也是一个Linux命令,它是给其他命令起一个别名

image-20241112213133131

其中,也有部分自带的别名,比如 ls -l --> ll

image-20241112213215189

2.9 stat 指令

显示文件或文件系统的状态信息

image-20241112213248971

补充知识8:一个文件的ACM时间分别是什么?

Access:一个文件或目录的最近一次访问时间,即文件或目录被读取或执行的时间

Modify:一个文件或目录当前内容最后被修改的时间,即文件或目录进行过写操作的时间

Change:一个文件或目录的更改时间,即文件或目录的属性被修改的时间

2.10 tree 指令

以树状形式显示目录结构

image-20241112213745524

补充知识9:指令出现失控打印怎么办?

用 ctrl+c 可以终止异常的命令

image-20241112213807924

2.11 rmdir 指令 && rm指令

rmdir是删除空目录指令,我们用的更多的是rm指令 – 可以同时删除文件或目录

-f 即使文件属性为只读(即写保护),亦直接删除
-i 删除前逐一询问确认
-r 删除目录及其下所有文件

image-20241112213954412

补充知识10:

  1. 对于一些不确定的目录或者文件,宁可进行备份,也不要删除
  2. *:表示一个通配符,意思是可以匹配任意文件名

image-20241112214110916

2.12 man 指令

查看联机手册

1是可执行程序 – 指令

2是系统调用

3是库函数

这里要查找的最重要的是2号手册 – 系统调用

image-20241112214203217

2.13 cp 指令

cp src dst:复制文件或目录,可以对复制后的文件或目录进行重命名

dst:目录,src直接拷贝到这个目录下;如果带路径的文件名,就是拷贝到目录,顺便重命名

src和dst都可以携带绝对或者相对路径进行拷贝,Linux同一目录下不允许存在同名文件

-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i 或 --interactive 覆盖文件之前先询问用户
-r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链
接,则一律视为普通文件处理

image-20241112214541760

2.14 mv 指令

-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

1.在指定的目录下,对一个文件或者目录进行重命名: mv text.txt log.txt

image-20241112214730782

2.将指定目录下的文件或者目录,“剪切”到指定的目录下,剪切的同时也可以重命名: mv src path/newname

image-20241112214914075

补充知识11:如何快速写出代码?

  1. nano 源文件
  2. ctrl x -> y -> 回车
  3. gcc code.c
  4. ./a.out

image-20241112215147804

image-20241112215240822

2.15 cat 指令

查看目标文件的内容,本质是显示文件内容

-b 对非空输出行编号
-n 对输出的所有行编号
-s 不输出多行空行

image-20241112215302260

理论线(不发博客)

Linux理念:Linux中一切皆文件 -> Linux可以以统一的方式来进行文件/设备访问

普通文件:对于任何文件来讲,读和写文件

显示器:显示器设备 -> 显示器文件 -> 向显示器打印,向显示器文件进行写入

重定向:

1.> :输出重定向,每次进行重定向都会从文件开始写入文件内容

过程是:创建一个空文件 > file && 清空一个文件 > file

2.>>:追加重定向,和重定向的区别是,不会清空文件,其他一致

3.<:输入重定向,本应该从键盘文件中读取,变成从普通文件中读取

2.16 more 指令

打印满一屏输出就停下来,让用户下翻,逐行进行阅读,这个指令只能按回车一行一行的让下翻

image-20241112220603210

image-20241112220516626

2.17 less 指令

查看大文件,比如日志,并且可以上下翻页,还能查找特定行数

-i 忽略搜索时的大小写
-N 显示每行的行号
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
q:quit

image-20241112220744604

2.18 head 指令

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

-n<行数> 显示的行数

image-20241112221048725

2.19 tail 指令

和head相反,它用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

-f 循环读取
-n<行数> 显示行数

image-20241112221057125

2.20 wc 指令

统计文本的行数

image-20241112221228697

补充知识12:查看大文件的中间怎么办?比如查看big.txt的8000-8010行

使用管道 | 进行级联多条指令,从而实现要求

image-20241112221441509

2.21 date 指令

查看时间

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

1.显示的格式:

%H : 小时(00…23)
%M : 分钟(00…59)
%S : 秒(00…61)
%X : 相当于 %H:%M:%S
%d : 日 (01…31)
%m : 月份 (01…12)
%Y : 完整年份 (0000…9999)
%F : 相当于 %Y-%m-%d

2.设置时间:

date -s //设置当前时间,只有root权限才能设置,其他只能查看。
date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00
date -s 01:01:01 //设置具体时间,不会对日期做更改
date -s “01:01:01 2008-05-23″ //这样可以设置全部时间
date -s “01:01:01 20080523″ //这样可以设置全部时间
date -s “2008-05-23 01:01:01″ //这样可以设置全部时间
date -s “20080523 01:01:01″ //这样可以设置全部时间

image-20241112221852284
2.时间戳(对于日志特别重要)
时间->时间戳:date +%s
image-20241112221922836

3.转换时间戳:date -d @1732707055

image-20241127193144079

2.22 cal 指令

显示公历(阳历)日历

-3 显示系统前一个月,当前月,下一个月的月历
-j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
-y 显示当前年份的日历

image-20241112222107774

2.23 find 指令

用于在文件树种查找文件,并作出相应的处理

find 要查找的路径 -opt(name) filename

image-20241127193642138

2.24 grep 指令

在文件中搜索字符串,将找到的行打印出来(行文本过滤工具)

-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行

image-20241127193749257

2.25 zip/unzip 指令

打包/解包

-r 递 归处理,将指定目录下的所有文件和子目录一并处理

将111dir目录压缩(可以打包多个,带上多个文件名即可):zip -r test.zip 111dir/*
解压到tmp目录:unzip test.zip

image-20241127195006428

补充知识12:为什么要打包压缩?

缩小体积,占据磁盘空间比较小,下载快,而且不会轻易的丢失文件

2.26 tar 指令

打包/解包,不打开它,直接看内容

-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
-C : 解压到指定目录

image-20241127223524134

补充知识13:总结及回顾

1.总结

打包/解包:

zip [-r] name.zip file1 file2 … (打包多个文件)

unzip name.zip [-d path] (解压[到指定目录])

tar -cvzf name.tgz file1 file2 … (打包多个文件)

tar -xvzf name.tgz [-C path] (解压[到指定目录])

2.为什么要打包压缩?

主要是便于网络传输,下面进行Windows和Linux之间的传输演示:

传输到主机:sz test1.tgz

image-20241127224515105

主机传输到CentOS7:rz [回车后选择文件]

image-20241127224732150

2.27 bc 指令

bc命令可以很方便的进行浮点运算

image-20241127225015389

2.28 uname 指令

用来获取电脑和操作系统的相关信息 [体系结构]

-a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称

image-20241114234048845

补充知识14:

操作系统版本查询:cat /etc/redhat-release

image-20241127225914779

CPU信息查询:cat /proc/cpuinfo

image-20241127225925771

内存查询:cat /proc/meminfo

image-20241127225951012

2.29 几个重要的热键

Tab:具有命令补全和档案补齐的功能

ctrl+c:让当前程序停掉

ctrl+d:键盘输入结束或退出登录(exit)

ctrl+r:对历史命令进行搜索

2.30 关机

关机命令:shutdown now

-h : 将系统的服务停掉后,立即关机。
-r : 在将系统的服务停掉之后就重新启动
-t sec : -t 后面加秒数,亦即『过几秒后关机』的意思

2.31 其他指令

◆ 安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;
◆ 文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;
◆ 系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab;
◆ 网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup;
◆ 系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who;
◆ 其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值