UNIX 入门

news2024/11/26 12:20:34

  • 与 UNIX 建立连接
    • 启动会话
    • 登录
    • 命令提示符
    • 修改口令
    • 退出系统
  • 简单的 UNIX 命令
    • 命令格式
    • ls 命令
    • who 命令
      • 虚拟终端 tty
      • 伪终端 pty
      • who am i 命令
    • cal 命令
    • help 命令
    • man 命令
  • shell 概述
    • shell 命令
    • 更换 shell
      • 临时更改 shell
      • 永久更改 shell
  • 登录过程

与 UNIX 建立连接

启动会话

要启动会话和系统建立连接,

  • 既可以打开本地计算机的电源,通过命令行或者图形界面窗口(GUI)和本地计算机建立连接;
  • 也可以使用 Putty、SSH 远程登陆软件和远程计算机建立远程连接启动会话。

会话(session)指一个终端用户与系统进行通讯的全过程,用户 从输入账号密码进入操作系统退出操作系统 就是一个 会话过程

登录

UNIX 是一个多用户操作系统,用户在使用 UNIX 系统前必须进行登录,只有登录验明身份才能分配资源。

无论是命令行还是 GUI ,登录时需要使用 登录名口令

  • 登录名,又称为用户名,唯一系统用它对用户进行身份确认
  • 口令,即密码,是一个 由字母和数字组成的序列

命令提示符

最简单的命令提示符只有一个字符,用户可以设置提示符。

  • 管理员,即 root(根用户),其命令提示符是 #
  • 普通用户 的命令提示符是 $
  • 可以根据提示符,来判断自己的身份。

修改口令

passwd 命令用来 修改或创建口令

  • 修改自己的口令:$ passwd
  • 修改别人的口令(只有 root 可以):$ passwd username,应用场景:root 创建普通用户后为其分配初始口令;某用户忘记密码,让管理员给重置密码。

在这里插入图片描述

退出系统

用户完成工作后离开系统的过程称为退出。

退出系统的 3 种方法:

  • $ exit
  • $ logout
  • [Ctrl-d]

退出意味着和系统断开连接,结束会话。

简单的 UNIX 命令

UNIX 系统有几百条命令/系统工具,绝大多数命令格式相同,大部分 UNIX 提供在线帮助 helpman

  • 通过输入命令,告诉系统要做什么事,命令行中回车键 Enter 表示命令行的结束符。

如,date 命令在屏幕上显示当前的日期和时间。

命令格式

  • 每个命令行分为 3 个字段:命令名选项参数

如,狠狠地打他 中, 就是命令名,狠狠地 就是选项, 就是参数。

  • 命令行格式:$ 命令 [-选项] [参数] ,其中,选项和参数用中括号括起来,表示 可选,可有可无。
  • UNIX 区分大小写,只接受小写的命令名
  • 其中,参数通常为 文件名/路径名,用来 指定操作对象

ls 命令

  • $ ls 命令本身,显示当前目录中的文件名
  • $ ls -lls 命令加上选项 -l,表示以长格式列表显示文件详细信息
  • $ ls -als 命令加上选项 -a显示目录中的隐藏文件
  • 组合使用多个选项实现复杂需求- 开头的不同选项间需要有分隔符;也可以只写一个 - ,后面叠加选项字母。
  • $ ls -l -a 或者 $ ls -la把隐含文件以长格式形式显示出来
  • $ ls /boot ,参数 /boot 指出 要显示哪个目录中的文件
  • $ ls -a /boot ,要 显示 /boot 目录下的隐藏文件

以上带连接符 - 的是 System V 流派的命令风格,
BSD 流派的风格不带连接符 - ,如 $ ls l
GNU 流派的连接符是 -- ,如 $ ls --color

who 命令

用户信息:who 命令。

在这里插入图片描述
如第一行,表示用户 tuxdesktop-n2ali3f.lan 这台主机登录的。

ttypts/0pts/1:0 又是什么含义呢?

很久很久以前,计算机是很昂贵的,不能让每个人独占一台计算机;
解决方法是每人一套物理终端,连接到计算机上,共享这台计算机的资源;
后来又出现了虚拟终端的方法。

  • 物理终端:直接连接在主机上的显示器、键盘鼠标的统称。
  • 虚拟终端(tty):附加在物理终端之上,用软件方式实现。类 UNIX 系统默认为用户创建几个虚拟终端,实现多用户的同时登录或单用户的多终端登录。

虚拟终端 tty

  • UNIX 中 每个终端都是文件,虚拟终端对应的文件是 /dev/tty#1≤#≤6
  • CentOS 默认启用 6 个虚拟终端,tty1 是图形终端,tty2-tty6 是字符终端。
  • 虚拟终端可以相互切换,可以通过 $ Ctrl-Alt-F[1-6],也可以通过 $ chvt n(1≤n≤6)
  • 可以通过 tty 命令来 查看当前的虚拟终端号

