欢迎光临散文网 会员登陆 & 注册

Linux14天入门丨老男孩IT教育

2021-09-21 22:29 作者:无双小骏  | 我要投稿

虚拟机的安装所需要的软件

1.VMware Workstation Pro

2.CentOS7

3.Xshell7(可有可无)

linux虚拟机的安装

1.创建新的虚拟机

2.典型(高手选自定义)

3.稍后安装操作系统

4.客户安装系统:linux

5.版本:Red Hat Enterprise Linux 7 x 64

6.虚拟机名称自定义

7.位置自定义

8.硬盘大小默认即可

将虚拟磁盘拆分成多个文件

9.编辑虚拟机设置

10.CD/DVD(SATA)

11.使用ISO映像文件下,地址为CentOS7的路径

基本设置

CPU的总数不能超过宿主机的总数

虚拟机的内存不要超过物理内存数量

硬盘分为虚拟文件和本地磁盘,建议虚拟文件,方便备份与迁移

网络设置

桥接:虚拟机网络和真机在同一网格,虚拟机与真机设置同一个ip

NAT(网络地址转化):虚拟机上网需要真机辅助才能使上网,虚拟机待定网络,上网走NAT模式,就是说虚拟机把数据包传给真机,真机经过处理后再发出去,然后再回来。

局域网模式:在真机上创建一个局域网,把所有的虚拟机放到局域网里运行即可,但是不能上外网。

快照管理

快照就是虚拟机的还原点,也就是说虚拟机运行到一个阶段后保存一个快照,如果下次虚拟机坏了可以还原到之前的这个点,快照可以新建恢复与删除,相当于存档。

克隆

克隆的好处就是只要点一下克隆就会直接复制出一个虚拟机,一个是虚拟机克隆一个是快照克隆。

点击虚拟机(M),点击管理(M),点击克隆(C),可以从当前虚拟机的状态或快照状态克隆,链接克隆是对原始虚拟机的引用,相当于一个链接方式,用处不大,好处是占用空间少,要想一个虚拟机用作两个虚拟机使用就选完整克隆。克隆可以让我们短时间内拥有大量的虚拟机。

开启虚拟机后

Install CentOS7 是指安装Centos 7系统

Test this modia & install CentOS 7 是指测试光盘并安装CentOS 7系统(不放心的话可以测试一下)

Troublesshooting 是指故障修复系统

下载语言建议选择中文

系统里有个安装位置(D)点进去之后再退出即可,退出之后就看到感叹号消失,里面可以选择自动分区与手动分区,新手建议之间选自动分区,如果不是新手选择手动分区,那么点击后完成会进入手动分区的界面,先建立一个200M的/boot,boot是用来放启动文件的,这个是标准分区,xfs。然后再建立一个4个G的swap,是虚拟内存,一般来说是内存的二倍,并不能当真是内存。再创建一个/,这个是根,剩下的容量都给这个根。然后点完成后接受更改。

软件选择(S)是图形界面,对于新手而言建议安装,初学者建议选上里面的待GUI的服务器。

KDUMP是内核崩了的时候会把崩的信息存储再这里,不太需要,关闭即可。

网络的主机名是用来设置IP地址的,主机名自定义,可以设置为:node1.jesus.com,在配置里可以取手动设置速度,也可以选择忽略让他自己取运算,然后点击IPv4去添加IP地址,纯小白直接点击自动(DHCP)。不断开链接,点打开。

安全链接也可以关掉。

然后设置ROOT密码,最低六位,自己设置。

VMware Tools种包含一系列服务和模块,可以在使用VMware Tools产品种实现多种功能,从而使用户更好地管理客户端,如果安装的linux版本是7,那么就自动安装上了。7以下的版本需要自己手动安装。

如何判断自己是否安装了VMware,可以通过在linux桌面上创建一个文件夹,测试是否可以从虚拟机上拖到windows上。同时也可以从windows上拖到linux上。或者单机虚拟机会看到重新安装VMware tools

linux可以用圖形界面也可以用文本界面

linux有兩種圖形界面,一種叫Gnome,一種叫KDE

