Linux基础知识2015-1-19杨韬学习目的•掌握Linuxshell的相关常识•掌握Linux用户与权限的相关常识•掌握Linux文件系统的相关常识•掌握Linux网络管理的相关常识目录1.Linux简介2.Linux交互界面3.Linux文件系统4.Linux用户与权限5.Linux网络管理第一章Linux简介Linux历史1984年RichardM.Stallman创办了GNU计划和自由软件基金会,制定了GPL规则;旨在开发一个类似Unix、并且是自由软件的完整操作系统:GNU系统。目前已经开发了:emacs编辑系统、bashshell、gcc系列编译程序、gdb调试器等免费软件。1986年IEEE标准委员会制定有关程序源代码可移植性操作系统服务接口正式标准,并于1988年的到批准,即POSIX.1标准。1991年芬兰学生Linus发布了第一个Linux内核版本。随后Linux支持GPL规则和POSIX标准。2015年1月,Linux内核3.18.3版本发布。Linux内核Linux操作系统的核心,控制着基本的硬件,提供最基本功能。Linux内核版本号:主版本号.次版本号.修正号,例如2.6.18。次版本号为偶数的是稳定版本,为奇数的是发展版本。Linux发行版仅有内核还不能构成一个完整的操作系统,于是一些组织或公司将内核与一些应用程序包装起来就构成了一个完整的操作系统,这就是发行套件。常见的发行版有:Redhat/Fedora/CentOSSUSELinuxSlackwareDebian/Ubuntu常见的渗透测试用Linux发行版BackTrack、Kali、Backbox、MagicBox第二章Linux交互界面Xwindow系统XWindow是一种以位图方式显示的软件窗口系统,最初是1984年麻省理工学院的研究成果,之后变成UNIX、Linux等操作系统所一致适用的标准化软件工具包及显示架构的运作协议。XWindow通过软件工具及架构协议来建立操作系统所用的图形用户界面,此后则逐渐扩展适用到各形各色的其他操作系统上,几乎所有的操作系统都能支持与使用XWindowLinux上常见的桌面软件如GNOME和KDE也都是以XWindow为基础建构成的。Xwindow系统下图为Deepinlinux系统中的Gnome桌面ShellShell是一个介于用户和操作系统内核之间的特殊程序,为用户提供执行命令的环境。GNU工具中的bash作为/bin/sh被默认安装大多数linux发行版中,shell程序/bin/sh实际上是对程序/bin/bash的一个连接ShellLinuxShell配置文件/home/username/.bash_profileShell脚本是放在文件中的一串shell或操作系统的命令,本质上就是一个命令行的组合,类似于windows的bat脚本shell命令的基本格式是:命令名[选项]参数1参数2……Shell中可使用tab键完成命令自动补齐history命令可以查看历史输入的命令shell提示符#代表最高权限用户,即rootShell提示符$代表普通权限用户第三章Linux文件系统Linux文件系统简介Windows的文件系统Windows系统中一切东西都是存放在硬盘上的。启动系统后,先硬盘,再硬盘上的分区和每个分区所对应的文件系统,最后是存放在某个分区特定的文件系统中的文件Linux的文件系统在Linux系统中,正好相反,一切东西都是存放在一个唯一的“虚拟文件系统”中的,这个“虚拟文件系统”是树状的结构以一个根目录/开始。启动系统后,先有这个虚拟文件系统,再到硬盘,再把某个硬盘的某个分区做为这个虚拟文件系统的一部分Linux文件系统简介Windows的文件系统Linux文件系统简介Linux的文件系统Linux文件系统简介Linux系统中有三种基本的文件类型:普通文件:又分为文本文件和二进制文件目录文件:目录文件存储了一组相关文件的位置、大小等与文件有关的信息设备文件:Linux系统把每一个I/O设备都看成一个文件,与普通文件一样处理,这样可以使文件与设备的操作尽可能统一Linux文件目录结构/bin:存储常用用户指令。/sbin:存储系统管理用指令/etc:存储系统、服务的配置目录与文件/boot:存储核心、模块映像等启动用文件/dev:存储设备文件/home:存放个人主目录/lib:存放库文件,诸如核心模块、驱动Linux文件目录结构/mnt:系统加载文件系统时用的常用挂载点/opt:第三方工具使用的安装目录/proc:虚拟文件系统,包含系统讯息等资料/root:root用户的主目录/tmp:临时文件的暂存点/usr:存放与用户直接相关的文件与目录/var:存储在系统运行中可能会更改的数据proc目录常见文件名称类型描述/proc/进程ID/目录进程信息。/proc/sys/目录系统内核可调参数。/proc/net/目录网络信息/proc/cpuinfo文件系统CPU相关信息/proc/stat文件系统统计信息,如:CPU利用率、磁盘、内存等/proc/uptime文件系统启动时间和处于空闲的时间/proc/meminfo文件系统内存状态信息,如下:空闲内存、物理内存、交换内存/proc/devices文件设备的主设备号和名称/proc/modules文件系统可加载模块信息etc目录常见文件文件名称描述/etc/grub.confGrubboot程序配置/etc/inittabinit进程配置文件(系统启动配置)/etc/rc系统服务启动脚本/etc/rcX.d当前等级下启动的系统服务目录/etc/profile系统Shell环境变量配置/etc/sysctl.confRedhat内核配置文件/etc/sysconfig系统配置文件/etc/sysconfig/network-scripts/ifcfg-xxx网络接口配置脚本/etc/fstab文件系统挂载设备配置文件/etc/samba文件共享程序(Samba)配置目录/etc/vimrcVim编辑器配置文件/etc/sshssh配置目录dev目录常见文件名称描述hdx,如hdaIDE接口的硬盘设备sdx,如sdaSCSI接口的硬盘或U盘等设备floppy软盘设备cdrom光驱设备tty终端设备ramramdisk设备stdin标准输入设备0stdout标准输出设备1stderr标准错误输出设备2Linux常用文件管理命令ls:查看文件列表(list)cp:拷贝文件(copy)mv:移动或重命名文件(move)rm:删除文件(remove)touch:创建空文件或更新文件时间cat:查看文件内容more:分页查看文件内容tar:压缩工具vi:编辑文本文件Linux常用磁盘管理命令cd:改变当前路径(changedirectory)pwd:察看当前完整路径(printworkingdirectory)mkdir:创立新目录(makedirectory)rmdir:删除空目录(removedirectory)df:显示磁盘用量(diskfree)du:计算目录下文件占用磁盘的大小(diskusage)fdisk:磁盘分区或查看磁盘信息mkfs:建立文件系统(即:格式化)(makefilesystem)mount:挂载文件系统umount:卸载文件系统第四章Linux用户与权限Linux用户与组Linux系统的账号分为用户账号和组账号两类:用户账号:通常一个操作者拥有一个用户账号,每个用户账号有唯一的识别号UID(UserID)和自己所属组的识别号GID(GroupID)。Linux系统中可以有两类用户账号:root用户和普通用户。组账号:是一组用户账号的集合。通过使用组账号,可以设置使一组用户对文件具有相同的权限。Linux用户与组用户和组的配置信息保存在以下三个文件中:/etc/passwd用户信息/etc/shadow密码信息/etc/group组信息/etc/passwd每一行存储一个用户的账号信息,每一行可以包含如下域,各域之间以冒号分隔:登录名:即用户账号口令:通常是一个“x”,表示口令已被加密,加密后的口令存储在/etc/shadow文件中。如果是“*”,则表示该账号已被停用UID:每个用户账号都有一个不同的ID,它是一个整数GID:用户所属的组的ID,每个组也都具有不同的ID用户信息:这是账号附加的信息,如用户名、电话、住址等,可以使用命令finger和chfn查询和修改这些信息主目录:在默认状态下,每个用户都有一个主目录,root用户的主目录是/root,管理员新建立的用户的主目录默认为/home/用户名登录shell:设置用户在登录时使用的shell,系统默认使用/bin/bash例如:root:x:0:0:root:/root:/bin/bash/etc/shadow/etc/shadow是根据/etc/passwd文件产生的,一行存储一个用户的信息,各域之间以冒号分隔:用户账号加密的口令密文最后一次修改时间,从1970年1月1日到上次口令修改日期的天数。最小间隔时间,口令上次修改后,要过多少天才能再修改。若为0表示没有时间限制。最大间隔时间警告时间,如果口令有期限限制,要过期前多少天向用户示警。一般系统默认为7天。/etc/group/etc/group存储所有组账号的数据,一行表示一个组的信息,各域之间以冒号分隔,包括:组名x表示加密的组口令,口令的相关信息存储在/etc/gshadow文件中,其形式与/etc/shadow相似。组ID(GID),系统生成的组ID小于500,管理员新建的第一个组ID为500,以后依次递增。该组包含的用户账号列表,以逗号分隔。例如:bin:x:1:root,bin,daemonLinux用户管理常用命令adduser:添加用户passwd:设置和修改口令userdel:删除用户usermod:修改用户属性groupadd:添加用户组groupdel:删除用户组whoami:显示当前用户名w:显示当前登录到系统的用户su:切换用户账号Linux文件权限通过ls–lh命令可以查看文件的权限、文件的所有人、文件的所有组和文件的修改日期chmod:改变文件权限chown:改变文件所有人chgrp:改变文件所有组第五章Linux网络管理Linux网络管理常用文件/etc/sysconfig/network:网络设置,如网关IP、机器名/etc/hosts:IP地址和主机名的映射关系/etc/services:服务名和端口号的映射关系/etc/resolv.conf:dns服务器设置/etc/sysconfig/network-scripts/ifcfg-ethN:第N块网卡的配置文件Linux网络管理常用命令ifconfig:配置网络接口(interfaceconfigure)netstat:显示网络状态(networkstatistic)ifup:启动接口(interfaceup)ifdown:停止接口(interfacedown)route:操作路由表arp:操作ARP表tcpdump:网络传输数据抓包ping:检测主机深圳市南山区学苑大道1001号南山智园A1栋邮编:518055邮箱:yangtao@sangfor.com