1.Linux系统简介
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux版本分为两类:内核(kernel)版本和发行(Distribution)版本.内核(kernel)版本是指在Linus领导下的开发小组开发出来的系统内核版本号。
编码规则:
major.minor.patchlevel
(主版本号.次版本号.当前内核版本的修订次数)
如:kernel2.4.18-14,表示对内核2.4版本的第18次修改,修改了14处。
发行版本:以Linuxkernel为核心,搭配各种应用程序和文档,包装起来,并提供安装界面和系统设置及管理工具。目前Linux的发行版本大体可以分为两类,一类是商业公司维护的发行版本,以著名的Redhat(RHEL)为代表;一类是社区组织维护的发行版本,以Debian为代表。以下是常见的发行版本:
在以上这些发行版本中,RHEL和CentOS的稳定性非常好,适合用作服务器;Ubuntu界面非常友好,容易上手,对硬件的支持全面,是最适合做桌面系统的Linux发行版本;如果你需要一个桌面系统,而且还想非常灵活的定制自己的Linux系统,那么你可以选择Gentoo。
RHEL的界面风格如下图:
Ubuntu的界面风格如下图:
2.系统目录结构
基本文件系统结构至少含有以下目录:
/dev、/proc、/bin、/etc、/lib、/usr、/tmp。
使用ls命令查看文件系统目录,如下图:
各文件系统主要用途:
/bin
linux常用的命令,如cp,mv,ls,ping,mount等;
/boot
启动文件,如vmlinuz;
/dev
设备文件,如fd0(软盘),hda,hdal,sda,cdrom(hdc)等;
/etc
配置文件,如hosts, lilo.conf, inittab, rc.d(dir), samba/smd.conf等
/home,/root
每个用户在home下有一个自己的目录,root的在/root;
/proc
内存文件,报告程序执行的在线动态信息如进程、CPU等;
/sbin
启动时需要,系统管理员程序工具、配置等,如fsck(修复分区), lilo(安装引导程序), init(内核启动的第一个用户进程), fdisk(对硬盘及分区的操作)等
/lib
共享库相关文件;
/mnt
mount文件系统到这个目录,如U盘等;
/var
执行中记录数据,如Log;
/lost+found
一些丢失的文件可能可以在这里找到;
/tmp
临时文件夹
/usr
用户应用程序和文件
3.软件的安装
(1)RPM(Redhat Package Manager)是由RedHat公司开发的软件包安装和管理程序,在Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流发行版本采用。RPM包里面包含可执行的二进制程序及程序运行时所需要的文件。一个RPM 包中的应用程序,有时除了自身所带的附加文件保证其正常以外,还需要其它特定版本文件,这就是软件包的依赖关系;
rpm 常用参数:
-e 卸载rpm包
-q 查询已安装的软件信息
-i 安装rpm包
-u 升级rpm包
--replacepkgs 重新安装rpm包
--help 帮助
--version 显示版本信息
rpm常用命令组合:
-ivh: 安装显示安装进度--install--verbose--hash
-Uvh: 升级软件包--Update;
-qpl: 列出RPM软件包内的文件信息[Query Package list];
-qpi: 列出RPM软件包的描述信息[Query Package install package(s)];
-qf: 查找指定文件属于哪个RPM软件包[Query File];
-Va: 校验所有的RPM软件包,查找丢失的文件[View Lost];
-e: 删除包
yum(Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系。
yum常用命令:
yum install package1 安装指定的安装包package1
yum update package1 更新指定程序包package1
yum info package1 显示安装包信息package1
yum remove package1 删除程序包package1
yum deplist package1 查看程序package1依赖情况
yum clean packages 清除缓存目录下的软件包
(2)dpkg (Debian Package)管理工具,是为Debian专门开发的套件管理系统,所有源自Debian的发行版都使用,例如Ubuntu、Knoppix等,软件包名以.deb后缀。
dpkg -i xxx_1.5.3-1_i386.deb 安装软件
dpkg -r xxx 卸载软件
APT(Advanced Packaging Tool)适用于deb包管理式的操作系统主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。
apt-get install xxx 安装软件
apt-get remove xxx 卸载软件
apt-get update 更新软件
(3)通过源码包安装软件。
一般步骤如下:获取源码包->配置编译选项->编译->安装
例如安装aaa软件:
tar zxvf aaa.tar.gz;
cd aaa;
./configure;
make;
make install
4.常用命令
(1) 登录、登出相关命令:
login 使用新的身份登录系统
logout 注销
poweroff 关机并切断电源供应
shutdown
-r 关机重启
-h 关机不重启
now 立刻关机
halt 关机(= shutdown -h)
reboot 重启
(2)文件、目录处理命令:
ls 列出目录
-l 列出文件详细信息l(list)
-a 列出当前目录下所有文件及目录,包括隐藏
cd 切换目录
cd /home 进入 '/ home' 目录
cd .. 返回上一级目录
cd - 返回上次所在的目录
pwd 显示工作路径
mkdir 创建一个新的目录
rmdir 删除一个空的目录
(3)文件、目录处理命令
cp 复制文件或目录
mv 移动文件、重命名
rm 移除文件或目录
rm 删除文件
-r 递归删除,可删除子目录及文件
-f 强制删除
chmod 修改文件权限
cat 从第一个字节开始正向查看文件的内容
grep 在文件中查找关键词
(4)用户管理相关命令:
adduser 创建一个新用户
-g 指定用户所属的用户组
userdel 删除一个用户
-r 把用户的目录一起删除
usermod 修改已有用户的信息(用户号、主目录、用户组、登录Shell等)
groupadd 创建一个新用户组
groupdel 删除一个用户组
passwd 修改口令
(5)网络操作命令:
ifconfig 查看和配置网络设备
ifconfig eth0 192.168.1.11 配置IP地址
ifup 启用一个网络设备
ifdown 禁用一个网络设备
ping 检测是否与主机连通
route 显示和操作IP路由表
-n 查看路由状态
route add -net 192.168.20.0 netmask 255.255.255.0 gw 192.168.10.1 添加路由
route del -net 224.0.0.0 netmask 240.0.0.0 删除路由
(6)系统相关命令:
su 临时切换用户身份
sudo 获取临时的root权限
ps 列出系统中当前运行的进程
-a 显示同一终端下的所有程序
ps -ef|grep ssh查找特定进程ssh
kill 杀死进程
netstat 显示各种网络相关信息
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-l 仅列出有在 Listen (监听) 的服务状态
(7)系统信息
arch 显示机器的处理器架构(1)
uname -m 显示机器的处理器架构(2)
uname -r 显示正在使用的内核版本
cat /proc/cpuinfo 显示CPU info的信息
cat /proc/mounts 显示已加载的文件系统
lspci -tv 罗列 PCI 设备
lsusb -tv 显示 USB 设备
date 显示系统日期
(8)压缩、解压命令:
tar
-c 建立新的压缩文件
-r 添加文件到已经压缩的文件
-x 从压缩的文件中提取文件
-z 支持gzip解压文件
-j 支持bzip2解压文件
-v 显示操作过程
-f 指定压缩文件
zip 创建一个zip格式的压缩包
unzip 解压一个zip格式压缩包
(9)其他:
top 监控linux的系统状况,比如cpu、内存的使用
man 查看系统中自带的各种参考手册
ln 创建链接
ln -s file1 lnk1 创建一个指向文件或目录的软链接
ln file1 lnk1 创建一个指向文件或目录的物理链接
mount 挂载文件(光盘镜像文件、移动硬盘、U盘等)
mkdir /mnt/u
mount /dev/sda1 /mnt/u
umount 卸载文件