0

0

linux os是什么

青灯夜游

青灯夜游

发布时间:2023-02-13 11:30:03

|

5149人浏览过

|

来源于php中文网

原创

在linux中,OS是指操作系统,是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。OS存在的原因:单纯的硬件计算机,操作起来效率特别低下,难度特别高。

linux os是什么

本教程操作环境:linux7.3系统、Dell G3电脑。

前言: OS(操作系统)的学习是很重要的,这里学习操作系统先从Linux开始。

Linux是指令操作的,距离OS更近,更便于我们掌握OS。学习C++,一般从事后端较多,并且Linux对于想要从事后端是非常重要,LInux很大概率就是工作的OS。

一.OS(操作系统)基本概念

操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。

OS存在的原因:单纯的硬件计算机,操作起来效率特别低下,难度特别高。

 OS是一款软件,用来进行对软硬件资源进行管理的软件,管理目的:对上,对下,提高操作效率。

1.png

现实生活中的操作系统

  • win7

  • Mac

  • Android

  • iOS

二.Linux常见指令

我们为什么要学习指令呢?

        因为所有的操作系统,刚开始的时候都是支持指令操作的,图形化界面是后来才有的,所以指令执行距离OS更近,便于我们更好的掌握OS。

1.ls指令

(1)语法:ls [选项] [目录或文件]  (目录或文件不写为当前目录)

(2)功能:对于目录,该命令列出该目录下的所有子目录和文件。

                    对于文件,将列出文件名及其他信息。

(3)常用选项

① 直接使用ls 只有子目录和文件

