Linux系统的安装、启动及简单的命令使用

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’);

                   m abc ;/bin/rm abc;

                  -r 删除目录文件

                  clear //清屏 = ctrl + l

 

扩展一下:

1、默认情况下不使用rm删除目录 — rmdir(rmdir只能删除空目录)

2、我们将需要删除的文件或目录移动到/tmp目录(/tmp目录为临时文件目录,30天未被访问的文件会自动删除)

3、如果必须删除一些文件,我们通过find匹配出来后,再行删除(find扩展:find / -name abc | xargs rm;find / -name abc -exec rm{}。

 

查询帮助信息

命令分类:

                  1、内部命令 help Command

                  2、外置命令 Command --help或者Command -h

                  bMan:

                  man command /向下查找指定内容(Ubuntu)

                  n向下查找;N向上查找

                  ?向上查找指定内容

 

Linux的目录结构

树状结构;一切文件都在根下

                  储存设备必须挂载才能使用;

                  fdixk 划分磁盘分区

                  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 忽略大小写 

 

 

 

3、拷贝和移动文件

                  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 //识别

                  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

 

 

 

 

 

 

【Linux下,一切皆文件】

原文地址:https://www.cnblogs.com/sanshenghepan/p/11285256.html