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

相关推荐

  • 内核编译流程和自动化安装

    内核编译         在特定的情况我们机器上面有些硬件特性需要利用起来,但是我们现成的这个内核没有开启这个功能,那就需要重新编译,把这个功能模块加进来,或者打到vmlinux中的核心文件里面。比如ntfs功能,默认系统没有启用此功能,但是系统是带这个功能的,编译的时候时候可以…

    Linux干货 2016-09-18
  • 堡垒机-麒麟开源堡垒机苹果 Mac支持版本发布

      近日,麒麟开源堡垒机团队开发测试了支持Mac OS苹果操作系统的Web插件,苹果系统用户可以直接和Windows用户一样,登录到Web平台,使用点击的方式调动运维工具并且登录到目标系统进行操作运维。 Mac OS插件支持ssh、telnet、rdp、vnc、x11、sftp、ftp、应用发布等所有协议。   注:麒…

    Linux干货 2016-05-19
  • Hadoop hdfs分布式文件系统

    一、MapReduce理论基础 每个MapReduce job都是Hadoop客户端想要执行的一个工作单元,它一般由输入数据、MapReduce程序和配置信息组成,而Hadoop会把每个job分隔成两类任务(task):map任务和reduce任务。在Hadoop集群中有两类节点来执行两类job进程的执行 1.1 大数据处理 任何基础业务包含了收集、分析、监…

    2017-12-08
  • Linux系统上命令的使用格式与十二个常用命令详解

    Linux系统上命令的使用格式 命令的语法通用格式: ~]# COMMAND OPTIONS ARGUMENTS 例如: ls -ld /var COMMAND(命令): ls ls命令用来显示目标列表 OPTIONS(选项): -ld -ld 是 -l -d 的简写 -l 以详细格式列表 -d 仅列目录 ARGUMENTS(参数): /var 命令对这个/…

    2018-02-26
  • Redis应用场景

    1.  MySql+Memcached架构的问题   实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题:   1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据…

    Linux干货 2016-03-22
  • 路漫漫其修远兮第十周

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) 从dawning大湿兄那里借来的图,如下: 启动过程 (PC架构) POST –> Boot Sequence(BIOS) –> Boot Loader (MBR)–>GRUB—> Kernel(ramdisk) &#821…

    Linux干货 2017-02-24