Linux终端以及bash

1 Linux系统终端概述    1

1.1 图形化    1

1.2 字符终端    1

1.3 whow    1

1.3.1 who    1

1.3.2 w    1

1.3.3 pkill    1

2 Linux系统Bash管理    2

2.1 Linux提供的用户界面    2

2.2 Bash特性:命令快捷键    2

2.3 shell的种类    2

2.3.1 shell的种类    2

2.3.2 data    3

2.3.3 whoami    3

2.4 bash的功能    3

2.4.1 jobs    4

2.4.2 alisa    4

2.4.3 history    5

2.5 bash特性:命令流程    5

2.6 特殊符号    6

3 部署企业架构流程    6

3.1 部署企业架构流程    6

  1. Linux系统终端概述

  2. 图形化

服务器不需要图形化界面

个人电脑用图形化一般都会选择windows或者Mac

  1. 字符终端

服务器终端切换:Ctrl+Alt+F1...6

虚拟机终端切换:Ctrl+Alt+Shift+1...6

  1. who和w

    1. who

    查看当前服务器用户登录信息

    如果用户是远程登录,who可以看到用户登陆的ip地址

[root@oldboy tmp]# who

root pts/0 2018-08-08 14:43 (10.0.0.1)

root tty3 2018-08-08 18:23

 

  1. w

  2. w命令可以看到服务器开机时长,143分;
  3. 可以查看当前服务器登录用户的数量,2

3、可以查看服务器负载0.00,0.01,0.05分别代表15分钟,10分钟,5分钟的负载情况

[root@oldboy tmp]# w

18:25:23 up 1 day, 43 min, 2 users, load average: 0.00, 0.01, 0.05

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

root pts/0 10.0.0.1 14:43 3.00s 0.76s 0.01s w

root tty3 18:23 2:03 0.02s 0.02s -bash

 

  1. pkill

pkill:强制让用户下线(管理员权限)

        -t:指定开启进程的终端,踢用户

-9:表示强制杀死

  1. Linux系统Bash管理

  2. Linux提供的用户界面

    1. 字符界面

    shell

        bash(默认)

    1. 图像化界面

    gnome

    kde

  3. Bash特性:命令快捷键

终端快捷键的使用可以帮助我们大大提升效率

 

Ctrl + A //光标跳转至正在输入的命令行的首部 home

Ctrl + E //光标跳转至正在输入的命令行的尾部 end

Ctrl + C //终止前台运行的程序

Ctrl + D //在shell中,ctrl-d表示推出当前shell。

Ctrl + Z //将任务暂停,挂至后台

Ctrl + L //清屏,和clear命令等效。

Ctrl + K //删除从光标到行末的所有字符

Ctrl + U //删除从光标到行首的所有字符

Ctrl + R //搜索历史命令, 利用关键字

 

//在命令行前加面加 "#" 则该命令不会被执行

  1. shell的种类

    1. shell的种类

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

[root@oldboy tmp]# cat /etc/shells

/bin/sh

/bin/bash

/sbin/nologin

/usr/bin/sh

/usr/bin/bash

/usr/sbin/nologin

 

  1. date

1、显示日期和时间

+%R:时间(不显示秒)

+%H:小时

+%F:显示日期

例如:

[root@oldboy tmp]# date +%F_%R

2018-08-08_20:20

 

        查看帮助:data –help

    注意:两个参数后面不能是空格 例如:date +%F +%R中间有空格会报错

[root@oldboy tmp]# date +%F +%R

date: 额外的操作数 "+%R"

Try 'date --help' for more information.

2、创建文件时在文件名中加入时间戳

    例如:``符号可以用$()代替

    当时用嵌套时,要使用$(),所以推荐使用$()

    touch log_`date +%F-%R`.bak

    [root@oldboy tmp]# touch log2_$(date +%F-%R).bak

  1. whoami

    我是谁:显示当前登陆的用户名称,确认登录用户

