admin 管理员组

文章数量: 1184232

快捷键:
Tab:命令/文件名补全
Ctrl+C:终止当前命令
Ctrl+L:清屏(等同于clear命令)
路径操作:
cd /:进入根目录
cd ..:返回上级目录

1.Linux目录结构

1.1Win和Linux文件系统区别

  • 树状结构:Linux系统的目录结构是一个倒立的树状结构,根目录用"/"表示
  • 与Windows区别:没有盘符概念(如C盘、D盘),所有存储设备都挂载在目录树下
  • 根目录:是整个系统的顶级目录,无法再向上追溯(类似面向对象中的Object类)

1.2 Linux常见目录介绍

/bin
  • 全称:binary(二进制)的缩写
  • 作用:存放二进制可执行程序和shell命令
  • 常见命令:
    • date:显示当前时间
    • ls:列出目录内容
    • cat:查看文件内容
    • echo:输出文本
  • 执行方式:

    • 直接输入命令(如date):由shell解析器自动查找并执行
    • 使用路径执行(如/bin/date):直接运行当前目录下的可执行文件
/boot
  • 作用:存放系统启动所需的文件
  • 重要文件:
    • grub:系统引导程序
    • vmlinuz:Linux内核文件
  • 注意事项:
    • 不要随意修改或删除该目录下的文件
    • 修改可能导致系统无法启动
/dev
  • 全称:device(设备)的缩写
  • Linux哲学:在Linux系统中,一切皆文件,硬件设备也被虚拟为文件
  • 设备文件示例:
    • mouse:鼠标设备文件
    • sda:硬盘设备文件
    • mem:内存设备文件
  • 测试命令:
  •  sudo cat /dev/input/mouse0
    • 移动鼠标会显示坐标数据(二进制格式)
    • 按Ctrl+C终止命令
    • 按Ctrl+L清屏
/etc
  • 核心作用:存放当前操作系统的配置目录,路径为根目录下的/etc
  • 配置范围:
    • 系统级配置(如网络配置在network目录)
    • 软件安装配置(如MySQL配置在mysql目录下的f文件)
  • 重要性:后期安装MySQL、Nginx、Redis等软件时都需要在此目录进行配置
  • 操作验证:可通过ls /etc命令查看大量配置文件
  • 典型配置文件:

    查看/etc下的配置文件:执行 ls /etc,会看到大量以.conf(配置文件)、.d(配置子目录)结尾的文件 / 目录。

    • network/:网络配置
    • mysql/:数据库配置
    • passwd:用户账户信息
    • hosts:域名解析配置
/home
  • 核心作用:存放系统中用户的宿主目录(家目录)
  • 目录结构:
    • 每个用户拥有独立子目录(如/home/cc)
    • 新建用户时会自动创建对应的家目录
  • 宿主目录特点:
    • 用户登录后的默认工作目录
    • 拥有完整的读写权限
    • 存放用户个性化配置和私有文件

/lib

“library(库)” 的缩写,存放系统和应用程序运行所依赖的 “动态链接库”(.so 文件)和 “静态链接库”(.a 文件)—— 相当于程序的 “辅助工具包”,没有这些库,很多程序会无法运行。

/lost+found

主要用于修复文件系统错误时,存放找回的 “丢失文件碎片”,常见于嵌入式 Linux(如路由器、开发板)或使用机械硬盘的系统。

/media

外设自动挂载目录,如U盘插入时会自动挂载到此目录下

/mnt

手动挂载目录,与media的区别在于需要手动指定挂载

/media  vs /mnt

两者都是用于 “挂载” 外部存储设备(如 U 盘、移动硬盘、光盘)的目录,但定位不同:

目录 核心定位 操作方式 示例场景
/media 自动挂载点(系统自动管理) 插入 U 盘 / 光盘后,系统自动识别并挂载到/media/用户名/设备名 普通用户插入 U 盘,直接在/media下访问文件
/mnt 手动挂载点(用户手动指定) 需要用mount命令手动将设备挂载到/mnt(或其下子目录) 运维人员挂载服务器的额外硬盘、NFS 共享目录

示例:插入 U 盘后,系统可能自动挂载到/media/itcast/USB-DISK,此时访问该路径就能操作 U 盘文件;如果要挂载一块新硬盘/dev/sdb1,则需执行mount /dev/sdb1 /mnt/new_disk(先创建/mnt/new_disk目录)。

/opt

“optional(可选)” 的缩写,用于存放第三方大型商业软件或独立安装的应用程序—— 这些软件通常不依赖系统默认目录(如/usr),有自己独立的目录结构。

