一、前言

  1.对linux服务器进行管理的时候,经常要进入字符界面进行操作,使用命令需要记住该命令的相关选项和参数。vi编辑器可以用于编辑任何ASCII文本,功能非常的强大,可以对文本进行创建、查找、替换、删除、复制和粘贴等操作。

二、Linux字符界面

  1.安装Fedora17系统之后,系统启动默认进入的是图形化界面,可以通过使用如下命令修改进入字符界面:

ln -sf  /lib/systemd/system/runlevel3.target  /etc/systemd/system/default.target

    (1)用户登录分为两步:第一步输入用户名,系统根据该用户名识别用户

              第二部输入用户的口令。在正确的输入了用户名和口令之后就可以对系统进行各种操作了。

    (2)超级用户登录后的提示符是“#”,而其他用户登录后的提示符是“$”

  2.关闭和重启系统

    (1)在linux系统下常用的关闭和重启系统的命令有"shutdown","halt","reboot"和"init",但是每个命令的内部工作过程是不同的。shutdown命令可以安全的关系系统。

    命令语法:shutdown   [选项] [时间]  [警告信息]

    立即关闭系统:shutdown -h now

    定时45分钟之后关闭系统shutdown -h 45

    重新启动系统,并发出警告信息:shutdown -r now "system will be reboot now"

    (2)halt命令。

     使用"halt"命令就是调用"shutdown -h"命令执行关闭系统

     命令语法:halt  [选项]

     使用"halt"命令关闭系统:halt

    (3)reboot命令

      "reboot"是引发主机重启,"halt"命令是引发主机关闭系统 

      使用reboot命令重启计算机:reboot

    (4)init命令:

      所有进程的祖先,进程号始终为1

      发送TERM信号给"init"会终止所以的用户进程和守护进程

      "init 0"是关闭系统;"init 6为重启系统"

  3.系统运行级别

    (1)Linux系统运行级别是一种状态,由列在/etc/rc.d/rc<x>.d目录中的服务来定义的,其中x代表运行级别的符号

 

    (2)Linux运行的7中级别:

      0:停止运行,所有进程中止,关闭系统

      1.单用户模式,用于维护系统,只有少数进程运行

      2.多用户模式,出了NFS服务没有启动之外,其他的和运行级别3一样

      3.完整的多用户模式,进入Linux系统的字符界面

      4.没有使用(可以由用户定义)

      5.完整的多用户模式

      6.重启引导计算机

    (3)现实当前系统运行级别:runlevel

      

      当前系统运行级别为5,没有上一次运行级别

    (4)切换运行级别为2,并现实当前系统运行级别

      

      当前系统级别为5,上一次的运行级别为3

二、在linux下获取帮助

  1.使用man手册页

    (1)man可以用来查看命令、函数或者文件。另外也可以现实一些gzip格式的文件

      man   [选项]   [命令名称]

    (2)现实ls命令的man手册页

      man ls

  2.使用help命令

    (1)只要在所查找的命令后面输入help命令,然后就可以看到搜查找命令的内容了

    (2)命令语法: [命令] --help

    (3)查看mkdir命令帮助

      mkdir --help

  3.whereis命令:查找命令所在的位置

    (1)命令语法:whereis [选项]  [命令名]

    (2)查找ls命令在什么目录下

      whereis ls

      

