Ubuntu指令的初步学习

一、Ubuntu简介

(1)什么是 Ubuntu?

  • Linux 发行版: Ubuntu 是基于 Linux 内核的一个操作系统发行版。Linux 内核是操作系统的核心,负责管理硬件资源。发行版则在此基础上集成了各种软件、工具、桌面环境和应用程序,构成了一个完整、可用的操作系统。

  • 面向桌面和服务器: Ubuntu 不仅适用于个人电脑(桌面版),也广泛应用于服务器领域(服务器版)。它的灵活性使其能够满足从个人用户到大型企业级应用的需求。

  • 由 Canonical 公司支持: Ubuntu 由英国的 Canonical有限公司创建和维护。Canonical 提供商业支持、咨询服务,并积极贡献于 Ubuntu 的开发。

(2)Ubuntu 的主要版本和特点

Ubuntu 有两种发布周期:

  • LTS (Long Term Support) 版本: 长期支持版本。这些版本提供长达五年的免费安全更新和技术支持(桌面版和服务器版)。LTS 版本通常更稳定,适合生产环境和对稳定性要求高的用户。每两年发布一次(偶数年份的4月)。

    • 例如: Ubuntu 20.04 LTS (Focal Fossa), Ubuntu 22.04 LTS (Jammy Jellyfish)。
  • 非 LTS 版本 (Standard Release): 标准版本。这些版本每六个月发布一次(4月和10月),提供九个月的支持。它们包含了最新的软件和功能,适合喜欢尝试新特性或开发的用户。

    • 例如: Ubuntu 23.10 (Mantic Minotaur)。

Ubuntu 的主要特点:

  • 用户友好: 尽管是 Linux,Ubuntu 致力于提供一个直观易用的用户界面,降低了 Linux 的学习门槛。

  • GNOME 桌面环境: 默认的 Ubuntu 桌面环境是 GNOME,它提供了一个现代、简洁且功能丰富的图形用户界面。

  • 包管理 (APT): Ubuntu 使用 Advanced Package Tool (APT) 系统来管理软件。这使得安装、更新和卸载软件变得非常方便。

  • 广泛的软件库: Ubuntu 拥有庞大的官方软件仓库,包含数以万计的免费开源软件,基本可以满足用户的各种需求。

  • 强大的社区支持: Ubuntu 拥有一个庞大而活跃的全球社区。用户可以通过论坛、邮件列表、问答网站等渠道获得帮助和支持。

  • 安全性: Linux 本身以及 Ubuntu 都以其良好的安全性著称。Ubuntu 定期发布安全更新,并且有一个优秀的权限管理系统。

  • 开源免费: Ubuntu 是完全免费的,并且其源代码是开放的,任何人都可以查看、修改和分发。

  • 可定制性: 作为 Linux 发行版,Ubuntu 提供了高度的可定制性,用户可以根据自己的需求调整系统的方方面面。

  • 硬件兼容性: Ubuntu 对各种硬件的支持越来越好,能够运行在各种不同类型的计算机上。

  • 开发友好: Ubuntu 是许多开发者首选的操作系统,因为它提供了强大的开发工具和环境,并且与 Docker、Kubernetes 等现代开发技术紧密集成。

