Linux入门篇01~~Linux的快速入门 (简洁,详细,基础)

article/2025/11/6 16:21:05

文章目录

  • 1. 入门概述
    • 1.1 我们为什么要学习Linux
    • 1.2 Linux 简介
    • 1.3 Linux 发行版
    • 1.4 Linux 应用领域
    • 1.5 Linux vs Windows
    • 1.6 环境搭建
  • 2. 走进Linux世界
    • 2.1 系统目录结构
    • 2.2 Linux 文件颜色表示
    • 2.3 关机命令
    • 2.4 辅助工具
    • 2.5 目录切换
    • 2.6 目录CURD
    • 2.7 文件内容查看
    • 2.8 网络配置
  • 3. Vim编辑器
    • 3.1 什么是Vim编辑器
    • 3.2 三种使用模式
    • 3.3 执行流程

1. 入门概述

1.1 我们为什么要学习Linux

       linux诞生了这么多年,以前还喊着如何能取代windows系统,现在这个口号已经小多了,任何事物发展都有其局限性都有其天花板。就如同在国内再搞一个社交软件取代腾讯一样,想想而已基本不可能,因为用户已经习惯于使用微信交流,不是说技术上实现不了解而是老百姓已经习惯了,想让他们不用,即使他们自己不用亲戚朋友还是要用,没有办法的事情。

       用习惯了windows操作系统,再让大家切换到别的操作系统基本上是不可能的事情,改变一个人已经养成的习惯太难。没有办法深入到普通老百姓的生活中,并不意味着linux就没有用武之地了。在服务器端,在开发领域linux倒是越来越受欢迎,很多程序员都觉得不懂点linux都觉得不好意思,linux在开源社区的地位依然岿然不动。

       尤其是作为一个后端程序员,是必须要掌握Linux的,因为这都成为了你找工作的基础门槛了,所以不得不学习!

1.2 Linux 简介

       Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。

       Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX(可移植操作系统接口) 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。

       Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

1.3 Linux 发行版

​ Linux 的发行版说简单点就是将 Linux 内核与应用软件做一个打包。

在这里插入图片描述

       目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。

在这里插入图片描述

1.4 Linux 应用领域

       今天各种场合都有使用各种 Linux 发行版,从嵌入式设备到超级计算机,并且在服务器领域确定了地位,通常服务器使用 LAMP(Linux + Apache + MySQL + PHP)或 LNMP(Linux + Nginx+ MySQL + PHP)组合。

目前 Linux 不仅在家庭与企业中使用,并且在政府中也很受欢迎。

  • 巴西联邦政府由于支持 Linux 而世界闻名。
  • 有新闻报道俄罗斯军队自己制造的 Linux 发布版的,做为 G.H.ost 项目已经取得成果。
  • 印度的 Kerala 联邦计划在向全联邦的高中推广使用 Linux。
  • 中华人民共和国为取得技术独立,在龙芯处理器中排他性地使用 Linux。
  • 在西班牙的一些地区开发了自己的 Linux 发布版,并且在政府与教育领域广泛使用,如 Extremadura 地区的 gnuLinEx 和 Andalusia 地区的 Guadalinex。
  • 葡萄牙同样使用自己的 Linux 发布版 Caixa Mágica,用于 Magalh?es 笔记本电脑和 e-escola 政府软件。
  • 法国和德国同样开始逐步采用 Linux。

1.5 Linux vs Windows

在这里插入图片描述

1.6 环境搭建

Linux 的安装,安装步骤比较繁琐,现在其实云服务器挺普遍的,价格也便宜,如果直接不想搭建,也可以直接买一台学习用用!

安装CentOS(虚拟机安装,耗资源)

​ 1、可以通过镜像进行安装!

​ 2、可以使用我已经制作好的镜像!视频中讲解了该种方式!

​ 3、安装 VMware 虚拟机软件,然后打开我们的镜像即可使用!

购买云服务器

​ 虚拟机安装后占用空间,也会有些卡顿,我们作为程序员其实可以选择购买一台自己的服务器,这样的话更加接近真实线上工作;

​ 1、阿里云购买服务器:https://www.aliyun.com

​ 2、购买完毕后,获取服务器的ip地址,重置服务器密码,就可以远程登录了

​ 3、下载 xShell 工具,进行远程连接使用!连接成功效果如下:
在这里插入图片描述
注意事项:

​如果要打开端口,需要在阿里云的安全组面板中开启对应的出入规则,不然的话会被阿里拦截!

2. 走进Linux世界

linux 没有输出 代表成功

2.1 系统目录结构

登录系统后,在当前命令窗口下输入命令:ls / 查看所有目录

树状目录结构:(Linux的一切资源都挂载在这个 / 根节点下)
在这里插入图片描述

