Linux虚拟机安装及常用命令

Stella981
• 阅读 551

文章目录

  • 一、Linux的安装

  • 1、vm的安装

  • 2、在vm上安装linux操作系统

  • 2、镜像下载地址

  • 3、创建虚拟机

  • 4、设置虚拟机名称、以及存放路径

  • 5、选择镜像路径、设置网络连接模式

  • 6、开启虚拟机,进入安装linux

  • 7、Lnux基本设置

  • 8、安装完成进入命令行。

  • 二、Linux常用命令

  • 1、目录操作

  • 2、文件处理

  • 3、权限管理

  • 4、文件搜索

  • 5、帮助命令

  • 6、用户命令管理

  • 7、压缩命令

  • 8、网络命令

  • 9、关机重启

  • 10、rpm命令管理

  • 11、yum在线管理

  • 12、其他命令

一、Linux的安装

1、vm的安装

首先安装VM、直接百度搜索就行了,注册码到网上找找都有的。

Linux虚拟机安装及常用命令

2、在vm上安装linux操作系统

1、首先去下载linux系统镜像,linux系统有多个版本

CentOS、ReadHat、ubantu等多个版本。建议使用纯命令行的CentOS、ReadHat都可以。有利于加深学习功底。

2、镜像下载地址

Linux 镜像下载地址

3、创建虚拟机

1、创建新的虚拟机

Linux虚拟机安装及常用命令

2、选择稍后添加镜像
Linux虚拟机安装及常用命令

3、选择linux操作系统

Linux虚拟机安装及常用命令

4、设置虚拟机名称、以及存放路径

Linux虚拟机安装及常用命令

5、选择镜像路径、设置网络连接模式

Linux虚拟机安装及常用命令

6、开启虚拟机,进入安装linux

按Enter就可以了,然后等待加载

Linux虚拟机安装及常用命令

7、Lnux基本设置

  • 选择语言。
  • Linux虚拟机安装及常用命令
  • 一些基本初始化

Linux虚拟机安装及常用命令

  • 网络主机这里一定要设置,不然会影响后面的远程连接

Linux虚拟机安装及常用命令

8、安装完成进入命令行。

二、Linux常用命令

1、目录操作

=目录操作======
mkdir: 创建目录
  -p : 递归的创建目录 也就是可以创建多层目录
  一次创建多个目录: mkdir {a,b,c,d,e,f}
  一次创建 a b c d e f多个目录。
rmdir:删除一个空文件夹
cp:复制文件或者文件夹

-a =-pdr
  -p 同时复制文件属性,比如修改日期
  -d 复制时保留文件链接
  -r: 复制文件夹时,递归复制子文件夹
  -l 不复制,而是创建指向源文件的链接文件,链接文件名由目标文件给出。
  note:可以在拷贝的同时重命名
mv:移动文件或者文件夹,可以在移动的时候重命名

rm :删除文件或者文件夹
  -r:递归删除
  -f:强制删除 即没有提醒

2、文件处理

文件处理命令========
ls :查看文件
  -l 以列表形式查看
  -h 以一种人性化的方式查看,也是文件的大小以合适的单位显示
  -a 查看所有文件,包括隐藏文件
  -i 显示出文件的i节点号
touch 文件名:创建文件 可以一次创建多个文件,以空格隔开

cat :查看文件内容
  -n:带行号
tac:反向显示文件内容

more:分页查看文件内容
  进入浏览模式后:
  f或者空格:下一页
  enter:一行一行往下翻
  q:退出

less:查看文件内容
  空格翻页
  回车换行
  pageup:上一页
  pagedown:下一页
  上箭头:向上翻
  下箭头:向下翻
  /搜索词 n向下找

head -n 文件名 :查看文件前n行。缺省-n显示前10行
tail -n 文件名 :查看文件的末尾几行
  -f :动态显示文件末尾内容

ln:链接命令
  -s创建软连接
  硬链接和cp -p的区别是硬链接会同步更新
  源文件如果丢失,硬链接依然存在。
  硬链接和源文件的i节点相同。
  硬链接不能夸分区,软连接可以跨分区。
  硬链接不可以链接目录,链接可以
  软连接文件具有的权限是ugo都是rwx

