【Linux】操作系统初步理解与Linux指令入门

目录

一、操作系统

1、是什么:

2、为什么要有操作系统:

二、Linux操作系统的基础指令:

whoami:

tree:

ls:

pwd:

clear:

cd:

touch:

mkdir:

rmkdir:

rm:

man:

cp:

mv:

cat:

echo:

wc:

tac:

more:

less:

head:

tail:

命令行管道:

date:

find:

which:

alias:

grep:

zip:

unzip:

tar:

uname:


一、操作系统

1、是什么:

操作系统这个词在很多地方都听到过,但是就是不知道到底是个什么东西

对于学Linux操作系统的初学者来说,只需要了解:

操作系统是一款做软硬件管理的软件

我们所有的软件行为都要自定向下贯穿计算机的软硬件结构
如下所示:

应用软件就可以理解为用户,作为需求请求,

操作系统就可以理解为老板,对下面进行安排,进行怎么办事的

设备驱动就可以理解为产品经理,催着下面的硬件进行办事的

硬件就可以理解为程序猿,就是对上面软件进行反馈,也就是底层办事的

每当手机或者电脑上的应用软件请求的时候,就会从上至下地进行,也就是上述中"所有的软件行为都要自定向下贯穿计算机的软硬件结构",所以就得出:

我们几乎所有的软件行为,未来都和操作系统直接或者间接相关

2、为什么要有操作系统:

操作系统的核心工作:

通过对下管理好软硬件资源的手段,达到对上提供良好的(稳定,快速,安全)操作/使用环境

二、Linux操作系统的基础指令:

指令实际上就是操作系统特定路径下的文件,这些指令也可以在后面加上 -x,这样的话,指令就会有多种方式,能够更好的对操作系统下的文件进行管理

操作环境:

Ubuntu 22.04 server 64bit 华为云远程服务器

whoami:

功能:判断当前登录此操作系统用户

普通账号

root账号

tree:

功能:打印从当前位置到"各条路"最后一个位置的路径:

这个一般在最开始的云服务器中不存在的,要进行安装,这个时候就需要使用root账号进行:apt install tree就可以进行安装。(在Ubuntu 22.04 server 64bit环境下是这样的,在其他不同环境下有不同的指令)

ls:

功能:显示当前目录下的所有子目录与文件

首先通过tree指令进行查看,方便理解ls:

可以看到:ls指令会展示当前目录下的目录和文件。

当然,ls不只是这些,还可以在ls的后面加上-x的其他选项,这样的话就会有更多功能:

ls -a

这个是展示当前目录下的所有目录或者文件,包括右 . 修饰的隐藏文件:

比如接下来对d2进行展示:

上面的 .指的是当前目录,在后面编译运行的有作用。

.. 指的是上级目录,这。或者。。在所有目录下都会存在的。

ls -l

这个是详细地展示当前目录下的目录或者文件

还有很多扩展,但是用的不多:

-d 将目录象文件一样显示,而不是显示其下的文件。 如:ls --d 指定目录

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

-k 以 k 字节的形式表示文件的大小。

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

-F 在每个文件名后附上一个字符以说明该文件的类型,"*"表示可执行的普通文件;"/"表示目录;"@"表示符号链接;"|"表示FIFOs;"="表示套接字(sockets)。

-r 对目录反向排序。

-t 以时间排序。

-s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)

-R 列出所有子目录下的文件。(递归)

pwd:

功能:展示当前所在的路径:

clear:

清理当前屏幕:

从上面变成下面:

实际上是把上述所有代码都搞到上面去,往上翻还是可以翻到的:

cd:

功能:进入某一目录:

例如:

cd d1:进入d1目录
cd .. : 返回上级目录
cd ~ :进入用户家目
cd - :返回最近访问目录


拓展:绝对路径与相对路径:

绝对路径:cd /home/silence/
相对路径:cd ../d2/
通过相对路径从d1进入d2

通过绝对路径从d1进入d2

touch:

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

mkdir:

功能:在此目录下创建一个新的目录

如下创建了一个名为dir的目录

常用指令:

-p 这就是递归创建目录:

rmkdir:

rmkdir是一个与mkdir相对的指令

功能:删除指定目录

这个用的不多,可以用rm指令代替

rm:

功能:同时删除目录或者文件

删除文件直接删除:

删除目录加上选项 -r:

注意:Linux没有类似于Windows的回收站功能,所以删除了就真的删除了,想要找回特别麻烦并且成本也高,所以在每一次删除都要知道自己正在做什么。

也可以加上指令-i在每次删除的时候进行询问

man:

Linux指令有很多,是不可能全部都记住的,当不知道的时候就可以通过man指令进行查询

功能:查询指令使用规则

当执行这条指令的时候,就会跳转到下面,当想要退出的时候就按q即可

选项:

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

num 只在第num章节找

-a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕

手册共有8章:

1、是普通的命令

2、是系统调用

3、是库函数

5、是指文件的格式

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

7、是附件还有一些变量

8、是系统管理用的命令,这些命令只能由root使用

cp:

功能:复制文件或者目录

使用方法:cp 选项 源文件或目录 目标文件或目录

常用选项:

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

