![3551467f19727056580044cfacbb402a.png](https://i-blog.csdnimg.cn/blog_migrate/1bb363bd3f364b27a4c57bd10ac68cc7.jpeg)
首先要感谢大康老师对我在Linux操作系统上的教导。
今天来讲一下用途广泛的Linux的基础入门教程
仅仅是做入门使用,如果想更加深入的学习那就需要自己做探索了。
本次例子使用的是kali linux(ARM架构)是基于Debian的Linux发行版本,可能会与其他版本操作有所不同,但是出入并不是很大。比如说现在比较常用的Centos 、RedHat、Ubantu等等。
一.Linux介绍
1.Linux是什么?
Linux是与Windows、MacOS齐驱并驾的三大系统之一。我们现在比较流行的Android手机操作系统一种基于Linux的自由及开放源代码的操作系统。我们现在平常工作接触Windows比较多,而接触Linux操作系统的机会比较少,因为LInux大部分用在服务器端、嵌入式系统等等运用比较广泛,我们能够接触的机会比较少,所以对这个操作系统可能是一点不了解。Linux是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。
2.Linux历史
林纳斯·本纳第克特·托瓦兹,在赫尔辛基大学计算机系时,根据个人兴趣在unix的基础上自己新编出了LInux系统,并且以自己的名字对系统进行命名Linus。
![654a040ff7ab2c50e90167863fb6c69f.png](https://i-blog.csdnimg.cn/blog_migrate/d0cbe601aab4374158a954d1dc669bb6.jpeg)
Linus可能是唯一几个计算机类教父中没有秃头的。
他也因为成功地开发了操作系统Linux内核而荣获2014年计算机先驱奖(For pioneering development of the Linux kernel using the open-source approach)。他的获奖创造了计算机先驱奖历史上的多个第一:第一次授予一位芬兰人;第一次授予一位“60后”(其实只差3天,就是“70后”);获奖成果是在学生时期取得的。
3.Linux可以做什么?
- 服务器:做www服务器、ftp服务器、邮件服务器、dns服务器、路由器等等。
- 嵌入式:工业机器中的系统、手机操作系统、像一些学习机、机顶盒等等都是依托于LInux。
- 正常工作中使用:除了可支持的游戏比较少,windows可以使用的功能linux基本都可以。
3.Linux优点
- 源码开源:由全世界许许多多的爱好者们一起维护,发现了系统bug后会被及时处理。
- 丰富的软件支持:因为是全世界的爱好者们一起维护,许多win平台下不支持的软件在Linux都可以完美支持。并且安装Linux系统之后多媒体软件,办公软件无需后期安装。
- 多用户多任务:Linux是真正意义上的多用户多任务,每个用户会有自己的home文件,并且Linux权限规定较为明确,互不影响,用户可以自己调度自己的资源与系统资源。
- 安全性极高:因为Liunx是开源系统,并且拥有大量的维护者且自身带防火墙等,而且权限严格,使Linux操作系统极少受到攻击。
- 完善的网络功能:LInux内部内置了许许多多的网络服务软件、数据库、网页开发工具等等,如:Apache、SQLite、Mysql、ssh、jsp等。这也使Linux在服务器使用方面游刃有余。
- 极高的稳定性:Linux 内核的源代码是以标准规范的32 位(在64 位CPU上是64 位)的计算机来做的最佳化设计,可确保其系统的稳定性。
4.Linux系统常用的版本
- RedHat
![c76a94e24354924f2c1ef02c4357c368.png](https://i-blog.csdnimg.cn/blog_migrate/6dbca429f82b6a92c66b2fddb226f194.png)
- SuSe
![4fd97305fb4715be5a40b2f2ed859120.png](https://i-blog.csdnimg.cn/blog_migrate/db0d32f70963d268f4533999fd68f750.jpeg)
- Mandrake
![dc023d0f2a2fa97083f151ac53a07741.png](https://i-blog.csdnimg.cn/blog_migrate/15cc3d13730e9b8a525083ace7642c96.jpeg)
- Ubantu
![cfe5ac13ecb46c8052a826d8a13b9798.png](https://i-blog.csdnimg.cn/blog_migrate/5a2fdd5621d8ab2f895c2772b34e18b8.png)
- Debian
![a95caae78ad5e7714b732f0dd4d19125.png](https://i-blog.csdnimg.cn/blog_migrate/037826546e9b89fcec7d9271a4d51133.png)
- CentOS
![163c65da1123828bf28859b6e54985de.png](https://i-blog.csdnimg.cn/blog_migrate/6d87fedf9e3d13a858e619bb047cf1c6.png)
- Kali Linux(基于Debian)
![09cfbe3efccc8df9adf864fd6ed45af2.png](https://i-blog.csdnimg.cn/blog_migrate/fde40384ac8fcaaef747c13226ea9e43.jpeg)
5.Linux实际运用
在这部分我就给大家讲讲我在linux系统上所运用过得相关经验吧。
- 做网站服务器:最初是做了一个静态网站放入,没有实际用途,只能展示不能交互。如果有时间打算合作做一个Jsp做后台的网站。
- 安全测试:这方面一定要注意!不要轻易去做,自己在局域网里攻击自己电脑玩玩就行,不要拿着kali去做坏事!!!这个是非常禁止不提倡的!
- 搭建ftp服务器:这个做起来没什么难度,安装一个vsftpd服务器端就可以。
- 跑代码:写爬虫程序的时候用的不是很长,主要是爬取时间长,所以写好程序放到Linux下跑即可。
- 使用基于Debian发行版本的Raspberry Pi做人脸识别。等等
LInux实际用途特别多,只能你们根据自己兴趣自己去发掘。
二.Linux系统基础
1.操作系统相关知识
略过
2.Linux系统分区命名规则
hda指的是第一个IDE硬盘
hda1指的是第一个硬盘上的第一个分区
hda2指的是第一个硬盘上的第二个分区
hdb指的是第二个IDE硬盘
3.Linux操作系统分区
Linux系统中最多有四个主分区,第一个硬盘的前四个分区为主分区,可有多个逻辑分区。
4.linux操作系统内文件结构
![935ac1542d332a1fd9925e7a2bb15b80.png](https://i-blog.csdnimg.cn/blog_migrate/84af93840f57badd5018f807def0a82b.png)
![82c23ab4c7d85c7e9b1ae77dc5332861.png](https://i-blog.csdnimg.cn/blog_migrate/0801276be1998718a207f906662364f5.jpeg)
- /bin:bin是Binary的缩写。这个目录存放着普通用户经常使用的命令文件。
- /sbin:s就是Super User的意思。这里存放的是系统管理员使用的系统管理程序。
- /boot:这里存放的是启动Linux时使用的一些核心文件,包括内核、一些链接文件以及镜像文件
- /dev:dev是Device(设备)的缩写。该目录下存放的是设备文件,在Linux中访问外部设备的方式和访问文件的方式是相同的。
- /proc:这个目录是一个虚拟的目录,它是系统内存的映射。我们可以通过直接访问这个目录来获取系统信息。
- /etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录。
- /lib:这个目录里存放着系统最基本的动态链接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
- /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
- /mnt:在这里面有几个目录,系统提供这些目录是为了让用户临时挂载别的文件系统,我们可以将光驱挂载在/mnt/cdrom上,然后进入该目录就可以查看光驱里的内容。
- /root:该目录为系统管理员(即超级用户root)的用户主目录。
- /home:用以存放普通用户的主目录。在Linux中,每个用户都有一个自己的目录,一般以用户的账号命名。
- /var:这个目录中存放着在不断更新的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种缓冲区和日志文件。
- /tmp:存放暂时文件。
5.系统的登陆
![4b99473e321bf72e06cc2d298ea7814d.png](https://i-blog.csdnimg.cn/blog_migrate/369b4e3ebde14a122e303379ed5d83dd.png)
root:当前登陆的用户名。
@:表示地址域名。
kali:表示当前登陆的主机名。
/:当前所在目录(我当前在根目录)
#:管理员用户
$:普通用户。
6.Linux文件类型
这里先讲一下linux中集中常见文件类型,具体后面再说
- 普通文件(-)Linux中最多的一种文件类型, 包括 纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data);各种压缩文件.第一个属性为 [-]。
- 目录文件(d)就是目录。
- 字符设备文件(c)输入设备,如键盘、鼠标。
- 块设备文件(b)就是存储数据以供系统存取的接口设备,简单而言就是硬盘。
- 套接口文件(s)这类文件通常用在网络数据连接。
- 符号链接(l)类似Windows下面的快捷方式。
三.Linux下基本操作
1.重启、关机命令
重启:shutdown -r <time>、reboot、Init6
关机:shutdown -h <time>、halt、Init0、poweroff
Init启动命令:
- init0:关机
- init1:单用户模式
- init2:多用户模式
- init3:完全多用户模式
- init4:安全模式
- init5:进入图形界面
- init6:重启
2.进入文件夹以及显示命令
①cd命令:进入文件夹
eg:进入etc目录下的hellow文件夹
cd /etc/hellow
②ls命令
ls命令常用的选项有-l 和-a
-l:显示文件详细信息
![9e8be5d14422d0636a1ce6cd849ca120.png](https://i-blog.csdnimg.cn/blog_migrate/56805244acbccfad754514c97f59ea9f.jpeg)
-a是显示隐藏文件
比如我们先普通查看/~
![ea7fc51e98b27285d3069070eb6d364b.png](https://i-blog.csdnimg.cn/blog_migrate/245c2ee37380fdd54c9c9eda09f6e56f.png)
使用-a
![67d83cc7d6e1d2e179b14afbb3bbd850.png](https://i-blog.csdnimg.cn/blog_migrate/8cb66660a31790bbaa2c35f5a5c992b2.jpeg)
可以发现很多隐藏文件也显示出来了。
3.man命令与help命令
man命令和help命令都很相似,都是查看一个命令的选项,比如说我们不知道ls命令是干什么的,我们就可以man ls或者 ls --help。
man ls
![a2334f6ba099f05d8fcd7e78bd83fba9.png](https://i-blog.csdnimg.cn/blog_migrate/ce16fb77d125872e5f21c85c22080b13.jpeg)
ls --help
![8b406b0260e659b2eeaaad8065504bba.png](https://i-blog.csdnimg.cn/blog_migrate/4908e5cd6733bb906533ee375bc9a692.jpeg)
4.echo命令与printf
echo和printf都是输出命令,printf可以被称为是echo的升级版。用法基本差不多。
如:输出我是全麦圈
echo "我是全麦圈"
printf "我是全麦圈"
![5e4617f11f0f2cd2fd89d8e65a137f37.png](https://i-blog.csdnimg.cn/blog_migrate/09594e92a7a914e91cbc7b0e58df975a.jpeg)
从中可以看出printf是不自动换行的 因此需要n来给换行
echo常用的命令选项:
-n:不要打印最后面的换行符。
-e:识别并解释转义字符。
-E:不解释转义字符。
在这个地方介绍一下常用转义字符
n 换行。
r 回车。
t 水平制表符。
5.主机信息与用户
whoami是查看当前用户
![8661e1491f881a21bc5ce0564e4a51fa.png](https://i-blog.csdnimg.cn/blog_migrate/a71bd73b094e4d1369a479ab77d61b12.jpeg)
uname是查看主机信息
一般uname -a查看详细信息
![dba0853fc5de804d6ab6e34f21839702.png](https://i-blog.csdnimg.cn/blog_migrate/75cc98f0e91738a2fc20b8b9381f20e4.png)
6.其他基础补充命令
clear:清除屏幕信息。
date:显示日期和时间。
![e471ac5217cd53ba4f5ca75e46fefba7.png](https://i-blog.csdnimg.cn/blog_migrate/679b4a6b9f2842571b916a2ac0edf8bc.png)
cal:显示日历
![456ada4e33c2ab6a86cdd34142e23278.png](https://i-blog.csdnimg.cn/blog_migrate/7f911c6757fd4f7737363e6faee56922.jpeg)
expr:算数运算
![0f6b4bdddbf900b0ce9907b2b0552e23.png](https://i-blog.csdnimg.cn/blog_migrate/c86142cff752b89493fbe96735e202c9.jpeg)
OK,Linux下基础命令就介绍完了,下面开始进阶。
大全麦圈齁死你:Linux超详细0基础入门篇(二)zhuanlan.zhihu.com![da1b0e039e91b9e0f1fbcb6d66232d9c.png](https://i-blog.csdnimg.cn/blog_migrate/948dee51a0f4ad76ab97008c6482a133.jpeg)