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

相关推荐

  • linux进程管理及计划任务

    进程管理: 什么是进程?   在Linux系统当中:触法任何一个事件时,系统都会将它定义成为一个进程,并且给予这个进程一个ID,称为PID,同时依据触发这个进程的用户与相关属性关系,给予这个PID一组有效的权限设置。 进程与程序: 程序(program):通常为二进制程序放置在存储媒介中,以物理文件的形式存在。 进程(process):程序被触发后…

    Linux干货 2016-09-13
  • Linux系统发展史

    引言:     Linux是一类Unix计算机操作系统的统称。Linux操作系统的内核的名字也是“Linux”。Linux操作系统也是自由软件和开放源代码发展中最著名的例子。严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具…

    Linux干货 2016-10-19
  • iptables

    iptables简介 netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。 iptables基础 规则(rules)其实就是网络管理员预定义的条件,规则一般的定义为“…

    2017-05-02
  • 描述LVS的工作原理

    一、LVS结构   LVS由前端的负载均衡器(Load Balancer,LB)和后端的真实服务器(Real Server,RS)群组成。RS间可通过局域网或广域网连接。LVS的这种结构对用户是透明的,用户只能看见一台作为LB的虚拟服务器(Virtual Server),而看不到提供服务的RS群。当用户的请求发往虚拟服务器,LB根据设定的包转发策略和负载均衡…

    Linux干货 2016-08-29
  • class14磁盘管理(一)

    一、硬盘基础知识及分区类型 1、磁盘结构 设备文件 I/O Ports: I/O 设备地址 一切皆文件:   open(), read(), write(), close() 设备类型: 块设备:block,存取单位“块”,磁盘 字符设备:char,存取单位“字符”,键…

    Linux干货 2016-08-29
  • Linux的诞生史

    Linux诞生史 远古记忆-UNIX的诞生 Multics计划—开始 这是由麻省理工学院,通用电气和AT&T的贝尔实验室合作的操作系统项目,用于使用在GE-645大型主机上的。但是由于整个目标过于庞大,Multics虽然发布了一些产品,但是性能都很低,AT&T退出了Mulitcs项目,计划终止。肯.汤姆逊当时也参加了这个项目,很不…

    2017-07-11