個人版的linux一般是圖形界面,服務器一般而言是文本界面,因爲服務器連顯示器都沒有,且圖形界面比文本界面更加浪費資源。

文本界面友好度比較差,上手的話需要懂得linux命令、命令行操作、節省資源。

前期建議小白先使用圖形界面,熟悉了之後再選擇文本界面。

界面切換(圖形界面與文本界面的切換)

圖形頁面也提供了輸入命令的接口,也就是終端。

終端:用戶和計算機進行命令交互的窗口,類似於windows cmd窗口

【儅發現輸入密碼進入不了,思考一下自己的密碼是否有數字,在linux的終端下默認小鍵盤是關閉狀態,無法使用小鍵盤】

ctrl + l 清屏

確保計算機有網:ping +網站

照貓畫虎環節:

yum grouplist

yum -y groupinstall "KDE Plasma Workspaces"

KDE的桌面(原來那個桌面叫Gnome桌面)

linux目錄介紹(設計思想)

linux認爲程序應該是小而專一,程序儘量小,且只專注於一件事情上。

程序不要考慮性能,程序的可移植性更重要。

一切皆文件,盡量使用文本來存儲數據,避免使用二進制文件,因爲文本文件可讀性強,且已經有很多工具來處理,eg:awk,sed,grep等

每個程序都成爲過濾器,程序需要與其他工具一起配合使用,管道的支持是非常重要的

任何的程序都需要考慮被批處理執行。盡量避免强制用戶交互或界面

linux常用目錄介紹(類似於倉庫)

boot 存放啓動文件

dev 存放設備文件(光驅、硬盤)

etc 存放配置文件

home 普通用戶家目錄,以/home/$userbane的方式存放(eg:張三,home下的張三,李四,home下的李四)

opt 三方軟件安裝目錄(類似於windows下的c盤)

proc 内存系統文件

root 管理員家目錄

run 裏賣弄的東西是系統運行時需要的,不能隨便刪除,但是重啓的時候應該抛棄,下次系統運行時重新生成

tmp 臨時文件夾(類似於回收站,有一個特殊屬性,誰放的誰刪,大家都可以往裏放)

usr 存放庫文件、文檔、命令、用戶數據等

var 日志存放

lib 庫文件

media 移動存儲自動挂載目錄,以/media/$device_name的方式來存放

mnt 手動挂載記錄

Linux命令格式

命令[命令選項][参数]

eg:ls -a /tmp 等价于 ls --all /tmp

ls 是命令 -a是命令选项,简写用-,全写用--(多个命令的情况下可以共用一个减号) /tmp是参数

命令选项有两种写法,一种是简写,一个-加上首字母就好,全写是两个-,加上全称

命令选项和命令,命令选项和参数之间要加空格

linux命令分为:

内部命令:内部命令linux内核自带的,执行效率高

外部命令:外部命令需要安装以后才能使用,但是系统默认已经为你安装了很多外部命令供大家使用

使用type命令来区分命令是内部还是外部命令:

[jesus@node1 ~]$ type type

type 是 shell 内嵌

[jesus@node1 ~]$ type ls

