Linux系统的安装、启动及简单的命令使用
1、安装
a、直接将操作系统安装在硬件设备上(比较麻烦,不建议)(双系统模式)
b、使用VMM管理平台来安装(虚拟机模式)“VMM管理平台:VMware workstation、Virtualbox”
选语言—— 选键盘—— 选时区—— 写主机名—— 定义root密码(超级用户)—— 划分磁盘空间(3个分区必须要划分:/boot reboot)
Mac安装(Mac 上用VMWare虚拟机安装Linux-Ubuntu)详细步骤链接https://www.cnblogs.com/taostaryu/p/9404615.html
Windows(Windows上用VMWare虚拟机安装Linux-Ubuntu)详细步骤链接https://blog.csdn.net/meiqi0538/article/details/88406909
Ubuntu映像文件下载地址https://launchpad.net/ubuntu/+cdmirrors?_ga=2.214379024.606055489.1564658320-701372154.1564479660
CentOS映像文件下载地址http://mirrors.aliyun.com/centos/7/isos/x86_64/
c、拍摄快照,如果出错,可以恢复快照!!!
2、计算机性能:
横向扩展 集群「人多力量大」:负载均衡集群、高可用集群、高性能集群「应用层」— hadoop集群
纵向扩展(换机器) 应用迁移
系统的启动
--电源
--BIOS芯片
1、加电自检,检查硬件设备是否正常。
2、启动系统,选择系统启动「1、需解决系统所在位置的读取顺序问题:硬盘、网络(PXE)、U盘、CD/DVD…2、需要将硬盘中的系统文件加载到内存中,让CPU读取,并运行。MBR分区(BootLoader『LILO、grub』),寻找并引导系统加载」)
内核程序加载完成,但是,并不能运行普通应用
--init
此时,需要运行第一个应用程序 — init(init:将操作系统分为7「0 - 6」个级别,每一个级别上都会运行对应的应用程序「指定默认启动级别」)
--读取默认级别3(命令行)「0:关机 1:单用户模式(安全模式) 3:命令行 5:图形界面 6:重启」 —— chkconfig / rc.*d(每一个级别所需启动的进程)
--读取rc.local,系统启动最后读取这个文件,管理员可以将需要开机就运行的命令,添加在这里
chkconfig的作用:
指定服务开机时在哪个级别上,启动或者关闭; -h/—help 查看帮助;list;level 12345 Name <on|off>;
update-rc.d在Ubuntu下控制某些程序开机启动;-f (force 强制)
Linux命令的基本格式:
Command [选项] [参数]
[]:中括号代表可有可无;指定实现命令的某个特定功能;
<>:代表命令执行的对象;如果没有加<>代表不能省略;
长整型选项
短整型选项 *短整型可以合并,而长整型不能合并
扩展:命令 子命令【选项】【参数】
常用的Linux命令的基本使用
echo $PATH //环境变量 (变量:一段被命名的内存空间而已)
如果命令不在PATH路径下,如何解决?
1、通过绝对路径来运行该命令(绝对路径执行的是命令本身;而有些命令,是系统默认别名「可以自己添加」 - alias;which command //查找命令的绝对路径;\ls //使用反斜线直接运行)
2、将这个路径添加到PATH路径下(PATH = $PATH:/xxx/xxx)
ls //显示文件信息
-l //查看文件的详细信息(属性),可缩写为ll;
-i //inode(属性);
-h //human人类可读;
-F //显示文件后面的标记(用来区分文件类型);
-r //倒序显示文件内容;
-a //显示所有文件(包括隐藏文件)
pwd //显示当前路径;$PWD 默认有一个这个的环境变量;
cd //切换到目标目录;
~ 当前用户的家目录(/root /home);
. 当前目录(以 . 开头的文件为隐藏文件);
.. 当前目录的上一级目录;
- $OLDPWD存放上一次经过的目录;
touch //修改时间戳
Stat atime 访问时间 mtime 修改文件内容的时间 ctime修改文件属性
touch a.txt
[[CC]YY]MMDDhhmm[.ss]
20 19 0 8 01 16 36 . 22
-a 修改访问时间;
-m 修改修改时间;
-t 指定修改成什么时间;
-c 修改文件Mtime,如果文件不存在,不创建该文件
mkdir //创建文件夹;
-p 递归创建多级子目录;
-v 详细显示创建过程;
tree 以树状形式显示目录及文件结构(-L NUM 查看多少级子目录;-d 只显示目录文件)
rm //删除;
-f force强制;
-i 询问是否删除文件,默认命令(alias rm = ‘rm -i’);
\rm abc ;/bin/rm abc;
-r 删除目录文件
clear //清屏 = ctrl + l
查询帮助信息
命令分类:
1、内部命令 help Command
2、外置命令 Command --help或者Command -h
b\Man:
man command /向下查找指定内容(Ubuntu)
n向下查找;N向上查找
?向上查找指定内容
Linux的目录结构
树状结构;一切文件都在根下
储存设备必须挂载才能使用;
fdixk 划分磁盘分区
/dev/sda1
/dev 设备文件存放路径
sd 代表磁盘类型
df -h 查看磁盘挂载情况
mkfs 创建文件系统(格式化)
mount 实现磁盘挂载
umount 卸载磁盘
/etc/fstab :
通过命令行挂载得到的磁盘是临时的
dd 创建虚拟磁盘
dd if=/dev/zero of=/root/名 bs=1024k count=10 (使用dd创建虚拟磁盘是必须用zero)
fdisk (磁盘文件)— 做磁盘分区
sd — scsi类型的磁盘(hd IDE)
a — 第一块磁盘(b,c…)
1 — 第一个分区(2,3,4…)
Linux的主要目录
/
/bin 存放命令文件
/boot 存放系统启动文件(内核、grub程序)
/cdrom 光盘目录
/dev 存放设备文件
/etc 大部分的系统配置文件(c字符设备、d块设备)
/home 普通用户的家目录
/lib /lib64 库文件(.so结尾的文件)
/lost+found 非正常关机下的碎片文件(空磁盘挂载上来,默认就会有这个目录)
/mnt /media 专门提供挂载的挂载点
/opt 第三方软件的安装目录
/proc /sys 进程、系统目录(默认是空的,只有启动后才会存放对应进程和系统文件)
/root root用户的家目录
/sbin 存放命令的目录
/tmp 临时文件存放目录
/usr 常见软件安装目录
/var 文件随时会被修改的目录(日志文件)
目录的常见命令
1、查看目录内容
终端使用技巧:
自动补全
ls 查看文件内容;
2、搜索使用过的命令
Ls
文件通配符:
*任意长度的任意字符
?任意一个字符
[]取值范围(只取范围内的一个字符)
sd[abc] — sda sub sdc
[a-f] — sd[a-f] sda adb … sdf
^托字符,指定以某个字符开头
$以某个字符结尾
grep命令(行过滤,查看文件中的匹配,过滤某一行)
grep [选项] [匹配的字符] [对象]
-v 反选
^$ 空白行
-i 忽略大小写
cp -a //携带所有文件属性一块复制
mv (move) //移动文件;修改文件名称
mv /tmp/a /root/
4、文件名扩展
{}
创建目录 姓名-学号 猫南北-001
mkdir{猫南北}-{001}
— 猫南北-001
mkdir{猫南北,狗东西}-{001,002}
— 猫南北-001
猫南北-002
狗东西-001
狗东西-002
5、查看文件内容
cat //一次性查看文件中所有内容
cat /etc/init.d/
more //man命令
/
?
q
less //在更多的情况下,查看大文件,使用less
tail //默认查看倒数10行
-n //tail -n 20 文件名 (简化 -20)
*-f * 不退出文件,实时查看文件内容
head //查看行首
-n //head -n 20 文件名 (简化 -20)
6、其他
echo -e -n
echo $PATH
-n //print("Hello World,end='')print("Hello World'')
print("Hello World,end='')
-e //识别\t\n\r
echo -n -e "Hello World"
重定向 > and >>
fd 文件标识符
0 — 标准输入
1 — 标准输出
2 — 错误输出
程序 = 指令 + 数据
代码 变量
变量里面的数据从何而来?通过代码执行的数据又输出到哪里?
规定:默认标准输入为 — 键盘;默认标准输出为 — 显示器。而重定向就是用来改变输入和输出的
输出重定向
> //覆盖重定向 默认工作中不能使用 set-C 去掉这个功能,同时 > | 可以进行强制重定向(set + C 开启覆盖重定向功能)
> > //追加重定向 //追加重定向在原有的文件上,在添加追加的数据即可;
在Linux中,命令输出除了默认输出结果以外,还返回一个命令执行状态的结果;返回代表命令执行成功,而返回非0则是失败;$?存储上一条命令的执行状态结果;
在工作中,我们往往不需要命令输出的结果,而只需要命令执行的状态,我们就会使用 重定向 将输出结果重定向至 空文件(/dev/null)(cat a.txt > /dev/null)
输入重定向
< 把后面的文件,交给前面的命令来执行;
tr命令,将前面的内容替换为后面的内容
tr abc ABC < a.txt
<<將多行内容同肘輸入,用在cat命令中
cat >>文件<< EOF
>a
>>EOF
错误输出重定向
2> 需要带上fd (文件标识符)
2>> 追加的错误重定向输出
扩展优化:
cat a.txt > /dev/null
cat a.txt 2> /dev/null
&> /dev/null无论命令执行正确与否,都将输出内容指定到/dev/null
&>> [普通文件]
管道
command 1| comand 2| command BI command 4| ..........
将前面的命令的执行结果,输出给后面一条命名执行;
【Linux思想:结合小功能,完成复杂功能】
tail -7 /etc/fstab |cut -d''-f1
cut切
-d指定分隔符 " "
-f取的列 1-3 1,3 1