Linux哲学思想:
1、一切皆文件:
2、由众多目标单一的小程序组成;
一个程序只做一件事儿,并且做好;
组合小程序完成复杂任务;
3、尽量避免跟用户交互;
4、使用纯文本文件保存配置信息
用户界面:
User Interface: UI(用户接口)
GUI:Graphic UI0(图形用户接口或界面)
GNOME, KDE, XFCE(此为Linux图形化接口实现方式,前两种比较重量级可 以在正常图形工作站中使用,最后一种较为轻量,通常在嵌入式或资源较少 的环境中使用)
CLI: Command Line Interface(命令行接口)
sh(boarn, bsh)
csh
tcsh
ksh
bash (boarn again shell为一般Linux发行版默认采用的shell)
zsh
无论是GUI还是CLI都需要关联到一个键盘或显示器才能实现用户交互
终端: 键盘加显示器两种设备在Linux中一般称为terminal(终端设备),无论是 GUI还是CLI都需要与terminal(终端设备)建立联系才能完成交互操作, 否则无法是设备与用户的交互
物理终端:/dev/console
虚拟终端:/dev/tty#
一般有6个tty终端即tty1-tty6,一般指CLI上的终端
7
切换终端组合键:Ctrl+Alt+F(1-6),打开终端后输入tty命令 查看自己目前处于哪个终端
串行终端:/dev/ttyS0
串行终端一般只有一个
伪终端:/dev/pts/#(此数字基本无上限)
在图形化界面打开的终端一般称为伪终端,ssh远程连接的终端也 称为伪终端
tty:显示当前终端设备;
startx: 由命令行终端启动GNOME(图形化)界面;
命令提示符:prompt
#: 管理员,拥有管理权限
$: 普通用户,仅能够运行非管理类命令
[root@localhost ~]:PS1环境变量定义的提示格式
echo $SHELL:获取当前正在使用的SHELL程序
cat /etc/shells:查看当前系统有哪些shell类型可用
在命令行输入shell类型名称即启用该shell
Note: bash程序通过环境变量来保存环境配置信息;
PS1:定义命令提示符之前的格式的
SHELL:保存当前用户正在使用的shell程序的
PATH:保存了许多以冒号分隔的路径,由bash在查找命令时使用;
命令:
输入命令,回车:
提请bash程序分析给出的命令行信息,找出哪个是命令,并找出命令对应的 可执行程序文件,提请给内核启动为一个进程;
命令有两类:
内建命令:由shell程序自带的命令;
外部命令:每个命令都有一个与之对应的,且名字同命令的可执行 程序文件;
type:来判定给定的命令是内部命令,还是外部命令;
which 命令:
查看外部命令对应的可执行文件的位置
whereis 命令:
运行命令:
命令格式:
COMMAND [OPTION]... [ARGS]...
选项:用户启用或关闭命令的某个或某些功能;
短选项:以一个“-”引导的选项叫做短选项,例 如:-CHARACTER,-l, -h
Note: 1.多个短选项如果不合并,则彼此间要有 空白字符分隔;
2.可合并,合并时使用一个-引导,例 如-lh;有些短选项自己也需要带参数,这叫选项 参数;
长选项:一般由两个“-”连接选项,长选项不可 合并
--word
--human-readable, --help
参数:命令的作用对象;
向命令提供数据;
按Ctrl+C组合键可终止命令
文件系统:
数据有两类:
元数据:metadata
数据:data
文件命名规范:
1、严格区分字符大小写;
niulang, Niulang
2、文件名可使用除/以外的任意字符;不建议使用特殊字符;
3、文件名最长不能超过255个字符;
4、所有以.开头的文件均为隐藏文件;
根文件系统:
rootfs: root filesystem
绝对路径:从根开始的路径;
相对路径:从当前位置开始路径;
当前目录:currenct directory, working directory
主目录:家目录,HOME
LSB: Linux Standard Base Core Specification(Linux核心标准规范)
FHS: 文件层级标准
pwd命令:显示当前目录
Linux命令帮助的获取:
内部命令:
help COMMAND
外部命令:
(1) 命令自带的简单帮助
COMMAND --help
COMMAND -h
(2) 命令手册页
man [CHPATER] KEYWORD
(3) 信息页
info COMMAND(讲述命令发展历史)
(4) 程序自身的帮助文档
README、INSTALL、Change
(5) 程序官方提供的Documentation
(6) 发行版官方提供的文档
http://www.redhat.com/docs
(7) Google
man手册的使用:
/usr/share/man/
man1, ..., man9
man1: 用户命令;
man2: 系统调用;
man3:C库调用;
man4: 设备文件及特殊文件;
man5: 配置文件格式;
man6: 游戏;
man7:杂项;
man8: 管理命令;
man还可能存储其它路径:
man命令的配置文件:/etc/man.config
MANPATH
man解压缩其帮助手册至某临时目录中,而后调用less命令来显示此文件内容;
查看man目录下信息:man # 命令
帮助手册中的段落:
NAME
SYNOPSIS
DESCRIPTION
OPTIONS
EXAMPLES
AUTHOR
SEE ALSO
SYNOPSIS:
[]:可选
<>: 必选
a|b: 二选一
...: 同类内容可出现多次
man命令操作方法:
Space: 向文件尾部翻一屏;
b: 向文件首部翻一屏;
d: 向文件尾部翻半屏;
u: 向文件首部翻半屏;
Return(回车键):向文件尾部翻一行;
k或y:向文件首部翻一行;
#: 快速转到第#行;
1G:回到第一行;
G:到最后一行;
q: 退出;
文本搜索:
/keyword:从当前位置向尾部搜索
?keyword:从当前位置向首部搜索
n:与命令方向相同
N:与命令方向相反
info命令:
info COMMAND
程序自身的帮助文档:
/usr/share/doc/NAME-VERSION