Linux是一个开源、稳定、安全的操作系统,深受专业开发者和服务器管理员的青睐。本文将以通俗易懂的方式,全面介绍Linux的核心概念、常用命令、文件系统、用户权限、网络工具以及一些实用软件(如SSH、Vim、Ollama等),帮助初学者快速上手。

一、Linux简介与版本

Linux操作系统分为内核版发行版。内核负责与硬件交互,而发行版则在内核基础上打包了各种生态软件,形成可直接使用的完整系统。常见的发行版有Ubuntu、CentOS、RedHat(RedCat应为笔误)、Debian等。它们的基础操作基本一致,仅在软件包管理或某些配置上略有差异。

Linux的核心特点:

  • 开源免费:源代码公开,可自由修改和分发。

  • 稳定安全:长时间运行不易崩溃,权限管理严格。

  • 命令行操作:强大的终端工具让自动化和管理更高效。

二、如何获得一个Linux系统

1. 双系统安装

在一台电脑上同时安装Windows和Linux,开机时选择启动哪个系统。优点是可以直接使用全部硬件资源,但两个系统不能同时运行。

2. 虚拟机

使用虚拟化技术(如VirtualBox、VMware)在Windows上模拟出多套硬件,从而运行多个独立的Linux系统。这种方式适合学习和测试,可以随时切换、快照回滚。

3. 云服务器

通过阿里云、腾讯云、华为云等平台租用远程Linux服务器,获得公网IP,随时随地可通过网络访问。适合部署网站、运行服务。

4. 白嫖腾讯云Cloud Studio

腾讯云提供免费的Cloud Studio环境,每日签到赠送2机时(1机时=1核2G服务器运行10小时),可创建Linux应用环境进行开发。但注意它不是完整的Linux服务器,是一个容器。

三、Linux文件系统与目录结构

Linux没有“盘符”概念,一切从根目录 / 开始。常见目录如下:

目录作用
/boot启动文件和内核
/etc软件配置文件,如/etc/apt/sources.list为apt镜像源
/root管理员(root)的家目录
/home普通用户家目录,如/home/cxy
/lib依赖库文件
/opt第三方软件存放位置
/proc进程目录,一个进程对应一个文件,体现“一切皆文件”
/var软件工作区,存放日志等
/tmp临时文件
/bin/usr/bin/usr/local/bin普通用户可执行文件
/sbin/usr/sbin/usr/local/sbinroot管理员可执行文件

四、基础命令与文件操作

1. 路径与查看

  • pwd:显示当前路径

  • ls:列出当前目录内容,常用选项:

    • -l:详细列表(显示权限、大小、日期等)

    • -h:以易读方式显示大小

    • -a:显示所有文件(包括.开头的隐藏文件)

  • cd:切换目录

    • cd ./ 进入当前目录

    • cd ../ 进入父目录

    • cd ~ 回到家目录

    • cd - 回到上次所在路径

2. 创建与删除

  • mkdir 文件夹名:创建文件夹,-p可创建多级目录

  • touch 文件名:创建空文件

  • rmdir 文件夹:删除空文件夹

  • rm -rf 文件夹:强制递归删除非空文件夹

  • rm 文件名:删除文件

3. 复制与移动

  • cp 源文件 目录/:复制到目录(保留原名)

  • cp 源文件 目录/新名字:复制并重命名

  • cp -r 源目录 目标目录/:递归复制目录

  • mv 源文件 目录/:移动(剪切)到目录

  • mv 源文件 目录/新名字:移动并重命名

4. 链接

  • 硬链接ln 源文件 新文件,不能链接文件夹,大小与源文件相同,修改一个另一个同步更新,删除一个另一个仍可用。

  • 软链接ln -s 源文件 新文件,可链接文件夹,相当于快捷方式,删除源文件则链接失效。

5. 查看文件内容

  • cat 文件名:查看整个文件

  • head -n 文件名:查看前n行

  • tail -n 文件名:查看末尾n行

  • less / more:分页查看,空格翻页,Enter翻行,q退出

6. 重定向与管道

  • > 覆盖输出,例如 ls -alh / > info

  • >> 追加输出

  • | 管道:将左边命令的输出作为右边命令的输入,如 cat 文件 | more

  • grep 过滤:cat 文件 | grep -n msg 显示包含msg的行及行号

7. 压缩与解压

  • tar:归档工具

    • -c 创建,-t 查看,-x 解开,-v 显示详细信息,-f 指定归档名(必须放在最后)

    • 例如:tar -cvf archive.tar dir/ 创建归档,tar -xvf archive.tar 解包

  • gzip:压缩单个文件,-r压缩目录(生成.tar.gz),-d解压,会删除原文件

  • zipzip -r 压缩包.zip 源文件/目录-r用于文件夹

  • unzipunzip 压缩包.zip

五、用户与权限管理

1. 用户信息

  • /etc/passwd:存放用户信息

  • /etc/group:存放组信息

2. 用户管理命令

  • useradd -m 用户名:创建用户并自动创建家目录

    • -s /bin/bash 指定shell

    • -g 组名 指定所属组

  • userdel -r 用户名:删除用户并删除家目录

  • passwd 用户名:设置或修改用户密码(不带用户名则修改root密码)

  • su 用户名:切换用户,不带用户名切换到root

  • exit:退出当前用户或终端

3. 用户组管理

  • groupadd 组名:添加组

  • groupdel 组名:删除组

4. 文件权限

使用ls -l查看文件时,第一列如-rwxr-xr--表示权限。第一个字符代表类型(-文件,d目录,l软链接),后面9个字符分三组:

  • 前三个:当前用户权限(u)

  • 中间三个:同组用户权限(g)

  • 后三个:其他用户权限(o)

