下面的文字较长,不喜欢看的也可以直接看//斜体加粗大致了解一下

##### tips:网页端按 ctrl + f可以进行查找哦 #####


一,什么是linux?

//是一种操作系统

Linux是一种自由和开放源码的类Unix操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布。它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。

Linux具有丰富的内置功能和强大的社区支持,使其成为众多企业和个人用户的首选操作系统。它适用于几乎所有类型的计算机硬件,从手机、平板电脑到大型机和超级计算机。Linux还是免费使用和自由传播的,这使得它成为许多开发者和用户的首选,可以根据自己的需求和兴趣定制和修改。

Linux的名字来源于计算机业余爱好者Linus Torvalds,他在1991年发布了第一个Linux内核。虽然当时Linux还没有完全成形,但Torvalds认为这个操作系统很“Linux-like”,因此就给它起了这个名字。


二,Linux的使用场景,为什么要学习linux?

// linux是网安学习的基础

Linux广泛用于以下场景:

  1. 服务器操作系统:Linux可以用于构建高性能、可靠的服务器操作系统,如Apache、Nginx、MySQL、Redis等应用程序都可以在Linux上运行。
  2. 嵌入式系统:Linux可以用于嵌入式系统,如智能电视、智能音箱、智能家居等。由于Linux具有小巧、低功耗、高可靠性等优点,因此在这些设备中得到广泛应用。
  3. 桌面系统:Linux可以用于构建桌面操作系统,如Ubuntu、Debian、CentOS等。Linux的桌面环境提供了丰富的应用程序和用户界面,可以满足用户的需求。
  4. 移动设备:Linux可以用于构建嵌入式设备和移动设备的操作系统,如Android、iOS、BlackBerry等。由于Linux具有开放源代码和广泛的社区支持,因此可以使用各种开源库和工具来构建这些设备的操作系统。
  5. 开发环境:Linux可以用于搭建开发环境,如Code::Blocks、Eclipse、GitLab等开发工具。这些工具可以提供集成开发环境(IDE)和调试工具,帮助开发者更高效地进行开发。
  6. 网络服务器:Linux可以用于构建网络服务器,如Apache、Nginx等。Linux具有高可用性和高性能等优点,因此在大型网络和企业级应用中得到广泛应用。
  7. 高校计算机课程:Linux可以用于教育机构的计算机课程,如CS Courses 提供的Linux操作系统课程。学生可以通过学习Linux操作系统来了解计算机系统的工作原理,并学会使用各种基本的计算机软件和工具。

三,如何学习linux?

  1. 选择一个比较合适的Linux发行版:首先需要选择一个比较合适的Linux发行版,如Debian或Ubuntu。这些发行版具有广泛的社区支持和稳定性,可以满足大多数用户的需求。//有图形化界面,适合萌新,类似Windows,自己电脑上学习linux一般是用vmware安装对应虚拟机进行学习
  2. 学习基础命令:学习Linux的基础命令是非常重要的,例如ls、cd、cp、mv等。你可以通过阅读Linux的文档或参考教程来学习这些命令。//linux的操作都是可以靠指令完成的
  3. 学习操作系统基础概念:了解操作系统的基础概念,如进程、线程、文件系统、网络等,可以帮助你更好地理解Linux。你可以阅读Linux的文档或参考教程。//小白暂时可以忽略,先学好最基础的只要入了门,也就知道如何自学了
  4. 学习代码规范和分布式管理代码:学习代码规范和分布式管理代码对于成为一个优秀的程序员非常重要。你可以参考Linux的代码规范或使用Git等工具来管理代码。
  5. 学习高级命令和技巧:Linux提供了许多高级命令和技巧,如use grep、crontab等。你可以通过参考文档或参考教程来学习这些命令和技巧。
  6. 实践:最后,你需要不断地实践,尝试使用Linux解决实际问题。你可以通过参加Linux的培训课程或使用Linux自带的练习工具来实践。***//最重要的是实践,即使理论性的东西不是非常懂,只要多实践,自然会豁然开朗***

四,选择合适的linux发行版,在虚拟机中安装linux

