一、linux的基本原则: 1、 由目的单一的小程序组成,组合小程序,完成复杂任务; 2、 一切皆文件; 3、 尽量避免捕获用户接口; 4、 配置文件保存为纯文本格式 二、shell GUI :Graphic User Interface X-windows :仅仅是一个外围软件,主机和显示器可以完全分离 Gnome(C),KDE(C++),Xface(嵌入式开发) CLI :Command Line Interface sh,bash,csh,ksh,zsh,tcsh 命令提示符(prompt)bash #-->root $-->普通用户 命令格式 1、命令 2、选项(修正命令执行方式) 短选项:- 多个选项可以组合 长选项:--(通常不能组合使用) 3、参数:命令的作用对象(不加参数表示默认参数) 内核不提供特定任务,提供系统调用,将硬件计算能力抽象提供给上层使用 IDE集成开发环境 三、命令的执行 1、库:共享库(动态库,静态库) .dll(dynamic link library):动态链接库→windows .so(shared object):共享对象→linux 2、Login: 用户名:用户标识,但计算机识别最快的是数字,故每个用户名都有一个用户ID 认证机制:Authentication 授权:Authorization 审计:Audition(日志) 3、命令执行原理 命令:可执行文件必须有程序执行的入口 magic mumbic:魔数(二进制格式) #!/bin/bash 给文件指定魔数 命令输入后,程序提交给内核,内核寻找执行程序的魔数

四、linux的目录结构 目录:路径映射,也是一种文件 路径:从指令起始点到目的地所经过的位置 文件系统:filesystem(层次化管理机制) FHS:文件系统分层标准(倒树状结构) 绝对路径:从根开始找 相对路径:相对于当前位置的路径 登录系统默认会存在一个目录 working directory, current directory 文件名不是文件的数据 五、linux常用命令 命令类型:内置命令(shell内置) 外部命令:在文件系统某个路径下有与命令名称相同的可执行文件 环境变量:命名的内存空间,定义当前工作环境属性 Path:分割一堆路径 O(1):无论队列有多长,花费的时间都是一样的 1、su(switch user):用户切换 #su user (切换用户不切换目录)

#su [-][-l] user(切换用户并切换目录) #exit 退出切换

2、passwd(修改密码) 密码复杂性规则:数字,大写字母,小写字母,特殊字符 使用四种字符中至少三种,足够长大于7位,使用随机字符串,定期更换 3、pwd (print working directory)打印当前目录

4、ls(list)列出目录内容

  1. -l –long 长格式,显示完整信息 完整信息内容 文件类型:普通文件(-)、目录文件(d)、块设备文件(b-block)、字符设备文件(c-charecter)、符号链接文件(l-symbolic link file)、命令管道文件(p-pipe)、套接字文件(s-socket) 文件权限:9位,每三位一组,rwx(读,写,执行) 文件硬链接次数 文件属主(owner) 文件属组(group) 文件大小(size):默认单位字节 时间戳(timestamp):最近一次被修改的时间 最近一次被访问的时间,最近一次被修改的时间,最近一次被改变的时间 访问:access 修改:modify 改变:change,metadata,元数据(属性) 文件名 2) -h (human 人类可读的)做单位换算 3)-a 显示以 . 开头的隐藏文件 . 当前目录 .. 上一级目录 -A 不显示当前目录和上一级目录
  2. -d 显示自身目录属性 5)-i index node, inode
  3. -r 逆序显示 7)-R 递归显示 5、cd (change directory) cd 不加参数,回到家目录(homedirectory) cd ~ 指定用户家目录(同cd一样) cd - 当前目录和前一次目录来回切换 6、type 显示指定命令属于那种类型 7、printenv 显示环境变量 8、hash 缓存 hash -r 清空缓存 9、date 时间管理 硬件时间:石英晶体震荡器计时 系统时间:linux(rtc实时时钟)从硬件读取当前时间,设置为系统时间,读取后不再使用硬件时间,内核在CPU作用下模拟计时 同步网络的时间 网络时间协议ntp 1)系统时间 date 显示时钟 date 月日时分年秒(修改时间) date 固定格式显示时间 2)硬件时间 clock 显示硬件时间 hwclock -s 同步硬件时间到系统 hwclock -w 同步系统时间到硬件 3)同步网络时间 10、echo 显示一行文字(内部命令) -n 行尾取消换行 -e 启用转义字符 10、file (获取文件的类型) -b(brief):概要信息,不显示文件名 六、获取命令帮助的方式 1、内部命令使用帮助 help command

2、外部命令 command --help 3、命令手册 man command(内部命令一般很少使用man查看,查看后为bash) whatis command/ man -f command 查看命令在哪个章节 1)章节内容: ①用户命令(/bin,/usr/bin,/usr/local/bin) ②系统调用 ③库调用 ④特殊文件(设备文件) ⑤文件格式(解释配置文件) ⑥游戏 ⑦杂项(miscellaneous):惯例与协议 ⑧管理命令(/sbin,/usr/sbin,/usr/local/sbin) ⑨内核相关文件 2)组成部分 NAME:命令名称及功能说明 SYNOPSIS:用法说明,包括可用选项 DESCRIPTION:命令功能详尽说明,可能包括每一项的意义 OPTIONS:说明每一个选项的意义 FILES:此命令相关配置文件 BUGS: EXAMPLE:使用实例 SEE ALSO:另外参照 3)相关使用技巧 翻屏:向后翻屏→SPACE 向前翻屏→b 向后翻行→enter 向前翻行→k 查找:向后→/keyword 向前→?keyword n→上一个 N→下一个 退出:q 5、 在线文档:只是man的补充 Info command Ls /usr/share/doc