[root@oldboy tmp]# whoami

root

  1. bash的功能

    1、命令行编辑快捷键

    2、内部命令与外部命令

    3、命令补全与路径补全

    3、命令别名与命令历史

    4、转义字符与路径展开

    5、通配符与特殊字符

    6、重定向与管道技术

    1. 查看后台任务jobs

1、查看后台程序

root@oldboy tmp]# jobs

[1]+ 已停止 vi

2、fg调出后台运行相应的程序

[root@oldboy tmp]# jobs

[1]- 已停止 vi

[2]+ 已停止 vi

[root@oldboy tmp]# jobs

[1]- 已停止 vi

[2]+ 已停止 vi

[root@oldboy tmp]# fg 1

  1. 命令别名alias

别名设置

[root@oldboy tmp]# alias IP='ifconfig'

[root@oldboy tmp]# IP

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

inet 10.0.0.100 netmask 255.255.255.0 broadcast 10.0.0.255

inet6 fe80::8fad:bf45:71aa:396c prefixlen 64 scopeid 0x20<link>

ether 00:0c:29:30:0c:34 txqueuelen 1000 (Ethernet)

RX packets 55198 bytes 24521783 (23.3 MiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 34705 bytes 18135355 (17.2 MiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

 

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536

inet 127.0.0.1 netmask 255.0.0.0

inet6 ::1 prefixlen 128 scopeid 0x10<host>

loop txqueuelen 1000 (Local Loopback)

RX packets 0 bytes 0 (0.0 B)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 0 bytes 0 (0.0 B)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    unalias 后接要取消的别名名称:如unalias IP

[root@oldboy tmp]# unalias IP

[root@oldboy tmp]# IP

-bash: IP: 未找到命令

注意:

    1.使用alias命令就可以查看当前生效的别名有哪些

    2.使用unalias 接别名名称

    3.alias只对当前环境临时生效

    4.如需永久生效,要将定义别名的命令写入登录配置文件

        ~/.bash_profile 只对当前用户生效,局部配置文件

        ~/.bashrc         只对当前用户生效,局部配置文件

        /etc/profile 对所有用户生效,全局配置文件

        /etc/bashrc     对所有用户生效,全局配置文件

    5.使用 符号临时不生效

  1. 查看历史命令history

查看历史使用过的命令

-c:清空历史记录,不清空文件(.bash_history:用户家目录下的隐藏文件)

-w:保存命令到历史记录

-d:删除命令历史的第n行

!:可以调用之前的命令

! number:调用第number行的命令

! cmd :调用离当前用户最近的cmd开头的命令

!$:调用上次命令使用的参数,或者按一下ESC键,再按.号

  1. bash特性:命令流程

当我们执行一个命令, 整个命令执行流程如下:

 

1、判断命令是否通过绝对路径执行

2、判断命令是否存在别名

3、判断用户输入的是内部命令还是外部命令

    内部命令: shell程序自带的命令。

    外部命令: 在系统PATH变量的某个路径下的可执行程序。

    使用type命令检测用户输入的命令属于内部命令还是外部命令。

4、内部命令直接执行, 外部命令检测是否存在缓存

5、检测PATH路径, 有执行, 无报错

  1. 特殊符号

    ``:反单引号:命令写在里面,会执行;

    '':单引号:所见即所得;

    "":双引号:里面使用变量,变量属性不会变;

 

事实上执行过的外部命令都会保存在内存缓存中, 当再次执行相同的命令, 会通过缓存调取执行, 也就意味着不会搜索PATH路径。

  1. 部署企业架构流程

  2. 部署企业架构流程

    1. 能部署固定的环境
    2. 能自动化运维(综合实验架构:LNMPrsyncNFSanbbixansiblecomcat
    3. MysqlRedismhashell脚本
    4. Python
原文地址:https://www.cnblogs.com/majinhai/p/9534057.html