• 技术文章 >运维 >linux运维

    linux os是什么

    青灯夜游青灯夜游2023-02-13 11:30:03原创167

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

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

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

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

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

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

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

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

    1.png

    现实生活中的操作系统

    二.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 < file.txt,输入重定向是把本来应该从键盘文件中读取数据的方式,改成从指定的文件中读取

    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视频教程

    以上就是linux os是什么的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:linux
    上一篇:Linux远程管理工具有哪些 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • linux怎么查看所有用户• Linux进程有几种启动方式• Linux怎么查看命令详细使用参数和选项• Linux远程管理协议有哪些• linux怎么修改用户信息• linux停止mysql服务命令是什么
    1/1

    PHP中文网