每个权限用r(读,4)、w(写,2)、x(执行,1)表示,-表示无权限。

修改权限使用chmod命令:

  • 字母法:chmod u+x 文件 给所有者加执行权限;chmod g-w 文件 去掉组写权限;chmod o=rx 文件 设置其他用户为读和执行。

  • 数字法:chmod 750 文件 表示所有者rwx(7),组r-x(5),其他无权限(0)。

六、系统信息与网络工具

1. 系统信息

  • uname:查看操作系统信息

  • lscpu:查看CPU信息

  • free -h:查看内存使用情况

  • df -h:查看磁盘空间

2. 网络命令

  • ip address 或 ifconfig:查看IP地址

  • ping:测试网络连通性

  • netstat 或 ss:查看端口使用情况,常用参数-t(tcp)、-u(udp)、-n(数字显示)、-l(监听中)

  • curl:请求网络资源

  • wget:下载文件

3. 进程管理

  • ps -ef | grep ssh:查看指定进程

  • kill -9 PID:强制杀死进程

七、常用软件与服务

1. Jupyter Notebook

Jupyter是一个基于Web的交互式开发环境,支持代码、文档和图表。安装与启动:

bash

pip install jupyter
jupyter notebook --allow-root --ip=0.0.0.0 --port=8899

然后通过浏览器访问。

2. APT 软件包管理

Debian/Ubuntu系使用apt管理软件:

  • apt update:更新软件源

  • apt install 软件名:安装软件

  • apt uninstall 软件名:卸载软件

3. SSH 远程连接

SSH允许从远程计算机安全地登录Linux服务器。安装与启动:

bash

sudo apt install openssh-server
service ssh start   # 启动服务,默认端口22

远程连接命令:ssh 用户名@公网IP,输入密码后即可。Windows下可使用Xshell等客户端,或使用云平台自带的工作台。

4. SCP 远程拷贝

SCP基于SSH协议进行文件传输:

  • 本地→远程:scp 本地文件 用户名@ip:./ (拷贝到远程家目录)

  • 远程→本地:scp 用户名@ip:./远程文件 ./

  • 递归拷贝文件夹加 -r

5. 服务管理命令

  • systemctl 或 service:管理服务

    • service ssh status:查看状态

    • service ssh start/stop/restart:启动/停止/重启

八、Vim编辑器

Vim是Linux下强大的文本编辑器,分为三种模式:普通模式、插入模式、命令模式。

1. 普通模式

  • 移动光标:h左、j下、k上、l右;G文件末尾、gg文件开头、M屏幕中间;:行号跳转

  • 复制粘贴:yy复制一行,nyy复制n行,p粘贴

  • 删除:dd删除一行,x删除单个字符,D删除光标之后内容,d0删除光标之前内容

  • 撤销与重做:u撤销,Ctrl+r重做

2. 命令模式(按:进入)

  • :q 退出,:wq 保存退出,:q! 强制退出不保存

  • :set nu 显示行号,:set nonu 隐藏行号

  • /关键词 或 ?关键词 搜索,n/N跳转下一个/上一个

3. 插入模式

  • i光标前插入,I行首插入

  • a光标后插入,A行末插入

  • o在下方新行插入,O在上方新行插入

  • Esc返回普通模式

注意:非正常关闭Vim会产生.swap交换文件,需要删除后才能正常编辑。

九、Ollama:本地大语言模型运行工具

Ollama是一个开源工具,用于在本地运行和管理大语言模型(如Llama、Qwen等),支持CUDA加速。

1. 安装与启动

bash

curl -fsSL https://ollama.com/install.sh | sh
OLLAMA_HOST=0.0.0.0:11434 ollama serve  # 启动服务

2. 常用命令

  • ollama list:列出已下载模型

  • ollama pull 模型名:下载模型

  • ollama rm 模型名:删除模型

  • ollama run 模型名:运行模型(自动下载)

  • ollama stop 模型名:停止模型

  • ollama ps:查看运行中的模型

3. WebUI

可通过浏览器插件(如Ollama Client)或开源Web界面访问Ollama服务。

4. 开发接口

Ollama支持多种高级功能:

  • 流式响应stream参数控制

  • 思考模式thinking参数(True/False或low/medium/high)

  • 视觉输入vision参数,支持图像

  • 结构化输出struct output,可指定JSON格式或BaseModel

  • 嵌入向量embedding,将文本转为向量,计算语义相似度

  • 工具调用Tool calling,定义函数并让模型决定是否调用

  • 联网搜索web_search/web_fetch,需提供API Key

5. 自定义模型

通过Modelfile可以定制模型参数,例如:

text

FROM llama3
temperature 0.7
num_predict -1
num_ctx 4096
top_k 40
top_p 0.9
repeat_penalty 1.1
  • temperature:控制随机性,低值更确定,高值更多样

  • num_predict:最大生成token数,-1不限

  • num_ctx:上下文长度,越大越耗内存

  • top_ktop_p:采样策略,影响词汇多样性

  • repeat_penalty:惩罚重复内容

总结

Linux作为专业开发者的首选操作系统,其强大的命令行、灵活的权限管理和丰富的开源生态为软件开发、服务器运维和AI应用提供了坚实基础。本文从基础概念到实战工具进行了系统梳理,涵盖文件操作、用户管理、网络配置、SSH远程连接、Vim编辑以及Ollama大模型部署等内容。掌握这些知识,你就能高效地在Linux环境中工作和学习。随着实践的深入,你还可以探索Shell脚本、Docker容器、自动化运维等高级主题,让Linux成为你技术成长路上的得力伙伴。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