二、基本导航和文件/目录操作

  • pwd (Print Working Directory): 显示当前所在的目录路径。

    bash 复制代码
    pwd
  • ls (List): 列出当前目录下的文件和子目录。

    bash 复制代码
    ls
    ls -l
    ls -a
    ls -h
    ls -lh
    • ls: 列出基本信息。

    • ls -l: 列出详细信息(权限、所有者、大小、修改日期等)。

    • ls -a : 列出所有文件,包括隐藏文件(以 . 开头的文件)。

    • ls -h: 以人类可读的格式显示文件大小(例如:KB, MB, GB)。

    • ls -lh: 结合了 -l-h 的功能。

  • cd (Change Directory): 切换目录。

    bash 复制代码
    cd directory-name
    cd ..
    cd ~
    cd -
    cd /
    • cd <目录名>: 进入指定目录。

    • cd ..: 返回上一级目录。

    • cd ~: 返回家目录。

    • cd -: 返回上次所在的目录。

    • cd /: 进入根目录。

  • mkdir(Make Directory): 创建新目录。

    bash 复制代码
    mkdir new-directory-name # 创建目录
    mkdir -p parent-directory/subdirectory # 创建多级目录
    • mkdir <目录名>: 在当前目录下创建新目录。

    • mkdir -p <父目录>/<子目录>: 递归创建目录,如果父目录不存在也会一并创建。

  • rmdir (Remove Directory): 删除空目录。

    bash 复制代码
    rmdir
    • rmdir <目录名>
  • touch: 创建空文件或更新文件的时间戳。

    bash 复制代码
    touch empty-file
    • touch <文件名>
  • cp (Copy): 复制文件或目录。

    bash 复制代码
    cp source-file target-location # 复制文件
    cp -r source-directory target-location # 复制文件夹
    • cp <源文件> <目标位置>: 复制文件。

    • cp -r <源目录> <目标位置>: 递归复制目录及其内容。

  • mv (Move): 移动文件或目录,或重命名文件/目录。

    bash 复制代码
    mv source-file target-location # 移动文件
    mv source-directory target-location # 移动文件夹
    
    mv old-file-name new-file-name # 重命名文件
    mv old-directory-name new directory-name # 重命名文件夹
    • mv <源文件> <目标位置>: 移动文件。

    • mv <旧文件名> <新文件名>: 重命名文件。

    • mv <源目录> <目标位置>: 移动目录。

    • mv <旧目录名> <新目录名>: 重命名目录。

  • rm (Remove): 删除文件或目录。

    • rm <文件名>: 删除文件。

    • rm -r <目录名>: 递归删除目录及其内容(谨慎使用!)。

    • rm -f <文件名>: 强制删除文件,不提示确认。

    • rm -rf <目录名>: 强制递归删除目录及其内容(超级谨慎使用!)。

  • cat (Concatenate): 显示文件内容,或合并多个文件。

    • cat <文件名>: 显示文件内容。

    • cat <文件1> <文件2> > <新文件>: 将文件1和文件2合并到新文件。

  • less: 分页查看文件内容,比 cat 更适合查看大文件。

    • less <文件名>

    • less 中:

      • Spacef: 向下翻一页。

      • b: 向上翻一页。

      • Down Arrow: 向下滚动一行。

      • Up Arrow: 向上滚动一行。

      • g: 跳到文件开头。

      • G: 跳到文件末尾。

      • /搜索词: 搜索。

      • n: 下一个匹配项。

      • N: 上一个匹配项。

      • q: 退出。

  • head: 显示文件的开头部分(默认显示前10行)。

    • head <文件名>

    • head -n <行数> <文件名>: 显示指定行数的开头。

  • tail: 显示文件的结尾部分(默认显示后10行)。

    • tail <文件名>

    • tail -n <行数> <文件名>: 显示指定行数的结尾。

    • tail -f <文件名>: 实时跟踪文件末尾的新增内容,常用于查看日志文件。

三、系统信息和进程管理

  • uname: 显示系统信息。

    • uname -a: 显示所有信息(内核名称、主机名、内核版本、操作系统等)。
  • top: 实时显示系统中运行的进程、CPU使用率、内存使用率等信息。

    • top 中:

      • q: 退出。

      • k: 杀掉进程(需要输入PID)。

      • M: 按内存排序。

      • P: 按CPU排序。

  • htop: top 的增强版,功能更丰富,界面更友好(可能需要安装:sudo apt install htop)。

  • ps (Process Status): 显示当前运行的进程。

    • ps aux: 显示所有用户的进程,包含详细信息。

    • ps -ef: 类似 ps aux,显示进程的父进程ID等。

  • kill: 终止进程。

    • kill <PID>: 发送终止信号(SIGTERM),目标进程有机会清理后退出。

    • kill -9 <PID>: 发送强制终止信号(SIGKILL),强制终止进程。

  • df (Disk Free): 显示磁盘空间使用情况。

    • df -h: 以人类可读的格式显示。
  • du (Disk Usage): 显示文件和目录的磁盘空间使用情况。

    • du -sh <目录名>: 显示指定目录的总大小, -s 表示汇总, -h 表示人类可读。

    • du -h --max-depth=1: 显示当前目录下各级子目录的大小。

四、软件安装和管理

  • apt (Advanced Package Tool): Ubuntu 的包管理器。

    • sudo apt update: 更新软件包列表,获取最新的软件包版本信息。

    • sudo apt upgrade: 升级所有已安装的软件包到最新版本。

    • sudo apt install <软件包名>: 安装软件包。

    • sudo apt remove <软件包名>: 卸载软件包(保留配置文件)。

    • sudo apt purge <软件包名>: 卸载软件包(并删除配置文件)。

    • sudo apt autoremove: 移除不再需要的依赖包。

    • apt search <关键词>: 搜索软件包。

    • apt show <软件包名>: 显示软件包的详细信息。

  • dpkg: 低级别的包管理工具,apt 是基于 dpkg 的。一般情况下使用 apt 即可。

五、权限管理

  • chmod (Change Mode): 改变文件或目录的权限。

    • 数字模式:

      • rwx: 读(4), 写(2), 执行(1)

      • chmod 755 <文件名>: 文件所有者拥有读写执行权限 (4+2+1=7),组用户和其他用户拥有读写执行权限 (4+0+1=5)。

      • chmod 644 <文件名>: 文件所有者拥有读写权限 (4+2=6),组用户和其他用户拥有读权限 (4+0+0=4)。

    • 符号模式:

      • u: 所有者 (user)

      • g: 组用户 (group)

      • o: 其他用户 (others)

      • a: 所有用户 (all - ugo)

      • +: 添加权限

      • -: 移除权限

      • =: 设置权限

      • chmod u+x <文件名>: 给文件所有者添加执行权限。

      • chmod go-w <文件名>: 移除组用户和其他用户的写权限。

      • chmod a=r <文件名>: 设置所有用户都只有读权限。

  • chown (Change Owner): 改变文件或目录的所有者。

    • sudo chown <新所有者> <文件名>: 改变文件所有者。

    • sudo chown <新所有者>:<新用户组> <文件名>: 同时改变所有者和用户组。

  • chgrp (Change Group): 改变文件或目录的用户组。

    • sudo chgrp <新用户组> <文件名>

