Linux基础概念和指令

一、为何会有操作系统

现有计算机硬件,还是有操作系统?
答案:现有计算机硬件,操作系统是个软件。

因为在最早,计算机的使用成本很高,都是硬件,只有科学家才能使用,为了让用户使用更加方便,所以有人开始研发OS(操作系统)。可以降低用户操作计算机的难度。

所以第一个操作系统unix诞生。

二、为何要用Linux

因为unix是收费的一个软件,但雷纳斯 看不惯垄断,所以模仿unix开源了一个linux系统,linux是免费的。随之而起,慢慢的有各种顶级黑客,大神参与linux的版本更新迭代,维护。因此就有了不同的linux版本内核。

就是因为linux开源了。所以就有很多人开始使用免费的安全的linux系统,比如基于Linux的应用级开发。Ubuntu,鸿蒙,红帽,等公司。

现在Linux的系统使用特别广泛。比如我们的安卓手机的系统,就是在Linux上进行改进的。

三、什么是开源

代码开源:指的是,全世界的人都可以看到代码,这样的代码会是更安全,更高效,更稳定的。
这样的开源也是免费的!
Linux系统道理也如此,它的代码开源了,全世界人民都可以快速的找到代码的问题,然后迅速修改代码,使得代码更好,这样Linux系统会更加安全,高效,稳定

闭源代码:一般都是商业公司维护的,公司人很少,这样代码质量一般较低,例如windows系统,为什么windows系统开机时间长会卡,而Linux系统一直不用关机,永远不用关机?

linux应用场景:

1.服务器后台。
2.智能家电。
3.物联网
4.手机,平板电脑

linux的发行版:
1.技术角度:Linux内核的发行版
2.商业化角度:Linux商业化发行版

为什么这么多人选择Linux系统?还是因为Linux是开源的,安全免费高效。假如公司用windows系统,每台计算机都需要买花个几百块买个windows系统。这样多花多少钱呢。

四、操作系统的定义

先来个感性的认知:
操作系统是个软件。是个管理软件
操作系统:**对下要管理好底层的硬件资源。**对上要对用户提供一个,良好的,稳定的,高效的运行环境。

计算机其实是一堆硬件组成,但是我们平时不会直接操作硬件,需要通过操作系统来对硬件进行操作。

软件实际上是可以操作硬件的。

OS是操作系统的简写。
OS包括四部分。
1.硬件层包括:键盘、显示器、网卡、显卡、磁盘。
2.驱动软件层:帮上层实现对硬件的基本访问。这就叫做驱动

一般而言,一种硬件,都会有厂商为我们提供对应的驱动软件。获取驱动的方式一般而言,都是由操作系统帮我们进行获取和安装。

3.操作系统内核层:这层就是狭义上的操作系统。
包括进程管理,文件管理,内存管理,驱动管理。

4.用户层:图形化界面,各种库,应用程序

总结:操作系统是一款软件,是一款对软硬件资源进行管理的软件。
管理目的:**对下要管理好底层的硬件资源。**对上要对用户提供一个,良好的,稳定的,高效的运行环境。

五、Linux基本指令

1.为什么要学指令

对于非专业人员,没有必要学习。对于我们学习OS原理,操作系统编程的。有必要用指令。

早期的OS,是不需要鼠标的,因为计算机最早是用来计算数学问题的。所以只有键盘。所以开始的OS全都支持指令操作。包括Windows,也有指令操作。

假如你是做java开发,php开发,不学指令也可以。但是你要学习操作系统原理,系统编程需要学习OS指令。

因为Linux和windows系统不一样,Windows是图形化界面的,操作用鼠标就可以。但是Linux系统大部分都是**命令行界面。**想要用Linux操作系统,就要学会一些简单的Linux指令。

pwd

没有比它更简单的指令。这个命令的作用就是:得到当前路径。

/这个符号是Linux的根目录。

只要是目录,其底下可以继续放目录。

Linux的目录结构本质是一颗多叉树
1.每一个子节点,既可以是一个目录(目录里面可以继续放文件,递归),也可以是一个普通文件

2.这颗多叉树的叶子结点,一定是一个普通文件或者空目录

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

ls指令

重点最常用的操作就是 ls -a 和- l

如果只创建了一个空文件,占据磁盘空间吗?
要占据磁盘,因为文件有属性数据。这是常识
文件 = 文件内容 + 文件属性
我们学的所有的文件操作无非两类:
1.对文件的内容操作。
2.对文件的属性操作。