3、权限管理

======权限管理命令
chmod:修改文件或目录的权限,只有root和所有者可以更改
  [{ugoa}{±=}{rwx}] [文件或目录]
  [mode=421] [文件或目录]
  -R 递归修改
  权限的数字表示:
  r->4
  w->2
  x->1

例:chmod u+x a.txt
    chmod g+w,o-r a.txt //同时做多个权限的修改
    chmod g=rwx a.txt
    chmod 640 a.txt
    chmod -R 777 testdir //把目录和下面所有文件的权限

针对文件        针对目录
    r   读权限    可以查看文件内容   可以列出目录中的内容
    w   写权限    可以修改文件内容    可以在目录中创建、删除文件
    x   执行权限 可以执行文件      可以进入目录

chown:更改文件所有者,只有root可以更改
  chown root a.txt//把a.txt更改为root所有

chgrp:更改所属组
  chgrp lambrother fengjie //把fengjie的所属组更改为lambrother

umask -S:查看创建文件的缺省权限,即默认权限
umask 023:修改文件的缺省权限为777-023=754。即rwxr-xr–

4、文件搜索

=文件搜索命令====================
find:搜索制定范围内的文件
  find [搜索范围] [匹配条件]
  -name 按文件名搜索
  -iname 根据文件名查找,不区分大小写
  -size +n大于 -n小于 n等于 这个n是数据块,在Linux中一个数据块是512字节大小
  -user 根据所有者查找
  -group 根据所属组查找
  根据文件属性查找:
    -amin 访问时间 access
    -cmin 根据文件属性被修改的时间 change
    -mmin 根据文件内容被修改的时间 modify
  例: find /etc -cmin -5 :查找/etc目录下五分钟内被修改过属性的文件和目录

-a 两个条件同时满足
    find /etc -size +10 -a -size -50
  -o 两个条件满足一个即可

-type
    f 文件 d 目录 l软连接文件
  -inum 根据i节点查找

对找到的结果进行操作
    -exec或者-ok 命令 {} ;
    例如:
      find /etc -name init* -exec ls -l {} ; 对找到的文件名按列表查看

find /etc -name init :搜索目录/etc下面所有的init文件,精确匹配,包括子目录中的init文件
  find / -size +204800 搜索大于100M的文件

locate:(查找速度非常快,因为它维护了一个文件库。缺点就是新建立的文件没有很快收录到文件库)
  locate 文件名
  updatedb 更新locate的文件资料库 文件资料库不收录/tmp下的文件
  -i 不区分大小写

which :查找命令的目录以及别名
  which 命令

whereis :搜索命令所在目录及帮助文档路径。

grep:在文件中搜寻字符串匹配的行并输出,多个文件以空格隔开。
  -i不区分大小写
  -v排除指定字符串
  -E 以正则表达式的方式搜索
  -F 以普通文本的方式搜索
  -n 显示搜索到的内容在文件中的行号。

5、帮助命令

帮助命令====
man:查看命令或者配置文件的帮助信息
  man 命令/配置文件
  在手册里面,可以输入/要查找的str
  man ls
  man services
  man fstab //直接输入配置文件的名字,而不需要使用绝对路径 重点查看name选项和配置文件的格式。
  如果一个命令即使命令又是配置文件,那么可以使用一个序号进行区分,比如:
  man 1 passwd 查看命令passwd的帮助
  man 5 passwd 查看配置文件passwd的帮助

whatis 命令:得到命令的简要信息

apropos 配置文件名:查看配置文件的简短信息

命令 --help:查看命令的选项。

help 命令:查看shell内置命令的帮助信息。 shell内置命令是没有命令路径。不能使用man查看帮助。

6、用户命令管理

=用户管理命令========================
useradd: 添加用户
  useradd 用户名

passwd: 修改用户密码
  passwd 用户名 不加用户名直接更改自己的密码

who:查看当前的账户 显示的格式为: 登录用户名 登录终端(tty:本地登录 pts:远程终端) 登录时间 ip地址