- /bin:	存放二进制可执行命令
- /boot: 	这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
- /dev :	存放外部设备特殊文件
- /etc: 	系统管理和配置文件
- /home:	用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的
- /lib:	这个目录里存放着系统最基本的动态连接共享库,作用类似windows里的.dll文件/sbin 	超级管理命令,这里存放的是系统管理员使用的管理程序
- /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
- /media:	linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
- /mnt:	系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
- /opt:	这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
- /proc:	这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
- /root:	该目录为系统管理员,也称作超级权限者的用户主目录。
- /sbin:	s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
- /srv:	该目录存放一些服务启动之后需要提取的数据。
- /sys:	这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
- /tmp:	这个目录是用来存放一些临时文件的。
- /usr:	这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
- /var:	这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
- /run:	是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。
- /www : 	存放服务器网址相关的资源,

主要的目录

/etc: 	上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
/bin, 	/sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在 /bin/ls 目录下的。值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给 root 使用的指令。
/var: 	这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在 /var/log 目录下,另外 mail 的预设放置也是在这里。

2.2 Linux 文件颜色表示

白色			文件,例如 hello.md hello.py hello.txt等类型的文件
蓝色			目录
绿色			可执行文件
红色			压缩文件
浅蓝			链接文件
灰色			其他文件
红色			文件有问题
黄色			设备文件、block、char、fifo
绿色背景	    文件夹

2.3 关机命令

不管是重启系统还是关闭系统,首先要允许sync命令,把内存中的数据写道磁盘中.

sync 				# 将数据由内存同步到硬盘中
shutdown			# 关机指令,你可以man shutdown 来看一下帮助文档
shutdown -h 10		# 这个命令告诉大家,计算机将在10分钟后关机
shutdown -h now 	# 立即关机
shutdown -h 20:35 	# 系统会在今天20:25关机
shutdown -h +10 	# 十分钟后关机
shutdown -r row 	# 立即重启 
shutdown -r +10 	# 系统十分钟后重启
reboot 				# 就是重启,等同于 shutdown -r row
halt 				# 关闭系统,等同于shutodwn -h now 和 poweroff

2.4 辅助工具

man 			查看使用文档
--help			查看帮助文档	

2.5 目录切换

cd				# 切换目录
cd ..			# 返回上一级
cd ./			# 当前目录 
cd ~			# 换到当前用户目录clear 			# 清屏
pwd 			# 查看当前用户所在目录

2.6 目录CURD

ls							# 列出所有目录
ls -a 						# all 查看全部的文件,包括隐藏文件
ls -l  						# list 列出所有的文件,包含文件属性和权限,没有隐藏文件
ls -al						# 理出所有文件 包含隐藏文件rm							# 移除文件或者目录
rm -f 						# 忽略不存在的文件,不会出现警告,强制删除!
rm -r						# 递归删除目录!
rm -i 						# 互动,询问是否删除
rm -rf 						# 强制递归删除 不询问mv 文件 位置	 				# 移动(剪切)文件或者目录| 如果文件名一直 === 重命名
mv -f						# 强制
mv -u						# 只替换已经更新过的文件
mv -i 						# 若目标文件已经存在时,就会询问是否覆盖
mv 文件名 文件名  			# 重命名文件夹mkdir [目录名] 			  	# 创建目录
mkdir -p [目录名]/[目录名]	# 递归创建rmdir [目录名]				# 删除空目录
rmdir -p [目录名]/[目录名] 	# 递归删除cp 原来的地方 新的地方 	 	# 拷贝文件  如果文件重复 选择覆盖或放弃touch	[文件] 		 	    # 创建文件

2.7 文件内容查看

Linux系统中使用以下命令来查看文件的内容:

# 读文章、配置文件都使用cat tac命令
cat	[文件]		 # 从第一行开始显示 
tac [文件]		 # 从最后一行开始显示 倒序查看nl [文件]	  	 # 从第一行开始显示,输出时显示行号more [文件]	     # 分页显示  (空格翻页,回车滚动页面)
more :f [文件]	 # 分页,行号显示less [文件]		 # 它可以往前翻页!(空格翻页,上下键代表翻动页面!退出 q)
head -n 20		 # 前20行
tail -n 20 		 # 后20行 # 相关属性
/				# 向下查询字符串
?				# 向上查询字符串
n			    # 向下寻找
N				# 向上寻找
q				# 退出
回车			    # 逐步查看
空格			    # 翻页查看
上下键 		  	# 上下翻滚
-n 			    # 参数来控制显示几行  

2.8 网络配置

