linux学习第2天(自习)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux学习第2天(自习)相关的知识,希望对你有一定的参考价值。
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天(自习)的主要内容,如果未能解决你的问题,请参考以下文章