ls指令是列出文件的内容。

ls 的几个重点选项是:

ls//只显示文件名

ls -l //显示文件的文件的更多属性,例如文件的大小时间所属用户

ls -a//可以显示很多隐藏的文件,隐藏的文件都是以英文符号.开始的

注意:在任意目录下,都会存在两个隐藏文件 .(当前路径)…(上级路径)

ls -ln 可以将名字显示成数字

ls -F 可以显示文件的类型。

cd指令

cd指令是可以进入指定的路径。
路径有两种,绝对路径相对路径
绝对路径:从根路径开始找文件。
相对路径:相对于当前位置开始找文件。

在Linux中的路径分隔符是:/
在windows中的路径分割符是:\

cd假如一直返回的话,会返回到根目录。

cd ..

返回上级路径。

cd -

返回上一次所在的文件位置。

./a.out解释

.代表在当前路径下
/就是路径分割符
a.out是一个程序

touch

现在会用touch创建文件就行了。
touch test.c

mkdir

mkdir 名字 创建一个目录。
mkdir -p 名字 递归创建一个目录。

rmdir

删除目录的命令
rmdir + 目录名字
rmdir:只能删除空目录,一般不常用。
一般都用rm命令。

rm

可以删除目录 和 文件的命令。
rm默认是用来删除普通文件的。

rm -r 递归删除目录文件

rm -f 强制删除目录文件。f就是force,强制的意思。

禁止使用 rm -rf ./*

tree

tree可以递归显示目录内容。

管道

所谓的管道就是把:前一条命令的输出作为下一条命令的输入。

zip/unzip指令

为什么linux要有压缩功能。
因为几乎所有的互联网公司后台都是linux系统,所有开发的软件都要部署到linux系统上,所有软件都要打包压缩,部署到Linux上。

为什么要压缩呢?
1.为了节约空间
2.为了防止数据丢失,因为我们的软件不是只有一个文件,可能有成千上万的文件,在进行网络传输中可能会丢失。我们把它压缩成一个文件可以防止丢失。

例如对一个目录进行压缩。

zip 压缩后的名字 要压缩的文件

如果相对目录下的所有内容进行压缩,则需要加上-r选项,表示递归式的

zip -r 压缩后的名字 要压缩的文件

unzip指令

unzip 需要解压缩的文件名

默认情况下,几乎所有的解压工具,解压出来的文件都会放在当前文件下。有时候想选择解压到其他地方。怎么办呢?需要用到-d选项,这个选项可以解压到指定路径下。

unzip 需要解压缩的文件名 -d 路径
unzip 需要解压缩的文件名 

tar命令

主要了解一下两个选项。
一般一个压缩包有两种动作。
1.打包
2.压缩
zip是把打包和压缩合并到一起了。

tar命令可以将打包和压缩分开来运行。
c代表创建压缩包,z代表要压缩,f代表要指明一个新的压缩包名称

czf这些选项的顺序没有要求。

这些选项是组合使用的不需要带杠。

//tar czf test.tgz tar_package
tar czf 新的压缩包名 需要压缩的文件

解压缩
只需把z改为x就可以,代表解压缩。

//tar xzf test.tgz 
tar xzf 需要解压的名称

指定解压到指定路径
加上-C选项就可以解压到指定路径下

tar xzf 需要解压的名称 -C 指定路径

Linux系统几乎支持所有种类的压缩包,因为Linux面对的平台非常多。比如windows,mac的压缩软件不同。
总结:以上是两个主流的压缩文件形式。zip和tar

bc命令

bc命令就是Linux下的计算器。
不常用,知道就行

uname -r

uname用来获取电脑和主机的信息
uname -r是来获取Linux内核的信息。

我们的安卓手机的内核系统信息的话就是和Linux系统的信息比较像。

 uname -r
 //下面就是内核版本信息
 //3.10.0-1160.71.1.el7.x86_64

x86_64代表的是64位的计算器。
x64是x86_64的简写。

x86_32代表32位

几个常用快捷键

ctrl+c//结束程序

tab键//可以自动补全,快速敲命令,一下不行,按两下

ctrl+r//可以搜索历史命令

ctrl + d//快速退出账户

history//可以查找历史输入的全部命令

云服务器

云服务器永远不关机,就像刷抖音一样,假如你要半夜刷抖音怎么办,这时候假如抖音服务器关机了,你就刷不了抖音了。

猜你喜欢

转载自blog.csdn.net/qq2466200050/article/details/127119596
今日推荐