Linux 入门指南

Linux 入门指南

一开始接触Linux是因为我所在的前端小组使用Java写了一层BFF,接口报错后,直接找后端同学就不好使了,后端同学会直接说:给我看看你们外网日志...然而,查看错误日志需要去对应的测试、验证服务器查看,因为我也开始使用Tabby、iTerm2等终端工具,连接服务器,查看日志。

就这样我学会了基础的Linux命令,后来开始自学Linux,此文即讲述了我的自学路径,主要面向零基础或刚接触 Linux 的读者,涵盖环境搭建、Linux目录结构、常用命令等入门内容,希望可以给想入门Linux的同学一点帮助。


一、环境准备与连接服务器

本文通过Ubuntu开启Linux的学习之路,至于有哪些Linux操作系统大家自行百度,我就不再介绍啦。

1.1 环境搭建

  • 可以选择购买云服务器,如阿里云/腾讯云等,我当初选择了最省钱的办法,在本机用虚拟机 (如Parallels Desktop)安装一个 Ubuntu 系统,当作"云服务器"使用。
  • 安装完成后,即在虚拟机或宿主机中查到 Ubuntu 的 IP 地址,用于 SSH 连接。

1.2 SSH 直接连接

默认使用 22 端口连接 Linux 服务器:

bash 复制代码
ssh -p 22 用户名@IP地址

例如:ssh -p 22 root@192.168.1.100,如果连接被拒绝需要确认openssh-server是否安装,另外Ubuntu 防火墙是否放行 22 端口等。

1.3 使用 SSH 证书登录

使用密钥对登录,可免输入密码并提高安全性。

第一步:在本地生成 SSH 密钥对

本机终端执行:

bash 复制代码
ssh-keygen

按提示可一路回车(使用默认路径与空口令),或自行设置路径和密码。生成后,在 ~/.ssh/ 下找到 公钥 (如 id_rsa.pub),复制其全部内容。

第二步:在远程 Ubuntu 上准备目录

远程 Ubuntu 上执行:

bash 复制代码
mkdir -p ~/.ssh
cd ~/.ssh

第三步:写入公钥

在远程机的 ~/.ssh 目录下执行(将 复制的公钥 替换为实际公钥内容):

bash 复制代码
echo "复制的公钥" >> authorized_keys

第四步:本地配置 SSH(可选但推荐)

本机~/.ssh 目录下新建或编辑 config 文件,例如:

bash 复制代码
Host *
  ServerAliveInterval 30

Host ubuntu
  Port 22
  HostName 你的服务器IP或域名
  User root
  IdentityFile ~/.ssh/你的私钥文件名
  IdentitiesOnly yes

Host ubuntu 为自定义别名,之后可用 ssh ubuntu 直接连接。

第五步:确认服务端 SSH 允许密钥登录

远程 Ubuntu 上编辑 SSH 服务配置:

bash 复制代码
vi /etc/ssh/sshd_config

确认以下两项已启用(去掉行首 # 或保持为如下内容):

bash 复制代码
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2

第六步:重启 SSH 服务

在远程机上执行其一即可:

bash 复制代码
systemctl restart ssh
# 或
service ssh restart

完成后,在本机终端执行 ssh ubuntu(或你配置的别名)即可免密登录并获得 root 权限(若 config 中 User 为 root)。


二、Linux 常见目录结构

目录 说明
/bin 软链接到 /usr/bin/,存放常用命令的二进制文件(如 ll、ls)
/boot 启动 Linux 所需的核心文件(内核、initramfs 等)
/dev 设备文件,如磁盘、终端等,通过文件方式访问硬件
/etc 系统及各类服务的配置文件和子目录
/home 普通用户主目录,用户自己的文件、下载等
/lib 库文件(多为软链接到 /usr/lib 等)
/lost+found 默认为空;非法关机后,文件系统修复时可能将找回的数据放于此
/media 可移动媒体挂载点(如 U 盘、光驱)
/mnt 临时挂载点(如 U 盘、网络盘)
/opt 可选软件安装目录
/proc 虚拟文件系统,反映进程和内核信息
/root root 用户的主目录(~ 在 root 下即指 /root)
/run 运行时数据(如 PID 文件、套接字)
/sbin 系统管理用命令,多需 root 执行
/snap Snap 包安装目录
/srv 服务数据目录(如 Web、FTP 的数据)
/sys 虚拟文件系统,系统与内核信息
/tmp 临时文件,重启后可能被清空
/usr 用户级程序、库、文档等(如 /usr/bin、/usr/lib)
/var 可变数据,如日志、缓存、数据库等,常随运行而增长

三、常用命令

3.1 权限与用户

  • sudo su :获取管理员权限;执行后提示符会变为 root@主机名,表示当前是最高权限用户(root)。
  • 日常操作建议尽量不用 root,需要时再用 sudo 执行单条命令,更安全。

3.2 文件与目录

查看与切换

命令 说明
pwd 显示当前所在路径
ls 列出当前目录内容(默认不显示隐藏文件)
llls -la 列出所有文件(含隐藏),并显示权限等信息
ls -la ~ 查看当前用户主目录(~ 表示当前用户的家目录)
cd 目录 进入指定目录;输入路径时可用 Tab 自动补全
cd .. 返回上一级目录

文件权限含义(十个字符)

执行 ls -la 时,每行开头类似:drwxr-xr-x。第 1 个字符:d = 目录,- = 普通文件。后 9 个字符每 3 个为一组,依次表示拥有者、所属群组、其他用户的 r(read) 读 / w(write) 写 / x(execute) 执行;- 表示无该权限。例如 drwxr-xr-x 表示目录,拥有者可读写执行,群组和其他用户可读执行。

创建与删除

命令 说明
mkdir 目录名 创建目录,如 mkdir nginx
mkdir -p a/b/c 递归创建多级目录
touch 文件名 创建空文件,如 touch test.txt
rm -rf 目录/ 递归、强制删除,无法恢复,慎用!-r 递归,-f 强制)