/proc

“process(进程)” 的缩写,是一个虚拟文件系统(不占用实际硬盘空间,数据存放在内存中),存放当前系统运行的进程信息、内存状态、硬件参数等实时数据

/root

root用户(Linux 系统的 “超级管理员”,拥有最高权限)的家目录,相当于root的 “私人空间”,普通用户没有访问权限(除非root手动授权)。

/sbin目录
  • “superuser binary” 的缩写,存放只有root用户才能执行的系统管理命令—— 这些命令涉及系统核心操作(如分区、网络配置),普通用户无权执行。
  • 特点:
    • 命令通常涉及系统管理功能
    • 普通用户无法直接执行这些命令
  • 常见命令:
    • fdisk:磁盘分区工具
    • ifconfig:网络配置工具
    • ldconfig:动态链接库配置工具
/bin与/sbin的区别
  • 权限区别:
    • /bin:所有用户可用的基本命令
    • /sbin:需要root权限的系统管理命令
  • 内容区别:
    • /bin包含常用命令如ls、cat、echo等
    • /sbin包含系统管理命令如fdisk、ifconfig等
  • 路径提示符:
    • 路径中的斜杠有三种含义:
      • 开头的/表示根目录
      • 中间的/是目录分隔符
      • 结尾的/是目录提示符(可省略)
/srv目录
  • “server(服务)” 的缩写,存放系统服务(如 FTP、HTTP、NFS)运行时所需的资源文件或配置,体现 Linux 作为服务器的特性
  • 用途:
    • 存放FTP、HTTP等服务的配置文件
    • 体现Linux作为服务器的特性
  • 示例:
    • FTP服务的配置文件通常存放在/srv/ftp
/tmp目录
  • 作用:“temporary(临时)” 的缩写,存放程序运行时产生的临时文件,是系统提供的 “公共临时存储空间”。
  • 特点:
    • 系统提供给用户使用的临时存储空间
    • 程序关闭后文件可能被删除
    • 系统重启后会清空该目录
  • 使用场景:
    • 程序运行期间需要的临时文件
    • 不需要长期保存的数据
/usr目录
  • 作用:“Unix Software Resource” 的缩写,存放与用户相关的软件资源、工具、文档等,是 Linux 系统中文件数量最多、体积最大的目录之一(仅次于根目录)。
  • 重要子目录:
    • /usr/include:存放C语言头文件
      • 包含stdio.h、stdlib.h等常用头文件
      • 系统编程相关的头文件如fcntl.h、signal.h等
    • /usr/local:本地安装的软件资源
/var目录
  • 含义:variable的缩写,存放经常变化的文件
  • 主要内容:
    • 日志文件:/var/log目录
      • 系统自动生成的日志文件
      • 旧日志会被压缩存档
    • 数据库文件:/var/lib/mysql
      • MySQL数据库的实际存储位置
      • 需要root权限访问
  • 管理建议:
    • 定期清理旧日志文件
    • 重要数据不应存放在此目录

用户宿主目录定义

  • 术语定义:
    • 宿主目录:学术名词,指系统为每个用户分配的专属目录
    • 家目录:宿主目录的俗称(注意不是指/home本身)
  • 命名规范:
    • 路径格式:/home/用户名
    • 示例:
      • itcast用户:/home/itcast
      • lisi用户:/home/lisi
  • 特殊符号:
    • :代表当前用户的家目录(如等价于/home/itcast)
  • 创建机制:
    • 通过useradd命令创建用户时自动生成
    • 目录名严格匹配用户名
  • 多用户环境:
    • 系统可同时存在多个用户账户
    • 每个用户只能自由操作自己的家目录
    • 管理员(root)可访问所有用户目录
  • 权限管理:
    • 默认权限:rwxr-xr-x(用户可读写,其他用户只读)
    • 重要配置文件:.bashrc、.profile等隐藏文件

2.cd命令的使用

1CD绝对路径

  • 定义:从根目录/开始找寻的路径称为绝对路径
  • 特点:无论当前在哪个目录下,绝对路径都能准确定位目标位置
示例:
当前目录 执行命令 最终切换到的目录 原理说明
任意目录 cd /bin /bin(系统命令目录) 从根目录直接进入bin子目录
任意目录 cd /home/itcast /home/itcast(itcast 用户的家目录) 从根目录→homeitcast,按完整层级导航

记忆点:绝对路径总是以斜杠/开头,表示从根目录开始查找