推荐使用ubuntu(乌班图)

Ubuntu20.04版本镜像文件(ubuntu-20.04.6-desktop-amd64.iso):链接:https://share.weiyun.com/aMm2RiqF 密码:ajrb8t

安装vmware:

官网版17版本:点击下载,可以试用30天

想要正版长期使用有俩途径,1,淘宝或并夕夕搜vmware激活码,大概三块钱一个,直接激活了,2,网上找破解版,这里主要是讲学习Linux,故不讨论破解的问题。

安装完打开长这样:(我的是16版本)

因为要写的东西太多了,看这个吧: 超详细VMware安装Ubuntu虚拟机步骤_ubuntu vmware-CSDN博客

我主要讲一下可能会遇到的问题:

1,如果你安装完,发现用着用着就就越来越卡,最后卡死

请检查c盘空间是否足够,最好还空闲20g以上。

2.vmware打开虚拟机提示产品与此版本不兼容,或者发生错误,导致虚拟 CPU 进入关闭状态。如果虚拟机外部发生此错误,则可能已导致物理计算机重新启动……

确定你的vmware版本,假如是16,然后打开你的虚拟机安装目录:

右键vmx文件,用记事本打开

查看上面字段是否和自己的VMware版本号一致,若不一致,则改一致,重启即可

3,安装时窗口太小,“下一步”按钮被挡住了:

按下Alt+F7,同时按下鼠标左键,然后拖动窗口

4,鼠标点进了虚拟机,出不来了。

按ctrl+alt


虚拟机安装就这样告一段落,接下来就可以学习Ubuntu了!

任何地方都可以“用终端打开”

终端 就是输入命令的地方

打开后长这个样

ubuntu@ 你的用户名:~/地址$

为了方便,下面的命令统一不再配图,除非遇到特殊说明情况


一,命令

下面来学习基础命令:

获取管理员权限 sudo su

1
sudo su

需要输入账户的密码,输入时不显示,输完回车即可

获取管理员权限的目的:管理员(root)权现是最高权现,获取后可以更改任意文件及设置

得知目前所在的路径 pwd

1
pwd

得到目前所在路径,用户的操作是有地址的,特定目录有特定的职能,因此在进行默某些特殊操作时你需要到特定的目录里面去,这个命令就是让你得知你目前在那个目录

列出当前目录下的文件夹 ls

1
ls

例子:

ls

回显:music photos

则表明目前的目录下面有music和photos两个文件夹

读取文件 cat

1
cat

用于查看文件的内容,而不需要在任何文本编辑器中打开它

读取一个名为flag.txt的文件

1
cat flag.txt

回显: ctf{you_ar4_righ4}

表明你读取了一个名为flag.txt的文件,其内容是 ctf{you_ar4_righ4}

查看当前文件夹下所有的文件内容

1
cat *

关机 shutdown

例子

​ 关机并重启:

1
shutdown -r now

这将在当前用户下强制关闭系统,并在5秒后重启。

​ 关机但不重启:

1
shutdown -h now

这将关闭系统,但不重启。

​ 关机后等待10分钟后重启:

1
shutdown -r +10 10分钟后重启

这将在当前用户下强制关闭系统,并在10分钟后重启。

关机后等待10点钟重启:

1
shutdown -h +10 10点钟重启

这将关闭系统,并在10点钟时重启。

仅发送警告信息而不关机:

1
shutdown -k now

这将发送一条警告信息,但不会强制关闭系统。

立即关机并切断电源:

1
shutdown -P now

这将立即关闭系统并切断电源。

目录操作 cd

Linux中的cd命令用于在文件系统中切换目录。它的语法如下:

1
cd [目录路径]

例如,要切换到根目录,可以使用以下命令:

1
cd /

要切换到上一级目录,可以使用以下命令:

1
cd ..

要切换到当前目录的子目录,可以使用以下命令:

1
cd /path/to/directory

要更改到特定目录,可以使用以下命令:

1
cd /tmp

要返回上一个目录,可以使用以下命令:

1
cd -

删除 rm

rm命令用于删除文件或目录。它的语法如下:

