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: 立即重启。

相关推荐
python百炼成钢1 小时前
40.linux自带LED驱动
linux·运维·服务器
hhwyqwqhhwy1 小时前
linux 设备树内容和plateform_device
java·linux·数据库
乌萨奇也要立志学C++1 小时前
【Linux】线程概念 线程与进程深度剖析:虚实内存转换、实现机制与优缺点详解
linux·c++
福尔摩斯张1 小时前
使用Linux命名管道实现无血缘关系进程间通信
linux·服务器·网络
会飞的土拨鼠呀1 小时前
linux 重新运行NetworkManager
linux·运维·服务器
shawnyz1 小时前
RHCSE--SHELL02--变量
linux·运维·服务器
太空的旅行者1 小时前
wsl2如何继承Windows网络代理
深度学习·ubuntu
z_mazin1 小时前
逆向Sora 的 Web 接口包装成了标准的 OpenAI API 格式-系统架构
linux·运维·前端·爬虫·系统架构
8***84821 小时前
Nginx三种安装方式
运维·nginx