2. CD相对路径
1)上一级目录
  • 符号:使用..表示上一级目录
  • 示例:
    • 当前在/home/itcast/bj_40目录中
    • 执行cd ..进入/home/itcast目录
    • 再次执行cd ..进入/home目录
  • 特点:可以连续使用..向上返回多级目录
2)当前目录
  • 符号:使用.表示当前目录
  • 示例:
    • cd .:保持当前目录不变
    • cd ./itcast:进入当前目录下的itcast子目录
  • 实用技巧:./常用于执行当前目录下的可执行文件
3)当前目录总结
  • 区别:
    • 绝对路径:从根目录开始,不受当前位置影响
    • 相对路径:基于当前位置进行导航
  • 记忆口诀:"点点向上,点杠当前"
  • 注意:使用相对路径前需明确当前所在位置,可用pwd命令查看
3. CD回车
  • 功能:直接回车返回用户的家目录(宿主目录)
  • 特点:
    • 家目录用~符号表示
    • 无论当前在哪个目录,cd回车都能直接返回家目录
  • 验证方法:使用pwd命令查看当前路径
4. CD-
  • 功能:返回上一次工作过的目录
  • 特点:
    • 只能在最近两个目录间切换
    • 例如:从/home/itcast/bj_40切换到/dev后,cd -会返回/home/itcast/bj_40
  • 实用场景:在两个目录间快速切换时特别有用
  • 注意:与cd ..的区别在于cd -是切换目录,而cd ..是向上返回一级

3.pwd命令

  • 全称与作用:print working directory的缩写,用于打印当前shell的工作目录路径
  • 使用场景:通过pwd命令可查看当前所在目录的完整路径,如/home/itcast
  • 记忆技巧:只需记住缩写形式,全拼在实际操作中不常用

4.终端提示符格式

  • 标准格式:用户名@主机名:shell工作路径$
  • 组成解析:
    • itcast@itcast:表示用户itcast在itcast主机上
    • ~:波浪符特指当前用户的宿主目录(家目录)
    • $:表示当前是普通用户身份
  • 特殊符号:
    • @:英文"at"的变体,表示"在"的关系
    • ~:仅在家目录可用,其他目录需使用完整路径

5.用户等级与切换

1)用户身份标识
  • $普通用户:提示符末尾显示$符号
  • #管理员(root):提示符末尾显示#符号,拥有系统最高权限
  • 危险提示:root用户可修改/删除任何文件,初学者应谨慎使用
2)用户切换操作
  • 切换命令:sudo su输入密码后即可切换为root用户
  • 退出命令:使用exit命令可退出root用户返回普通用户
  • 目录变化:
    • 普通用户家目录:/home/用户名
    • root用户家目录:/root

6.快捷键

Tab键

  • 补齐命令
  • 补齐路径
  • 显示当前目录下的所有目录

清屏

clear作用为清除终端上的显示(类似于DOS的cls清屏功能),也可使用快捷键:Ctrl + L ( “L” 为字母 )。

deng@itcast:~$ clear

中断进程

ctlr+c的作用是中断终端的操作。

deng@itcast:/$ sleep 3000

