Linux入门_1

时间:2020-11-26 02:44:13

Linux入门

目录

   Root用户
   终端
   交互式接口(图形化界面和命令行)
   什么是Shell(bash)
   命令提示符
   内部命令和外部命令 enable,hash
   命令别名
   命令格式
   Nano(一个简单的编辑器)
   一些命令

Root用户

权限:无限大
  这是一个特殊的管理用户,在Linux系统中,他拥有无限大的权限,大到可以删除系统本身,因此,这个账号是相当危险的,一般使用者只能给他们普通用户账号,只有极个别必须使用root权限的时候,才会赋予普通用户部分root权限,并且用完立即收回root权限。

终端

  对于计算机来说,终端我给分成了两种,一种是输入输出设备,键盘、鼠标、显示器等,我们称它们是终端设备。还有一种是计算机的控制接口,在Linux中,终端是我们能够进行操控其操作系统的界面。包括:
物理终端:
  /dev/console

Linux入门_1当我们切换到单用户模式下的时候,我们就能看到物理终端的提示符

虚拟终端:
  tty(teletypewriters) /dev/tty/N N=1-6
虚拟终端依旧是在物理机上的端口,在Linux中,我们可以使用Ctrl+Alt+【F1-F6】之间进行切换虚拟终端,以方便我们使用。

Linux入门_1

图形界面:
  正如我们所知道的,windows 和IOS 上,开机之后,我们看到的是都是精美的界面,而不是黑乎乎的命令行。同样的,Linux一样也有图像界面,并且,我们可以在图形化界面和命令终端之间进行切换:startx,xwindows切换到图形界面
串行终端:
  现在我们已经用不到串行终端,所以在这里我就不在进行介绍
伪终端:
  pty(pseudo-tty) /dev/pts/N N=number
  就是我们平时用的远程连接方式,才会显示出伪终端,因为它不是真正的终端,只是由于使用需要进行远程控制的模拟终端

  查看使用什么终端
    命令:tty

Linux入门_1

交互式接口

图形化界面

GUI:Graphic User Interface
在Linux中我们使用到的图像化界面有:
   GNOME(c,图形库gtk)
   KDE(c++,图形库gt)
   XFCE(轻量级桌面)

命令行

CLI:Command Line Interface
  正如下图所示的就是我们作为一个Linux工作者平时会使用到的交互式接口。由于桌面环境会开启一个程序,会占用我们的内存和CPU资源,更重要的是很多操作我们无法再桌面换将直接的看到,所以我们几乎都会采用CLI模式的交互式接口。

Linux入门_1

什么是Shell(bash)

Shell 是Linux系统的用户界面, 提供了用户与内核进行交互操作的一种接口。 它接收用户输入的命令并把它送入内核去执行
shell也被称为LINUX的命令解释器(command interpreter)
shell是一种高级程序设计语言。作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。
GNU Bourne-Again Shell(bash)是GNU计划中重要的工具软件之一, 目前也是 Linux标准的shell, 与sh兼容

显示当前使用的shell:echo ${SHELL}
显示当前系统使用的所有shell:cat /etc/shells

每次我们在登录机器之后,我们就已经在使用SHELL了,在我们现在使用的CentOS系统中,用的都是bash,以下是bash的优点:
  1. 通过上下方向键来调取过往执行过的Linux命令。
  2. 命令或参数仅需输入前几位就可以用tab键补全。
  3. 强大的批处理脚本。
  4. 实用的环境变量。

Linux入门_1

命令提示符

命令提示符是我们在登录上操作系统时看到的一个提示符:
  命令提示符: prompt

Linux入门_1

[root@localhost ~]#
  # 管理员
  $ 普通用户
显示提示符格式
  [root@localhost ~]#echo $PS1
修改提示符格式
  PS1="[\u@\h \W]\\$ "

  \h 主机名简称

  \w 当前工作目录

  \t 24小时时间格式

  \! 命令历史数

  \u 当前用户
  \H 主机名

  \W 当前工作目录基名

  \T 12小时时间格式
  \# 开机后命令历史数

