1 Linux概述
1.1 Unix介绍
Unix是一个强大的多用户、多任务操作系统。
于1969年在AT&T(美国电话电报公司)的贝尔实验室开发。
UNIX的商标权由国际开放标准组织(The Open Group)所拥有。
UNIX操作系统是商业版,需要收费,价格比Microsoft Windows正版要贵一些。不过UNIX有免费版的,例如:NetBSD等类似UNIX版本。
1.2 Linux介绍
Linux是一套免费的类Unix操作系统
Linux是一套免费使用和自由传播的类Unix操作系统,可以任意修改其源代码。
Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。
Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。
Linux操作系统诞生于1991 年10 月5 日。芬兰大学生林纳斯-托瓦兹(Linux Torvalds)和后来陆续加入的众多爱好者共同开发完成。
Linux的特点:它是多用户,多任务,丰富的网络功能,可靠的系统安全,良好的可移植性,具有标准兼容性,良好的用户界面,出色的速度性能.
Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。
1.3 Linux系统的应用
服务器系统:Web应用服务器、数据库服务器、接口服务器、DNS、FTP等等;
嵌入式系统:路由器、防火墙、手机、PDA、IP 分享器、交换器、家电用品的微电脑控制器等等,
高性能运算、计算密集型应用:Linux有强大的运算能力。
桌面应用系统
移动手持系统
1.4 Linux的版本
Linux的版本分为两种:内核版本(https://www.kernel.org/)和发行版本。
内核版本是指在Linus领导下的内核小组开发维护的系统内核的版本号。
发行版本是一些组织和公司根据自己发行版的不同而自定的。
1.5 Linux的主流版本
RedHat Linux
Red Hat领导着Linux的开发、部署和经营,从嵌入式设备到安全网页服务器,它都是用开源软件作为Internet基础设施解决方案的领头羊。
Red Hat解决方案包括Red Hat Linux、开发人员和嵌入式技术,以及培训、管理和技术支持。
Ubuntu
Ubuntu(乌班图)是一个以桌面应用为主的Linux操作系统。
Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。
为桌面虚拟化提供支持平台
CentOS
CentOS 是Linux发行版之一。
由Red Hat Enterprise Linux提供的源代码编译而成。很多公司使用CentOS替代商业版RedHat Linux。
RedHat 和CentOS差别不大,Red Hat Linux 和Centos系统是免费的。
Red Hat Linux 服务是收费的,比如免费版本不支持在线升级
Centos每个版本服务都是免费的.
2 1 Linux安装
1.1 什么是虚拟机
虚拟机:指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
虚拟机软件:
VMware Workstation(中文名“威睿工作站”)是一款功能强大的桌面虚拟计算机软件,收费的。VMware是全球桌面到数据中心虚拟化解决方案的领导厂商
VirtualBox 是一款开源虚拟机软件。VirtualBox是由德国 Innotek 公司开发,由Sun Microsystems公司出品的软件,使用Qt编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox
1.2 安装VMware
(去查自己的操作录像,在 roy_供查询的操作录像 文件夹里)
参考《01.VMware使用.doc》
1.3 安装CentOS
(去查自己的操作录像,在 roy_供查询的操作录像 文件夹里)
参考《02.Linux(CentOS)安装.doc》
安装Desktop版(可以使用窗口模式也可以使用图形化界面,Basic Service 版只能用窗口模式不可以使用图形化界面。)
1.4 CRT工具使用
(去查自己的操作录像,在 roy_供查询的操作录像 文件夹里)
参考《03.CRT连接linux.doc》
1.5 Linux目录结构
/: 根目录,一般根目录下只存放目录,不要存放文件。
/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中
/bin: /usr/bin: (binaries)存放二进制可执行文件。如常用的命令ls、tar、mv、cat等。
/boot: 放置linux系统启动时用到的一些文件。
/boot/vmlinuz为linux的内核文件,以及/boot/gurb。建议单独分区,分区大小100M即可
/dev:(devices) 存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备。
常用的是挂载光驱mount /dev/cdrom /mnt。
/etc:(etcetera) 系统配置文件存放的目录,不建议在此目录下存放可执行文件。
重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。注:/etc/X11存放与x windows有关的设置。
/home: 系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,~表示当前用户的家目录,~test表示用户test的家目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据
/lib: (library) /usr/lib: /usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为/lib/modules。
/root: 系统管理员root的家目录,系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下。
/sbin: (super user binaries) /usr/sbin: /usr/local/sbin: 放置系统管理员使用的可执行命令。
如fdisk、shutdown、mount等。与/bin不同的是,这几个目录是给系统管理员root使用的命令,一般用户只能"查看"而不能设置和使用。
/usr:(unix shared resources) 应用程序存放目录,/usr/bin 存放应用程序, /usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local:存放软件升级包。/usr/share/doc: 系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录,使用 man ls时会查询/usr/share/man/man1/ls.1.gz的内容建议单独分区,设置较大的磁盘空间。
/var:(variable) 放置系统执行过程中经常变化的文件,如随时更改的日志文件 /var/log,/var/log/message: 所有的登录文件存放目录,/var/spool/mail: 邮件存放的目录, /var/run: 程序或服务启动
/opt: 给主机额外安装软件所摆放的目录。以前的 Linux 系统中,习惯放置在 /usr/local 目录下
/tmp:(temporary) 一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下
/srv: 服务启动之后需要访问的数据目录,如www服务需要访问的网页数据存放在/srv/www内
/mnt:/media:(mount) 光盘默认挂载点,通常光盘挂载于/mnt/cdrom下,也不一定,可以选择任意位置进行挂载。
/proc: 此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等
3 常用命令
3.1 磁盘管理
3.1.1 ls命令
ls(list)功能:列出目录内容
格式:ls [参数] [文件或目录]
-a或--all 下所有文件和目录。注意隐藏文件、特殊目录、. 和 ..
-l 使用详细格式列表。
-t 用文件和目录的更改时间排序。
-r 反向排序
--help 在线帮助。
常用
ls -l --> 此命令非常常用,提供简化版命令 ll
ls -al
ll /home/ --> 显示指定目录下的内容
3.1.2 cd命令
cd(change directory) 功能:切换目录
语法:cd [目录]
常用
cd ~ ,当前用户目录
cd / ,根目录
cd - ,上一次访问的目录
cd .. ,上一级目录
cd ,缺省当前用户目录
3.1.3 pwd命令
pwd(print working directory) 功能:显示工作目录
3.1.4 mkdir命令
mkdir(make directoriy)功能: 创建目录
-p 父目录不存在情况下先生成父目录 (parents)
-v 显示命令执行过程中的详细信息
mkdir -pv ./abc/123
3.2 文件管理—文件浏览
3.2.1 cat命令
cat(catenate)功能:显示文本文件内容
语法:
cat 文件 ,显示指定文件的所有内容
3.2.2 more命令
more功能:分页显示文件内容,还支持直接跳转行等功能。
语法:more file
操作
Enter 向下n行,需要定义。默认为1行
空格键 向下滚动一屏 或 Ctrl+F
B 返回上一屏 或 Ctrl+B
q 退出more
more /root/install.log
3.2.3 less命令(最强大,常用)
less功能:分页显示文件内容,操作更详细。
语法:less [参数] 文件
-m 显示类似more命令的百分比
-N 显示每行的行号
操作
空格键:前进一页 或 page down
b:后退一页 或 page up
d:前进半页
u:后退半页
回车键:前进一行 或 方向键向下
y:后退一行 或 方向键向上
/字符串:向下搜索
?字符串:向上搜索
v:进入vim编辑器
左右方向键:相当于水平滚动条
q:退出
less -mN /root/install.log
3.2.4 tail命令
功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
格式:tail[必要参数][选择参数][文件]
-n<行数> 显示行数
-f 循环读取
ping 127.0.0.1 > ip.log &
tail -f ip.log
& 表示后台运行,否则占用终端
ctrl + c 退出
3.3 文件管理—文件操作
3.3.1 cp命令(常用)
cp(copy)功能:复制文件或目录。
语法:cp [参数] [源文件或目录] [目标文件或目录]
-r或--recursive 递归处理,将指定目录下的文件与子目录一并处理。
cp ./abc ./xxx #无法复制目录
cp -r ./abc ./xxx #复制目录必须使用 -r参数
cp ip.log ip2.log
cp ip.log ip2.log
cp -b ip.log ip2.log
3.3.2 mv命令(常用)
mv(move) 功能:移动或更名现有的文件或目录。
语法:mv [源文件或目录][目标文件或目录]
-f或--force 若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文 件或目录。
mv ./abc/123/ ./xxx/111 #移动一个空目录 或 一个文件
cp ip.log ./abc/ip.log
mv ip.log ./abc/ip.log
mv -f ip.log ./abc/ip.log
3.3.3 rm命令
rm(remove) rm 功能:删除文件或目录。
语法:rm [-dfirv][--help][--version][文件或目录...]
-f或--force 强制删除文件或目录。
-r或-R或--recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
rm ./ip2.log
rm -f ./ip2.log #强制删除文件
rm -f ./xxx
rm -rf ./xxx #强制删除目录
3.3.4 find命令
find功能:查找文件或目录。
语法:find [目录...] [参数]
-name 指定字符串作为寻找文件或目录的范本样式。
find /root/ -name 'test*'
3.4 文档编辑
3.4.1 vi 或 vim 命令(常用)
3.4.1.1 基本操作
输入“vim 文件名”进入“一般模式”
按下“i”从一般模式,进入“插入模式”
按下“esc”从“插入模式”退出到“一般模式”
在“一般模式”下,输入“:wq”,退出编辑。
3.4.1.2 vi基本概念
基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
1) 命令行模式command mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。
2) 插入模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
3) 底行模式(last line mode)
将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
3.4.1.3 常用命令
分组 | 命令 | 描述 |
插入
(从一般模式进入到插入模式) | i | 在光标前插入 |
shift + i | 在光标当前行开始插入 | |
a | 在光标后插入 | |
shift + a | 在光标当前行末尾插入 | |
o | 在光标当前行的下一行插入新行 | |
shift + o | 在光标当前行的上一行插入新行 | |
| ||
复制或粘贴
(在插入模式下) | yy | 单行复制 将光标移动到将要复制的行处 |
nyy | 多行复制 将光标移动到将要复制的首行处 | |
p | 粘贴 将光标移动到将要粘贴的行处 | |
| ||
定位 | gg | 到文本的第一行 |
shift + g | 到文本的最后一行 | |
| ||
删除 | dd | 删除光标所在行 |
ndd | 删除n行 | |
| ||
退出 | :q | 退出vi(没有做任何修改时) |
:q! | 强制退出不保存 | |
:w | 保存不退出 | |
:wq | 保存后退出 |
3.4.2 管道 |(常用)
linux提供管道符号“|”。作用是“命令1”的输出内容,将作为“命令2”的输入内容。一般与grep命令一起使用。
格式:命令1 | 命令2
3.4.3 grep命令(常用)
grep全称是Global Regular Expression Print,表示全局正则表达式版本
功能:用于过滤/搜索的特定字符。可使用正则表达式能多种命令配合使用,使用上十分灵活。
格式:grep [option] pattern [file]
-i 或 --ignore-case #忽略字符大小写的差别。
#格式:grep 参数 过滤条件 文件
#查看install.log文件中含有“control”字符的内容
grep -i control /root/install.log
#格式: 其他命令 | grep 参数 过滤条件
cat /root/install.log | grep -i control #在cat命令输出结果基础上,进行过滤
3.5 系统命令(普通用户一般用不到,企业开发里一般不会给root账户)
3.5.1 ps命令
功能:ps命令是Process Status的缩写。提供对进程的一次性查看。及执行ps命令的那个时刻进程信息。
格式:ps[参数]
-e 此参数的效果和指定"A"参数相同,显示所有程序
-f 显示UID,PPIP,C与STIME栏位
ping 127.0.0.1 > ip.log &
ps -ef | grep -i ping
3.5.2 kill命令
kill功能:删除执行中的程序或工作。
语法:kill [参数][程序]
-l <信息编号> 若不加<信息编号>选项,则-l参数会列出全部的信息名称。
kill -9 表示强制终止
格式: kill -9 pid
kill -9 4199
3.5.3 ifconfig命令
功能:显示网络设备
命令:ifconfig
3.5.4 ping命令
功能:测试与目标主机的连通性
命令:ping 主机名或ip地址
3.6 备份压缩:tar命令(常用)
tar功能:文件备份压缩
语法:tar命令
-c 建立一个压缩文件的参数指令(create)--压缩
-x 解开一个压缩文件的参数指令(extract)--解压
-z 是否需要用 gzip 压缩
-v 压缩的过程中显示文件(verbose)
-f 使用档名,在 f 之后要立即接档名(file)
常用解压参数组合:zxvf
常用压缩参数组合:zcvf
压缩
tar -zcvf itheima.tar ./itheima/
解压
rm -rf ./itheima #将“itheima”移除,再解压
ll | grep -i itheima
tar -zxvf ./itheima.tar
3.7 关机重启
Linux centos重启命令:reboot
Linux centos关机命令:halt 立刻关机
3.8 文件权限:chmod 命令
chmod(change mode) 功能:变更文件或目录的权限。
语法:chmod [参数] [<权限范围><符号><权限代号>]
-R或--recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
权限范围的表示法如下:
u:User,即文件或目录的拥有者。
g:Group,即文件或目录的所属群组。
o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。
a:All,即全部的用户,包含拥有者,所属群组以及其他用户。
符号:
+ 添加权限
-取消权限
有关权限代号的部分,列表于下:
r:读取权限,数字代号为"4"。
w:写入权限,数字代号为"2"。
x:执行或切换权限,数字代号为"1"。
-:不具任何权限,数字代号为"0"。
mkdir xxx
ll | grep xxx
chmod u-rwx xxx #取消xxx目录,用户“读写执行”权限
chmod g-rwx xxx #取消xxx目录,组“读写执行”权限
chmod 777 xxx #给xxx目录添加所有权限
linux 权限格式:<类型><用户><组><其他用户>
3.9 网络配置(了解就行)
3.9.1 VIM命令配置
查看网卡配置 cat /etc/sysconfig/network-scripts/ifcfg-eth0
概要信息如下:
DEVICE=eth0 #网卡名称
TYPE=Ethernet #网卡类型
ONBOOT=yes #是否开机启动网卡
BOOTPROTO=static #静态获取IP,其他取值:dhcp(如果设置dhcp下面红色不需要)
IPADDR=192.168.44.100 #ip地址
GATEWAY=192.168.44.2 #网关
NETMASK=255.255.255.0 #子网掩码
3.9.2 setup设置
setup
1)选择“网络配置”
2)选择“设备配置”
3)选择“第一块网卡”
4)设置IP地址等详细信息
3.10 命令总结 和 帮助
内部命令:属于Shell解析器的一部分 (系统启动直接加载到内存的)
cd 切换目录(change directory)
pwd 显示当前工作目录(print working directory)
help 帮助
外部命令:独立于Shell解析器之外的文件程序(独立的可执行文件)
ls 显示文件和目录列表(list)
mkdir 创建目录(make directoriy)
cp 复制文件或目录(copy)
查看帮助文档
内部命令:help + 命令(help cd)
外部命令:man + 命令(man ls)
不用特意记忆命令分类,开发中,如果需要查看命令参数,先使用man,如果没有结果,再使用help。