伪终端 pty

  • 伪终端是由 远程登录软件终端模拟软件 模拟出的终端。
  • 两种应用场景:图形界面下进行命令操作,远程登录。
  • pts(pseudo-terminal slave)是 pty 的实现方法,伪终端以 pts/n 的形式命名,n 表示该终端是系统中的第几个伪终端。
  • 0:表示是图形用户界面终端。

在这里插入图片描述

who am i 命令

who am Iwho am i 显示 终端上登录用户的信息

cal 命令

  • cal 命令 显示指定年份的日历表,默认参数为当前月。
  • 参数中指定年和月,显示指定年月的日历表。如 $ cal 5 2019,显示 2019 年 5 月份的日历表。

help 命令

help 命令提供 内部命令 帮助信息(只有内部命令,无外部命令)。

命令分类:

  • 内部命令:shell 代码的一部分,shell 启动后驻留内存,执行速度快。
  • 外部命令:又称系统工具程序,保存在文件系统中,被调用时才载入内存执行。
  • 查看全部内部命令列表:$ help
  • 查看某一内部命令:$ help command-name,如 $ help alias 查看 alias 命令如何使用。

man 命令

man 联机帮助手册(分章编写),查看所有命令(内外部)的完整说明,说明内容包括:命令语法、各选项的意义、相关命令等。

man 命令用法:$ man command-name,如 $ man ls 查看 ls 命令的相关信息。

在这里插入图片描述

man 命令中翻页移行:

  • 翻页:后翻一页 Space;前翻一页 b
  • 移行:后移一行 Enter ;前移一行 k
  • 退出:q

在命令行中输入命令时,删除一行命令[Ctrl-u]中断程序运行[Ctrl-c]

shell 概述

shell 负责用户和 UNIX 系统之间的交互,每次输入一个命令,以 Enter 结束。

shell 命令

在这里插入图片描述

  • 一些 UNIX 命令 是 shell 程序的一部分,称为 内部命令shell 命令
  • 大多数 UNIX 命令程序 存储在硬盘上由 shell 查找、加载并执行,称为 外部命令系统工具程序

在这里插入图片描述