1
rm [选项] 文件或目录

例如,要删除当前目录下的test文件,可以使用以下命令:

1
rm test

要删除一个文件夹,可以使用以下命令:

1
rm -r directory/

其中,directory/是要删除的文件夹路径。

解压 压缩 tar

tar命令用于将文件打包成归档文件,并且可以解包归档文件。它的语法如下:

1
tar [选项] [文件或目录1] [文件或目录2] ... [文件或目录N]

例如,要将当前目录下的所有文件和目录打包成一个归档文件,并且命名为howtoing-16-apr-2013.tar.gz,可以使用以下命令:

1
tar -xvf howtoing-16-apr-2013.tar.gz

要从归档文件中解包文件,可以使用以下命令:

1
tar -xvf howtoing-16-apr-2013.tar

其中,howtoing-16-apr-2013.tar是要解包的归档文件名。

查找 find

find命令是一个用于在文件系统中查找文件和目录的常用工具。它的语法如下:

1
find [选项] 目录 -type f -name [文件名]

例如,要在当前目录及其子目录中查找所有扩展名为.txt的文件,可以使用以下命令:

1
find . -type f -name "*.txt"

要在当前目录及其子目录中查找所有以”example”开头的文件,并且不包含”.txt”扩展名,可以使用以下命令:

1
find . -type f -name "example*"

要在当前目录及其子目录中查找所有大小大于100MB的文件,可以使用以下命令:

1
find . -type f -size +100M

其中,+100M表示查找大小不超过100MB的文件。

要递归搜索整个文件系统,可以使用以下命令:

1
find / -type d -name "*" -print

其中,/`表示搜索根目录。

复制 cp

cp命令用于复制文件或目录。它的语法如下:

1
cp [选项] 源文件 目标文件

例如,要将当前目录下的test文件复制到test_copy目录中,可以使用以下命令:

1
cp test test_copy

要将当前目录下的文件test复制到当前目录中,可以使用以下命令:

1
cp test .

要将当前目录下的文件test_copy复制到当前目录中,并且将test文件的权限更改为可读、可写和可执行,可以使用以下命令:

1
cp test_copy ./test_copy

其中,./test_copy表示将test_copy文件移动到当前目录中。

移动 mv

mv命令用于移动文件或目录。它的语法如下:

1
mv [选项] 源文件 目标文件

例如,要将当前目录下的test文件移动到test_copy目录中,可以使用以下命令:

1
mv test test_copy

要将当前目录下的文件test移动到当前目录中,可以使用以下命令:

1
mv test .

要将当前目录下的文件test_copy移动到当前目录中,并且将test文件的权限更改为可读、可写和可执行,可以使用以下命令:

1
mv test_copy ./test_copy

新建文件夹

mkdir是用于在文件系统中创建新目录的命令。它的语法如下:

1
mkdir [选项] 目录名

例如,要在当前目录下创建一个名为test的新目录,可以使用以下命令:

1
mkdir test

要在当前目录下创建一个名为test2的新目录,并且将用户具有写入权限,可以使用以下命令:

1
mkdir -m test

其中,-m选项表示创建一个具有管理员权限的目录。


二,python for linux

python是一种解释型、高级和通用的编程语言。

语法简洁易懂,具有丰富的内置函数和第三方库,因此被广泛应用于数据科学、Web开发、游戏开发、机器学习等领域。

它可以帮助初学者快速入门编程,并且可以帮助他们逐步提高编程技能。

默认情况下,Linux会自带安装Python,可以运行

1
python --version

命令查看

运行 Python 代码

在 Linux 中,可以使用以下命令来运行 Python 代码:

1
python3 文件名.py

其中,文件名.py 是要运行的 Python 文件的名称。

编写 Python 代码

在 Linux 中,可以使用任何文本编辑器来编写 Python 代码。例如,可以使用 Vim 编辑器编写 Python 代码:

1
vim 文件名.py

在编辑器中编写完代码后,可以使用以下命令来运行 Python 代码:

1
python3 文件名.py

其中,文件名.py 是要运行的 Python 文件的名称。