目录
linux初识
打开终端后的提示
[root@Waffle Desktop]#
[当前登录名@主机名 当前所在路径]#
# 用户身份为超级管理员
$ 用户身份为普通用户
先了解当前系统信息
硬盘大小
fdisk -l
/dev/sda 操作系统中第一块硬盘的名称以及所在路径
在Linux操作系统一切皆文件 (文件名) sd (硬盘接口类型) a(第一块)
以此类推:sdc就是第三块硬盘一个真实的硬盘换算的进制不是按1024而是按1000
这样它标的是500G硬盘,实际到不了500G
内存大小
cat /proc/meminfo
cpu型号
cat /proc/cpuinfo
关机和重启命令
reboot 重启
poweroff 关机
Linux操作系统树状结构
目录 == 文件夹
cd .. 返回上一级目录(change directory)
pwd 列出当前所在的目录路径
ls 列出当前目录中的内容
/ 操作系统起始路径 根路径
~ 家目录
/bin 存放普通用户和管理员都可以执行的命令(比如cat等)
/sbin 只有管理员才能执行的命令比如关机重启 (s表示super)
/boot 引导 主引导目录 是独立的分区 有启动菜单 内核
/dev device 设备文件存放目录
/etc 配置文件存放目录
/home 普通用户的家目录
/root 管理员的家
/media 光驱(光盘)的挂载目录
/mnt 临时设备的挂载目录
/proc 里面的数据都在内存中,进程的所在目录
/tmp 临时文件存放目录
/usr 第三方软件的安装目录
/var 常变文件存放目录 日志文件 邮件文件
安装VMtools
可以实现虚拟机和真实机之间的文件复制
将VMtools安装文件复制到桌面,并解压
安装VMtools
cd root
cd Desktop
cd /root/Desktop/vmware-tools-distrib/ 或
cd vmware-tools-distrib/ (TAB键补全)
./vmware-install.pl -d (绿色表示可执行文件,-d :全部默认配置)
reboot
红色的文件一般代表压缩包文件,蓝色的一般表示文件夹
快捷键的应用
1、TAB 键功能 命令字和以存在的文件名称补齐作用
2、清除屏幕内容 CTRL+l
3、终止快捷键 CTRL+c
Linux系统中如何分辨文件类型
蓝色 目录
黑色 普通文件
浅蓝色 符号链接(快捷方式)
黑底黄字 设备文件 硬盘 sda
红色 压缩包
绿色 带有执行权限的文件
紫色 图片 模块文件
增 删 查 改
查询:查看目录下有什么 ,查看文件中的内容
ls cat
创建:创建文件 创建目录
touch 文件名
echo "hello" > 文件 (如果文件不存在,echo会自动创建文件)
mkdir 目录名 (make directory)
改:剪切和复制
mv 重命名和剪切
cp 拷贝文件
符号链接 ln -s 绝对路径源文件 建立链接文件
删除
rm remove 移除
rm -f 文件 强制删除
rm -fr 目录 删除目录
获取命令帮助信息
帮助命令字的信息查询
rm -fr
fdisk -l
ls
.开头的文件 隐藏文件
Linux命令字格式
命令字 【选项】【文件或者目录】
ls 还有哪些选项?
1、如何查看一个命令字的帮助手册
man ls
查询 ”/+查询内容“ 如:/-a
如何退出当前界面 " :q "
-a 显示隐藏文件
-l 显示文件的详细信息
-lh 显示文件大小 (du -sh 目录 显示目录大小)
-R 递归显示目录中的子目录的内容
ls | grep "过滤内容" 过滤
内部命令 命令解释器自带的命令 help cd 查看
外部命令 安装的第三方软件带的命令 基本都有帮助手册
压缩和解压缩
/tmp目录中建立一个大小位100m的文件
dd if=/dev/zero of=/tmp/bigfile bs=1M count=100
inputfile 输入文件
outputfile 输出文件
bs 单位
count 计数器
gzip
gzip 文件名称 --- 压缩文件
gunzip 压缩包 --- 解压缩
bzip2
bzip2 文件名称 --- 压缩
bunzip2 压缩包 --- 解压缩
如何对目录进行打包压缩
tar -xf allfile.tar -C /root
-x 解包 -C 指定解包位置
压缩
tar -zcf /tmp/allfile.tar.gz /tmp/allfile
tar -zxf /tmp/allfile.bar.gz -C /root
解压
tar -jcf /tmp/allfile.tar.bz2 /tmp/allfile
tar -jxf /tmp/allfile.bar.bz2 -C /root
参数:
-z有gzip属性的
-c建立压缩文件
-f使用的压缩文件名字(这是最后一个参数)
-j 有bzip2属性
-x表示解压文件
-v表示显示所有过程
vi编辑器 vim升级版
在//tmp/目录中建立一个名为test.txt的文件并写入hello
分三种工作模式
vim /tmp/test.txt 进入命令模式
末行模式 :
:wq 保存并退出
:q! 不保存退出
:set nu 显示行号
:% s/old/new/g 每一行中的old 替换成 new
:50,56 d 删除50-56行的数据
命令模式有非常多的快速编辑快捷键
2yy 复制当前行及下一行
p 粘贴到当前行下
dd 删除当前行
gg 回到第一行
G 到最后一行
50G 快速跳转至第50行
Linux操作系统的软件安装
软件的分类
源码包
源码包就是源代码公开需要自己进行编译然后进行安装的软件包,通常情况下这种软件包可以看到软件编写时所写的源码,如果需要进行二次开发可以直接在源码上进行编译
一般情况下发布在GUN社区、GitHub等
源码包的特点:
1、以压缩包的形式提供给用户
2、开源,源代码公开、不收费
源码包安装的注意事项:
1、解包
2、进入解压路径了解软件的作用已经安装方法
$ ./configure --prefix=PREFIX
$ make
$ make install
$ PREFIX/bin/apachectl start
3、通过配置脚本指定安装路径和功能,并且生成Makefile编译脚本文件(./configure --prefix=/usr/local/webserver)
4、通过make命令控制makefile文件进行顺序编译(之前所有的源代码都会编译成可执行文件)
5、将编译好的文件拷贝至安装路径下(PREFIX/bin/apachectl start)
编译 源码包安装可以指定安装的路径和编译所需要的功能(编译安装(又称源代码安装))
Apache源码包 httpd-2.4.46.tar.gz安装举例:
下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/
Apache是一个基金会名字,httpd才是我们需要安装的软件包,httpd早期的名字叫做Apache;
Apache官网www.apache.org
①httpd-2.4.46.tar.gz(是Apache社区开发的一个web服务端软件,名字就叫httpd)拖到centos虚拟机中
②解包
[root@Waffle Desktop]# tar -zxf httpd-2.4.46.tar.gz -C /usr/src(/usr是第三方软件的安装目录,src目录可以存放软件安装时源码包)
[root@Waffle Desktop]# cd /usr/src/
[root@Waffle src]# ls
debug httpd-2.4.46 kernels
[root@Waffle src]# cd httpd-2.4.46/
[root@Waffle httpd-2.4.46]# ls
ABOUT_APACHE CMakeLists.txt INSTALL NWGNUmakefile
acinclude.m4 config.layout InstallBin.dsp os
Apache-apr2.dsw configure LAYOUT README
Apache.dsw configure.in libhttpd.dep README.cmake
apache_probes.d docs libhttpd.dsp README.platforms
ap.d emacs-style libhttpd.mak ROADMAP
build httpd.dep LICENSE server
BuildAll.dsp httpd.dsp Makefile.in srclib
BuildBin.dsp httpd.mak Makefile.win support
buildconf httpd.spec modules test
CHANGES include NOTICE VERSIONING
③进入解压路径了解软件的作用已经安装方法
下面读一下README文件:vim README(可以知道这个软件是做什么用的)
INSTALL文件告诉我这个软件是怎么样安装的
vim INSTALL
④通过配置脚本指定安装路径和功能,并且生成Makefile编译脚本文件(./configure --prefix=PREFIX)
[root@Waffle httpd-2.4.46]# ./configure --prefix=/usr/local/webserver
⑤通过make命令控制makefile文件进行顺序编译(之前所有的源代码都会编译成可执行文件)
⑥输入命令make install
⑦将编译好的文件拷贝至安装路径下(PREFIX/bin/apachectl start)
查看是否开放80端口:ss -antpl | grep 80(或者netstat -antpl | grep 80)
接下来把selinux关闭,否则看不了主页:setenforce 0
然后拿浏览器自己访问自己(因为没配IP这里用回环地址127.0.0.1)it work
Apache的主页内容在htdocs子目录里面的index.html
1、先解压缩
2、进入解压路径
./configure --prefix=/usr/local/webserver
建立makefile文件 决定了源码包文件之间的编译顺序。
3、要对所有的c语言源码进行编译,根据makefile文件的编译顺序进行
make
4、在当前目录中就会产生所有的已经编译好的文件,将这些文件通通拷贝到,第一步指定的安装路径下
make install
5、启动服务
/usr/local/webserver/bin/apachectl start (换成stop)
6、验证服务启动
netstat -antpl | grep 80 看80端口
7、定义主页
vim /usr/local/webserver/htdocs/index.html
<html>
<meta charset='utf-8' /> 定义该页面使用的中文字符编码
<body>
<h1>
1000phone
</h1>
</body>
</html>
封装后的软件包
安装便捷
特点:后缀一般是rpm 或者 deb
rpm 代表red hat package manager(红帽操作系统的包管理器)
deb 表示Debian德班操作系统
如果是源码包 可以不考虑系统的版本
但是如果是封装后的软件包一定要针对它的后缀安装在不同的系统上
centos本身就是红帽操作系统的一个克隆版,这里面装的软件包所有封装后的软件包后缀都是rpm
封装后软件包的安装方法
lftp-4.0.9-14.el6.x86_64.rpm
软件名-版本号-64位.rpm
(版本号中4是主版本号,0是次版本号,9代表官方对他进行的修正版本,修正了9次)1、看到软件后先确定是否已经安装过,确定已经安装过的软件有哪些
rpm -qa | grep lftp 过滤是否安装过lftp
2、确认该软件的作用
rpm -qpi lftp-4.0.9-14.el6.x86_64.rpm
3、确认软件会安装哪些文件到哪些目录
rpm -qpl lftp-4.0.9-14.el6.x86_64.rpm
4、安装该软件
rpm -ivh lftp-4.0.9-14.el6.x86_64.rpm
5、使用软件
lftp --help
lftp -u user1903,123.com ftp://10.0.105.223
安装演示:ls | grep "tree"(|是管道符,作用是将前面一条命令的输出结果作为后面一条命令的处理的参数)
针对安装tree-1.5.3-2.el6.i686.rpm软件的注意事项:
1、确认我有没有装过该软件
rpm -qa 列出所有已经安装过的rpm软件包
2、确认该软件的作用
[root@Waffle Packages]# rpm -qpi tree-1.5.3-2.el6.i686.rpm(q是请求列出的意思,p代表跟上后面的软件包并且加上i选项显示它的详细信息)
3、确认该软件安装的路径(封装后的软件包安装路径是固定的不可以指定)
[root@Waffle Packages]# rpm -qpl tree-1.5.3-2.el6.i686.rpm(l就是list列出)
4、安装软件
rpm -ivh tree-1.5.3-2.el6.i686.rpm(i就是安装,v是显示详细信息,h是井号代替安装进度条)
5、使用软件
查看man帮助:man tree
tree /boot
6、软件的卸载(因为rpm包安装包的位置是固定的,一定有卸载功能的)
rpm -e 软件名称
通过yum方式安装软件
想卸载vim编辑器工具
1、要了解该软件的名称 rpm -qa | grep "vim"
2、卸载 rpm -e 软件名称(会报错 error: Failed dependencies失败的依赖关系)
现在想把vim编辑器装回去
cd /media/Centos_6.6_Final/Packages/(到光盘里,这里面肯定有那两个安装包)
3、安装的时候要考虑依赖关系
实际上在光盘上面本身就存在依赖关系列表,叫repodata
能不能利用依赖关系表帮我们安装软件和卸载软件?
根据光盘中的依赖关系列表进行软件安装卸载(叫做yum源安装)
现在我们不需要互联网的源,我们把上面那行yum源先保存起来,我们自己建立一个找我们自己光盘本地的源的操作(操作见上图)
1、要告诉操作系统依赖关系列表的位置
vim /etc/yum.repos.d/dvd.repo
[dvdrom] 标签
name="yum dvd rom"描述
baseurl=file:/media/CentOS_6.6_Final 依赖关系列表位置
gpgcheck=0 是否做密钥对验证
2、通过yum工具进行软件的卸载与安装
卸载:yum remove vim-common
[root@Waffle yum.repos.d]# vim dvd.repo
[root@Waffle yum.repos.d]# yum remove vim-common
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package vim-common.i686 2:7.2.411-1.8.el6 will be erased
--> Processing Dependency: vim-common = 2:7.2.411-1.8.el6 for package: 2:vim-enhanced-7.2.411-1.8.el6.i686
--> Running transaction check
---> Package vim-enhanced.i686 2:7.2.411-1.8.el6 will be erased
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Removing:
vim-common i686 2:7.2.411-1.8.el6 @anaconda-CentOS-201410241409.i386/6.6 17 M
Removing for dependencies:
vim-enhanced
i686 2:7.2.411-1.8.el6 @anaconda-CentOS-201410241409.i386/6.6 1.8 M
Transaction Summary
================================================================================
Remove 2 Package(s)
Installed size: 19 M
Is this ok [y/N]: Y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Erasing : 2:vim-enhanced-7.2.411-1.8.el6.i686 1/2
Erasing : 2:vim-common-7.2.411-1.8.el6.i686 2/2
Verifying : 2:vim-common-7.2.411-1.8.el6.i686 1/2
Verifying : 2:vim-enhanced-7.2.411-1.8.el6.i686 2/2
Removed:
vim-common.i686 2:7.2.411-1.8.el6
Dependency Removed:
vim-enhanced.i686 2:7.2.411-1.8.el6
Complete!
安装:yum install vim-enhanced
[root@Waffle yum.repos.d]# yum install vim-enhanced
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Determining fastest mirrors
dvdrom | 4.0 kB 00:00 ...
dvdrom/primary_db | 3.5 MB 00:00 ...
Resolving Dependencies
--> Running transaction check
---> Package vim-enhanced.i686 2:7.2.411-1.8.el6 will be installed
--> Processing Dependency: vim-common = 2:7.2.411-1.8.el6 for package: 2:vim-enhanced-7.2.411-1.8.el6.i686
--> Running transaction check
---> Package vim-common.i686 2:7.2.411-1.8.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
vim-enhanced i686 2:7.2.411-1.8.el6 dvdrom 837 k
Installing for dependencies:
vim-common i686 2:7.2.411-1.8.el6 dvdrom 6.0 M
Transaction Summary
================================================================================
Install 2 Package(s)
Total download size: 6.8 M
Installed size: 19 M
Is this ok [y/N]: y
Downloading Packages:
--------------------------------------------------------------------------------
Total 212 MB/s | 6.8 MB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : 2:vim-common-7.2.411-1.8.el6.i686 1/2
Installing : 2:vim-enhanced-7.2.411-1.8.el6.i686 2/2
Verifying : 2:vim-common-7.2.411-1.8.el6.i686 1/2
Verifying : 2:vim-enhanced-7.2.411-1.8.el6.i686 2/2
Installed:
vim-enhanced.i686 2:7.2.411-1.8.el6
Dependency Installed:
vim-common.i686 2:7.2.411-1.8.el6
Complete!