w:查看更详细的用户登录信息。

7、压缩命令

=========压缩解压缩命令
.gz格式
  压缩:gzip 文件名 只能压缩文件不能压缩目录,压缩完源文件也不见了
  解压缩:gunzip/gzip -d 压缩包名称

tar:
  -zcvf 压缩后文件名 打包的目录 :生成.tar.gz文件 注:这个命令先用tar归档,然后把归档的包压缩成.gz
  -zxvf 要解压的文件名 :解压缩.tar.bz2的文件

-jcvf 压缩后的文件名 打包的目录:生成.tar.bz2 注:这个命令先用tar归档,然后把归档的包压缩成.bz2
  -jxvf 要解压的文件名 :解压.tar.bz2的文件

zip:
  zip -r 压缩生成的文件名 要压缩的目录
  zip 压缩生成的文件名 要压缩的文件。

unzip:
  unzip 要解压缩的文件

bzip2:
  bzip2 -k 要压缩的文件名 -k选项:保留源文件
  bunzip2 -k 要解压的文件名 -k选项:保留压缩包

8、网络命令

=网络命令============
write:给在线用户发送信息,用户不在线不行。以Ctrl+D保存
  write 用户名

wall:给所有用户名发送信息
  wall 要发送的信息

ping:测试网络连通性

ping ip地址
  -c 要ping的次数

ifconfig:
  直接回车查看当前网卡信息
  ifconfig 网卡名 ip地址 临时修改网络ip
    ifconfig th0:0 192.168.1.100 netmask 255.255.255.0
      给th0这个网卡新添加一个ip
    ifconfig eth0:0 down
    ifconfig eth0:0 up
ifdown th0
  禁用th0这块网卡

ifup th0
  开启th0这块网卡

mail:邮件命令
  mail 要发送的用户名
  mail 直接回车:查看命令
    help :查看支持的命令格式
    输入序列号:查看邮件详细内容
    h: 回到邮件列表
    d 序列号:删除序列号对应的邮件

last:统计计算机所有用户登录的时间信息,以及重启信息
lastlog:所有用户最后一次登录的时间
  -u 用户的uid 查看指定用户的登录信息。

traceroute:显示数据包到主机间的路径
  traceroute 要探测的地址.
  -n 使用ip而不使用域名

nslookup www.baidu.com
  查看百度的ip地址

netstat:显示网络相关信息
  -t :tcp协议
  -u :udp协议
  -l:监听
  -r:路由
  -n:显示ip地址和端口号

netstat -tlun:查看本机监听的端口
  netstat -an:查看所有的监听信息
  netstat -rn :查看路由表,即网管

wget 文件地址
  下载文件

service network restart:重启网络服务。

telnet 域名或ip
  远程管理与端口探测
  如: telnet 192.168.2.3:80
    探测192.168.2.3是否开启了80端口

mount:挂在命令
  mount -t iso9660 /dev/sr0 /mnt/cdrom :把sr0挂在到cdrom

9、关机重启

关机重启命令======

shutdown:这个关机命令更安全一些,不推荐使用其他关机命令。
  -h:关机
shutdown -h now shutdown -h 20:30
  -r:重启
shutdown -r now
  -c:取消上次的关机命令

重启:
  init 6
  reboot

关机:
  init 0
  poweroff

系统运行级别:
    0 关机
    1 单用户 类似windows安全模式
    2 不完全多用户,不含nfs服务
    3 完全多用户
    4 未分配
    5 图形界面
    6 重启
  可以通过查看/etc/inittab来查看系统启动的运行级别
  runlevel:查看当前的运行级别
  init n:设置系统运行级别

logout:退出当前用户,返回到登录界面

10、rpm命令管理

=rpm命令管理-包命名与依赖性===========================

  1. RPM包命名原则
    httpd-2.2.15-15.el6.centos.l.i686.rpm
        httpd 软件包名
        2.2.15 软件版本
        15 软件发布的次数
        el6.centos 适合的Linux平台
        i686 适合的硬件平台
        rpm rpm包扩展名
        如果名字里有noarch,则表示所有平台都可以。

