GUN/Linux 基础教程

控制台

shell

  • 在启动 Linux 系统后,如果没有安装 GUI 的话,你将会进入 CLI

    • GUI: 图形用户界面,通过 视图 实现交互窗口展示内容,以 鼠标主键盘为辅 进行用户交互
    • CLI: 命令行界面,通过 文本 实现交互窗口展示内容,以 键盘 进行操作没有鼠标
    • TUI: 文本用户界面,介于 GUI 与 CLI 之间,通过 文本 实现交互窗口展示内容,定位光标鼠标实现 用户交互
  • 如果你处在 GUI 环境中,可以通过 Ctrl+Alt+F3 进入 CLI 环境,返回 GUI 可以使用 Ctrl+Alt+F2

  • 在初始的 CLI 时,是 字符登录界面

    • 可以看到 主机名 login: 的标识

    • 输入你想登录的用户名称并回车,会有 Password: 标识提示输入对应用户的密码

    • 注意密码在输入的时候是不可见状态,实现一般是将 前景色后景色 设置为相同颜色

      • 前景色:指界面中文本的颜色
      • 后景色:指界面的背景颜色
    • 用户名通常由 小写字母 组成

    • 成功登录后,会显示欢迎信息以及一个命令提示符,欢迎信息是保存在 /etc/motd

  • 在 GUI 下获取 shell

    • 启动系统后将使用图形登录界面输入账号和密码直接登录即可
    • Tab 键可以在登录的用户名和密码之间移动,当然图形化界面最方便的操作还是使用鼠标
    • GUI 获取 shell 需要通过启动一个 终端模拟器 的程序,比如 gnome-terminal、rxvt、xterm 等
  • 关闭 shell 活动

    • 使用 Ctrl+D 组合键
    • 使用 exit 命令
  • 如何关闭 Linux 系统

    • 单用户模式:poweroff -i -f
    • 多用户模式:shutdown -h now
  • Shell 基本常识

超级用户 root

  • root 账户在 Linux 中的地位是最高的,完全可以做到随心所欲的地步
  • Linux 中 root 进行任何操作都无需进行验证操作【当然是 root 自身没有做特殊配置的情况】
  • 因此在所有 root 需要格外小心,你必须要慎重和负责任的使用
  • 在某个文件的权限可能会导致非 root 用户无法使用或访问时,最好是对 文件权限用户组 进行配置,而不是直接使用 root 去解决

辅助管理 CLI 软件

仅是推荐,一般使用于新手使用

  • mc (Midnight Commander): 可视化字符界面文件管理器,对应刚脱离 GUI 的新手而言是一个不错的过渡,了解更多
  • vim, vim-tiny: 文本编辑器,Linux 中最强大亦是最出名的文本编辑器,对于使用 CLI 可以说 vim 是一门必修课,只不过开始使用时会比较痛苦需要大量的练习,vim-tiny 是简洁版 vim
  • w3m: 基于文本的浏览器,对于网络时代而言,想在 CLI 中使用浏览器是比较痛苦的,而 w3m 对于新手是相当友好的,只不过仅限新手的过渡期使用,真正应该使用的是 curl 与 wget 而不是 w3m
  • gpm: 文本控制台复制粘贴工具,允许在控制台上使用鼠标进行剪切和粘贴,想念鼠标吗,不过别依赖于 gpm 不然很难领会 CLI 的奇妙
  • sudo: 向特定用户提供受限的 root 权限的工具,注意这是相当危险的命令,黑客 shell 提权上有大部分是因为 sudo 的授权配置失误,致使系统被攻破,所以使用时一定严格遵守官方的配置原则

安装方法:apt-get install 软件名 注意安装软件需要 root 权限,当然有 sudo 权限的用户也可以使用 sudo apt-get install 软件名 使用 sudo 时 需要用户自己的密码进行验证

  • 虽然 sudo 危险,但使用却非常频繁,配置时基本的思想是在授予 尽量少的权限 的情况下让用户完成自己的工作

  • 对于典型的单用户工作站【不用 24 小时在线运行】通常简单地配置 sudo,注意 只对你管理的单用户工作站多用户工作站服务器 中不要这样使用

    1. # 注意用户名指你需要授予权限的用户
    2. # "用户名 被管理主机的地址=(可使用的身份) 授权命令 (绝对路径)"
    3. echo "用户名 ALL=(ALL) ALL" >> /etc/sudoers
    4. # 无需密码验证
    5. echo "用户名 ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
    6. # 详细可以使用 man sudo 查看
  • 对于受限的设备和文件提供访问权限,应该考虑使用组来提供受限访问

