目录
一、操作系统
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 查看关键信息,即软硬件信息