移动、复制与重命名

命令 说明
mv 源 目标 移动文件或目录;目标为新名字时即为重命名
mv nginx/ /tmp nginx 移动到 /tmp
mv /tmp/nginx/ /tmp/nginx1 重命名为 nginx1
cp -r 源目录 目标路径 递归复制目录

3.3 文件查看与编辑

  • cat 文件名:一次性输出整个文件,适合小文件。
  • more 文件名 :分页查看,空格翻页,Ctrl+F / Ctrl+B 前后翻页。

vim / vi 编辑器vim 文件名 打开;按 i 进入插入模式,Esc 退出;:wq 保存退出,:q! 不保存退出;Ctrl+F / Ctrl+B 翻页。

3.4 查找与管道

  • |(管道符):前一个命令的输出作为后一个的输入。
  • grep 关键字:筛选包含关键字的行并高亮。
bash 复制代码
ls | grep te          # 列出名称包含 "te" 的项
ip addr | grep 10.211 # 在 IP 信息中筛选
find / -name "test.txt"   # 按文件名查找
find --help                # 查看 find 用法

3.5 系统信息

命令 说明
uname -a 完整内核及系统信息
uname -r 内核版本(简短)
cat /proc/version 内核详细信息

3.6 软件包安装(Debian/Ubuntu)

bash 复制代码
apt-get update              # 更新软件源索引
apt-get install 包名 -y     # 安装软件包,-y 自动确认,如:apt-get install unzip -y

3.7 磁盘管理

查看磁盘与分区df -Th 查看挂载与使用情况;fdisk -l 列出物理磁盘与分区;fdisk + 磁盘路径 分区,修改后用 partprobe 使内核识别。

逻辑卷(LVM)pvs / lvs / lvdisplay 查看物理卷、逻辑卷及详情;vgextend 扩展卷组;lvextend -L 大小 逻辑卷路径lvextend -L +100%FREE 逻辑卷路径 扩展逻辑卷;扩展后执行 /sbin/resize2fs 逻辑卷路径(ext4)使文件系统生效。

格式化mkfs -V -t ext4 -c 分区设备路径-V 详细信息,-t ext4 类型,-c 检查坏块)。


四、小结与参考

  • 入门阶段重点掌握:用户与权限文件与目录命令vim 基本操作管道与 grep
  • 做磁盘、分区、LVM 操作前,务必先备份重要数据,并在测试环境多练几遍。
  • rm -rf 慎用,删除前建议用 lspwd 再确认路径。

最后,学习参考链接分享给大家,Linux命令掌握常用的,其余的即查即用即可:

相关推荐
HLC++13 小时前
Linux的进程间通信
android·linux·服务器
华清远见IT开放实验室14 小时前
实验室建设案例 | 石家庄科技信息职业学院嵌入式实验室——从底层硬件到系统应用,一所应用型高校的嵌入式人才培养这样落地
linux·arm开发·stm32·嵌入式硬件·高校·实验室建设
groundhappy16 小时前
idalib安装和codex ida-mcp配置
linux·开发语言·python
通信小小昕17 小时前
Ubuntu 26.04 中文输入法安装
linux·运维·ubuntu
张小姐的猫18 小时前
【Linux】网络编程 —— HTTP协议(上)
linux·运维·服务器·网络·http·单例模式·策略模式
栩栩云生19 小时前
AI 写代码犯的错,早被写进了错题集
linux·安全·ai编程
imc.1120 小时前
linux基础IO
linux·运维·服务器
BelongPanda1 天前
Linux Nginx 纯手动 Let‘s Encrypt 泛域名证书配置教程
linux·nginx
酷可达拉斯1 天前
Linux操作系统-shell编程(0)
linux·运维·服务器·python·云计算
2301_777998341 天前
Linux中断机制:操作系统如何高效运行
linux·运维·服务器