ls 是 `ls --color=auto' 的别名

[jesus@node1 ~]$ type clear

clear 是 /usr/bin/clear

[jesus@node1 ~]$ type open

open 是 /usr/bin/open

如果反馈是shell内嵌,那就是内部命令,如果不是则是外部命令。(使用率低,作参考时会用到)

外部命令放在那里呢?

echo 是打印输出的意思,外部命令在/usr下

/usr/local/sbin

/usr/local/bin

/usr/sbin

/usr/bin

区别:bin的命令任何人都可以使用,sbin的命令称为特权命令,只能管理使用


linux基本命令

1.清屏命令:clear 快捷键:ctrl + l

2.帮助命令:man

3.进入文件夹命令:cd

4.列出当前目录内容命令:ls [-a -l -d]

5.显示主机名:hostname

6.显示日期时间:date [-s %F]

7.显示日历:cal

8.计算器:bc

9.重启命令:reboot

shutdown -r (管理员才能用)

init 6 (管理员才能用)

10.注销命令:logout

11.关机命令:halt

shutdown -h (管理员才能用)

init 0 (管理员才能用)

12.显示当前操作系统和机器的信息:uname

13.显示当前路径:pwd

黑色的代表文件

蓝色的代表文件夹

绿色的代表可执行文件

ls -F 文件后加/显示

ls -x 按水平对齐方式列出档案

ls -m 以","隔开档案

ls -t 按时间排序档案

ls -a 显示隐含档案

ls -l 显示详细信心,此命令等同于ll

ls -d 显示目录而不是其内容

ls -h 以K、M、B的形式进行显示

用date可以来查看时间

用cal可以查看年月(查看某一年的月时月在前,年在后) cal 10 1582

用uname显示系统

用uname显示完整的系统

用bc来打开计算机进行计算

用exit来退出


文件管理

新建:touch命令

删除:rm命令

改名:mv命令

查看:ls命令


touch命令

新建文件和修改文件或者文件的时间戳

语法命令:touch 【选项】 【文件名】

touch的两个作用:一个是创建文件,一个是修改文件的3Time

eg:创建一个名为123的文件(创建多个文件用空格隔开)

[root@node1 桌面]# touch 123 456 789 

[root@node1 桌面]# ls

123 456 789

创建的文件在Linux是如何存储的呢?

两部分,文件的源数据存在i节点(indoe)里,文件的数据存在block块上,我们可用通过stat查看存储的数据。

三Time分别为atime mtime ctime

最近访问:2021-09-22 21:50:53.049080097 +0800

最近更改:2021-09-22 21:50:53.049080097 +0800

最近改动:2021-09-22 21:50:53.049080097 +0800


atime是最近访问。当我们打开这个文件后,最近访问就会更新成你打开的那个时间点。

可以用gedit来打开123这个文件,gedit是个图形编辑器,类似于windows里的文本框。

最近访问:2021-09-22 21:58:35.761088373 +0800

最近更改:2021-09-22 21:50:53.049080097 +0800

最近改动:2021-09-22 21:50:53.049080097 +0800

此时可以发现atime发生了改变,这就是atime。


mtime是最近更新。在123这个文件里加入文字,文件的内容是发生了变化,也就会导致mtime变化。

最近访问:2021-09-22 22:05:40.111550184 +0800

最近更改:2021-09-22 22:05:40.114550146 +0800

最近改动:2021-09-22 22:05:40.115550134 +0800


ctime是最近改动。文件发生变化,i节点就会发生变化,i节点发生变化ctime就会放生变化。例如我们修改文件的名字,i节点就会发生变化。

最近访问:2021-09-22 21:58:35.761088373 +0800

最近更改:2021-09-22 21:50:53.049080097 +0800

最近改动:2021-09-22 22:02:37.396881982 +0800

找到123这个文件右击改名后观察ctime的值会发生变化。


此时我们发现不仅mtime发生变化,ctime和atime都发生了变化。因为输入了内容之后文件的大小发生了变化,所以i节点也发生了变化,所以ctime也发生了变化,而修改文件需要打开文件,所以文件的atime也发生了变化。

touch的命令选项

- a会修改文件的access(访问)时间

eg: touch -a mini

- c不会创建不存在的文件

eg: touch -c mini

- d使用指定的时间,而非现在的时间,可以修改3time的年月日。但是不能修改ctime,因为你动人家的mtime和atime了。

eg: touch -d 2018-10-10 mini

- m指定更改时间(将更改时间,也就是将mtime恢复当前时间)

eg: touch -m mini

- ffile使用指定file文件的时间戳(相当于复制,只复制时间,不复制内容)

eg: touch -f mini hope

- t将时间修改为参数指定的日期(注意没有年份)

eg: touch -t 01290700 mini

刪除文件:rm命令

命令语法:rm name...

命令选项:-i 删除前逐一询问确认

[root@node1 桌面]# rm -i 456

rm:是否删除普通空文件 "456"?y

-f 即使原档案属性设为只读,亦直接删除,无需逐一确认

[root@node1 桌面]# rm -f 789

-r 将目录及以下之档案亦逐一删除

文件改名:mv命令

mv old_file new_file

[root@node1 桌面]# mv hope viper

文件查看

- 普通文件

[root@node1 桌面]# ls -l

总用量 4

-rw-r--r--. 1 root root 0 9月 22 22:26 01290700

-rw-r--r--. 1 root root 0 9月 22 22:19 2011-8-5

-rw-r--r--. 1 root root 0 9月 22 22:18 2059-8-5

-rw-r--r--. 1 root root 20 9月 22 22:30 mini

-rw-r--r--. 1 root root 0 9月 22 22:26 t

-rw-r--r--. 1 root root 0 9月 22 22:23 viper

d 目录

l 链接文件

[root@node1 /]# ls -l

总用量 32

lrwxrwxrwx.  1 root root   7 9月 21 16:39 bin -> usr/bin

dr-xr-xr-x.  5 root root 4096 9月 21 16:49 boot

drwxr-xr-x. 20 root root 3340 9月 22 22:41 dev

drwxr-xr-x. 149 root root 12288 9月 23 23:07 etc

drwxr-xr-x.  3 root root  19 9月 21 17:36 home

lrwxrwxrwx.  1 root root   7 9月 21 16:39 lib -> usr/lib

lrwxrwxrwx.  1 root root   9 9月 21 16:39 lib64 -> usr/lib64

drwxr-xr-x.  2 root root   6 4月 11 2018 media

drwxr-xr-x.  2 root root   6 4月 11 2018 mnt

drwxr-xr-x.  3 root root  16 9月 21 16:43 opt

dr-xr-xr-x. 273 root root   0 9月 22 21:43 proc

dr-xr-x---. 19 root root 4096 9月 22 21:50 root

drwxr-xr-x. 44 root root 1340 9月 23 23:09 run

lrwxrwxrwx.  1 root root   8 9月 21 16:39 sbin -> usr/sbin

drwxr-xr-x.  2 root root   6 4月 11 2018 srv

dr-xr-xr-x. 13 root root   0 9月 22 21:43 sys

drwxrwxrwt. 25 root root 4096 9月 23 23:08 tmp

drwxr-xr-x. 13 root root  155 9月 21 16:39 usr

drwxr-xr-x. 21 root root 4096 9月 21 22:07 var

b 设备文件(dev下:实实在在存在的设备,硬盘)

c 字符设备(在dev文件下,虚拟设备)

s 套接字文件

p 管道文件

linux文件颜色意义

绿色文件:可执行文件,可执行的程序

红色文件:压缩文件或者包文件

[root@node1 桌面]# ls

01290700 2011-8-5 2011-8-5.tar.gz 

2059-8-5 mini t viper

蓝色文件:目录

白色文件:一般性文件,如文本文件,配置文件

浅蓝色文件:链接文件,主要是使用ln命令建立

红色闪烁:表示链接的文件有问题

黄色:表示设备文件

灰色:表示其他文件


移动(mv)

文件移动

命令语法:mv 源文件或目录 目标文件或目录(如果目标是系统中的某个目录,则执行移动,如果目标是不存在的目录,则执行改名)

命令选项

-b:若需覆盖文件,则覆盖前先行备份。

[root@node1 桌面]# touch mom

[root@node1 桌面]# cd family

[root@node1 family]# touch mom

[root@node1 family]# cd ..

[root@node1 桌面]# mv -b mom family

mv:是否覆盖"family/mom"? y

[root@node1 桌面]# cd family

[root@node1 family]# ls

mom mom~

-i :若制定目录已有同名文件,则先询问是否覆盖旧文件。

[root@node1 family]# ls

dad daughter daughter~ mom mom~ son

[root@node1 family]# cd ..

[root@node1 桌面]# ls

family

[root@node1 桌面]# touch dad

[root@node1 桌面]# mv -i dad family

mv:是否覆盖"family/dad"? y

[root@node1 桌面]# cd family

[root@node1 family]# ls

dad daughter daughter~ mom mom~ son

[root@node1 family]# 

-f :force强制的意思,如果目标文件已经存在,不会询问而直接覆盖

[root@node1 family]# touch son

[root@node1 family]# cd 

[root@node1 桌面]# touch son

[root@node1 桌面]# mv -f son family

[root@node1 桌面]# cd family

[root@node1 family]# ls

dad mom mom~ son

[root@node1 family]# cd ..

[root@node1 桌面]# ls

family

-u :若目标文件已经存在,且source比较新,才会更新(不仅根据mtime,还根据ctime)


拷贝(cp)

命令语法:cp 源文件或目录 目标目录

-a 复制目录时使用

-d 复制时保留链接

-f 复制已存在的目标文件而不该出提示

-i 与 -f选项相反,在复制已存在的目标文件该处提示

-p 除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。

-r 若给出的源文件是一个目录文件,此时将复制改目录下的所有子目录和文件

-l 不复制文件,只是生成链接文件


查看文件的内容

文件查看的命令:cat head tall

cat命令用于链接文件并打印到标准输出设备上,会把所有的文件内容输入到内存,再输出到屏幕上

命令语法:cat 命令选项 对应文件名

常用命令选项:/n:每一行加行号

/b:对于每一行的空行也加行号

head命令用于输出文件的开始部分,cat打印文件的所有内容到屏幕,而head打印文件的前一段文字到屏幕(不规定行数的情况下默认10行)

命令语法:head 命令选项 对应文件名

常用命令选项:/n:打印行数

[root@node1 etc]# head -3 passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

[root@node1 etc]# head -n1 passwd

root:x:0:0:root:/root:/bin/bas

tail命令用于打印文件的末尾部分(不规定行数的情况下默认10行)

命令语法:tail 命令选项 对应文件名

常用命令选项:/n:打印行数

/f:循环读取

/-n + x:从第五行开始打印到最后

目录的创建 mkdir

命令语法:mkdir 选项 目录名

命令选项:-v:显示信息(说白了就是告诉你一声已经创建了目录

-p:递归创建(创建目录下的目录一个一个地创建。

[root@node1 桌面]# mkdir -pv water/a/b/c

mkdir: 已创建目录 "water"

mkdir: 已创建目录 "water/a"

mkdir: 已创建目录 "water/a/b"

mkdir: 已创建目录 "water/a/b/c"

文件的删除 rmdir 删除空目录

命令语法:rmdir 选项 目录名

命令选项:-p 递归删除空目录

-v:显示信息

[root@node1 桌面]# rmdir -pv water/a/b/c

rmdir: 正在删除目录 "water/a/b/c"

rmdir: 正在删除目录 "water/a/b"

rmdir: 正在删除目录 "water/a"

rmdir: 正在删除目录 "water


VIM介绍

gedit是图形界面下的文本编辑器(eg:gedit a.txt)

vim编辑器:它可以执行输出、删除、查找、替换、块操作等众多文本操作。(类似于winodws上右击新建创建写字板)

vim编辑器

命令模式:用户可以输入命令来进行文件存盘、移动光标、删除字符、撤销命令和重复命令等操作,还可以设置vim的编辑环境

插入模式:用来编辑文档,可以删除字符,插入字符。

末行模式:可以进行文件的保存、退出vim、进行查找和替换等操作

替换模式:替换字符

vim使用的格式就是命令+文档

默认的情况下打开文档后光标会停在行首

上下左右分别是k z h l,也可以用小键盘的上下左右

光标回到行首:gg

光标移到末位:G

光标移动到本行末位:end

光标移动到本行开头:home

保存退出:ZZ

粘贴复制:复制一行 yy复制n行,nyy

粘贴 p

删除

删除字符x向后删除X向前删除

删除一行 dd ndd

删除一个单词 dw

撤销

撤销操作 u 向上一步,重复上一次操作

查找

查找(使用斜杠加要查找的内容)/string define \ 转义字符 查找 “/bin/bash”/VbinVbash


用户和组

在linux下有三种用户:root、系统用户、普通用户

(系统用户UID小于1000,普通用户UID大于999。普通用户权限较小,可以登录)

组:其实就是一个用户容器,用来装用户的,无特殊意义

默认情况下,新建用户的同时,系统会创建一个同名组装载该用户

在linux中的每个用户必须属于一个组,不能独立于组外

在linux中每个文件所有者、所在组、其他组的概念

管理员组 普通组

用户是用来登录和管理系统的
















Linux14天入门丨老男孩IT教育的评论 (共 条)

分享到微博请遵守国家法律