码迷,mamicode.com
首页 > 系统相关 > 详细

linux学习第2天(自习)

时间:2018-07-21 17:00:02      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:zsh   有一个   ble   目标   长度   手动   his   外部   工具   

linux学习第2天(自习)

时间: 20180717


目录

终端的分类

GUI和CLI

命令提示符

Linux 文件系统的特性

Linux 命令帮助的获取详解

man文档级别

Linux Bash的基础特性

history, 目录管理类命令, 文件内容查看命令, 文件管理命令, 命令别名,

globe用于实现文件名通配, bash快捷键, bash的I/O重定向和管道, 文本处理工具


安装上课所需要的虚拟机

制作初始化脚本



终端的分类

物理终端:将显示器、键盘鼠标直接接在主机上,这样的终端称之为物理终端

也称之为物理控制台console

表示: /dev/console


虚拟终端:系统提供6个虚拟终端,这些虚拟终端附加在物理终端之上,用软件方式虚拟

虚拟实现的终端centos默认启用6个虚拟终端,可以通过快捷键来切换

切换方式Ctrl+Alt+F[1-6]

表示: /dev/tty#


图形终端:附加在物理终端之上,用软件方式虚拟实现的终端,但额外会提供桌面环境。

也是虚拟终端的一种切换方式 Ctrl+Alt+F7 


伪终端:图形界面下打开的命令行接口,还有基于ssh协议或telnet协议等远程打开的命令行

  界面。

  表示: /dev/pts/#


查看当前的终端设备命令 tty



GUI和CLI

GUI: Graphical User Interface 图形化用户接口

是基于X协议实现的窗口管理器(桌面、按钮的作用等)


Linux桌面系统由:

GNOME (C程序开发, gtk开发库)

KDE (C++开发,qt开发库)

XFCE (轻量级桌面)


CLI Command Line Interface 命令行接口

打开后是一个命令行接口,对应的叫shell程序,用户与系统交换,需要通过shell

常见的linux shell有 sh, csh, ksh, bash, zsh. 常用bash


获取当前环境所使用的shell是哪种shell

echo $SHELL

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

cat /etc/shells



命令提示符

提示符有两种:

# 表示当前所登录的是管理员

$ 表示当前所登录的是普通用户


在命令提示符下便可输入可执行命令,

shell中可执行的命令有两类

内建命令: 由shell自带的,可以不安装其它命令程序便可以执行的命令

外部命令: 是由第三方程序提供的命令,即在当前系统的某文件系统路径下可以找到对应

 的可执行程序文件;可通过which, whereis命令来查找到其可执行文件路径


查看一个命令是内部命令还是外部

type 该命令是用来查看一个命令是外部的还是内部

enable (仅供bash)显示当前所有内部命令



Linux 文件系统的特性

1 文件名严格区分字符大小写

2 文件名可使用除/以外的任意字符,但不建议使用特殊字符做为文件名

3 文件名长度最长不能超过255个字符

4 所有.开头的文件都为隐藏文件



Linux 命令帮助的获取详解

1 通过命令自带的帮助信息

COMMAND --help

COMMAND -h


2 使用手册manual

man COMMAND


3 信息页

info COMMAND 支持信息页中的超链接


4 程序自身的帮助文档,有README,INSTALL,Changelog等。


5 程序的官方文档


6 发行版的官方文档


7 google



man文档级别

1. 用户命令章节,所有用户都可以使用

2. 系统调用命令章节

3. C库调用

4. 设备及特殊文件

5. 配置文件的格式及相关参数

6. 游戏

7. 杂项

8. 管理命令


  1   Executable programs or shell commands

  2   System calls (functions provided by the kernel)

  3   Library calls (functions within program libraries)

  4   Special files (usually found in /dev)

  5   File formats and conventions eg /etc/passwd

  6   Games

  7   Miscellaneous (including macro packages and conventions), 

    e.g. man(7), groff(7)

  8   System administration commands (usually only for root)

  9   Kernel routines [Non standard]


  man命令用来查找文档是有一个配置文件用来指向和查找命令相关的文件

  Centos 6 : /etc/man.config

  Centos 7 : /etc/man_db.conf



Linux Bash的基础特性

history 命令用来查看或者设置命令历史相关参数

-d 删除历史命令中指定的命令

-c 清空命令历史

-a 手动追加当前会话缓冲区的命令历史至历史文件中


调用历史中的命令

!# 重复执行第#条命令

!! 重复执行上一条命令

!string 重复执行最近一次以string开头的命令

!$ 调用上一条命令的最后一个参数 esc+. or Alt+.


注意:连续执行相同的命令,在历史记录里只显示一条记录

控制命令历史记录方式的变量

HISTCONTROL

ignoredups 忽略重复的命令,连续且相同为“重复”

ignorespace 忽略所有以空白开头的命令

ignoreboth 包含以上两项



目录管理类命令

cd, pwd, ls, mkdir, rmdir, tree

(详细命令解释见另一文档)


文件内容查看命令

more, less, head, tail, cat, tac

(详细命令解释见另一文档)


文件管理命令

cp mv rm

(详细命令解释见另一文档)


命令别名

bash可以提供一个简写的命令,如经常打开 cd /etc/sysconfig/network-script/

这个目录可以定义一个别名为cdnet,下次只需要输入别名便可直接进入到该目录里


alias 命令用来定义别名‘

alias cdnet="cd /etc/sysconfig/network-script/"

此时定义的别名只能在当前shell下生效,退出重新登录,便失效,永久有效

需要定义在配置文件中

~/.bashrc 对当前用户有效

/etc/bashrc 对所有用户有效


bash 进程重新读取配置文件

source /path/file

. /path/file


unalias 撤消所定义的别名

unalias cdnet

后边只需要加上之前定义的别名即可撤消所定义的别名


如遇到与别名相同的原命令可在命令前加\来执行原命令



globe用于实现文件名通配

* 表示任意长度任意字符

? 表示任意单个字符

[]表示指定范围内任意单个字符

[a-z]任意单个字母,不区分大小写

[0-9]任意单个数字

[a-z0-9]任意单个字母或数字

[^]匹配指定范围以外的任意单个字符

与[]相反,即取反

字符集表示方法

[:alnum:] 表示所有的字母和数字

[:alpha:] 所有的字母,不区分大小写

[:digit:] 所有数字

[:lower:] 所有小写字母

[:upper:] 所有大写字母

[:punct:] 所有标点符号

[:space:] 空格



bash快捷键

Ctrl+l 相当于clear命令清屏

Ctrl+a 将光标跳转至命令开始处

Ctrl+e 将光标中转至命令结尾处

Ctrl+c 取消命令的执行

Ctrl+u 删除行首至当前光标所在处的所有内容

Ctrl+k 删除光标所在处至行尾的所有内容



bash的I/O重定向和管道

输出重定向

> 输出重定向,将标准输出重新定向至其它文件,会将文件原数据清空

>> 追加输出重定向,将标准输出重新定向并追加至目标文件后方

2> 错误输出重定向,将错误输出重新定向至其它文件,会将文件原数据清空

2>> 与上一条类似,只是做追加而非覆盖

&> 将标准和错误输出同时重新定向至其它文件,会将文件原数据清空

&>> 将标准和错误输出同时重新定向至其它文件,只做追加不会清空原数据


输入重定向

<< 用的较多的是cat >> /path/file <<EOF



文本处理工具

wc, cut, sort, uniq

(详细命令解释见另一文档)



linux学习第2天(自习)

标签:zsh   有一个   ble   目标   长度   手动   his   外部   工具   

原文地址:http://blog.51cto.com/winthcloud/2148051

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!