2、 rpm包依赖性
    树形依赖: a->b->c 从后往前安装所依赖的包。
    环形依赖: a->b->c->a 解决办法:一次性安装三个包
    模块依赖:模块依赖查询网站 :www.rpmfind.net 一般以.so.数字结尾的依赖包,是库依赖包,只需要安装包括这个库的软件就可以自动安装好这个所需的库依赖包

包全名:操作的包是没有安装的软件包时,使用包全名,而且要注意路径。安装、升级时用
包名 :操作已经安装的软件包时,使用包名。是搜索/var/lib/rpm中的数据库。一般查询,卸载时用

  1. rpm安装:
    rpm-ivh 包全名
        -i(install) 安装
        -v(verbose) 显示详细信息
        -h(hash) 显示进度
        --nodeps 不检测依赖性 一般都必须要检测

  2. rpm包升级:
    rpm -Uvh 包全名
        -U(upgrade) 升级
        -h

  3. rpm -e 包名
    -e(erase) 卸载
      --nodeps 不检查依赖性

  4. 查询是否安装
    rpm - q 包名 :查询包是否安装
        -q(query) 查询
        -a(all) 所有
        -i(information) 查询软件信息
        -p(package) 查询未安装包信息
      rpm -ql 包名:查询包中文件安装位置(list) 注:包的安装路径在包生成的时候就确定了
      rpm -qlp 包全名:查询未安装包安装时会安装在哪里。
      rpm -qf 系统文件名 :查询系统文件属于哪个rpm包 注:系统文件名必须是通过安装哪个包生成的文件
        -f:查询系统文件属于哪个包
      rpm -qR 包名 查询已安装软件包的依赖性
        -r: 查询软件包的依赖性(requires)
      rpm -qRp:查询未安装包的依赖性
        -p: 查询未安装包的依赖性

例如:
      rpm -qa | grep httpd 查询所有Apache的包

  1. rpm包校验
    rpm -V 已安装的包名 :如果没有提示则表示没有被修改过
        -V 校验指定rpm包中的文件(verify)
        校验值的含义:
          S:文件大小是否改变
          M:文件的类型或文件的权限(rwx)是否被改变
          5:文件MD5校验和是否改变(可以看成文件内容是否改变)
          D:设备的中,从代码是否改变
          L:文件路径是否改变
          U:文件的属主(所有者)是否改变
          G:文件的属组是否改变
          T:文件的修改时间是否改变

  2. rpm包中文件提取:
    rpm2cpio 包全名 |
      cpio -div .文件绝对路径

rpm2cpio:讲rpm包转换为cpio格式的命令
  \表示命令没有输完,在下一行继续输入
  cpio:是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件
  cpio 选项 <[文件|设备]
    -i copy-in模式,还原
    -d:还原时自动新建目录
    -v:显示还原过程

例如:
    rpm -qf /bin/ls #查看ls命令属于哪个包
    mv /bin/ls /tmp #将ls命令移走
    rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.el6.i686.rpm | cpio -idv ./bin/ls #提取rpm保重ls命令到当前目录的/bin/ls下
    cp /root/bin/ls /bin/ #把ls命令复制到/bin/目录,修复文件丢失

11、yum在线管理

yum在线管理:
一、 ip地址配置
第1步:setup:使用图形界面配置ip地址
第2步:vi/etc/sysconfig/network-scripts/ifcfg-eth0 把ONBOOT="no"改为ONBOOT=“yes” #启动网卡
第3步:service network restart :重新启动网络服务。

