目录
进程管理
程序与进程:
程序是静态的(文件),进程是动态的(运行的程序)。
进程和线程:
一个程序至少有一个进程,一个进程至少有一个线程.
进程之间内存是独立
线程之前内存共享 ,高并发好一些 。 安全性差一些。
linux系统不根据后缀名识别文件类型,用file命令查看文件的类型。
1 | [sam1@localhost xuegod]$ file a |
1 | [root@localhost ~]# tar -zcvf grub1.tar.gz /boot/grub2/ |
1 | [root@localhost ~]# zippasswd.zip /etc/passwd #压缩文件: |
rpm (Redhat package manager)
1 | #挂载光盘: |
zsh | -5 | .0 | .2 | -7 | x86 | 64 |
---|---|---|---|---|---|---|
软件名 | 主版本号 | 此版本号 | 修订号 | release(第几次发布版本) | CPU架构系统平台 | 支持的系统位数 |
[root@localhost ~]# rpm -ivh /mnt/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm
安装时,如果需要解决依赖关系。上rpm包相关的网站上找
http://rpmfind.net/
http://rpm.pbone.net/
http://www.rpmseek.com/index.html
查询zsh软件是否安装
[root@localhost ~]# rpm -q zsh
zsh-5.0.2-7.el7.x86_64
查询系统所有安装过的rpm软件
[root@localhost ~]# rpm -qa
[root@localhost ~]# rpm -qa | grep zsh
zsh-5.0.2-7.el7.x86_64
查询zsh这个软件安装后,产生了那些文件和目录
[root@localhost ~]# rpm -ql zsh | more
zsh这个文件是那个软件安装的
[root@localhost ~]# rpm -qf which zsh
zsh-5.0.2-7.el7.x86_64
在软件没有安装之前进行查看
1 | [root@localhost ~]# rpm -qpl /mnt/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm |
查看一个包的作用,凡是加上p则表示查询的包未安装。若查询已安装的包则去掉p
[root@localhost ~]# rpm-Uvh /mnt/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm
[root@localhost ~]# rpm -e zsh 只写软件包的名字,不用写版本号
导入RPM-GPG-KEY安装rpm包时,对rpm的签名进行验证。验证的原理是:非对称加密。 导入公钥。验证rpm中的签名是否是对的。
[root@localhost ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
YUM,自动装软件包(软件包管理),解决依赖关系问题、自动下载软件包。基于C/S架构。
YUM 基于C/S架构, 软件需要来源,即 YUM源。 可以分为 ftp http file(本地yum源)
三类。
例如 : 配置本地yum源
在 /etc/yum.repos.d/
目录下新建 xxxx.repo
文件
1 | [root@localhost ~]# vim /etc/yum.repos.d/rhel7.repo |
yum安装
[root@localhost ~]# yum install zsh
选项 :-y #回答yes 取消交互
[root@localhost ~]# yum -y install mariadb-server
yum安装一组软件包
[root@localhost ~]# yum group list
[root@localhost ~]# yum group install "Security Tools"
yum查询
[root@localhost ~]# yum list z*
[root@localhost ~]# yum search zsh
yum删除
[root@localhost ~]# yum remove zsh
清空yum缓存
[root@localhost ~]# yum clean all
yum生成列表
[root@localhost ~]# yum list
前提:系统必须安装:开发工具、开发库
步骤:
获得源码包
解压
tar
配置,检测安装环境
./configure –prefix=path #检查安装环境是否符合需求,如果没有问题,生成:Makefile文件, –prefix 参数 指定安装路径。这样删除或备份时,直接对删除这个目录操作就可以了。
编译
make -j n (编译时会读取Makefile文件) n 为电脑cpu核数 -2 , 并发编译
安装
make install
删除
make uninstall
再次编译
make clean
例:安装软件包extundelete-0.2.4.tar.bz2
1 | [root@localhost ~]# tar jxvf extundelete-0.2.4.tar.bz2 |
编译
将src.rpm中源码文件编译成可执行的二进制文件。
rpmbuild --rebuild lrzsz-0.12.20-27.1.el6.src.rpm
若顺利执行成功则会在root用户根目录下生成一个: rpmbuild目录。在/root/rpmbuild/RPMS/x86_64/目录下生成lrzsz-0.12.20-27.1.el6.x86_64.rpm这个rpm文件。
接下来就是rpm的安装过程。
[root@localhostx86_64]# rpm -e lrzsz
[root@localhostx86_64]# rpm -vih lrzsz-0.12.20-27.1.el7.x86_64.rpm
rpm+yum:方便,软件版本低。稳定性好、管理方便。性能稍差。
源码手动:麻烦,软件版本新。稳定性稍差、管理稍差。性能好。 LAMP,LNMP
详细的可以参考 鸟哥
目录 | 应放置文件内容 |
---|---|
/ | 通常称为根分区。所有的文件和目录皆由此开始。只有root用户对此目录拥有写权限。 |
/boot | 存放Linux系统启动时需要加载的文件。 (一般在单独的一个磁盘分区里面保存) Kernel、grub等文件都存放在此。 |
/etc | RHEL6中主要存放服务的配置文件,RHEL7中,以/usr/lib/systemd/system进行代替 |
/var | 是一个可增长的目录,包含很经常变的文件。例如,/var/log(系统日志)、/var/lib (包文件) |
/root | 管理员所有数据。 root用户的家目录 |
/tmp | 临时文件存储位置 |
/usr | unix software source, 放置是所有系统默认的软件(distribution发布者提供的软件),有点类似Windows 系统的『C:\Windows\ + C:\Program files\』这两个目录的综合体,鸟哥的链接有次级目录的说明 |
/opt | 给第三方协力软件放置的目录,自行安装额外的软件(非原本的distribution提供的) |
/bin | 此目录包含二进制可执行文件,在单人维护模式下还能够被操作 |
/sbin | 系统命令 ,此目录中的命令主要供系统管理员使用,为开机过程中所需要的,里面包括了开机、修复、还原系统所需要的指令,常见的指令包括:fdisk, fsck, ifconfig, init, mkfs等等。 |
/mnt | 暂时挂载某些额外的装置 |
/media | 放置的就是可移除的装置啦! 包括软盘、光盘、DVD等等装置都暂时挂载于此。 |
/dev | 包含设备文件。在Linux中,一切都被看做文件。终端设备、USB、磁盘等等都被看做文件 |
/home | 普通用户所有数据存放在这个目录下 |
/proc | 本身是一个『虚拟文件系统(virtual filesystem)』放置的数据都是在内存当中, 例如系统核心、行程信息(process)、周边装置的状态及网络状态等等。因为这个目录下的数据都是在内存当中, 所以本身不占任何硬盘空间啊!比较重要的文件例如:/proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/* 等等。 |
/lib | 系统最基本的动态链接共享库,尤其重要的是/lib/modules/这个目录, 因为该目录会放置核心相关的模块(驱动程序) |