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 15:27
下一篇 2016-08-01 10:21

相关推荐

  • 第二周:文件管理练习

    1.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示 目录管理管理类命令 mkdir make directories mkdir [OPTION]… DIRECTORY… 注意:路径基名作为命令的作用对象时,基名之前的路径必须要存在;     -p:自动按需创建父目录…

    Linux干货 2016-09-23
  • 第五周作业

    1、显示当前系统上root、fedora或user1用户的默认shell; 答:#egrp ‘^(root|fedora|user1)’ /etc/passwd | cut -f1,7 -d: 2、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello(); 答:#egrp -o &…

    Linux干货 2017-02-25
  • 缓存需知

    Edit Web缓存核心技术点需知 5.1 HTTP首部控制 5.2 基于新鲜度检测机制: 2.1 特征1:时间局部性 2.2 特征2:空间局部性 2.3 缓存的优点 2.4 哪类数据应该被缓存 2.5 哪类数据可缓存但不应该被缓存 2.6 缓存命中率决定缓存有效性 2.7 缓存数据生命周期 2.8 缓存处理步骤 2.9 缓存和普通数据读取的区别 1. 完整…

    Linux干货 2015-02-22
  • nginx负载均衡实验

    实验一、 实验环境:     1、一台director主机。并部署nginx服务。        内网iP:192.168.1.1  外网iP:10.1.64.1     2、一台后端服务器。并部署h…

    Linux干货 2016-10-30
  • N26-第七周

    1、创建一个10G分区,并格式为ext4文件系统;   (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;    (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; [root@localhost ~]# fdi…

    Linux干货 2017-03-05
  • 流式传输的两大主流种类及流式传输特点

     流式传输定义很广泛,现在主要指通过网络传送媒体(如视频、音频)的技术总称。其特定含义为通过Internet 将影视节目传送到PC机。实现流式传输有两种方法:实时流式传输(Realtime streaming)和顺序流式传输(progressive streaming)。(百度百科)     在网络上传输音/视频(英文…

    Linux干货 2015-04-10