三、Shell基础

    1.普通用户提示符"$",root用户提示符"#"

    2.Shell命令可能含有一些可选项和参数,一般格式为:

      [Shell命令]  [可选项]  [参数]

    3.Linux系统由4个部分组成 

      (1)内核

      (2)Shell

      (3)文件系统

      (4)应用程序 

    4.Shell位于核心和操作者之间的一层使用者界面

    5.Shell类型和功能

    6.开始使用bash

      (1)命令类型:bash内置的命令;应用程序

    7.bash通配符

      

      

    8.常用控制组合键

      

    9.快速补全Tab,Tab键称为"命令行自动补全"键

      (1)快速跳转到/usr/src/redhat/目录

        cd /u<Tab>/sr<Tab>/r<Tab>

    10.命令历史记录

      通过按下向上方向键,可以向后遍历最近在控制台下输入的命令,通过向下方向键,可以向前遍历命令

      (1)通过光标和功能键(Home,End等键),可以浏览并编辑命令行,还可以用键盘的快捷方式来完成一般的编辑,其主要的功能如下:

      【Ctrl+k】:删除从光标到尾部的部分

      【Ctrl+u】:删除从光标到行首的部分

      【Alt+d】:删除从光标到当前单次结尾的部分

      【Ctrl+e】:将光标移到行尾

      【Alt+a】:将光标移到当前单次头部

      【Alt+e】:将光标移到当前单次尾部

      【Ctrl+y】:插入最近删除的单词

      【!$】:重复前一个命令最后的参数

      (2)使用命令行记录功能键

      #mkdir /root/aaa

      //创建目录/root/aaa

      #cd !$  <===>cd /root/aaa

      !$是指重复前一个命令的最后的参数,参数是/root/aaa

      #pwd  (现实用户的当前目录,这里显示用户的当前目录是/root/aaa)

      /root/aaa

     

    11.可用的Shell快捷方式

      "~"就是用户主目录的简写形式

    12.命令的排列、替换和别名

      (1)命令的排列:如果希望一次执行多个命令,Shell允许在不同的命令之间,放上特殊的排列字符。如下两种方式:

      使用";"

      使用“;”命令的时候限制性命令1,不管命令是否出错,接下来执行命令2

      命令语法:

        明林1:命令2

      (2)[例4.14]使用排列命令";"同时执行两个命令

       ls -l /boot;du -hs /root

        先在屏幕上显示/boot目录中的所有内容,然后列出目录/root及其子目录所占的磁盘的大小。

      (3)使用"&&":只有当命令1正确运行完毕后,才能执行命令2

      命令语法:命令1&&命令2

      (4)使用排列命令&&同事执行两个命令

      (5)命令替换

      命令替换这种机制的语法如下:

        命令1 $(命令2)

      出了使用$  ()命令之外,还可以使用后引号"`",命令语法如下所示:

        命令1  `命令2`

      (6)命令别名

        命名语法:

        alias    [别名] = [需要定义别名的命名]

    13文件名匹配和输出重定向

      文件名匹配使得用户不必一一写出文件名称就可以指定多个文件

      *可以匹配一个或者多个字符

      第二个通配符是问号"?"。在匹配的时候,一个问号只能代表一个字符

     (1)命令语法:

        [命令1] | [命令2]  |  [命令3]

     (2)使用简答的管道

      #ls /etc|more

      /命令ls /etc是现实etc目录的内容,命令more是分页现实内容

    ·  (3)使用复杂的管道

      rpm -qa| grep a |more

      rpm -qa显示已经安装在系统上的RPM包,命令grep a 是过滤软件包,命令more是分页显示这些信息

     (4)重定向文件

      重定向的5种方式:输出重定向;输入重定向;错误重定向;追加重定向以及同事实现输出和错误重定向。

       (5)输出重定向

      即将command命令的输出保存到文件file中,如果存在相同的文件,则覆盖文件中的内容。

      命令语法:command > file

    (6)使用输出重定向将目录/boot的内容保存到文件/root/abc

      

    (7)使用echo命令和输出重定向创建文本文件/root/mm,内容是hello

      echo hello > /root/mm

      cat /root/mm

      

      //显示文件/root/mm,可以看到文件的内容是hello

    (8)输入重定向

      输入重定向,即将文件file的内容作为command命令的输入

      命令语法:command<file

      使用输入重定向将文件/root/mm的内容作为输入让cat命令执行

      cat < /root/mm

      

    (9)错误重定向:错误重定向,即将command命令执行的出错信息输出到文件file中去

     命令语法:command 2 >file

    查看根本不存在的/root/kk文件,出现报错信息,将其保存到文件/root/b中

     cat /root/kk 2>root/b

     

    cat:/root/kk:没有那个文件或者目录

    //使用cat命令查看/root/b文件,可以看到其内容就是执行命令cat /root/kk的报错信息

    (10)追加重定向,即将command命令执行的输出添加到已经存在的文件file中去

    命令语法:command>>file

    使用追加重定向将数据写入文件/root/a文件中去

    #echo aaa>/root/a

    //先创建文件/root/a,文件内容是aaa

    

    (11)同时出现输出和错误重定向:可以同时实现输出重定向和错误重定向的功能

    命令语法:command &>file

    同时使用输出和错误重定向:

      ls /boot &>/root/kk

      cat /root/kk

    同时使用输出和错误重定向

    