内部命令和外部命令 enable,hash

  在CentOS中,bash会带有一部分常用命令,这部分命令常驻在内存中,以便于在我们使用时不必在从硬盘中进行查找,这部分常用的命令我们通常称为内置命令,如:
Linux入门_1  但是内建命令并不代表在硬盘文件中不存在,他只是为了方便使用而将部分常用的命令设为内置命令了。所以内建命令在硬盘文件中依然存在。

判断一个命令的类型:
  type COMMAND。
外部命令查看路径:
  which -a |--skip-alias ; whereis

内部命令有启用不启用之分使用enable命令可以对内建命令进行设置

显示所有启用的内部命令:enable
  enable | wc -l 统计启用的内部命令数量
  enable COMMAND 启动一个内部命令
  enable -n COMMAND 禁用一个内部命令

  enable –a 显示所有内建命令(无论是否禁止)
  enable -n 显示所有被禁用的内部命令
  enable -n |wc -l 统计被禁用的内部命令数量
外部命令是如何被使用的呢?我能知道,在系统中会有PATH,即路径,我们使用的所有外部命令都是按照路径从左到右进行查找执行的,但是我们先进行这样的一个操作:

Linux入门_1

现在,我们使用的是一个外部命令PWD,我们使用一次PWD之后,显示如下图所示:

Linux入门_1

我们发现和上面的图片不一样了,这是为什么呢?这是由于当我们使用一次外部命令以后,hash会将我们使用过的命令路径存放在hash表中,以便我们在下次使用的时候提高所搜效率。下面是对hash表的操作:
  hash 显示当前被hash的外部命令、
    -l 显示当前被hash的外部命令,包含别名
    -p /.../.... name 手动增加一个hash缓存
    -d name 删除一个hash
    -r 清空所有的hash
在我们的实际操作中,hash的执行优先级别是高于PATH中的命令的,下面是一个在操作中优先级别的排序:
alias > 内部命令> hash > PATH > command not find

命令别名

显示当前shell进程所有可用的命令别名:alias

Linux入门_1
定义别名NAME, 其相当于执行命令
alias NAME='VALUE'
Linux入门_1在命令行中定义的别名, 仅对当前shell进程有效
如果想永久有效, 要定义在配置文件中
仅对当前用户: ~/.bashrc
对所有用户有效: /etc/bashrc

编辑配置给出的新配置不会立即生效
bash进程重新读取配置文件
  source /path/to/config_file
  . /path/to/config_file
撤消别名: unalias
  unalias [-a] name [name ...]
  -a 取消所有别名

如果别名同原命令同名, 如果要执行原命令, 可使用
  “\COMMAND”
  ‘COMMAND’
  /PATH/COMMAND: 外部命令

Linux入门_1

命令格式

COMMAND [OPTIONS...] [ARGUMENTS...]
  OPTIONS选项: 用于启用或关闭命令的某个或某些功能
  短选项: -c 例如: -l, -h
  长选项: --word 例如: --all, --human-readable
  参数: 命令的作用对象, 比如文件名, 用户名等

注意:
  多个选项以及多参数和命令之间使用空白字符分隔
  取消和结束命令执行: Ctrl+c, Ctrl+d
  多个命令可以用;符号分开
  一个命令可以用\分成多行

Nano(一个简单的编辑器)

  在Linux上有一个简单的编辑器,但是我们只做了解,知道有这么一个编辑器就行了,因为之后我们会学习更加强大的VIM,nano界面如下所示:

Linux入门_1

一些命令和文件

文件:
  /etc/gdm/custom.conf 更改图像化界面的自动化登录
  /etc/isue 显示登录前的信息
  /etc/motd 显示登陆后的信息

命令:
  rz 向内部拷文件
  sz 向外部拷文件

  wall 在本机登录的用户进行广播

  pwd 查看所在目录

  cat 查看文件内容

  file查看文件类型

  which   查看命令路径

  whereis 查看文件或命令的路径