② -l 列出文件的详细信息(可以写成ls -l,也可以写成ll

③ -a 列出目录下的所有文件,包括以 . 开头的隐含文件

以 . 开头的文件我们称为隐藏文件,在任意目录下,都会存在两个隐藏文件

.(当前路径) ..(上级路径)

④ -i 输出文件的i节点的索引信息

⑤ -n 用数字的 UID,GID 代替名称

(4)举例

ls -al

2.pwd指令

(1)语法:pwd

(2)功能:显示用户当前所在目录

Linux的路径分割符是:/(斜杠)

Window的路径分割符是:\(反斜杠)

(3)举例

pwd

3.cd指令

        我们一般定位某个文件,是通过路径定位的方式,找到文件的。那为什么我们是通过路径的方式定位文件的呢?

        Linux的目录结构本质是一颗多叉树(1. 每一个子节点既可以是一个目录(再放目录或者普通文件,递归式的定义),也可以是一个普通文件  2. 这颗多叉树的叶子节点,一定是一个普通文件或者空目录)

        因此任何一个节点,可以有多个子节点,但是任何一个子节点,都只有一个父节点。

        所以常规的路径定位是具有唯一性的(绝对路径具有唯一性

除了相对路径,还有绝对路径(相对于当前所处的路径)

如果是日常使用,推荐相对路径 —— 简单

如果是添加配置文件之类,推荐绝对路径 —— 不会出错

(1)语法:cd [目录名]

(2)功能:改变工作目录,将当前工作目录改变到指定的目录下。(进入输入的目录)

(3)常用选项

① cd .. 返回上级目录(.为当前目录,..为上级目录)

② cd 绝对路径

③ cd 相对路径

④ cd - 返回最近访问目录

⑤ cd ~ 进入用户家目录(/home/hb)

(4)举例

cd ..  :返回上级目录

cd /home/hb/code  :绝对路径

cd ../test  :相对路径

cd -  :返回最近访问目录

cd ~  :进入用户家目录

4.touch指令

        如果我们创建了一个空文件,在磁盘中会占据空间吗?

        要占用   文件有属性数据,也是数据

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

我们要学的所有的文件操作无非两类:

①对文件的内容操作

②对文件的属性操作

(1)语法:touch [选项] [文件]

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

(3)常用选项

① 直接使用touch 创建一个文件

(4)举例

touch test.c

5.mkdir指令

(1)语法:mkdir [选项] [目录名字]

(2)功能:在当前目录下创建一个目录

(3)常用选项

-p [路径名称]   可以是一个路径名称,此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录

(4)举例

mkdir dir  :创建一个目录

mkdir -p dir1/dir2/dir3  :递归建立多个目录

6.rmdir指令 && rm指令

rmdir是一个于mkdir相对于的指令,mkdir是建立目录,而rmdir是删除目录

Ⅰ. rmdir:

(1)语法:rmdir [选项] [目录名字]

(2)功能:删除空目录

(3)常用选项

① -p  当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除

(4)举例

rmdir dir

rmdir -p dir

Ⅱ. rm(一般这个用的较多)

(1)语法:rm [选项] [目录名字]

(2)功能:删除文件或目录

(3)常用选项

① 直接使用rm 删除一个文件或目录(文件都可以删除,但只能删除空目录)

② -r  删除目录及其下的所有文件(可以删除非空目录)

③ -f  强制删除文件,即使文件属性为只读(即写保护)

④ -i  删除前逐一询问确认

(4)举例

rm dir  :删除目录

rm test  :删除文件

rm -r dir  :删除目录下所有文件

rm -rf dir  :强制删除目录下所有文件

rm -ir dir  :删除目录下所有文件时依次询问

 * 通配符:匹配当前目录下的任何内容

rm * :删除当前目录下的所有文件(等价于rm ./*)

./  当前目录:告知系统,要访问的资源在当前目录下,如果省略,部分情况下,默认就是当前目录

7.man指令

(1)语法:man [选项] 命令

(2)功能:man相当于一个联机手册,Linux的命令有很多参数,我们不可能全都记住,这时候就可以使用man来获取帮助。

(3)常用选项

① -k 根据关键字搜索联机帮助

② man man 可以搜索man的相关操作

③ 数字 输入对应的数字,会去查找不同的命令

man手册:

1 是普通的命令

2 是系统调用,如open(通过这个可以很方便的查到如何调用这个函数,以及需要加说明头文件) 

3 是库函数,如printf

4 是特殊文件,也就是/dev下的各种设备文件

5 是指文件的格式,比如password,就会说明这个文件中各个字段的函数

6 是给游戏留的,由各个游戏自己定义

7 是附件和一些变量,比如像environ这种全局变量在这里就由有说明

8 是系统管理用的命令,这些命令只能由root使用,如ifconfigman相当于一个联机手册,Linux的命令有很多参数,我们不可能全都记住,这时候就可以使用man来获取帮助。

(4)举例

man 1 ls

man 3 printf

8.cp指令

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

(2)功能:复制文件或目录

(3)常用选项

① 直接使用cp 复制一个文件

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

③ -f  强制复制文件或目录,不论目的文件或目录是否已经存在

④ -i  覆盖之前先询问

(4)举例

cp file.txt file2.txt

cp -r dir1 dir2

cp -rf dir ..

9.mv指令

mv命令是move的缩写,可以用来移动文件或者将文件改名,经常用来备份文件或者目录。

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

(2)功能

        根据mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。

①当第二个参数类型是源文件(源目录)时,mv命令完成文件重命名,此时,源文件只能有一个,它将所给的源文件或目录重命名为给定的目标文件名

②当第二个参数类型是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中

(3)常用选项

① 直接使用mv 移动或重命名一个文件或目录

② -f 如果目标文件已经存在,不会询问直接覆盖

③ -i  若目标文件已经存在时,会询问是否覆盖

(4)举例

mv file.txt a.txt

mv file.txt ..

mv dir1 dir2 dir

10.cat指令

(1)语法:cat [选项] [文件]

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

(3)常用选项

① -n 输出行编号

阿里云-虚拟数字人
阿里云-虚拟数字人

阿里云-虚拟数字人是什么? ...

下载

(4)举例

cat file.txt

cat -n file.txt

除了cat,还有tac,从后往前查看 

tac file.txt

重定向:

 这里先介绍一个echo,类似于printf,输出信息到显示器上

例如:echo "hello world"

(1)输出重定向

        创建一个文件touch file.txt,然后可以通过echo "hello world" > file.txt,使本来应该写入到显示器的内容,把它写入到文件中(每次都会情况原始文件的内容,进行重新写入)

(2)追加重定向

echo "hello Linux" >> file.txt,类似上面的输出重定向,但是这里是两个>,并且它不会清空原始内容,而是在原始文件的结尾进行新增式的写入

(3)输入重定向

cat ,输入重定向是把本来应该从键盘文件中读取数据的方式,改成从指定的文件中读取

11.more指令

(1)语法:more [选项] [文件]

(2)功能:功能类似cat,但是可以手动向下翻

(3)常用选项

① -n 输出行编号

② q 退出more

(4)举例

more file.txt

12.less指令

(1)语法:less [选项] 文件

(2)功能:类似cat和more,但是功能更强大,可以向上和向下翻(一般都使用less)

(3)常用选项

① -n 输出行编号

② q 退出less

(4)举例

less file.txt

13.head指令

(1)语法:head [选项] [文件]

(2)功能:显示文件开头(默认显示开头10行)

(3)常用选项

① -n 想要显示的行数

(4)举例

head -20 file.txt

14.tail指令

(1)语法:rm [选项] [文件]

(2)功能:显示末尾开头(默认显示末尾10行)

(3)常用选项

① -n 想要显示的行数

(4)举例

tail -20 file.txt

管道:

        如果我们想要查看文件的中间部分,比如一个1万行的文本,我们想要查看[5000, 5030]行的信息,我们怎么办呢?

①创建临时文件

        通过head -5030 file.txt > temp.txt,先得到一个临时文件,然后在tail -30 temp.txt,我们才能看到[5000, 5030]中的信息了。

        比较复杂。

②管道

        管道是用来级联多个命令,来完成流水线式的数据处理工作的。(可以传输数据资源)

        | 这个就是管道

        这么写 head -5030 file.txt | tail -30 就可以通过管道来完成查看了。

15.date指令(时间相关指令)

(1)语法:date [选项] [格式]

(2)功能:指定格式显示时间或者显示时间戳

(3)常用选项

① 在显示上,使用者可以设定想要显示出的格式,格式设定为一个+后接标记,其中常用的标记列表如下:

        %H:小时

        %M:分钟

        %S:秒

        %X:相当于%H:%M:%S

        %d:日

        %m:月份

        %Y:年份

        %F:相当于%Y-%m-%d

② 时间戳

时间->时间戳 date+%s

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

时间戳是从1970年1月1日开始所经过的秒数,不考虑闰秒

(4)举例

date +%Y-%m-%d_%H:%M:%S

date +%s

16.cal指令

(1)语法:cl [选项] [年份]

(2)功能:显示日历

(3)常用选项

① 直接使用就是当前月份

② -3  显示前一个月,当前月,下一个月的月历

③ -y  显示当前年份的年历

(4)举例

cal -3

cal -y 2020

17.find指令

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

        Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,因次它的选项也很多。

(1)语法:find [查找位置] [选项] [查找]

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

(3)常用选项

① -name  按照文件名查找文件

(4)举例

find /usr/include/ -name stdio.h

18.grep指令

(1)语法:grep [选项] 搜寻的字符串 文件

(2)功能:在文件中搜索字符串,将找到的行打印出来(使用正则表达式搜索)

(3)常用选项

① 直接使用grep,打印出带有想要字符串的行

② -i  忽略大小写的不同,将大小写视为相同 

③ -n  输出行号

④ -v  反向打印,打印出没有想要搜寻的字符串的那些行

(4)举例

grep 'hello' file.txt

grep -i 'HeLlo' file.txt

grep -iv 'HeLlo' file.txt

19.zip/unzip指令

        1.zip:

(1)语法:zip 定义压缩文件名.zip [目录或文件]

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

(3)常用选项

① 直接使用zip 压缩一个文件

② -r  可压缩一个目录下的所有文件

(4)举例

zip test.zip package

zip -r test.zip tar_package

zip -r test.zip -d tar_package

        2.unzip 

(1)语法:unzip 压缩文件

(2)功能:解压缩

(3)常用选项

① 直接使用unzip 解压缩

② -d 指定压缩到哪一个路径下

(4)举例

unzip test.zip

unzip test.zip -d /home

20.tar指令

(1)语法:tar [选项] [文件或目录]

(2)功能:压缩文件或解压缩

(3)常用选项

① -c 建立一个压缩文件

② -z 判断是否具有gzip的属性,是否需要用gzip压缩

③ -f 使用档名,在f之后要立即接档名,不能再加参数

④ -x 解开一个压缩文件

⑤ -t 查看压缩包里面的文件

⑥ -v 压缩的过程中显示文件

⑦ -C 解压到指定目录下

(4)举例

tar czf test.tgz tar_package // 压缩文件

tar xzf test.tgz // 解压缩

tar xzf test.tgz -C /home // 解压缩到指定目录

tar xzvf test.tgz 解压缩过程显示文件

 21.bc指令

(1)语法:bc [数字][符号][数字]

(2)功能:计算器

(3)常用选项

① 直接使用bc 计算

(4)举例

bc 1+2 

22.uname指令

(1)语法:uname [选项]

(2)功能:用来获取电脑和操作系统的相关信息(可用来显示linux主机所用的操作系统的版本、硬件名称等基本信息)

(3)常用选项

① -r 显示内核版本

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

(4)举例

uname -r

uname -a

23.热键

Tab:命令自动补齐

Ctrl+c:终止失控程序

Ctrl+d:快速退出账户

Ctrl+r:搜索历史命令

24.关机指令

(1)语法:shutdown [选项]

(2)功能:关机

(3)常用选项

① -h 将系统的服务停掉后,立即关机

② -r 在将系统的服务停掉之后就重重新启动

③ -t 在-t后加秒数,表示过多少秒关机

(4)举例

 shutdown -h

三.shell命令及运行原理

1.介绍

        Linux严格意义上说的是一个操作系统,我们称之为”核心(kernel)“,但是一般用户不能直接使用kernel,而是通过kernel的”外壳“程序,也就是shell,来与kernel沟通。(shell是一种外壳程序)       

2.作用

        外壳可以保护OS系统,降低操作OS的成本,

        shell外壳:传递用户指令,交给OS,OS执行完毕,结果交给shell,shell再交给用户。

        从技术角度,Shell的简单定义:命令行解释器包含:

①将使用者的命令翻译给kernel处理

②同时,将核心的处理结果翻译给使用者

Linux中,外壳就是命令行解释器。

Window中,外壳就是图形化界面

在centos 7中常用的命令行解释器(shell),叫做bash

四.Linux权限概念

Linux下有两种用户:①超级用户(root)②普通用户

①超级用户:可以在Linux系统下做任何事情,不受限制

②普通用户:在Linux下做有限的事情

③超级用户的命令提示符是"#",普通用户的命令提示符是"$"

命令:su [用户名]

功能:切换用户

从普通用户切换到root用户,使用su root或su -  ,从root用户切换到普通用户user,使用su user

举例:

su -
su user

相关推荐:《Linux视频教程

相关专题

更多
Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

15

2026.01.20

PS使用蒙版相关教程
PS使用蒙版相关教程

本专题整合了ps使用蒙版相关教程,阅读专题下面的文章了解更多详细内容。

60

2026.01.19

java用途介绍
java用途介绍

本专题整合了java用途功能相关介绍,阅读专题下面的文章了解更多详细内容。

87

2026.01.19

java输出数组相关教程
java输出数组相关教程

本专题整合了java输出数组相关教程,阅读专题下面的文章了解更多详细内容。

39

2026.01.19

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

10

2026.01.19

xml格式相关教程
xml格式相关教程

本专题整合了xml格式相关教程汇总,阅读专题下面的文章了解更多详细内容。

13

2026.01.19

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

19

2026.01.19

微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

157

2026.01.18

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

164

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.5万人学习

Git 教程
Git 教程

共21课时 | 2.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号