标签:linux man
计算机基础知识:
计算机的主要组成部分:
运算器、控制器、存储器、输入设备、输出设备
CPU:运算器,控制器
bus:总线
memory: 编址存储设备
IO:与外部部件交互
程序的运行模式:
用户空间:user space,us
内核空间:system space
POS:Portable OperationSystem
POSIX
API:编程接口;
运行程序格式:
Windows:EXE,dll(dynamic link library)
Linux:ELF,so(shared object)
程序:指令+数据
指令:只读
数据:读写
程序:算法+数据结构
库调用,系统调用:允许被调用的程序;
Malloc():申请内存空间;
Free():释放内存空间;
编程语言:
汇编语言:微码编程
系统中某些与硬件相关的特有代码、驱动程序开发;
高级语言C, C++:
系统级应用、驱动程序
高级应用java, python, php:
应用程序
Linux的发行版:
Slackware:
Suse
Opensuse
Debian:
Ubutu
Mint
Redhat:
Rhel:Redhat enterprise linux 每十八个月发行一个新版本;
Centos:兼容rhel的格式
Fedora:每六个月发行一个新版本;
Archlinux
Gentoo
LFS:linux from scratch
Android:kernel+busybox+java虚拟机
程序包管理器:
Rpm:
Rhel,Fedora,suse,centos
Dpt:
Debian,ubuntu
Linux哲学思想:
1、一切皆文件;把几乎所有资源,包括硬件设备都组织为文件格式;
2、由众多单一目的小程序组成;一个程序只实现一个功能,而且要做好;组合小程序完成复杂任务;
3、尽量避免跟用户交互;目标:实现脚本编程,以自动完成某些功能;
4、使用纯文本文件保存配置信息;目标:一款使用的文本编程器即能完成系统配置工作;
如何获取CentOS的发行版:
http://mirrors.aliyun.com
http://mirrors.sohu.com
终端:
用户与主机交互,必然用到的设备;
物理终端:直接接入本机的显示器和键盘设备:/dev/console
虚拟终端:附加在物理终端之上的以软件方式虚拟实现的终端,centos6默认启动6个虚拟终端
Ctrl+Alt+F#: [1,6]
图形终端:附加在物理终端之上的以软件方式虚拟实现的终端,但额外会提供桌面环境;
设备文件路径;/dev/tty#
模拟终端:
图形界面下打开的命令行接口,基于ssh协议或telnet协议等远程打开的界面
设备文件:/dev/pts/# [0,oo )
查看当前终端设备:tty
交互式接口:启动终端后,在终端设备附加一个交互式应用程序
GUI:
X protocol,Windows manager,desktop
Desktop:
GNOME(C,gtk)
KDE(c++,qt)
XFCE(轻量级桌面)
CLI:
shell程序:
sh (bourn)
csh
tcsh
ksh (korn)
bash (bourn again shell), GPL
zsh
显示当前使用的shell:
显示当前系统使用的所有shell:
命令提示符:prompt
[root@localhost ~]# [root@localhost ~]$
管理员:#
普通用户:$
命令::
输入命令,回车;
提请shell程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来
在shell中可执行的命令有两种;
內建命令:由shell自带的,而且通过某命令形式提供;
外部命令:在当前系统的某文件系统路径下有对应的可执行程序文件;
which,whereis
区别内部和外部命令:
#type COMMAND
运行命令:
命令格式:
COMMAND [OPTIONS...] [ARGUMENTS...]
选项:用于启用或关闭命令的某个或某些功能;
短选项:-c,例如:-l, -h
多个短选项可命令使用,例如-l -h, 可写作-lh;
长选项:--word,例如:--long, --human-readable 一般不能合并
参数:命令的作用对象
向明留给你提供数据;
Note:1、多选项,以及多参数和命令之间都应该使用空白字符分隔
2、取消命令执行:Ctrl+c
文件系统:
Windows:C:\Programfiles\office11\word\word.exe
Linux:/etc/sysconfig/network-scripts/ifcfg-eth0
文件有两类数据:
元数据:metadata
数据:data
1. 文件名严格区分字符大小写:file1,File1,两个是不同的文件;
2. 文件名可使用除/以外的任意字符,不建议使用特殊字符;
/:根目录,路径分隔符;
3. 文件名长度最长不能超过255个字符;
4. 所有.开头的文件,均为隐藏文件;
路径:
绝对路径:从根目录起使的路径;
相对路径:对当前的位置起始的路径;
当前位置的表示方式:
1)./: ./sysconfig/network-scripts
2)省略上述符号:sysconfig/network-scripts
..:表示当前目录的上一级目录
当前目录:current directory, 也称作working directory;
可以用pwd命令显示当前工作目录:
Linux命令帮助的获取
内部命令:
#help COMMAND
外部命令:
1) #COMMAND --help
#COMMAND –h
2) 使用手册(manual)
#man COMMAND
3) 信息页
#info COMMAND
4) 程序自身的帮助文档
README
INSTALL
ChangeLog
5) 程序官方文档
官方站点:Documentation
6) 发行版的官方文档
7) Google
内部命令的帮助:
#helpCOMMAND
hash命令:
shell搜寻到的外部命令的路径结果会缓存至kv(key-value)存储中;
history命令:
管理命令历史:
登录shell时,会读取命令历史文件中记录下的命令:~/.bash_history
登录shell后新执行的命令只会记录在缓存中;这些命令会在用户退出时,追加至命令历史文件中;
history:
-a:追加本次会话新执行的命令历史列表至历史文件中;
-d:删除历史中指定的命令;
-c:清空命令历史;
快捷操作:
!#:调用历史中第#条命令;
!string:调用历史中最近一次以string开头的命令;
!!:调用上一次命令
外部命令帮助获取:
man COMMAND
手册页:/usr/share/man
man1 …man8
man1:用户命令;
man2:系统调用;
man3:c库调用;
man4:设备文件及特殊文件;
man5:配置文件格式;
man6:游戏;
man7:杂项;
man8:管理类的命令;
Note:有些关键在不止一个章节中存在帮助手册;
要查看指定章节中的手册:man # COMMAND
man命令的配置文件:/etc/man.config
MANPATH/PATH/TO/SOMEWHERE:指明新的手册文件搜索位置;
到指定位置下搜索COMMAND命令的手册页并显示之:
#man –M /PATH/TO/SOMEWHERE COMMAND
帮助手册中的段落说明:
NAME:名称
SYNOPSIS:概要
DESCRIPTION:描述
OPTIONS:选项
EXAMPLES:示例
AUTHOR:作者
REPORTING BUGS:漏洞报告
SEE ALSO:参考
SYNOPSIS:
[]:可选内容
<>:必选内容
a|b:二选一
…:同一内容可出现多次
man命令的操作方法;
Space, ^V, ^f, ^F: 向文件尾翻屏;
b, ^B: 向文件首部翻屏;
d, ^D: 向文件尾部翻半屏;
u,^U: 向文件首部翻半屏;
RETURN, ^N, e, ^E or j or ^J: 向文件尾部翻一行;
yor ^Y or ^P or k or ^K:向文件首部翻一行;
q: 退出;
#:跳转至第#行;
1G:回到文件首部;
G:翻至文件尾部
文本搜索:
/keyword:
以keyword指定的字符串为关键字,从当前位置向文件尾部搜索:不区分大小写;
n:下一个;
N:上一个
?keyword:
以KEYWORD指定的字符串为关键字,从当前位置向文件首部搜索;不区分字符大小写;
n:下一个;
N:上一个
标签:linux man
原文地址:http://claude666.blog.51cto.com/13186682/1965514