四、vi编辑器

     文本编辑器有很多,文本模式下的编辑器有vi,vim和nano,vi和vim是Linux系统中最常用的编辑器。

  1.vi的基本概念

    (1)vi编辑器可以对文本进行创建、查找、替换、删除、复制和粘贴等操作

    (2)vi编辑器有三种基本的工作模式,分别是命令行模式、插入模式和末行模式

     (3)命令行模式:控制屏幕光宝的移动,字符、字或行的删除,移动、复制某区域及进入插入模式,或者末行模式

    (4)插入模式:只有在插入模式下,才能将文字插入,按"ESC"键回到命令行模式

    (5)末行模式:将文件保存或者退出vi编辑器,也可以设置编辑环境,如寻找字符串、列出行号等。

  2.vi的基本操作

    (1)进入vi编辑器,在Shell下输入vi及文件名称后,就可以进入vi编辑器画面

    (2)切换至插入模式或者编辑模式

      在命令行模式下按字母"I"就可以进入插入模式,这个时候就可以开始输入文字了

    (3)退出vi以及保存文件

      在命令行模式下,按冒号键":"可以进入末行模式。

      输入"wq",存盘并退出vi

      输入"q!",不存盘强制退出vi

  3.命令行模式操作

      在shell提示符下输入"vi 文件名"之后就进入了命令行模式,在命令行模式下是不能输入任何数据的

    (1)进入插入模式

      进入插入模式的操作如下:

        按"i":从光标的当前位置开始输入文字

        按"a":从目前光标的所在位置的下一个位置开始输入文字

        按"o":从光标所在行的下面插入一行,从行首开始输入文字

        按"I":从光标所在行的行首插入

        按"A":从光标所在行的行末插入

        按"O":在光标所在行的上面插入一行

        按"s":删除光标所在位置的一个字符,然后进入插入模式

        按"S":删除光标所在的行,然后进入插入模式

  4.从插入模式切换为命令行模式

    (1)从插入模式切换为命令行模式

      从插入模式切换到命令行模式只需要按下"ESC"键

    (2)存盘退出:"ZZ"表示存盘退出

    (3)不存盘退出:"ZQ"

  5.使用末行模式进行操作

    (1)在使用末行模式之前,请记住先按“Esc”键确定已经处于命令行模式后,再按冒号“:”即可进入末行模式。

  (1)列出行号:set nu,会在文件中的每一行前面列出行号

  (2)取消列出行号:"set nonu"

  (3)跳到文件中的某一行

    "n"表示一个数字,在冒号后面输入一个数字,然后再按下“回车键”就会跳到该行了,

      

      

      

    

      

  