可以通过 $ ls /bin/*sh 查看 /bin 目录中的 shell。

在 shell 中,用不同颜色表示不同类型的文件。
其中,绿色表示可执行程序,蓝色表示目录,白色表示文本文件,蓝绿色表示链接文件(相当于 windows 下的快捷方式)。

更换 shell

可以随时更换正在使用的 shell,一种方法是 临时使用,另一种是 永久改变

临时更改 shell

  • 方法:当前 shell 中键入新 shell 名
  • 本质:创建当前 shell 子进程,在子进程中运行新 shell

在这里插入图片描述

永久更改 shell

可以通过以下两种方式实现:

  • 修改账户配置文件
  • 使用 chsh 命令

登录过程

UNIX 登录过程如下:

  • UNIX 启动时内核被载入内存,其余部分在磁盘上,用户请求时再载入内存;
  • 用户登录时,shell 程序也被载入内存
  • UNIX 完成启动后,init 程序为每一个终端激活一个 getty 程序getty 程序显示 "login: " 让用户登录;

init 进程是 UNIX 系统所有进程的 祖先进程,会启动所有系统服务和后台服务。系统启动后,inti 创建虚拟终端为用户登录做准备。

在这里插入图片描述

  • 用户输入 username 后,getty 程序 读取这个输入,并启动 login 程序

  • getty 程序把用户输入的字符串(用户标识/登录名)传给 login 程序;

在这里插入图片描述

  • login 程序显示 "password: "login 程序 验证用户名和口令,并检查下一步要执行的程序名,如 shell。

在这里插入图片描述

  • 然后用户就可以在命令提示符下进行各种操作;

在这里插入图片描述

  • 当用户使用完后,使用 $ exit 退出系统;
  • init 进程发现某个终端上的 shell 退出后,就为该终端创建 getty 进程,继续监视终端,为下一次登录做准备。

在这里插入图片描述

  • 就这样不断循环进行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/844661.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java Set集合:HashSet和TreeSet类

Set 集合类似于一个罐子,程序可以依次把多个对象“丢进”Set 集合,而 Set 集合通常不能记住元素的添加顺序。也就是说 Set 集合中的对象不按特定的方式排序,只是简单地把对象加入集合。Set 集合中不能包含重复的对象,并且最多只允…

【无标题】发大水

发大声道TOC 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语…

K8s集群安全机制

1.访问K8s集群的时候,需要经过三个步骤完成具体操作 (1)认证(2)鉴权(授权)(3)准入控制 进行访问的时候,过程中都要经过apiserver,apiserver做统…

Qt小项目贪吃蛇实线,主要掌握定时器、信号与槽、按键事件、绘制事件、坐标运算、随机数生成等

Qt小项目贪吃蛇实线,主要掌握定时器、信号与槽、按键事件、绘制事件、坐标运算、随机数生成等 Qt 贪吃蛇演示QWidget 绘制界面项目源文件 注释清晰widget.hwidget.cpp 拓展QTimerQKeyEventQRectFQPointFQPainterQIcon Qt 贪吃蛇演示 QWidget 绘制界面 项目源文件 注…

java版直播商城平台规划及常见的营销模式 电商源码/小程序/三级分销+商城免费搭建 bbcbbc

​ Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 1. 涉及平台 平台管理、商家端(PC端、手机端)、买家平台(H5/公众号、小程序、APP端(IOS/Android)、微服务平台(业务服务…

Unity Sort Group(排序组)

** Unity 中的Sort Group组组件允许让Sprite Renderer(精灵渲染器)重新决定渲染顺序. ** 作为组件存在 组件内容: Unity 使用Sort Group 组件的Sort layer 和Order in layer的值来确定排序组在渲染队列内相对与场景内其他排序组和游戏对象的优先级。 属性功能So…

解密时尚RFID服装电商仓储系统

大家好,今天我们要聊一个时尚圈的新宠——RFID服装电商仓储系统!是不是听起来就很高端大气上档次?别急,我会来给你扒一扒这个神秘的系统。 首先,咱们得搞清楚什么是RFID。别想太复杂,RFID就是一种让衣服变得…

大数据课程H2——TELECOM的电信流量项目实现

文章作者邮箱:yugongshiyesina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解TELECOM项目的数据收集; ⚪ 了解TELECOM项目的数据清洗; ⚪ 了解TELECOM项目的数据导出; ⚪ 了解TELECOM项目的数据可视化&…

抖音小店规则解读:开设个人店铺,合规经营

抖音小店是抖音平台上的一项功能,允许用户在抖音上开设个人店铺,进行商品销售。下面不若与众将介绍关于抖音小店的一些规则: 1. 店铺资质要求:开设抖音小店需要满足一定的资质要求,包括拥有有效身份证件、年满18周岁、…

Oracle以逗号分隔的字符串拆分为多行数据实例详解

前言 近期在工作中遇到某表某字段是可扩展数据内容,信息以逗号分隔生成的,现需求要根据此字段数据在其它表查询相关的内容展现出来,第一想法是切割数据,以逗号作为切割符,以下为总结的实现方法,以供大家参…

设计中存在的误区

1、子组件,如果想要出现宽度和高度,要在子组件中的最大的盒子定义宽度和高度,才能出现 1.1 你在common.js定义是不管用的,要在自己的盒子中定义长度和高度

Spring 基础

目录 一、什么是 Spring 框架?二、Spring 包含的模块有哪些?2.1 版本2.2 Spring各模块依赖 三、Spring,Spring MVC,Spring Boot 之间什么关系? 一、什么是 Spring 框架? Spring 是一款开源的轻量级 Java 开发框架,旨在提高开发人员的开发效率以及系统…

重要信号换成加地过孔的重要性【从仿真看本质】

文章目录 前言 前言 为什么需要在差分或者重要信号换层时在它们旁边加上地孔呢? 大家可能如果对画 PCB 没有经验的话,可能不太理解为什么差分线在换层时需要在 差分孔旁边打上地孔,这个问题有很多人都不太明白,为什么要这么做&…

K8s集群安全机制(RBAC)

RBAC 基于角色的访问控制

虹科展会丨诚邀您参与8月9-11日上海汽车测试及开发博览会,虹科在【3002】展位等您来!

汽车测试及质量监控博览会(中国)(Testing Expo China – Automotive)是引领世界的国际博览会,展示汽车测试、开发和验证技术的各个方面,每年在上海举行,并在底特律和斯图加特举办年度姊妹展会。 2023年的汽车测试及质…

python人工智能可以干什么,python人工智能能干什么

大家好,给大家分享一下python做人工智能需要什么水平,很多人还不知道这一点。下面详细解释一下。现在让我们来看看! 人工智能包含常用机器学习和深度学习两个很重要的模块,而python拥有matplotlib、Numpy、sklearn、keras等大量的…

Self-Attention、transformer代码、word2vec理论(skip-gram、CNOW)、近似训练 (第十三次组会)

@[TOC](Self-Attention、transformer代码、word2vec理论(skip-gram、CNOW)、近似训练 (第十三次组会)) Self-Attention相关 Transformer代码

成功的公文写作,需要注重结构和表达的准确性

首先,公文需要遵循一定的结构和布局,例如开头、正文和结尾的组成,每个部分的内容和格式都需要符合规范和标准。在结构方面,公文需要具备清晰的逻辑性和条理性,通过段落和标题的使用,使文章结构更加清晰明了…

【C++】STL——set和map及multiset和multiset的介绍及使用

🚀 作者简介:一名在后端领域学习,并渴望能够学有所成的追梦人。 🚁 个人主页:不 良 🔥 系列专栏:🛸C 🛹Linux 📕 学习格言:博观而约取&#xff0…

Win7 专业版Windows time w32time服务电脑重启后老是已停止

环境: Win7 专业版 问题描述: Win7 专业版Windows time w32time服务电脑重启后老是已停止 解决方案: 1.检查启动Remote Procedure Call (RPC)、Remote Procedure Call (RPC) Locator,DCOM Server Process Launcher这三个服务是…