Linux入门_1的更多相关文章

  1. 01 Linux入门介绍

    一.Linux 初步介绍 Linux的优点 免费的,开源的 支持多线程,多用户 安全性好 对内存和文件管理优越 系统稳定 消耗资源少 Linux的缺点 操作相对困难 一些专业软件以及游戏支持度不足 L ...

  2. Linux入门:运行级别解析

    Linux入门:运行级别解析   一.查看当前运行级别 Ubuntu中,runlevel命令 可以查看当前运行级别: CentOS中,who -r 命令查看当前运行级别:   www.2cto.com ...

  3. linux 入门教程

    linux入门教程 搜索 Linux入门教程 前言 第一章 关于Linux的历史 第二章 图形界面还是命令窗口 第三章 Linux操作系统的安装 第四章 初步进入linux世界 第五章 Linux系统 ...

  4. Linux入门介绍

    Linux入门介绍 一.Linux 初步介绍 Linux的优点 免费的,开源的 支持多线程,多用户 安全性好 对内存和文件管理优越 系统稳定 消耗资源少 Linux的缺点 操作相对困难 一些专业软件以 ...

  5. Linux入门学习教程:虚拟机体验之KVM篇

    本文中可以学习到的命令: 1. aptitude 是apt-get 不会产生垃圾的版本 2.       dpkg -L virtualbox 显示属于该包的文件 lsmod | grep kvmfi ...

  6. Linux入门基础知识

    注:内容系兄弟连Linux教程(百度传课:史上最牛的Linux视频教程)的学习笔记. Linux入门基础知识 1. Unix和Linux发展历史 二者就像父子关系,当然Unix是老爹.1965年,MI ...

  7. Linux入门_2-基础命令

    Linux入门-基础命令 目录 日期命令date 修改时区 日历命令cal 关机启动命令halt,reboot,poweroff whoami.who.who am i.w screen ...

  8. Linux入门篇(一)——文件

    这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不 ...

  9. Linux入门篇(一)——基本命令

    这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不 ...

随机推荐

  1. ubuntu查找软件包

    sudo apt-cache search s_name

  2. &lbrack;R&rsqb; 回归拟合

    如下示例 > fit <- lm(y~x, data = data01) > summary(fit) Call: lm(formula = data01$P ~ data01$M, ...

  3. 使用Yeoman搭建 AngularJS 应用 &lpar;6&rpar; —— 让我们搭建一个网页应用

    原文地址:http://yeoman.io/codelab/review-generated-files.html 打开mytodo文件夹,你会看到现在的基架.如下图所示 在mytodo文件夹,我们能 ...

  4. 深入浅出KnockoutJS

    深入浅出KnockoutJS 写在前面,本文资料大多来源网上,属于自己的学习笔记整理. 其中主要内容来自learn.knockoutjs.com,源码解析部分资料来自司徒正美博文<knockou ...

  5. 【转】python数据格式化之pprint

    pprint – 美观打印 作用:美观打印数据结构 pprint 包含一个“美观打印机”,用于生成数据结构的一个美观视图.格式化工具会生成数据结构的一些表示,不仅可以由解释器正确地解析,而且便于人类阅 ...

  6. python web1(解析url)

    环境:pycharm 尝试对地址进行切片 去掉头 http 或 https a.遇到了一些问题 url = 'https://www.cnblogs.com/derezzed/articles/811 ...

  7. 存储json数据的编码问题

    在使用json.dumps时要注意一个问题   >>> import json >>> print json.dumps('中国') "\u4e2d\u5 ...

  8. 免费SMTP邮件服务&colon;Mandrill&comma;Sendgrid&comma;Mailjet&comma;Postmarkapp&comma;MailChimp

    免费的SMTP发邮件服务平常几乎都没有怎么关注,Wordpress发邮件几乎用普通的邮箱的SMTP服务就可以完成任务,但是自从用了Discourse.Ghost博客后,发现找到一个合适的.免费配额大的 ...

  9. AngularJS学习之 ngTable 翻页 功能以及利用angular service准备测试数据

    1.官网链接  https://github.com/esvit/ng-table#4.0.0 2.安装ngTable后,一定要记得先注册到自己的项目 .module('pttengApp', [ ' ...

  10. Rancher 1&period;6 版本 只能在 linux 下用

    实际操作 启动 , 访问方式 : 在启动过程中会发现没有 image , 然后自动下载 ( 执行 docker pull 命令 ) docker run --rm --privileged -v /v ...