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. Go基础

    Go编程基础 package 别名 当使用第三方包时,包名可能会非常接近或者相同,此时就可以使用别名来进行区别和调用 //当前程序的包名 package main //导入其他的包 import &q ...

  2. Android 主题theme说明 摘记

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

  3. Html5笔记之第五天

    Html5增强的文件上传域 <!DOCTYPE html> <html> <head> <title>Html5增强的文件上传域</title&g ...

  4. mysql简单主从复制(二)

    mysql的简单主从复制 主从复制打开后,各自开启的线程: master端 mysql> show processlist\G; *************************** 1. r ...

  5. [转]linux中颜色的含义

    绿色文件---------- 可执行文件,可执行的程序 红色文件-----------压缩文件或者包文件 蓝色文件----------目录  www.2cto.com     白色文件-------- ...

  6. RESTful学习记录

    1.1 什么是RESTful RESTful架构,就是目前最流行的一种互联网软件架构.它结构清晰.符合标准.易于理解.扩展方便,所以正得到越来越多网站的采用. RESTful(即Representat ...

  7. webStrom支持Vue

    找到webstorm-->preferences-->fileTypes-->html-->添加+-->*.vue

  8. liunx下常见的命令汇总

    前言:这篇文章对于工作多年的可能用处不大,但对于刚刚接触Java的同学肯定是有一些帮助,现在我总结我接触liunx后常见的一些命令 1:日志查询常用的命令 ll:查询目录下所有的文件 ls -lht: ...

  9. Serializable序列化的作用

    这里转载一篇讲解java序列化(Serializable)和反序列化方面的感觉很好的文章.1.序列化是干什么的?简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的 ...

  10. 开源项目Druid的提取SQL模板

    在数据库审计中,常常用到SQL模板,这样提取一次模板,下一次就不用对相同的模板的SQL进行相关操作.对此Druid提供相应的工具类进行SQL模板提取: package com.dbappsecurit ...