六、网络相关

  • ping: 测试与目标主机之间的连通性。

    • ping <IP地址或域名>
  • ip addr: 显示网络接口的IP地址和状态(ifconfig 已被逐渐取代)。

    • ip addr show
  • ssh (Secure Shell): 安全地远程登录到另一台计算机。

    • ssh <用户名>@<IP地址或域名>

    • ssh -p <端口号> <用户名>@<IP地址或域名>: 指定SSH端口。

  • scp (Secure Copy): 安全地在本地和远程计算机之间复制文件。

    • scp <本地文件> <远程用户名>@<远程IP>:<远程路径>: 从本地复制到远程。

    • scp <远程用户名>@<远程IP>:<远程文件> <本地路径>: 从远程复制到本地。

    • scp -r <本地目录> <远程用户名>@<远程IP>:<远程路径>: 递归复制目录。

  • wget: 从网络下载文件。

    • wget <URL>
  • curl: 用于传输数据,常用于与Web服务器交互,提供比 wget 更多样的功能。

    • curl <URL>

七、用户和权限

  • sudo (Superuser Do): 以超级用户(root)权限执行命令。

    • sudo <命令>

    • 第一次使用 sudo 时,系统会要求输入当前用户的密码。

  • su (Switch User): 切换用户。

    • su <用户名>: 切换到指定用户。

    • su -: 切换到 root 用户(更彻底的切换,加载root用户的环境变量)。

    • exit: 退出当前用户会话。

  • passwd: 修改用户密码。

    • passwd: 修改当前用户的密码。

    • sudo passwd <用户名>: 修改指定用户的密码。

  • whoami: 显示当前登录的用户名。

八、文本编辑

  • nano: 一个简单易用的文本编辑器。

    • nano <文件名>

    • nano 中:

      • Ctrl + O (Write Out): 保存文件。

      • Ctrl + X (Exit): 退出。

      • Ctrl + G (Get Help): 查看帮助。

  • vim: 功能强大但学习曲线较陡峭的文本编辑器。

    • vim <文件名>

    • Vim 有多种模式(命令模式、插入模式、可视模式等),初学者可能需要一些时间来熟悉。

      • 命令模式下按 i 进入插入模式。

      • 插入模式下按 Esc 返回命令模式。

      • 命令模式下输入 :wq 保存并退出。

      • 命令模式下输入 :q! 强制退出不保存。

九、其他常用命令

  • man (Manual): 查看命令的帮助手册。

    • man <命令名>

    • 例如:man ls

  • echo: 显示文本或变量的值。

    • echo "Hello World"

    • echo $PATH

  • grep: 在文件中搜索匹配的模式。

    • grep "关键字" <文件名>: 在指定文件里搜索包含 "关键字" 的行。

    • grep -r "关键字" <目录名>: 在指定目录下递归搜索。

    • ls -l | grep "权限": 结合管道符使用。

  • history: 显示命令历史记录。

    • history: 显示所有命令历史。

    • !N: 执行第 N 条历史命令。

    • !!: 执行上一条命令。

  • clear: 清屏。

  • shutdown: 关机或重启。

    • sudo shutdown -h now: 立即关机。

    • sudo reboot: 立即重启。

相关推荐
跃渊Yuey9 分钟前
【Linux】线程同步与互斥
linux·笔记
杨江9 分钟前
seafile docker安装说明
运维
舰长11511 分钟前
linux 实现文件共享的实现方式比较
linux·服务器·网络
好好沉淀17 分钟前
Docker开发笔记(详解)
运维·docker·容器
zmjjdank1ng26 分钟前
Linux 输出重定向
linux·运维
路由侠内网穿透.28 分钟前
本地部署智能家居集成解决方案 ESPHome 并实现外部访问( Linux 版本)
linux·运维·服务器·网络协议·智能家居
树℡独30 分钟前
ns-3仿真之应用层(三)
运维·服务器·ns3
VekiSon1 小时前
Linux内核驱动——基础概念与开发环境搭建
linux·运维·服务器·c语言·arm开发
zl_dfq1 小时前
Linux 之 【进程信号】(signal、kill、raise、abort、alarm、Core Dump核心转储机制)
linux
Ankie Wan1 小时前
cgroup(Control Group)是 Linux 内核提供的一种机制,用来“控制、限制、隔离、统计”进程对系统资源的使用。
linux·容器·cgroup·lxc