linux复习3:linux字符界面的操作的更多相关文章

  1. linux直接启动到字符界面或从字符界面启动到图形化界面

    修改/etc/inittab文件 将内容为:"id:5:initdefault"的行的数字5改为3,保存重启即可直接进入字符界面 PS:3和5分别表示运行级别 从字符界面启动到图形 ...

  2. 个性化修改Linux登录时的字符界面

    如果采用root账号登录编辑/etc/bashrc内容,那所有其他帐号登录都会提示相同的内容,如果想每个用户进行配置,那就去每个帐号的目录下去配置吧. 这里提供改一个文件所有帐号都能看到的个性显示内容 ...

  3. SUSE Linux Enterprise 11 SP4系统安装过程 字符界面

    首先开启虚拟机之后显示这个界面: (1) 进入之后显示下面界面,点击Installation安装. (2)进入Welcome界面,选择语言,默认Einglish(US)不需要改动:点击I Agree ...

  4. Linux C 程序 GTK+图形界面编程(22)

    GTK+图形界面编程 Linux大多是在字符界面,但也可以开发图形界面 目前已经存在多种Linux下开发图形界面的程序开发包:最常用的是Qt和GTK+ Qt是一个跨平台的图形界面开发库,不仅仅支持Li ...

  5. Linux字符界面和图形界面

    Ubuntu图形界面和字符界面的切换 Ubuntu和其他的Linux系统一样,有图形界面和字符界面,同时能够设置默认的启动界面. linux的显示界面分为命令行的字符界面和图形界面,我们可以设置lin ...

  6. linux之x86裁剪移植---字符界面sdl开发入门

    linux下有没有TurboC2.0那样的画点.线.圆的图形函数库,有没有grapihcs.h,或者与之相对应或相似的函数库是什么?有没有DirectX这样的游戏开发库?SDL就是其中之一. SDL( ...

  7. Linux - 控制台界面,虚拟界面,字符界面

    tty控制台终端. pts虚拟终端. tty1 图形界面. tty2 字符界面. Ctrl+Alt+F2-6 在字符界面下,通过Alt+F2 切换回来.或者切换到其他的字符界面. Alt+F2 pts ...

  8. 全网络最正确的让 Linux 开机进入字符界面的方法及设置 FrameBuffer 分辨率的方法

    引言 这个标题有点长,是为了在标题中就把问题说清楚,以便搜索引擎能够把有需要的朋友准确地带到我这里来.目前在网络上,很多关于 Linux 方面的知识是过时的和错误的.我标题中指出的两个知识点就是其中的 ...

  9. Linux启动界面切换:图形界面-字符界面(转)

    Linux字符界面切换到图形界面 由字符界面切换到图形界面可用两种简单方法实现: 1.在字符界面输入startx或init 5 . 2.通过编辑/etc/inittab文件实现默认进入图形界面. 把其 ...

随机推荐

  1. Yarn 内存分配管理机制及相关参数配置

    上一篇hive on tez 任务报错中提到了containter内存不足,现对yarn 内存分配管理进行介绍 一.相关配置情况 关于Yarn内存分配与管理,主要涉及到了ResourceManage. ...

  2. [CSP-S模拟测试]:五子棋(模拟)

    题目传送门(内部题122) 输入格式 输入文件第一行为一个正整数$n$,表示双方总共下了多少步棋. 接下来$n$行,输入文件每行两个正整数.第$i$行的两个数$x,y$表示第$i$步的棋子下在了第$x ...

  3. javascript 六种数据类型

    js的数据类型和常见隐式转化逻辑. 一.六种数据类型 原始类型(基本类型):按值访问,可以操作保存在变量中实际的值.原始类型汇总中null和undefined比较特殊. 引用类型:引用类型的值是保存在 ...

  4. springBoot 整合 mybatis 项目实战

    二.springBoot 整合 mybatis 项目实战   前言 上一篇文章开始了我们的springboot序篇,我们配置了mysql数据库,但是我们sql语句直接写在controller中并且使用 ...

  5. linux工作常用命令

    修改文件后缀 如 将文件application.properties.sample改为application.properties,格式 mv  文件名称.{改前后缀,修改后的目标后缀} 定位到修改文 ...

  6. Java缓存技术有哪些

    我们用ehcache在本地,分布式用redis和memcache,各有各的好处,现在企业都是应用很多种中间件供俺们码农选择.

  7. What is the most efficient way to deep clone an object in JavaScript?

    What is the most efficient way to deep clone an object in JavaScript? Reliable cloning using a libra ...

  8. EBS 清除高速缓存

    以R12.1.3为例: 以 “功能管理员 ”职责打开OAF界面 然后依次点击“核心服务”->“高速缓存结构”->“全局配置”->“清除所有高速缓存”->“是”,即可

  9. 数字 kotlin (1)

    数字Kotlin 处理数字在某种程度上接近 Java,但是并不完全相同.例如,对于数字没有隐式拓宽转换(如 Java 中 int 可以隐式转换为 long ——译者注),另外有些情况的字面值略有不同. ...

  10. HANA LOG日志过大处理办法

    http://www.fenxiangzhe.net/archives/50 在SAP HANA 运维过程我们经常遇到因前期HANA LOG模式未设置成OVERWIRTE或者日志备份时间设置过长导致日 ...