计算机基础 ROM:只读存储器,寻址地址空间的组成部分 RAM:随机存储器,掉电数据丢失 南桥:低速 北桥:高速操作系统的用途 将底层的细节隐藏起来,并提供一个统一的规范的,简节的接口提供出来,这就是操作系统的用途 posix 可移植操作系统(规范) 启动内核,启动外壳 init用来作为所有进程的父进程,由它来启动别的进程 linux被称为类unix,Unix—like linux内核的官方站点:www.kernel.org Linux发行版本说明:主版本号:此版本号、修正号 启动方式:init(centos5);6以后使用Ubuntu研发的upstart;7以后使用systemd shell:bash源码: linux发行版: RadHat SuSE Debian LFS: bt:BackTrace管理包工具: RadHat,SuSE:RPM Debian:deb系统安装: 硬盘:分区、格式化(创建文件系统)、选择语言、键盘布局、时区、设置用户、选择安装需求、安装程序: RadHat:anaconda支持自动安装,有kickstart、cobblerLinux终端: 物理终端:/dev/console 串行终端:/dev/ttys# ------ # 表示数字 虚拟终端:/dev/tty# 切换终端 Ctrl+Alt+F(1-6) 图形终端 Ctrl+Alt+F1 CLI终端 Ctrl+Alt+F(2-6) 伪终端:/dev/pts/#(模拟终端,远程终端、图形界面下的终端)基本命令 startx:启动图形界面 &:立即释放命令提示符 ------在命令后添加&符号,表示后台执行 Ctrl+c:取消正在执行的命令 shfit+PageUp/PageDown:翻屏 tty:显示当前终端对应终端设备文件terminal type who: 查看当前系统上登陆的所有账号的命令 who am i: 查看当前终端登陆的账号linux哲学思想:
- 一切皆文件
- 由众多目的的单一应用程序组成:一个程序只做一件事,且做好
- 组合目的的单一的小程序完成复杂的任务
- 尽量避免跟用户交互
- 使用文本文件保存配置信息
- 提供机制,而非策略
自由软件的含义:
- 自由使用
- 自由学习和修改
- 自由分发
- 自由创建衍生版
shell: GUI: Windows Gnome KDE Xfce CLI: bsh csh tcsh ksh bash zsh bash 管理员:提示符 # 普通用户:提示符 $ 环境变量: PS1:一级提示符 变量:是一段内存空间, echo:回显 ${变量名}:引用一个变量宏: ~]# echo $PS1 [\[email protected]\h \W]\$_ 注释: \u:当前用户 \h:主机名 \W:工作目录的路径基名目录基本概念: 基名:当前目录的最后一段 basename:显示当前目录的基名 dirname:显示当前目录的目录名 /:对于linux来讲,路径分隔符 绝对路径:从顶层开始的路径 相对路径:从当前位置开始的路径 目录:是路径映射符linux文件系统结构:
- 层次化
根分区:在启动的时候需要使用文件,需要载入内存,有一个分区作为起始分区,这个分区被称为根分区 根:是由内核直接访问的 挂载:mount /cdrom /media 卸载:umount /cdrom 家目录:每个用户都有自己所有操作权限的目录,这个目录称之为家目录(主目录) 每次登陆时,一定处在某个目录中 工作目录:当前所处的目录,叫做工作目录 cd:change directory INSTANCE: cd /etcLinux文件系统的特性:
- 文件名可以使用除/意外的任意字符,但总长度不能超过255个
- 严格区分大小写
如何获取命令帮助: bash中,命令分为: 内部命令:在bash中内部实现的命令叫做内置命令 外部命令:在文件系统上的某个位置有一个与命令名称对应的可执行文件 type:如何判断是内部还是外部使用type命令命令的使用格式: command options arguments 命令 选项 参数 options:调整命令的执行特性的;选项可以有多个,多个选项之间必须以空格分隔 短选项:-char(字符) 长选项:--word(单词) 注释:两个短选项可以合并,长选项一般不可以合并;有些选项需要有参数,有些则不需要; arguments:命令的作用对象 注释:有些命令可以带多个参数,各参数之间需要使用空格隔开 查看某关键字在那些段落有使用帮助 PATH环境变量:shell 事先通过一个变量设定好了多个路径,当用户输入命令时,shell会自动到这些路径(由左向右)以此查找与命令名称相同的可执行文件 hash:用来保存以前曾经执行过的命令,以哈希表的方式保存,可以通过hash来查看 which:查看一个可执行程序的具体路径; INSTANCE:which COMMAND获取帮助: 内置命令: # help COMMAND 外部命令: # COMMAND --help man使用手册 # man COMMAND --先解压后显示 man手册段落含义: NAME:命令的名词及简要说明 SYNOPSIS:使用格式 OPTIONS:所支持的选项的相关说明 EXAMPLES:使用示例 DESCRIPTION:命令功能的详细描述 NOTES:相关注意事项 FILES:相关的配置文件 SEE ALSO:相关参考 使用帮助中命令格式中的字符意义: [ ]:可选的部分 { a|b }:分组,a和b作为一个使用单元来使用 |:或者,只能选其一 <>:必不可少的部分 ...:同类内容可以出现多个 简要使用机制 翻屏: 空格键:向文件尾部翻一屏 b:向文件首部翻一屏 回车键:向文件尾部翻一行 k:向文件首部翻一行 ctrl+d:向文件尾部翻半屏 ctrl+u:向文件首部翻半屏 1G:第一行 G:最后一行 文本搜索: /keyword : 顺向,向文件尾部搜索 查看下一个被匹配到的keyword n 跟命令方向一致 N 跟命令方向相反 ?keyword:逆向,向文件首部搜索 q:退出 注释:man其实能为命令(普通命令、管理命令)、程序的配置文件格式、系统调用、库调用、游戏及其他不便归类的文件提供帮助手册 man命令的分段机制:1-8
- 用户命令:User Commands
- 系统调用:System calls
- 库调用:C Library Functions
- 设备文件:Devices and Special Files
- 文件格式:File Formats and Conventions(协定)
- 游戏:Games et. Al.
- 杂项:Miscellanea
- 管理命令:System Administration tools and Deamons
~]# whatis Keyword --精确查找keyword在man手册中的段落 提示:如果whatis的数据库尚未生成,可以使用makewhatis手动进行生成 ~]# man -k Keyword --模糊查找 ~]# ls /usr/share/man --查看man所收录目录man配置文件 Centos6:/etc/man.config Centos7:/etc/man_db.conf ~]# man -M /PATH/TO/SOMEWHERE COMMAND --到指定位置下搜索手册并显示之info 命令:获取在线文档 很多应用程序自带的有文档:/usr/share/doc ChangeLog INSTALL README google:google hack 一本书 linux filetype:ppt 特定格式 keyword site:magedu.comRedhat官方文档:www.redhat.com/docs如何关机和重启:reboot halt date hwcolck shutdown ~]# export LANG=en --将语言设置为en 系统管理类的命令 shutdown [option]... TIME
- 常用参数
-r:重启 -h:关机 -c:取消重启或关机命令
- 时间格式:
now +#:多少以后 --#-->分钟 hh:mm reboot --一般情况下是调用shutdown进行关机处理 halt poweroff日期时间管理类命令date hwclock clock cal date 显示当前系统时间 ~]# date MMDDhhmm[cc]YY.ss date [+FORMAT] FORMAT %Y:四位年份 %y:两位年份 %m:月 %M:分钟 %d:日 %h:英文简写的月 %H:时 %S:秒 %s:现在距离1970年1月1号0点0分(unix元年)的秒数,timestamp(时间戳) %D:月/日/年 %F:年-月-日 %T:时:分:秒 hwclock -s:以硬件时钟为准 --hctosys -w:以软件时钟为准 --systohcLinux有两个时钟 硬件时钟:BIOS time 软件时钟:system time attention:时钟开机时读取硬件时钟 cal 日历总结:man,info,help,date,hwclock,cal,shutdown,reboot,halt,poweroff,type,cd,which,dirname,basename,who,whatis,makewhatis,echo,hash,tty.bash的特性之二 命令行展开:能够把一个特殊字符换成别的字符 {,}:展开为多个条目 文件和目录管理类的命令 目录: cd ~[username] ~:指定用户的家目录 cd - ##回到上一次所在的目录 路径 相对路径 .:当前目录 ..:父目录 pwd:print working directory 显示当前目录 mkdir:创建目录 -p:先创建父目录 -v:显示详细信息 rmdir:删除空目录 -p:remove DIRECTORY and its ancestors 只能删除一条线的单目录 shell的引用 ‘ ‘: 强引用,变量替换不会进行 " ":弱引用,能够执行变量替换 ` `: 命令替换,引用命令的执行结果,另外一种方式$() ${VARIABLE}:变量替换 使用 echo ${VARIABLE}显示bash的特性之三:命令历史 bash默认会保持此前执行过的命令列表 当前shell命令执行历史保存在缓冲区(内存)中: 缓冲区中的命令会在shell退出时,存入文件 ~/.bash_history 使用上下箭头键可以翻看此前执行过的命令;命令行中使用以下快捷键 !#:执行history中第#条的命令 !!:上一条命令 !-#:表示执行命令列表中的倒数第#条命令 !$:执行上个命令中的最后一个参数;同 ESC,. !string:执行命令列表中的最近一次以string开头的命令 history命令 history是管理命令历史,每次执行的命令都会放置在内存的缓存中,直到退出当前终端后会被保存在命令历史文件当中。 -d:数字 删除第数字条记录 -c:清空history列表 -a:追加当前会话的命令到历史列表中去 -n:读取所有在会话列表中的 但是不在当前会话列表中的 history [n] history [-c] history [-raw] histfiles 选项与参数: n:数字,意思是『要列出最近的 n 笔命令行表』的意思! -c:将目前的 shell 中的所有 history 内容全部消除 -a:将目前新增的 history 命令新增入 histfiles 中,若没有加 histfiles , 则默认写入 ~/.bash_history -r:将 histfiles 的内容读到目前这个 shell 的 history 记忆中; -w:将目前的 history 记忆内容写入 histfiles 中! 命令历史相关的环境变量 HISTSIZE:历史命令中可以保存的个数 HISTFILE:历史命令保存的文件 HISTFILESIZE:历史文件中可以保存的命令个数 HISTCONTROL:控制命令历史的生成机制
- ignoredups:忽略记录重复的命令,连续的相同命令
- ignorespace:以空格开头的命令不会被记录
- ignoreboth:同时具有上面两种特性
补充:Linux文件系统的另一个特性:以点开头的文件为隐藏文件 通过ls -a 查看shell中的变量赋值 变量名=值 注意:
- 变量在赋值是不能再前面带$
- 变量名只能包含字母、数字和下划线,并且不能以数字开头
- 变量名区分大小写
- 尽量能见名知义
- 常用参数
FHS:文件层次标准 Filesystem Hierarchy Standard 操作系统自身运行使用的目录 /bin: 存放可执行的二进制程序,管理员和普通用户都可以使用 /sbin:管理员才能执行的命令 运行正常功能的程序存放位置 /usr:UNIX Software Resource UNIX操作系统软件资源存放位置 /usr/bin /usr/sbin 用来存放第三方软件的程序 /usr/local/bin /usr/local/sbin /boot:存放系统引导文件:内核、ramfs文件、bootloader(grub) /dev:设备文件存放目录 /etc:配置文件的集中存放目录 /etc/sysconfig:系统级别的应用 /etc/init.d:系统服务脚本 /home:普通用户,默认在/home下有一个与其名称同名目录,作为用户的家目录 /root:管理员的家目录 /lib,/lib64:库文件 /media:专用挂载位置,通常用来挂载便携式设备 /mnt:专用挂载位置,挂载额外的存储设备 /misc:杂项,备用目录 /opt:可选目录,但通常用来安装第三方软件nesus /proc:所显示的文件都不是文件,伪文件系统,运行中的内核参数的映射 /sys:伪文件系统,系统级别的用于配置硬件设备相关的参数 /srv:为服务提供数据存放位置的 /tmp:临时文件系统:默认存放30天 /usr:shared 所有遵循协议的系统都可以使用,readonly 只读 /usr/include:头文件存放位置 /var:经常发生变化的文件 /var/log:日志文件 /var/lock:锁文件 /var/run:运行中的进程相关的数据,通常用于存储进程的pid文件 /var/cache:应用程序缓存数据目录
原文地址:http://blog.51cto.com/9978527/2120888