cd /etc/sysconfig/network-scripts/ifcfg-nth33		# 网络配置目录 
cd /etc/sysconfig/network-scripts/ifcfg-nth0		# 网络配置目录
ifconfig 											# 查看网络配置
ip addr 											# 查看网络配置

3. Vim编辑器

3.1 什么是Vim编辑器

       Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
       简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。
       vim 则可以说是程序开发者的一项很好用的工具。
       所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。
       连 vim 的官方网站 (http://www.vim.org) 自己也说 vim 是一个程序开发工具而不是文字处理软件。

vim键盘图:

请添加图片描述

3.2 三种使用模式

命令模式(Command mode)		  # 用户刚刚启动 vi/vim,便进入了命令模式。- : 					  # 切换到底线命令模式,以在最底一行输入命令。- i		 			      # 切换到输入模式,以输入字符- u						  # 重复动作- 数字 空格		 		  # 横向快捷切换光标,数字w+空格- 数字 回车	 			  # 纵向快捷切换关闭,数字+回车- /word					  # 搜索- n,N					  # 向下搜索  向上搜索- G,g					  # 跳到文件最后一行/第一行输入模式(Insert mode)		  # 在命令模式下按下i就进入了输入模式。- enter					  # 回车键,换行- back space			  # 退格键,删除光标前一个字符- del					  # 删除键,删除光标后一个字符- 方向键 				  # 在文本中移动光标- home end				  # 移动光标到行首/行尾- Page Up/Page Down 	  # 上/下翻页- insert				  # 切换光标为输入/替换模式,光标将变成竖线/下划线- esc					  # 退出输入模式,切换到命令模式底线命令模式(Last line mode)  # 在命令模式下按下:(英文冒号)就进入了底线命令模式。- :w					  # 保存- :q					  # 离开- :wq 					  # 存储后离开- :wq!					  # 强制存储后离开- :set nu				  # 显示行号- :set nonu				  # 取消行号

3.3 执行流程

简单的说,我们可以将这三个模式想成底下的图标来表示:
完整演示说明: 新建或者编辑文件 → i 键 进入编辑模式 → 编写内容 → 退出编辑模式 → esc → 进入底线命令模式:wq保存退出!

请添加图片描述


http://chatgpt.dhexx.cn/article/qqOVtKvC.shtml

相关文章

【Linux】-- 入门基础命令

目录 Linux简介 一、用户相关操作命令 1.查看当前用户who am i 2.新建用户adduser 3.修改密码passwd 4.删除用户userdel 二、ls指令 1.-a 2.-d 3.-i 4.-k 5.-l 6. -n 7.-F 8.-r 9.-t 10.-s 11.-R 12.-1 三、pwd命令 四、cd指令 1.Linux管理文件形式 2.绝对路径和相…

linux简单入门

目录 Linux简介Linux目录结构Linux文件命令文件处理命令文件查看命令常用文件查看命令 Linux的用户和组介绍Linux权限管理 Linux简介 Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯本纳第克特托瓦兹&#x…

Linux零基础快速入门篇

推荐教程:Linux零基础快速入门到精通 操作系统概述 操作系统是计算机软件的一种,它主要负责:作为用户和计算机硬件之间的桥梁,调度和管理计算机硬件进行工作而计算机,如果没有操作系统,就是一堆无法使用的…

Linux新手快速入门(万字超详细)

Linux系统新手入门 文章目录 Linux系统新手入门前言一、Linux的文件和目录结构1.1 Linux的文件1.2 Linux的目录结构 二、 VIM编译器2.1 了解VIM编译器2.2 一般模式2.3 编辑模式2.4 指令模式 三、网络配置3.1 配置网络ip地址3.2 配置主机名 四、系统管理4.2 systemctl4.3 设置后…

Linux小白10分钟快速入门教程

1 基础知识 应用领域:服务器使用。 linux启动:Linux系统的启动过程可以分为5个阶段: 内核的引导。当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。操作…

快速入门Linux

学习目标 1、Linux/centos系统简介 2、Centos系统目录结构 3、Centos常用命令 4、Centos安装Java 5、Centos安装Tomcat 6、Centos安装Mysql 7、Mysql主从复制 8、Shell编程1、Linux简介 Linux是一个免费和开源的操作系统。能运行在多种设备上,比如手机、平板电脑、…

Sftp和ftp over ssh2的区别

最近使用SecureFx,涉及了两个不同的安全文件传输协议: -sftp -ftp over SSH2 这两种协议是不同的。sftp是ssh内含的协议,只要sshd服务器启动了,它就可用,它本身不需要ftp服务器启动。ftp over SSH2则象一个二传手。 1、…

ssh2实现远程连接机器webShell

1. nodejs使用ssh2连接shell,简单交互 示例:使用conn.shell import { Client } from ssh2;const conn new Client(); conn .on(ready, () > {console.log(Client :: ready);conn.shell({ term: xterm }, (err, stream) > {if (err) {throw err;…

Putty上传文件报Received SSH2_MSG_CHANNEL_DATA for nonexistent channel 0

生产服务器通过Putty上传jar包报错信息如下: 排查发现出现原因是上传目录磁盘空间满了 解决办法:进入磁盘空间满的目录,执行du -a|sort -rn|head -10,对磁盘空间进行清理,注意不要删除data目录的数据,尽量找…

SSH J2EE

<I>what is "SSH" 在J2EE项目中表示了3种框架,即 Spring+Struts+Hibernate。 Struts对Model,View和Controller都提供了对应的组件。 Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。它是为了解决企业应用开发的复杂性而创建的。 Hibernat…

ssh2框架整合详细版(使用较新jar包)

ssh2框架整合Maven详细配置、多种方式介绍&#xff0c;中间碰到问题与注意点&#xff0c;部分已有指出。 关于Eclipse中使用Maven详见http://blog.csdn.net/it_faquir/article/details/54562242 步骤一 导入必备junit、javax.servlet相关jar包&#xff0c;maven配置如下&…

nodejs系列-如何用JS代码连接远程服务器并执行命令创建文件-ssh2

ssh2是什么&#xff1f; SSH2 client and server模块用纯JavaScript为node.js编写。我们可以在代码里使用它链接远端服务器&#xff0c;执行一些必要的操作 为什么要使用ssh2&#xff1f; 作为一名前端&#xff0c;我们在某些情况下&#xff0c;需要使用代码去登录Linux服务器…

【SSH2框架(理论篇)】--SSH2 Vs 经典三层

&#xfeff;&#xfeff; 这几天一直在学习使用SSH2框架&#xff0c;对于框架本身的使用并不是很困难&#xff0c;相信经过多锻炼就能够熟练的掌握框架的使用&#xff0c;让我匪夷所思的是在使用框架的时候感觉很熟悉&#xff0c;好像在哪里用过似得。就在某次查看代码的时候突…

xshell7无法远程连接linux虚拟机,启动SSHD报错:Bad SSH2 cipher spec...

项目场景&#xff1a; xshell7无法远程连接linux虚拟机 问题描述 终端输入systemctl start sshd 启动报错&#xff1a; 输入sshd -t 查看具体报错信息&#xff1a; 解决方案&#xff1a; 输入ssh -Q cipher&#xff0c;查看ssh使用了哪些ciphers: 复制结果 输入vim …

2.ssh远程登录

1.ssh命令 &#xff08;1&#xff09;ssh命令的参数ssh- l 指定登陆用户 - i 指定私钥 - X 开启图形 - f 后台运行 - o 指定连接参数 - t 制定连接跳板 ssh - l root 172.25.254 .x -o "StrictHostKeyChecking no" 首次连接不需要…

SSH建立原理

一、ssh2协议 在ssh1中&#xff0c;由单个协议提供密钥交换、身份认证与加密的功能&#xff0c;而ssh2内部由3个协议组合一起&#xff0c;为其提供这些功能。这3个协议: 传输层协议 认证协议 连接协议 传输层协议 主要提供密钥交换与服务器端认证功能 认证协议…

SSH2协议加密与连接过程

最近在做ssh2联动交换机模块&#xff0c;看到libssh2-1.9.0版本对于用户认证有三种不同的方式&#xff1a; ① password&#xff08;默认&#xff09;② keyboard-interactive ③ publickey 看代码并不是太理解&#xff0c;所以查询了一番&#xff0c;SSH2通信大致分为两步&a…

来说说datatype

今天敲代码一直卡在一个问题上面好久那就是--datatype的未定义&#xff0c;起初不晓得datatype的含义&#xff0c;遇到这种情况首先想到的就是自己又忘记加上面头文件了。随即写了个stdlib.h上去。可是问题并没有得到解决&#xff0c;还是显示未定义。 怀疑是不是自己拼写的错误…

StringType报错,提示不是DataType类型

使用scala语言将RDD转化为sparkSQL时&#xff0c;构造StructType时StringType报错 val schema StructType( //构建函数&#xff0c;给每列数据一个统一的列名Seq(StructField("phoneNum",IntegerType,true),StructField("time",Integer…

mysql workbench的datatype设置问题

create table之后&#xff0c;创建column&#xff0c;选择datatype。我选择timestamp和datetime如图所示后就失败。 问题就在于要么去掉括号&#xff0c;要么括号里面填写数字。 成功后如图。 这里只要看paidTime的datatype即可。 这个问题真的花了我很久的时间&#xff0c;我…