M20 – 1- 第三天:终端和基本命令

 

今天学了一些初步的命令,能实现一些基础功能。

chvt : change vitrual terminal 切换虚拟终端

  • 使用方法 : chvt # <- 加终端号

  • 注意:图形界面不能随意切换其他的终端,只有在字符行节目才能进行切换。

lsb_release:查看系统信息

  • 使用方法:lsb_release -a

tty:查看终端类型

  • 使用方法:tty

  • 注意:/dev/console在单用户模式(init 1)启用

虚拟终端:附加在物理终端之上的以软件方式虚拟实现的终端,

  • 设备文件路径:/dev/tty#,CentOS 6默认启动6个虚拟终端

  • 使用方法:Ctrl+Alt+F#: [1,6]

模拟终端:图形界面打开的命令行以及基于ssh协议或
telnet协议等远程打开的界面。

  • 设备文件:/dev/pts/# [0, ∞)

交互式接口:启动终端后,在终端设备附加一个交互式应用程序

GUI:Graphic User Interface
X protocol, window manager, desktop

Desktop:

  • GNOME (C, 图形库gtk),

  • KDE (C++,图形库qt)

  • XFCE (轻量级桌面)

CLI:Command Line Interface
shell程序:

第三天:终端和基本命令

sh (bourn)
csh tcsh ksh (korn) bash (bourn again shell)GPL zsh

  1. Shell 是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。

  2. shell也被称为LINUX的命令解释器(command interpreter)

  3. shell是一种高级程序设计语言

GNU Bourne-Again Shell(bash)是GNU计划中重要的工具软件之一,目前也是 Linux标准的shell ,与sh兼容。CentOS默认使用
显示当前使用的shell:

  • #echo ${SHELL}

显示当前系统使用的所有shell:

  • #cat /etc/shells

命令提示符:prompt
[root@localhost ~]#
显示提示符格式:
[root@localhost ~]:echo $PS1
prompt:

  • 管理员:#

  • 普通用户:$

输入命令,回车:
提请shell程序找到键入命令所对应的可执行程序或代码
,并由其分析后提交给内核分配资源将其运行起来
在shell中可执行的命令有两类:
内部命令:由shell自带的,而且通过某命令形式提供
enable命令可以启用或禁用内部命令
外部命令:在当前系统的某文件系统路径下有对应的可执行程序文件;which,whereis,区别当前使用的命令是内部或外部命令:

  • # type COMMAND

hash命令:
搜寻到的外部命令路径结果缓存至kv(key-value)存储中

  • hash 显示hash

  • 缓存 hash –r 清除缓存

COMMAND [OPTIONS…] [ARGUMENTS…]
选项:用于启用或关闭命令的某个或某些功能;

  • 短选项:-c, 例如:-l, -h

  • 长选项:–word,例如:–all, –human-readable

  • 参数:命令的作用对象,比如文件名,用户名等

注意:

  • 1、多选项,以及多参数和命令之间使用空白字符分隔

  • 2、取消和结束命令执行:Ctrl+c,Ctrl+d

  • 3、多个命令可以用;符号分开

  • 4、一个命令可以用\分成多行

date -显示日期和时间
Linux的两种时钟:
系统时钟:由Linux内核通过CPU的工作频率进行的;
硬件时钟:主板
hwclock,clock: 显示硬件时钟

  • -s, –hctosys 以硬件时钟为准,校正系统时钟

  • -w, –systohc 以系统时钟为准,校正硬件时钟

cal -显示日历

  • 使用方法:cal #<-加年份或月份

第三天:终端和基本命令
nano –文本编辑

  • 使用方法:nano filename

第三天:终端和基本命令

screen:

  • 打开新的screen: screen –S [SESSION]

  • 加入会话:screen –x [SESSION]

  • 退出并关闭screen:exit

  • 剥离当前screen:Ctrl+a,d

  • 显示所有已经打开的screen:screen -ls

  • 恢复某screen:screen -r [SESSION]

echo命令

  • 功能:显示字符

  • 语法:echo [-neE][字符串]

  • 说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号

  • echo "$VAR_NAME": 变量会替换,双引号表弱引用

  • echo '$VAR_NAME': 变量不会替换,强引用

  • $echo –e “Enter the file name: \c” echo 需要使用-e 参数来打印转义字符.

命令行扩展:$( ) 或 “
把一个命令的输出打印给另一个命令的参数
$ echo "This system's name is $(hostname ) "
This system's name is server1.example.com
$echo "i am `whoami` "
i am root
括号扩展:{ }
打印重复字符串的简化形式
$ echo file{1,3,5}
file1 file3 file5
$ rm -f file{1,3,5}