文件基础

  • 在 linux 中,一切皆文件

  • 文件名一般是由字母、数字、连字符和下划线组成,区分大小写

  • 文件分类

    • 普通文件,即 window 中的文件,此文件非彼文件
    • 目录,可以理解为 windows 中的文件夹
    • 符号链接,可以大体理解为 windows 的快捷方式类似
    • 字符设备节点,提供数据流的设备文件,比如键盘、串口、调制解调器等设备
    • 块设备节点,处理数据存储的设备文件,比如硬盘、软盘、CD-ROM 驱动器、闪存等设备
    • 命令管道,主要用于在进程间传递数据
    • 套接字,用于计算机间网络通信

目录

  • 在 Linux 系统上,没有的驱动器概念 即 windows 中的盘符,而是以 / 开始的一个大目录

  • 因为如果你画出文件系统,它看起来就像一棵颠倒的树,因此称 /根目录

  • 每个文件或目录都被指定一个 全限定文件名,或者称为 绝对路径

    • 全限定文件名以 / 根目录 开始,并且在每个目录或文件名之间以 / 分隔
  • 在路径中存在以 当前目录 为参考系的路径,称为 相对路径

    • 相对路径以 ... 开始
    • . 表示当前目录
    • .. 表示当前目录的父目录,即上级目录
  1. # 示例: 假设我们当前所处的路径是 /usr 中
  2. # 路径关系 '/' -> 'usr' -> 'share' 我们在 'usr' 目录中,不理解就带入 windows 中文件夹彼此关系
  3. /usr/share # 绝对路径
  4. ./share # 相对路径,等价 /usr/share/
  5. .. # 相对路径,等价 /
  • 常见的目录

    目录 存放内容
    / 根目录
    /bin/ 系统命令
    /lib/ 系统调用库
    /etc/ 系统范围的配置文件
    /dev/ 系统的设备文件
    /root/ 所有特权用户 root 的家目录
    /home/ 所有非特权用户的用户目录
    /tmp/ 系统的临时目录或目录
    /var/log/ 系统日志文件

链接

  • 硬链接:对现有文件重复名称
  • 软连接:通过名字指向另一个文件的特殊文件,称为符号链接
  • 只能对处于同一存储设备的文件创建硬链接,要想在位于不同存储设备的文件之间创建链接,只能使用符号链接

设备文件

  • 设备文件包括系统的 物理设备虚拟设备,一般都在 /dev/ 目录中

  • 设备文件有两种类型:字符设备、块设备

  • 特殊设备文件

    • /dev/null: 它会丢弃一切写入其中的数据,如果读取只会返回 文件结尾字符 EOF
    • /dev/zero: 读取会提供无限的 空字符 \0 用来初始化数据存储,进行写入会丢失
    • /dev/random: 从真随机数产生器返回一个随机字符
    • /dev/urandom: 从能够安全加密的伪随机数产生器返回一个随机字符

