Linux入门

目录

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

Root用户

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

终端

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

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

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



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

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

交互式接口

图形化界面

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

命令行

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

什么是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. 实用的环境变量。

命令提示符

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

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

  \h 主机名简称

  \w 当前工作目录

  \t 24小时时间格式

  \! 命令历史数

  \u 当前用户
  \H 主机名

  \W 当前工作目录基名

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

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

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

判断一个命令的类型:
  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,即路径,我们使用的所有外部命令都是按照路径从左到右进行查找执行的,但是我们先进行这样的一个操作:

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

我们发现和上面的图片不一样了,这是为什么呢?这是由于当我们使用一次外部命令以后,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


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

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

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

命令格式

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

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

Nano(一个简单的编辑器)

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

一些命令和文件

文件:
  /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. 012.Adding a New Field --【添加一个新字段】

    Adding a New Field 添加一个新字段 2016-10-14 3 分钟阅读时长 作者 By Rick Anderson In this section you'll use Entity ...

  2. tomcat 组件研究二--请求过程

    上一篇博客大概总结了tomcat 的组件以及其组织方式,对于tomcat 的启动过程也进行进行了简单的总结,下面这篇博客,继续研究tomcat 处理请求的相关组件,其实就是主要研究Connectors ...

  3. 设计模式(8)--Decorator--装饰器模式--结构型

    1.模式定义: 装饰模式又名包装(Wrapper)模式.装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案. 2.模式特点:    装饰模式能够实现动态的为对象添加功能,是从一个对象 ...

  4. 深入解析Javascript异步编程

    这里深入探讨下Javascript的异步编程技术.(P.S. 本文较长,请准备好瓜子可乐 :D) 一. Javascript异步编程简介 至少在语言级别上,Javascript是单线程的,因此异步编程 ...

  5. Request常用方法 (总结)

    一.HttpServletRequest介绍 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象 ...

  6. linux之无名管道

    1.查看命令: man 2 pipe 2.头文件:#include <unistd.h> 3.函数原型: int pipe(int pipefd[2]); a.pipefd[2] :无名管 ...

  7. Android 主题theme说明 摘记

    主题Theme就是用来设置界面UI风格,可以设置整个应用或者某个活动Activity的界面风格.在Android SDK中内置了下面的Theme,可以按标题栏Title Bar和状态栏Status B ...

  8. 新瓶装旧酒:全程无命令 GitHub Pages 创建您的博客站点

    使用 GitHub Pages 创建博客站点的文章很多,也有很长的历史了.但是,许多已经与当前的 GitHub 不一致了,如果你按图索骥,会发现驴唇对不上马嘴. 更为麻烦的是,你会发现或者需要你输入许 ...

  9. Sass初学者超强十分钟入门

    ruby安装 因为sass依赖于ruby环境,所以装sass之前先确认装了ruby.先导官网下载个ruby 在安装的时候,请勾选Add Ruby executables to your PATH这个选 ...

  10. ctf常见php弱类型分析

    1. 布尔反序列化 $unserialize_str = $_POST['password']; $data_unserialize = unserialize($unserialize_str); ...