Linux进阶

yin_bo_ Lv2

之前还没有系统性的学习和总结下Linux,今天让我补全下🤕

Linux安装

因为我们并没有云服务器,所以需要在我们的windows系统电脑上安装Linux。
Linux的版本有很多,这里我选择的是Ubuntu
安装Linux虚拟机有两种方式:

  • 通过VMware虚拟机

  • 通过WSL

    两者核心区别:

项目 VMware 虚拟机 WSL(WSL2)
运行方式 完整的独立虚拟电脑(有自己的独立 Linux 内核) Windows 的子系统(深度整合,轻量虚拟化)
文件互通 需要共享文件夹、SSH/SFTP 或拖拽 天生互通,直接用 \\wsl$\Ubuntu 访问
网络 像另一台真实电脑(支持桥接/NAT/Host-Only) 所有端口自动映射到 localhost / 127.0.0.1
资源占用 高(通常分 2–8GB 内存 + 几十 GB 硬盘) 极低(几百 MB 内存,几 GB 硬盘即可流畅运行)
启动速度 慢(开机要 10–60 秒) 秒开(1–3 秒)
适用场景 跑病毒/恶意样本测试、学习系统管理、内核开发、需要完整隔离环境 日常开发、运维脚本调试、学习 Linux 命令、快速搭建工具链
能不能当服务器 完全可以(和真机几乎无差别) 基本够用(开发/测试/轻量服务可以,跑恶意样本绝对不行)
图形界面支持 原生支持(安装 desktop 后就是完整桌面) 支持(需额外装 WSLg 或第三方 XServer)

初学者建议用VMware体验更加原生的Linux系统,这里我选择使用WSL💞

SSH连接工具

  • 什么是SSH?
    可以像操作本地电脑一样,去远程操作另一台电脑

对于我们的Linux系统虚拟机,如果想要向其传输数据,就需要用到SSH连接工具,不过这里我使用的是WSL,可以实现文件互通。
对于VMware虚拟机上的Linux系统,不能与Windows实现数据传输,就需要用到SSH连接工具了
这里推荐FinalShell

Linux目录结构

alt Linux目录结构
alt Linux目录结构

目录 含义
/bin 存放二进制可执行文件
/boot 存放系统引导时使用的各种文件
/dev 存放设备文件
/etc 存放系统配置文件
/home 存放系统用户的文件
/lib 存放程序运行所需的共享库和内核模块
/opt 额外安装的可选应用程序包所放置的位置
/root 超级用户目录
/sbin 存放二进制可执行文件,只有root用户才能访问
/tmp 存放临时文件
/usr 存放系统应用程序
/var 存放运行时需要改变数据的文件,例如日志文件

Linux常用命令

Linux命令常用技巧

  • Tab键自动补全
  • 连续按两次Tab键,给出操作提示
  • 使用上下箭头快速调出曾经使用过的命令
  • 使用Clear命令或者快捷键Ctrl+L实现清屏

Linux命令格式

1
command [-options] [parameter]

说明:
command:命令名
[-options]:选项,可用来对命令进行控制,也可以省略
[parameter]:传给命令的参数,可以是0个,1个或多个
[]代表可选命令名

文件目录操作命令

ls

  • 作用:显示指定目录下内容
  • 语法ls [-a] [dir]

说明

  • -a: 显示所有文件及目录(以.开头的隐藏文件也会列出来)。
  • -l: 除了文件名,还会讲文件的形态,权限,拥有者,文件大小等。

注意

由于我们使用ls命令时,经常会加上-l选项,所以Linux很人性化的为我们提供了ll命令来作为ls -l命令的简写,使用ll -a也可以替代ls -al

cd

  • 作用:用户切换当前工作目录,即进入指定目录
  • 语法cd [dirName]

说明

  • ~: 表示用户的home目录
  • .: 表示当前目录
  • ..: 表示当前位置的上级目录

cat

  • 作用:用于显示文件内容
  • 语法cat [-n] fileName

说明

  • -n:显示行号

举例

  • cat /etc/profile
    查看/etc目录下的profile文件内容
  • cat -n /etc/profile
    查看/etc目录下的profile文件内容,显示行

Markdown## 文件目录操作命令

ls

  • 作用:显示指定目录下的内容
  • 语法ls [-al] [dir]

说明

  • -a:显示所有文件及目录(以.开头的隐藏文件也会列出)
  • -l:除文件名外,还会列出文件的权限、拥有者、文件大小等详细信息

注意

由于经常使用 ls -l,Linux 提供了 ll 作为 ls -l 的别名简写,ll -a 也可以替代 ls -al

cd

  • 作用:切换当前工作目录
  • 语法cd [dirName]

说明

  • ~:表示用户的 home 目录
  • .:表示当前所在目录
  • ..:表示上级目录

cat

  • 作用:显示文件全部内容
  • 语法cat [-n] fileName