GUN/Linux 基础教程的更多相关文章

  1. 嵌入式LINUX基础教程 第2版

    嵌入式LINUX基础教程  第2版 目录 第1章 入门 11.1 为什么选择Linux 11.2 嵌入式Linux现状 21.3 开源和GPL 21.4 标准及相关组织 31.4.1 Linux标准基 ...

  2. Linux基础教程

    Linux基础教程之<Linux就该这么学>之学习笔记第一篇... ========================= 一.Basic Linux Commands    基本的Linux ...

  3. Embedded Linux Primer----嵌入式Linux基础教程--2.4节--嵌入式Linux发行版

    嵌入式Linux发行版 究竟什么是Linux发行版?在Linux内核引导之后,它期望找到并挂载根文件系统.当一个匹配的根文件系统已经挂载上,启动脚本开始运行大量程序和系统要求的工具.这些程序经常调用其 ...

  4. Embedded Linux Primer----嵌入式Linux基础教程--章节介绍

    章节介绍 第一章,“导引”,简要介绍了Linux被迅速应用在嵌入式环境的驱动因素,介绍了与嵌入式Linux相关的几个重要的标准和组织. 第二章,“第一个嵌入式经历”,介绍了与后几章所构建的嵌入式Lin ...

  5. Embedded Linux Primer----嵌入式Linux基础教程--导论

    第一章 导论 在这一章里(将要学习到) 为什么是Linux 嵌入式Linux现状 开源和GPL(译者:通用公共许可证) 标准和有关团体 本章总结 放弃专有操作系统正在许多传统嵌入式操作系统公司引起一阵 ...

  6. Linux基础教程(一)——Linux系统简介

    Linux的概述 Linux是基于Unix的开源免费的操作系统,由于系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境.Linux是由Linus Torvalds(林纳斯·托瓦兹)起初开发的,由于 ...

  7. Linux 基础教程 35-软件包管理-YUM

    YUM基础     使用RPM在Linux中安装.卸载软件或服务进会经常碰到RPM包的依赖,而我们在安装软件A时,提示依赖于软件B,安装软件B时又会出现提示依赖于软件C等一系列的依赖关系.这时大家会提 ...

  8. Linux 基础教程 34-软件包管理-RPM

        对于Linux而言管理各类软件,如安装.卸载和升级等是常有的事情和必备的技能.以CentOS为例,常用的安装包命令有rpm和yum. RPM基础     RPM(RedHat Package ...

  9. Linux 基础教程 25-命令和文件查找

    which     不管是在Windows还是Linux系统中,我们都会偶尔执行一些系统命令,比如Windows常见的cmd.ping.ipconfig等,它们的位置都在%systemdrive%中. ...

  10. 《嵌入式Linux基础教程学习笔记一》

    常用书目下载地址:http://www.cnblogs.com/pengdonglin137/p/3688029.html 第二章 1.进程上下文和中断上下文(Page20) 当应用程序执行系统调用, ...

随机推荐

  1. Composer 的下载与安装

    一,Composer 的下载与安装 官网下载:https://getcomposer.org/download/ 打开  penssl的注释,在  D:\wamp\php7230\php.ini  文 ...

  2. Scrapy框架(三)--全站数据爬取

    scrapy基于Spider类的全站数据爬取 大部分的网站展示的数据都进行了分页操作,那么将所有页码对应的页面数据进行爬取就是爬虫中的全站数据爬取.基于scrapy如何进行全站数据爬取呢?1.将每一个 ...

  3. 面试官:谈谈对SpringAI的理解?

    Spring AI 已经发布了好长时间了,目前已经更新到 1.0 版本了,所以身为 Java 程序员的你,如果还对 Spring AI 一点都不了解的话,那就有点太落伍了. 言归正传,那什么是 Spr ...

  4. 燕千云 YQCloud 数智化业务服务管理平台 发布1.13版本

    2022年6月10日,燕千云 YQCloud 数智化业务服务管理平台发布1.13版本.本次燕千云1.13版本新增了远程桌面.知识库多人在线协作.移动端疫苗核酸信息管理.单据委托代理.技能管理.产品自助 ...

  5. Lakehouse 还是 Warehouse?(2/2).md

    这篇博文包括 Onehouse 首席执行官 Vinoth Chandar 于 2022 年 3 月在奥斯汀数据委员会发表的重要演讲的后半部分.本文是第 2 部分,比较了架构的功能和性价比特征.最后,它 ...

  6. 使用selenium grid实现下发任务到远程机器,远程执行测试用例

    背景: 1. UI自动化测试用例, 可能想要在不同版本.不同浏览器下执行 2. UI自动化测试用例较多的时候,耗时时间长,这个时候可以通过分散在不同的机器上执行,减少自动化测试时间 实现 通过sele ...

  7. 基于 JuiceFS 构建高校 AI 存储方案:高并发、系统稳定、运维简单

    中山大学的 iSEE 实验室(Intelligence Science and System) Lab)在进行深度学习任务时,需要处理大量小文件读取.在高并发读写场景下,原先使用的 NFS 性能较低, ...

  8. Android ADB命令集锦

    Android ADB命令集锦 原文(有删改):https://blog.csdn.net/dianziagen/article/details/57400723 本文包括: adb基本指令 Shel ...

  9. Tutorial: How to install GNU MCU Eclipse?

    Overview For more flexibility and upgradeability, GNU MCU Eclipse is not packed as a all-inclusive s ...

  10. Windows 7操作系统全面解析与实用技巧

    Win7操作系统 一.操作系统的概述 1.1操作系统的概念 操作系统(operating system,简称OS)一组控制和管理计算机系统的硬件和软件资源.控制程序执行.改善人机界面.合理地组织计算机 ...