二、网络yum源

  1. yum源位置:/etc/yum.repos.d/CentOS-Base.repo,这个是默认的网络yum源
    [base] 容器名称,一定要放在[]中
      name 容器说明,可以自己随便写
      mirrorlist 镜像站点,这个可以注释掉
      baseurl 我们的yum源服务器的地址,默认是CentOS官方的yum源服务器,是可以使用的,如果你觉得慢可以改成你喜欢的yum源地址
      enabled 此容器是否生效,如果不写或写成enable=1都是生效,写成enable=0就是不生效
      gpgcheck 如果是1是指rpm的数字证书生效,如果是0则不生效
      gpgkey 数字证书的公钥文件保存位置。不用修改。

  2. yum命令
    yum list :获取服务器上所有可用的软件的列表
      yum search 关键字:搜索服务器上所有和关键字相关的包
      yum -y install 包名:安装软件包
        install:安装
        -y:自动回答yes
      yum -y update 包名:升级软件包
        update:升级
        -y:自动回答yes
        如果没有包名,就会升级所有的软件包,包括Linux内核。慎用
      yum -y remove 包名
        remove:卸载
        -y:自动回答yes
        注:yum会自动卸载依赖包,而很有可能这个依赖包也被别的包依赖,所以很危险,慎用。

yum grouplist:列出所有可用的软件组列表
  yum groupinstall 软件组名:安装指定软件组,组名可以由grouplist查询出来 注:如果查询出来的软件组名中间有空格,要使用""引起来。
  yum groupremove 软件组名:卸载指定软件组

  1. 光盘yum源
    1. 挂在光盘 mount /dev/sr0 /mnt/cdrom
        2) 让网络yum源文件失效
          cd /etc/yum.repos.d/
          mv CentOS-Base.repo CentOS-Base.repo.bak
          mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak
          mv Centos-Vault.repo Centos-Vault.repo.bak
        3) 修改光盘yum源文件
          vim CentOS-Media.repo
          [c6-media]
          name=CentOS-$releaserver -Media
          baseurl=file:///mnt/cdrom
          #地址为你自己的光盘挂载地址

​ #file:///media/cdrom/
  
  ​ #file:///media/cdrecorder/

#注释这两个不存在的地址
    gpgcheck=1
    enabled=1 #把enabled=0改为enabled=1,让这个yum配置文件生效
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

注意:注释配置行的时候,#符号一定要写在开头,不要随便在配置文件某一行后面加注释,也不要随便加空格。

12、其他命令

其他命令

du -sh 文件名

ps 静态查看系统进程,系统默认安装
  ps -aux 使用BSD语法查看所有进程
  ps -ef 标准语法查看所有进程
    UID 程序被该 UID 所拥有
    PID 就是这个程序的 ID
    PPID 则是其上级父程序的ID
    C CPU 使用的资源百分比
    STIME 系统启动时间
    TTY 登入者的终端机位置
    TIME 使用掉的 CPU 时间。
    CMD 所下达的指令为何
  ps -aux --sort -pcpu,-pmem
    根据CPU占用情况和内存占用情况来显示进程
  watch -n 1 ‘ps -aux --sort -pcpu,-pmem’
    每隔1秒监控一次进程情况

top 动态查看系统的状态

lsof -Pti :8000
  通过端口号获得进程pid

kill -9 pid
  杀死指定pid的进程,强行杀死。

history
  查看历史命令

执行历史命令
  !! 执行上一条命令
  !n 执行历史命令的中第n条
  !-n 执行导数第n条
  !string 执行以string开头的历史命令行
  !?string? 执行包含string的历史命令行

alias
  给命令起别名

alias 命令=‘别名’
  alias -p 查看已存在的别名

unlias
  取消别名
  unlias name

cal
  查看某一年的日历,可以是1-9999中的任意一年
  cal 88

zcat
  查看压缩包中的内容

sed -i ‘s#old#new#g’ 文件名
  使用new替换文件中的old

ssh root@192.168.8.15 “ifconfig”
  远程执行命令

bash -x 脚本名
  调试脚本

centos6上的三个网络配置文件
  /etc/sysconfig/network-scripts/ifcfg-etho
  /etc/sysconfig/network
  /etc/resolv.conf # dns

有关如何在linux上安装mysql7.5-linux数据库,参考mysql的安装

https://blog.csdn.net/qq\_40749830/article/details/106945816

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
2年前
Java获得今日零时零分零秒的时间(Date型)
publicDatezeroTime()throwsParseException{    DatetimenewDate();    SimpleDateFormatsimpnewSimpleDateFormat("yyyyMMdd00:00:00");    SimpleDateFormatsimp2newS
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这