Linux用户类型

Root用户:超级管理员,权限很大

普通用户:权限有限

终端 terminal

终端类型

物理终端:鼠标、键盘、显示器

虚拟终端:软件模拟出来的终端

  • 控制台终端: /dev/console
  • 串行终端:/dev/ttyS#
  • 虚拟终端:tty:teletypewriters, /dev/tty#,tty 可有n个,Ctrl+Alt+F#
  • 图形终端:startx, xwindows
  • 伪终端:pty:pseudo-tty , /dev/pts/# 如:SSH远程连接
说明 命令
查看当前所在终端的名称: tty
查看登录的用户和终端名称: who am i
查看当前的主机谁在登录以及登录的终端名: who --- 点地址的就是远程登录上来的
登录系统的用户正在做的操作 w

Shell

作用:接收用户输入的命令并把它送入内核去执行

各种shell

  • sh:Steve Bourne
  • bash:Bourne-Again Shell,GPL,CentOS和Ubuntu默认使用(sh的增强版)
  • csh:c shell , C 语言风格
  • tcsh
  • ksh :Korn Shell, AIX 默认 shell
  • zsh: MacOS默认shell

    查看当前使用的shell类型: echo $SHELL

    查看当前系统支持的shell:cat /etc/shells

shell提示符

提示符的组成:

[当前用户@主机名 当前目录] #或$

修改提示符的方法:

  • 永久生效:修改配置文件的方式
  • 当前生效: 修改$PS1变量

    echo $PS1

    \[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$

PS1提示符说明:

  • \e 控制符\033
  • \u 当前用户
  • \h 主机名简称
  • \H 主机名
  • \w 当前工作目录
  • \W 当前工作目录基名
  • \t 24小时时间格式
  • \T 12小时时间格式
  • ! 命令历史数
  • # 开机后命令历史数
ubuntu修改提示符颜色
echo "PS1='\[\e[1;35m\][\u@\h \W]\\$\[\e[0m\]'" >> .bashrc

执行命令

命令格式

  • 命令 [参数] [对象]
  • 命令 [子命令] [对象]  (较新的命令) 例如: hostnamectl set-hostname xxx
注意:
多个命令可以用 ";" 符号分开
一个命令可以用\分成多行
取消和结束命令执行:Ctrl+c,Ctrl+d

命令参数的风格

  • 短选项:UNIX 风格选项,-c 例如:-l, -h
  • 长选项:GNU风格选项,--word 例如:--all, --human
  • BSD风格选项: 一个字母,例如:a,使用相对较少

linux命令的分类:

  • 内部命令:集成在shell中的,登录后自动加载到内存中后台运行
  • 外部命令:在文件系统路径下有对应的可执行程序文件,当执行命令时才从磁盘加载至内存中,执行完毕后从内存中删除

    区分命令类型的方法:type command

    查看所有的内部命令: enable | wc -l

    查看外部命令路径:which 、 whereis

$PATH

存储了外部命令的路径

hash缓存表

  • 默认为空,第一次执行外部命令的时候,默认从PATH存储的路径下寻找,找到后会将这个命令的路径记录到hash表中,
  • 再次执行命令的时候会首先从hash表中查看是否存在,存在就直接会执行
说明 命令
显示hash缓存 hash
清除缓存 hash -r
清除指定命令的缓存 hash -d name

命令别名

显示命令的别名: alias

设置命令的别名: alias 命令 别名

取消命令的别名: unalias 别名

范例: 扫描新加的磁盘
alias scandisk='echo - - - >
/sys/class/scsi_host/host0/scan;echo - - - >
/sys/class/scsi_host/host1/scan;echo - - - > /sys/class/scsi_host/host2/scan'

命令执行的优先级

别名>内部命令>外部命令

定义的别名命令可以和内/外部命令同名

如果内部命令和外部命令一样: 想要执行外部命令的方法: \commamd或 'command'

执行命令的过程

  • 1.判断路径
  • 2.检查别名
  • 3.判断命令类型
  • 4.根据路径查找命令的可执行文件

bash快捷键

快捷键 说明
Ctrl + s 阻止屏幕输出,锁定
Ctrl + q 允许屏幕输出,解锁
Ctrl + c 终止
Ctrl + a 光标移到命令行首,相当于Home
Ctrl + e 光标移到命令行尾,相当于End

Linux查看帮助的方法

whatis

whatis 命令的简单说明,使用前需要使用mandb来生成数据库

whatis 命令名称

执行whatis命令的时候,括号里面的数字就对应man手册里面的章节,带P的是开发者文档

command --help

查看指定命令的帮助

man and info

使用 man 手册(manual): man COMMAND

man 提供命令帮助的文件,手册页存放在/usr/share/man

中文man需安装包

  • man-pages
  • man-pages-zh-CN

man 章节号

用户命令 1
系统调用 2
C语言库调用 3
设备文件及特殊文件 4
配置文件格式 5
杂项 7
管理类的命令 8

1:命令怎么用 5:配置文件的格式

格式说明

  • [] 表示可选项
  • CAPS或 <> 表示变化的数据
  • ... 表示一个列表
  • x |y| z 的意思是“ x 或 y 或 z ”
  • -abc的 意思是 -a -b –c
  • { } 表示分组

命令自身提供的官方使用指南

存放位置:/usr/share/doc

Linux命令格式、终端类型和获取帮助的方法的更多相关文章

  1. Linux命令格式及7个常见终端命令

    Linux命令格式 Linux常见的7个终端命令

  2. 12款最佳Linux命令行终端工具, 20款优秀的 Linux 终端仿真器

    12款最佳Linux命令行终端工具     如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章.我这里搜集了一些非常有趣的 ...

  3. linux命令格式及基础命令(一)

    linux命令格式 ~]#COMMAND [选项] [参数] 例如: ~]#ls 不带任何选项和参数 ``` stylus ~]#ls -lh /etc 列出/etc下所有文件和目录,同时要求以格式和 ...

  4. [转]12款最佳Linux命令行终端工具

    摘要 “工欲善其事必先利其器”,作为菜鸟,也是从别人那里偷学来的一些东东.今天看到同事用到一个终端命令行工具,觉得自己弱爆了.然后在网上搜了下该工具.发现类似的工具还是挺多的,只是自己不知道罢了. 原 ...

  5. 12款最佳Linux命令行终端工具

    12款最佳Linux命令行终端工具 如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章.我这里搜集了一些非常有趣的终端软件 ...

  6. Linux命令格式及帮助命令详解

    昨天看了一个教程,关于Linux命令的,本来以为当是复习随便看看的,结果看了不禁汗颜,这个真挺有学问的,很多东西都是我还不知道的,故此做总结,此文适合于对Linux命令有一定了解但又不是很深入的孩子, ...

  7. 解读Linux命令格式(转)

    解读Linux命令格式   环境 Linux HA5-139JK 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:48 EDT 2009 x86_64 x86_64 x8 ...

  8. linux命令格式及who、whoami、su和passwd命令

    linux命令格式及who.whoami.su和passwd命令 1. Linux命令的格式 Linux命令的语法格式: 命令 [选项] [参数] 命令格式中命令.选项.参数的具体含义: 命令:告诉L ...

  9. 【深入学习linux】Linux命令格式

    一.命令基本格式 命令提示符 [root@localhost ~]# root 代表当前登录用户,Linux当中管理员账号是 root localhost 代表主机名 ~ 代表当前所在目录(家目录), ...