说明

  • -n:从 1 开始对所有输出的行编号

举例

  • cat /etc/profile
    查看 /etc 目录下的 profile 文件内容
  • cat -n /etc/profile
    查看 /etc 目录下的 profile 文件内容,并显示行号

more

  • 作用:以分页形式显示文件内容
  • 语法more fileName

说明

  • 回车:向下滚动一行
  • 空格:向下滚动一屏
  • b:返回上一屏
  • q 或 Ctrl+C:退出

举例

  • more /etc/profile
    以分页方式查看 /etc/profile 文件内容

tail

  • 作用:查看文件末尾内容(常用于查看日志)
  • 语法tail [-f] [-n 行数] fileName

说明

  • 默认显示最后 10 行
  • -f:动态跟踪文件最新内容(常用于监控日志)

举例

  • tail /etc/profile
    显示文件末尾 10 行
  • tail -20 /etc/profile
    显示文件末尾 20 行
  • tail -f /kyle/blog.log
    实时监控 blog.log 文件新增内容

mkdir

  • 作用:创建目录
  • 语法mkdir [-p] dirName

说明

  • -p:递归创建多层目录,如果父目录不存在则自动创建

举例

  • mkdir linuxCast
    在当前目录创建 linuxCast 子目录
  • mkdir -p linuxCast/test
    递归创建多层目录

rmdir

  • 作用:删除空的目录
  • 语法rmdir [-p] dirName

说明

  • -p:删除子目录后如果父目录变为空,也一并删除
  • 只能删除空目录

举例

  • rmdir linuxCast
    删除名为 linuxCast 的空目录
  • rmdir -p linuxCast/test
    删除 test 后如果 linuxCast 为空也一并删除

rm

  • 作用:删除文件或目录
  • 语法rm [-rf] name

说明

  • -r:递归删除目录及内部所有内容
  • -f:强制删除,不提示确认
  • 支持通配符(如 *

注意

rm -rf / 是极度危险的操作,请务必谨慎!

拷贝移动命令

cp

  • 作用:复制文件或目录
  • 语法cp [-r] source dest

说明

  • -r:递归复制目录及其下所有内容

举例

  • cp hello.txt linuxCast/
    复制 hello.txt 到 linuxCast 目录
  • cp hello.txt ./hi.txt
    复制并改名为 hi.txt
  • cp -r linuxCast/* ./blog/
    复制 linuxCast 目录下所有内容到 blog 目录

mv

  • 作用:移动文件/目录 或 重命名
  • 语法mv source dest

说明

  • 如果 dest 不存在 → 重命名
  • 如果 dest 存在且是目录 → 移动到该目录

举例

  • mv hello.txt hi.txt
    重命名为 hi.txt
  • mv hi.txt blog/
    移动到 blog 目录
  • mv linuxCast blog
    如果 blog 不存在 → 重命名;如果存在 → 移动进去

打包压缩命令

tar

  • 作用:打包、解包、压缩、解压
  • 语法tar [-zcvf|-zxvf] fileName [files]

说明

  • .tar:仅打包,未压缩
  • .tar.gz / .tgz:打包并使用 gzip 压缩
  • -z:使用 gzip 压缩/解压
  • -c:创建新的包文件
  • -x:从包文件中解包
  • -v:显示详细过程
  • -f:指定包文件名

举例

  • tar -cvf hello.tar ./*
    将当前目录所有文件打包为 hello.tar(不压缩)
  • tar -czvf hello.tar.gz ./*
    打包并压缩为 hello.tar.gz
  • tar -zxvf hello.tar.gz
    解压并解包 hello.tar.gz

文本编辑命令

vim

  • 作用:强大的文本编辑器(vi 的增强版)
  • 语法vim fileName

说明

三种模式:

  1. 命令模式(默认进入):可移动光标、复制粘贴、删除等
  2. 插入模式:按 iao 进入,可编辑文字,左下角显示 -- INSERT --
  3. 底行模式:按 :/ 进入,可保存、退出、查找等
    • :wq 保存并退出
    • :q! 不保存强制退出
    • :set nu 显示行号

查找命令

find

  • 作用:在指定目录下查找文件
  • 语法find dirName -name "pattern"

举例

  • find / -name helloworld.log
    在全系统查找 helloworld.log
  • find . -name "*.java"
    在当前目录及其子目录查找所有 .java 文件

grep

  • 作用:在文件中搜索包含指定文本的行
  • 语法grep word fileName

举例

  • grep Hello Helloworld.java
    在 Helloworld.java 中查找包含 Hello 的行
  • grep hello *.java
    在当前目录所有 .java 文件中查找 hello
  • 标题: Linux进阶
  • 作者: yin_bo_
  • 创建于 : 2025-11-21 09:53:02
  • 更新于 : 2025-11-21 11:15:29
  • 链接: https://www.blog.yinbo.xyz/2025/11/21/运维学习/Linux进阶/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。