命令补全
内部命令:
外部命令:bash根据PATH环境变量定义的路径,自左而右在每个路径搜寻以给定命令名命名的文件,第一次找到的命令即为要执行的命令
用户给定的字符串只有一条惟一对应的命令,直接补全否则,再次Tab会给出列表
路径补全
把用户给出的字符串当做路径开头,并在其指定上级目录下搜索以指定的字符串开头的文件名
如果惟一:则直接补全,否则:再次Tab给出列表
作业

screen 熟练使用

第三天:终端和基本命令 第三天:终端和基本命令

1
2
3
4
5
6
7
8
9
10
11
12
13

#!/bin/bash
echo -e "\e[1;5m******\e[0m"
echo -e "\e[1;5m **** \e[0m"
echo -e "\e[1;5m ** \e[0m"
echo -e "\e[1;5m * \e[0m"
echo -e "\e[1;31m******\e[0m"
echo -e "\e[1;31m **** \e[0m"
echo -e "\e[1;31m ** \e[0m"
echo -e "\e[1;31m * \e[0m"
echo -e "\e[1;4m******\e[0m"
echo -e "\e[1;4m **** \e[0m"
echo -e "\e[1;4m ** \e[0m"
echo -e "\e[1;4m * \e[0m"

1
2
3
4
5
6
7
8
9
10
11
12
13
14

#!/bin/bash
BIRTH=1204
TODAY=`date +%d`
THISMOUTH=`date +%m`
BAI=100
BIRTHMOUTH=$(($BIRTH % $THISMOUTH))
BIRTHDAY=$(($BIRTH / $BAI))
MCHA=$(($BIRTHMOUTH$THISMOUTH))
DAYCHA=$(($BIRTHDAY$TODAY))
if [ $DAYCHA -le 3 ] && [ $MCHA -eq 0 ];then
echo -e "\bBirthday is coming soon..Birthday is $BIRTH"
else
echo 'Today ,no birthday'
fi

上述代码运行结果
第三天:终端和基本命令
第三天:终端和基本命令第三天:终端和基本命令第三天:终端和基本命令第三天:终端和基本命令

原创文章,作者:M20-石俊,如若转载,请注明出处:http://www.178linux.com/25494

(0)
M20-石俊M20-石俊
上一篇 2016-07-29
下一篇 2016-08-01

相关推荐

  • 证书及加解密原理图解

    证书管理 现在上网大多数网站都是使用https的协议,https是一个安全的访问方式,数据在传输过程中是加密的,这时候在服务器端就需要使用证书。 科普加解密流程 服务器端客户端 服务器在和客户端通信前必须先建立SSL会话,下图解析SSL会话过程

    Linux干货 2016-09-25
  • linux用户权限管理

       在linux文件系统中使用ls -l命令可以查看文件的属性,但是我们明白其中属性各自代表的意思吗?下面我们就来看一看,这其中的奥义。。。 文件属性 使用ls命令查看文件,可以发现列表分为几个部分,各自所代表的意义如图所示: 文件属性操作     chown 设置文件的所有者  &nb…

    Linux干货 2016-08-04
  • N24_辉 学习宣言

    我志愿加入马帮的大家庭。 在此,我坚信有志者事竟成,同时,机会总是留给有准备的人的。 既来之,则安之。我的目标是能在规定的时间内结业,正如马哥所说:完成比完美更重要! 无论如何,也要完成!fighting!!!

    Linux干货 2016-10-24
  • 第一周

    1、描述计算机的组成与功能 计算器是由运算器,控制器,存储器,输入设备和输出设备五大部件组成;每一部件分别按要求执行特定的功能,具体功能如下: (1)运算器:完成各种算术运算和逻辑运算的装置,能进行加、减、乘、除等数学运算,也能作比较、判断、查找、逻辑运算等。 (2)控制器:控制器是计算机机指挥和控制其它各部分工作的中心,其工作过程和人的大脑指挥和控制人的各…

    Linux干货 2017-01-02
  • 用户和组的管理

    前言 服务器最主要的工作是提供可靠的服务,提供服务就必须对外开放自己的网络,可靠就需要一定的机制来保证了。Linux中有一个3A的机制,首先是认证,就是我们经常听到的一句话,怎么证明你就是你;其次是授权,管理一个服务器,每个管理员都有自己的职责,那么我们就只分配对应的权限给特定的人,这样就可以明确事故的责任,从源头甩锅;最后是审计,总有一些黑客可以通过各种手…

    Linux干货 2016-10-22
  • 系统基础之shell脚本编程详解2

    shell脚本编程2:   在上节我们介绍了shell脚本编程,但只是介绍了基础的内容,下面将为大家介绍shell的脚本的高级用法,判断与循环.判断分为两种:if语句和case语句;循环分为三种:for语句,while语句,until语句,select语句 判断语句:  在脚本的编写中,我们要使用大量的数据和命令,但对于使用的数据,我们要…

    Linux干货 2016-08-19