随机推荐

  1. acwing刷题--激光炸弹--前缀和(后期会有优化做法)

    地图上有 N 个目标,用整数 Xi,Yi 表示目标在地图上的位置,每个目标都有一个价值 Wi. 注意:不同目标可能在同一位置. 现在有一种新型的激光炸弹,可以摧毁一个包含 R×R 个位置的正方形内的所 ...

  2. Java中日期格式化的实现算法

    package com.study.test; import java.io.Serializable; import java.text.SimpleDateFormat; import java. ...

  3. tomcat的搭建和介绍

    第19章 tomcat的搭建 19.1 tomcat学习之前的预备知识 19.1.1 什么是JVM和JDK,JRE JVM            java虚拟机,实现一份代码可以在不同的平台执行,具有 ...

  4. 重新审视C# Span<T>数据结构

    先谈一下我对Span的看法, span是指向任意连续内存空间的类型安全.内存安全的视图. Span和Memory都是包装了可以在pipeline上使用的结构化数据的内存缓冲器,他们被设计用于在pipe ...

  5. Spring 源码(9)Spring Bean的创建过程的前期准备

    回顾总结 到目前为止,Spring源码中AbstractApplicationContext#refresh方法的已经解读到第11个方法finishBeanFactoryInitialization, ...

  6. 基于 range 的 for 循环和 auto

    基于 range 的 for 循环和 auto C++11 引入一种循环的新形式,叫基于 range 的 for 循环,它允许我们用更简单易读的形式遍历容器中的所有元素 vector<int&g ...

  7. 用 Go 快速开发一个 RESTful API 服务

    何时使用单体 RESTful 服务 对于很多初创公司来说,业务的早期我们更应该关注于业务价值的交付,而单体服务具有架构简单,部署简单,开发成本低等优点,可以帮助我们快速实现产品需求.我们在使用单体服务 ...

  8. 【WPF】WPF开发用户控件、用户控件属性依赖DependencyProperty实现双向绑定、以及自定义实现Command双向绑定功能演示

    前言: Wpf开发过程中,最经常使用的功能之一,就是用户控件(UserControl)了.用户控件可以用于开发用户自己的控件进行使用,甚至可以用于打造一套属于自己的UI框架.依赖属性(Dependen ...

  9. 992. Sort Array By Parity II - LeetCode

    Question 992. Sort Array By Parity II Solution 题目大意:给一个int数组,一半是奇数一半是偶数,分别对偶数数和奇数数排序并要求这个数本身是偶数要放在偶数 ...

  10. python之数据类型的内置方法(set、tuple、dict)与简单认识垃圾回收机制

    目录 字典的内置方法 类型转换 字典取值 修改值 计算字典长度 成员运算 删除元素 获取元素 更新字典 快速生成字典 setdefault()方法 元组的内置方法 类型转换 索引与切片操作 统计长度 ...