遍历输入的历史命令

  • 从当前位置向上遍历:ctrl + p (
  • 从当前位置向下遍历: ctrl + n(

光标相关操作

  • 光标左移: ctrl + b (
  • 坐标右移: ctrl + f (
  • 移动到头部: ctrl + a(Home
  • 移动到尾部: ctlr + e(End

字符删除

  • 删除光标前边的字符:ctrl + h(Backspace)

  • 删除光标后边的字符:ctrl + d

    光标后边的字符即光标覆盖的字符

  • 删除光标前所有内容:ctrl + u

  • 删除光标后所有内容:ctrl + k

7.Linux软件在线安装

1. Linux软件安装方式
  • 系统渊源关系:
    • Mac OS基于Unix系统改造
    • iOS系统源自Mac OS改造
    • Android系统明确使用Linux内核
  • 安装方式特点:
    • 与手机安装方式类似(应用商店模式)
    • 不同于Windows的安装包双击安装方式
    • 安装位置由系统自动管理,用户无需指定
2.安装命令详解
  • 安装流程:
    • 必须保证网络连接正常
    • 使用sudo apt-get update更新软件源
    • 使用sudo apt-get install <软件名>安装指定软件
    • 示例:安装tree命令sudo apt-get install tree
  • 操作特点:
    • 类似手机应用商店的一键安装
    • 无需关心软件安装位置
    • 系统自动完成依赖管理和文件部署

8. Linux常用基础命令

1)sudo apt-get
  • 网络连通性测试
    • 测试方法:使用ping命令测试网络连通性,可以ping域名(如www.baidu)或IP地址(如8.8.8.8)
    • 结果判断:若返回time值(毫秒)和TTL等信息,说明网络畅通;8.8.8.8是Google提供的免费DNS服务器
    • 测试原理:访问外网需要借助网关,ping通说明当前网络环境正常
  • 虚拟机网络设置
    • NAT模式配置
      • 配置步骤:

        • 打开虚拟机设置 → 网络适配器 → 选择NAT模式
        • 原理:共享主机IP地址,使Linux能借助Windows的网络环境访问外网
      • IP获取:采用自动获取方式,无需手动配置
      • 验证方法:配置完成后需再次ping外网地址验证连通性
    • 网络故障排查
      • 常见现象:若无法ping通外网地址
      • 解决方案:
        • 检查虚拟机网络模式是否为NAT
        • 确认主机网络正常
        • 重新获取IP地址
      • 测试建议:优先测试知名网站(百度/淘宝/京东)或稳定IP(8.8.8.8)
      • 结果解读:
        • 包含传输数据包大小(64 bytes)
        • 显示往返时间(time=46.5ms等)
        • 统计信息:丢包率(0% packet loss)、平均延迟(45.676ms)
        • 序列号(icmp_seq)用于检测连续性
  • 软件在线安装
    • 简单设置
      • 网络设置
        • NAT模式配置:通过虚拟机设置→网络适配器→选择NAT模式,实现Linux系统共享主机IP地址上网
        • 验证方法:在终端执行ping 8.8.8.8命令,出现类似以下响应表示网络连通:
  • 指定软件源
    • 操作路径:系统菜单→软件和更新→下载自→其他站点
    • 推荐源:阿里云镜像源http://mirrors.aliyun/ubuntu
    • 更新机制:首次选择需要更新软件源索引,阿里云服务器会同步国外软件仓库
  • 使用命令安装软件
    • 基本格式:
      • sudo apt-get install 软件名(完整格式)
      • sudo apt install 软件名(Ubuntu 16.04+简写格式)
    • 工具对比:
      • apt-get:基础包管理工具(类比迅雷)
      • aptitude:增强工具(类比快车),支持更多功能
  • 使用命令查看软件状态
    • 前提条件:需先安装aptitude:sudo apt-get install aptitude
    • 查看命令:sudo aptitude show 软件名
    • 状态标识:
      • "已安装":软件已成功安装
      • "未安装":系统中不存在该软件
  • 
  • 应用案例
    

    • tree工具安装
      • 安装命令:sudo apt-get install tree
      • 功能特点:

        • 以树状结构显示目录内容
        • 仅适用于目录,不能查看普通文件内容

        功能:递归显示目录的层级结构,用连线区分父子目录,一目了然。

        命令 效果说明 示例场景
        tree 显示当前目录的完整结构(包括所有子目录和文件) 在 /home/itcast 目录执行,查看自己的文件组织
        tree 目录名 显示指定目录的结构 tree /etc → 查看系统配置目录的层级关系
        tree -L n 只显示前 n 层目录(避免层级过深导致输出混乱) tree -L 2 → 只显示当前目录下的 1-2 层结构
      • 使用示例:
        • tree:显示当前目录结构
        • tree 目录名:显示指定目录结构
    • sl趣味工具
      • 安装命令:sudo apt-get install sl
      • 功能特点:
        • 输入错误命令sl时显示动画小火车
        • 纯娱乐性质,无实际功能
      • 验证安装:sudo aptitude show sl查看安装状态
  • 注意事项
    • 双重验证:安装前后均可使用aptitude show确认软件状态
    • 网络依赖:必须保证Linux系统能访问外网才能正常安装
    • 权限要求:所有安装命令都需要sudo获取管理员权限
    • 版本差异:Ubuntu 16.04+支持apt简写命令,旧版本需使用完整apt-get

9.文件相关命令

 ls

ls是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的dir命令。

Linux文件或者目录名称最长可以有256个字符,“.”代表当前目录,“..”代表上一级目录,以“.”开头的文件为隐藏文件,需要用 -a 参数才能显示。

  • 语法ls [选项]... [文件/目录]...
    无选项时默认列出 “当前目录下的非隐藏文件 / 目录”,类似 Windows 的 dir 命令;
    加目录路径(如 ls /bin)可指定查看目标目录的内容。

ls常用参数:

参数 含义
-a 显示指定目录下所有子目录与文件,包括隐藏文件
-l 以列表方式显示文件的详细信息
-h 配合 -l 以人性化的方式显示文件大小
ls -l

ls -l的7部分参数

  • 7种文件类型:
    文件类型 标识字符 是否占用磁盘 核心特点与示例
    普通文件 - 存储文本、图片、程序等数据(如 test.txta.out 可执行文件)
    目录文件 d 存储其他文件 / 目录的索引(如 /home/bin
    软链接文件 l 否(伪文件) 类似 Windows 快捷方式,指向原文件(如 ln -s test.txt link.txt 创建的 link.txt
    字符设备文件 c 否(伪文件) 按 “字符流” 操作的硬件设备(如键盘 /dev/keyboard、屏幕 /dev/tty1),位于 /dev 目录
    块设备文件 b 否(伪文件) 按 “磁盘块” 操作的硬件设备(如硬盘 /dev/sda、分区 /dev/sda1),位于 /dev 目录
    管道文件 p 否(伪文件) 单向数据传输通道(如 mkfifo pipe1 创建的 pipe1),命令中 ` 就是管道操作(如ls grep txt`)
    套接字文件 s 否(伪文件) 用于网络 / 进程间通信的特殊文件(如 /tmp/socket1),基于 socket 机制

关键区分:

  • 真实文件:仅 “普通文件” 和 “目录文件” 占用磁盘空间,其他 5 类均为 “伪文件”,仅为系统与硬件 / 进程交互的 “接口”,不存储实际数据。
  • 设备文件定位:所有硬件设备(键盘、硬盘、鼠标)的 “文件化身” 都在 /dev 目录,通过 ls -l /dev 可看到大量 c(字符设备)和 b(块设备)类型的文件。
  • 权限的 “分组逻辑” 与字符含义

    (1)分组规则:3 组权限对应 3 类用户
    权限分组 对应用户类型 字符位置(后 9 个字符) 示例(rw-r--r--
    第 1 组 所有者(创建者) 第 1-3 位 rw-(可读可写,无执行)
    第 2 组 所属组用户 第 4-6 位 r--(仅可读)
    第 3 组 其他人(非前两类) 第 7-9 位 r--(仅可读)
    (2)权限字符含义
    字符 权限类型 对普通文件的作用 对目录的作用
    r 读权限 可查看文件内容(如 cat test.txt 可列出目录下的文件(如 ls 目录
    w 写权限 可修改 / 删除文件内容(如 echo 1 > test.txt 可创建 / 删除目录下的文件(如 touch 目录/new.txt
    x 执行权限 可运行文件(如 ./a.out 执行程序) 可进入目录(如 cd 目录
    - 无权限 无法执行对应操作 无法执行对应操作
目录权限特殊说明:

目录的 “执行权限(x)” 是 “进入目录” 的前提,若目录权限为 r--(无 x),即使有读权限,也无法用 cd 进入目录。例如 drw-r--r-- 的目录:

  • 所有者有 rw- → 可列出目录内容(ls),但无法进入(无 x);
  • 其他人有 r-- → 可列出内容,但无法进入。
ls命令的其他参数
1)-a
  • 功能:显示所有文件,包含隐藏文件
  • 隐藏文件规则:
    • 以"."开头的文件为隐藏文件(如.bashrc)
    • 与Windows不同,不是通过属性设置实现隐藏
  • 操作示例:

    • touch .test.c创建隐藏文件
    • mkdir .aaa创建隐藏目录
    • 必须使用ls -a才能查看
2)-r
  • 功能:递归显示目录内容
  • 显示规则:
    • 逐层显示子目录内容
    • 可与-a组合使用显示隐藏文件
  • 操作示例:
    • ls -R显示目录树结构
    • ls -Ra同时显示隐藏文件
    • ls -Ral显示完整详细信息
3)-h
  • 功能:以人类可读方式显示文件大小
  • 显示规则:
    • 自动添加KB/MB/GB单位
    • 默认单位是字节
  • 组合使用:
    • ls -lh显示带单位的文件大小
    • ls -lha同时显示隐藏文件
4)缩写的ls相关命令
  • ll:相当于ls -alF(显示详细信息+隐藏文件+类型标识)
  • la:相当于ls -A(显示隐藏文件但不包括.和..)
  • l:相当于ls -CF(列显示+类型标识)
5)应用案例
  • 例题:ls命令演示
    • 关键操作:
      • ls -d查看目录本身属性而非内容
      • 默认对目录显示的是其子内容信息

本文标签: 入门 Linux