UNIX 入门

  • 与 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.mzph.cn/news/27057.shtml

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

相关文章

RabbitMQ 备份交换机和死信交换机

为处理生产者生产者将消息推送到交换机中,交换机按照消息中的路由键即自身策略无法将消息投递到指定队列中造成消息丢失的问题,可以使用备份交换机。 为处理在消息队列中到达TTL的过期消息,可采用死信交换机进行消息转存。 通过上述描述可知&…

P1049 [NOIP2001 普及组] 装箱问题(背包)(内附封面)

[NOIP2001 普及组] 装箱问题 题目描述 有一个箱子容量为 V V V,同时有 n n n 个物品,每个物品有一个体积。 现在从 n n n 个物品中,任取若干个装入箱内(也可以不取),使箱子的剩余空间最小。输出这个最…

数据库作业(一)

建立一张表: 表里面有多个字段,每一个字段对应一种数据类型 注意:表名,字段名都要起的有意义 1、首先mysql -uroot -p 进入MySQL 2、选择一个数据库并使用 3、创建一张表定义多个字段使用所有数据类型,数字&…

2. 内存分区模型

一、内存分区模型 C程序在执行时,将内存大方向划分为4个区域 代码区:存放函数体的二进制代码,由操作系统进行管理的全局区:存放全局变量和静态变量以及常量栈区:由编译器自动分配释放,存放函数的参数值&a…

【SQL应知应会】索引(一)• MySQL版

欢迎来到爱书不爱输的程序猿的博客, 本博客致力于知识分享,与更多的人进行学习交流 本文收录于SQL应知应会专栏,本专栏主要用于记录对于数据库的一些学习,有基础也有进阶,有MySQL也有Oracle 索引 • MySQL版 前言一、索引1.简介1.1 索引的优点…

Dockerfile部署golang,docker-compose

使用go镜像打包,运行在容器内 redis和mysql用外部的 项目目录结构 w1go项目: Dockerfile # 这种方式是docker项目加上 本地的mysql和redis环境 # go打包的容器 FROM golang:alpine AS builder# 为我们镜像设置一些必要的环境变量 ENV GO111MODULEon …

音视频技术开发周刊 | 305

每周一期,纵览音视频技术领域的干货。 新闻投稿:contributelivevideostack.com。 大神回归学界:何恺明宣布加入 MIT 「作为一位 FAIR 研究科学家,我将于 2024 年加入麻省理工学院(MIT)电气工程与计算机科学…

国联易安网页防篡改保护系统“渠道招募”启动啦!

作为业内专注于保密与非密领域的分级保护、等级保护、业务连续性安全和大数据安全的领军企业,国联易安网页防篡改保护系统基于“高效同步”、“安全传输”两项技术,具备了独特的“五重防护”新特性,支持网页的全自动发布、网页监控、报警和自…

P1993 小 K 的农场(差分约束)(内附封面)

小 K 的农场 题目描述 小 K 在 MC 里面建立很多很多的农场,总共 n n n 个,以至于他自己都忘记了每个农场中种植作物的具体数量了,他只记得一些含糊的信息(共 m m m 个),以下列三种形式描述:…

Win7之MS12-020死亡蓝屏

一,何为死亡蓝屏 1,简介 死亡蓝屏利用RDP协议,基于3389远程桌面端口对目标主机进行攻击,使目标机系统瘫痪导致蓝屏,严重影响着计算机的正常使用。 2,条件 1>目标操作系统未开启防火墙和杀毒软件等 2&g…

API接口用例生成器

一、前言 随着自动化测试技术的普及,已经有很多公司或项目,多多少少都会进行自动化测试。 目前本部门的自动化测试以接口自动化为主,接口用例采用 Excel 进行维护,按照既定的接口用例编写规则,对于功能测试人员来说只…

element表格+表单+表单验证结合运用

目录​​​​​​​ 一、结果展示 二、实现代码 一、结果展示 1、图片 2、描述 table中放form表单,放输入框或下拉框或多选框等; 点击添加按钮,首先验证表单,如果存在没填的就验证提醒,都填了就向下添加一行表单表…

GATK BaseRecalibratorSpark 过程中因Too many open files终止

Error: GATK BaseRecalibratorSpark 过程中因Too many open files终止 执行命令: nohup time ./gatk --java-options "-Xmx16G" BaseRecalibratorSpark -R ../../alignment/hg38/hg38.fa -I ../../alignment/bam/P368T.sorted.markdup.bam …

element vue2 动态添加 select+tree

难点在 1 添加一组一组的渲染 是往数组里push对象 循环的;但是要注意对象的结构! 因为这涉及到编辑完成后,表单提交时候的 校验! 是校验每一个select tree里边 是否勾选 2 是在后期做编辑回显的时候 保证后端返回的值 是渲染到 select中的tr…

matplotlib库的用法——各种图的绘制

matplotlib是一个流行的Python绘图库,用于创建各种静态、动态、交互式可视化。以下是一些基本的用法: 线图 plt.plot([1, 2, 3, 4]) plt.ylabel(Some Numbers) plt.show()散点图 x [1,2,3,4,5] y [2,3,4,5,6] plt.scatter(x, y) plt.show() 条形图 …

sklearn中使用决策树

1.示例 criterion可以是信息熵,entropy,可以是基尼系数gini # -*-coding:utf-8-*- from sklearn import tree from sklearn.datasets import load_wine from sklearn.model_selection import train_test_split wineload_wine()# print ( wine.feature_…

【2.3】Java微服务:sentinel服务哨兵

✅作者简介:大家好,我是 Meteors., 向往着更加简洁高效的代码写法与编程方式,持续分享Java技术内容。 🍎个人主页:Meteors.的博客 💞当前专栏:Java微服务 ✨特色专栏: 知识分享 &…

css-3:什么是响应式设计?响应式的原理是什么?如何做?

1、响应式设计是什么? 响应式网站设计(Responsive WEB desgin)是一个网络页面设计布局,页面的设计与开发应当根据用户行为以及设备环境(系统平台、屏幕尺寸、屏幕定向等)进行相应的相应和调整。 描述响应式…

ensp与虚拟机搭建测试环境

1.虚拟机配置 ①首先确定VMnet8 IP地址,若要修改IP地址,保证在启动Ensp前操作 ②尽量保证NAT模式 2.ensp配置 (1)拓扑结构 (2)Cloud配置 ①首先点击 绑定信息 UDP → 增加 ②然后点击 绑定信息 VMware ... → 增加 ③最后在 端口映射设置上点击双向通…

Hive创建外部表详细步骤

① 在hive中执行HDFS命令:创建/data目录 hive命令终端输入: hive> dfs -mkdir -p /data; 或者在linux命令终端输入: hdfs dfs -mkdir -p /data; ② 在hive中执行HDFS命令:上传/emp.txt至HDFS的data目录下,并命名为…