-i:覆盖文件之前先询问用户

-r:递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理

-R:递归处理,将指定目录下的文件及子目录一并处理

mv:

mv命令是move的缩写,可以用来移动文件或者将文件改名

语法: mv [选项] 源文件或目录 目标文件或目录
当第二个参数是不存在的文件,那么就可以理解为将这个文件进行重命名

当第二个参数是已存在目录名称时,mv指令将文件移动置该目录中。

cat:

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

这个用于查看小一点的文件:

-n选项,对输出所有的行进行编号

-b选项,对非空输出行进行编号

echo:

功能:对一个文本中写入内容

用法:

echo [写入的东西] > [待写入文本]

echo [写入的东西] >> [待写入文本]

不同:

一个> 就会覆盖之前写入的内容

两个>> 就是在后面追加内容

并且写入内容之后会自动换行

wc:

功能:查看文本信息,

如下,依次对应行数,词数,大小(字节)

tac:

功能:反向查看文本

这个对应着cat。

more:

功能:查看文本信息

cat适合查看小文本信息,而more相比于cat更适合查看大文本消息

在在Ubuntu 22.04 server 64bit环境下more既可以向下翻也可以向上翻,按q退出

也有一个指令和more相似。

less:

功能:查看文本信息

使用和more差不多

选项:

-N显示每行的行号

head:

用法:head -n 文本

功能:查看前n行的内容

如果不给n就是默认前10行

tail:

这个和head相对

用法:tail-n 文本

功能:查看后n行的内容

如果不给n就是默认后10行

拓展,如何查看中间的内容:

方法一:

方法二:

命令行管道:

功能:借助管道临时存储数据,

管道左边接收产生的数据,右边读取数据,

事实上就是将左边读取的数据暂时存储到管道中,再使用;也可以通过管道进行多条指令的组合。

date:

功能:显示当前时间

可以在后面进行格式规定:

date +%*

%H : 小时

%M : 分钟

%S : 秒

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

%d : 日

%m : 月份

%Y : 完整年份

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

还可以将时间变为时间戳:

时间戳是指从1970年1月1日0时0分0秒到现在所经过的时间

date +&s

但是在我们这里,时间戳是**1970年1月1日8时0分0秒,**因为地理原因,我们这多8小时

find:

语法:find 路径 选项

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

在主目录中查找test.c

在dir目录中查找test.c

在主目录中查找大于10M的文件

在主目录中查找小于10M的文件

which:

功能:用于查找指令的程序文件在系统中的存储位置和相关信息。

当执行某一指令时,实际是调用文件,因此我们还可以通过其文件的路径进行指令调用

alias:

语法:alias 别名='原名'

功能:给指令取别名

grep:

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

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

常用选项:

-i:忽略大小写的不同

-n:顺便输出行号

-v:反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行

zip:

语法:zip 压缩文件 .zip 目录或文件

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

为什么要进行打包压缩

能够被打包压缩的,一定是一个整体,有多个文件

打包的过程就是将这多个文件变成一个文件,这样就不容易造成文件缺失

1、节省空间:我们的设备存储空间是有限的,文件越来越多,体积太大,自然会占据过大的空间,压缩可以有效节省。

2、便于管理:压缩成一个文件夹方便我们管理。

3、保密:现在文件在压缩成压缩包的时候,是可以加密的,这样就不用担心文件了。

4、方便传输、上传:现在很多平台在上传文件的时候都有大小限制的,过大的文件是无法进行折现操作的,所以需要压缩处理。

unzip:

语法:unzip 压缩文件.zip 选项

功能: 将压缩文件解压

如下,是将上述的dd3放到上目录中,在进行解压

如果在进行在当前目录解压就会询问是否进行替换:

tar:

tar指令也可以用来打包压缩和解压文件,也可以直接查看里面内容的操作等,相比于zip就比较灵活。

语法: tar 选项 压缩文件或目录

因为tar的语法选项特别多,所以先只记三个比较重要的:

打包压缩:tar czf XXX

预览: tar tzf XXX.tgz

解压解包 tar xzf XXX.tgz

打包:

预览:

解包:

uname:

功能:用于查看系统的信息

uname -a 查看详细信息

uname -r 查看关键信息,即软硬件信息

相关推荐
朝九晚五ฺ10 分钟前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
自由的dream14 分钟前
Linux的桌面
linux
xiaozhiwise44 分钟前
Makefile 之 自动化变量
linux
Kkooe1 小时前
GitLab|数据迁移
运维·服务器·git
久醉不在酒2 小时前
MySQL数据库运维及集群搭建
运维·数据库·mysql
意疏3 小时前
【Linux 篇】Docker 的容器之海与镜像之岛:于 Linux 系统内探索容器化的奇妙航行
linux·docker
虚拟网络工程师3 小时前
【网络系统管理】Centos7——配置主从mariadb服务器案例(下半部分)
运维·服务器·网络·数据库·mariadb
BLEACH-heiqiyihu3 小时前
RedHat7—Linux中kickstart自动安装脚本制作
linux·运维·服务器
一只爱撸猫的程序猿3 小时前
一个简单的Linux 服务器性能优化案例
linux·mysql·nginx