Linux

一、Linux操作系统的安装与启动

1.0 常见操作系统

系统    优点    缺点
Windows    适用于绝大部分软件。使用人数最多,图形界面友好。    闭源(不公开源代码),经常打补丁更新,容易被攻击,收费昂贵。
Linux    免费开源(公开源代码供他人学习),安全性公认第一,效率最快,黑客必备,全球Linux 97%服务器安装在Linux系统上    图形界面不友好,一般都是通过cmd小黑窗进行操作。
MacOS    图形界面非常独特,非常高大上,机型轻巧,便于携带,商务必备    闭源,收费昂贵图形界面非常独特,非常高大上,机型轻巧,便于携带,商务必备。
1.1 Linux操作系统简介

Linux 全称GNU、Linux,是免费、自由、开放的操作系统,其内核由林纳斯·托瓦兹于1991年10月发布,主要收到Minix和UNIX思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统,继承了UNIX以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统
1.2 VMware Workstation 和 ISO 镜像的准备

VMware官网
https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html
Ubuntu官网
https://cn.ubuntu.com/
1.3 Linux系统的安装与启动

高手的视频

1_如何安装vmware

 1.4 Linux系统的快照备份与恢复

为防止后期实验造成系统的奔溃和损坏,可以把全新的Linux系统做一个备份,以备不时之需。
依次点击Linux系统所在VMware Workstation窗体工具栏中的“虚拟机(M)”→“快照(N)”→“快照(T)”按钮,“快拍快照”界面,需要填写快照“名称(N)”和“描述(D)”,最后点击“快拍快照(T)”,依次点击Linux系统所在VMware Workstation窗体工具栏中的“虚拟机(M)”→“快照(N)”→“快照管理器(M)”按钮,进行恢复
1.5 Linux系统的基本配置 

Linux打开命令行
方法一:“Ctrl+Alt+T”组合键        方法二:右键→在终端中打开
1.5.1 sudo和su -命令

sudo是Linux系统命令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具
su -命令用于切换账户信息,转换账户时,会被要求输入这个切换账户的密码,如果是root账户切换到其它用户,则不需要输入密码,输入zs用户的口令,登录成功Linux shell命令行提示窗口,能看到这样的字符:root@zhangsan: ~#。其中#代表当前是管理员(root)用户登录,如果是$就表示当前账户为普通用户
zs@zhangsan:~$sudo su - //切换到root用户
[sudo]zs的密码:  //输入zs密码
root@zhangsan:~#  //切换成功
1.5.2 设置主机名

方法一:使用nmtui命令修改主机名,直接终端运行numtui命令
方法二:通过系统自带的hostnamectl工具进行立即生效的主机名修改
zs@MyPC:~$hostnamectl  //查看主机名
zs@MyPC:~$hostnamectl status  //查看主机名
Static hostname:MyPC
zs@MyPC:~$hostnamectl set-hostname testname //设置主机名
zs@MyPC:~$hostnamectl 
Static hostname:testname
zs@MYPC:~$exit
1.5.3 systemctl服务管理命令

systemctl命令及作用对照表
systemctl命令    作用
systemctl start/stop/restart/reload SN    启动/停止/重新启动/重新加载SN服务
systemctl is-active SN    检查SN服务是否处于活动状态
systemctl is-enalbed SN    检查SN服务是否开机自动启用
systemctl status SN    查看SN服务运行状态
systemctl enable/disable SN     设置SN服务开机自动启动/开机不启动
systemctl reboot/poweroff/suspend    重启/关机/待机
例如使用systemctl命令操作系统防火墙服务(ufw.service)
查看系统防火墙服务(ufw.service)开启状态
systemctl status ufw.service
1.5.4 设置ip地址

方法一、通过nmtui命令配置网络,直接在终端输入
方法二、nmcli命令配置网络
Ubuntu通过NetworkManager.service(简称NM)进行网络配置,包括动态和静态IP,此Ubuntu系统必须开启NM,否则无法使用网络。网络配置存储在/etc/NetworkManager/system-connections/目录里
nmcli命令支持tab补全(需要安装bash-completion)也可以在命令最后通过-h、--help、help查看帮助
① 查看ip
nmcli
② 查看connection列表
nmcli connection show
③ 查看connection中ensXX详情信息
nmcli connection show ensXX
④ 添加类型为ethernet,会话名为test,实际网卡为ens40的配置文件
nmcli connection add type ethernet con -name test ifname ens40
//con-name:参数指定配置文件所使用的网络会话名称,如:test
//ifname:指定本机网卡 type:配置网卡类型
⑤ 修改旧“网卡会话NAME”为“网卡新会话”
nmcli connection modify 网卡会话NAME connection.id 网卡新会话
⑥ 修改ens33网卡,配置方式为manual手动,设置静态IP地址、网关、DNS信息
nmcli connection modify ens33 ipv4.addresses 192.168.136.1000/24 ipv4.method manual ipv4.gateway 192.168.136.2 ipv4.dns 192.168.136.2,8.8.8.8
⑦ 为ens33网卡中,增加一个ipv4地址
nmcli connection modify ens33 +ipv4.addresses 192.168.136.101/24
⑧ 为ens33网卡中,减少一个ipv4地址
nmcli connection modify ens33 -ipv4.addresses 192.168.136.101/24
⑨ 删除指定网络ensXX的连接
nmcli connection delete ensXX
⑩ 立即生效connection(三种方法)
nmcli connection up ens33
nmcli device reapply ens33
nmcli device connect ens33
1.5.5 DNS生效顺序

Linux下位置DNS的位置主要有如下3个地方:
① 系统默认DNS服务器地址设置
② 网卡配置文件里面DNS服务器地址设置
③ hosts文件指定
而DNS的生效顺序为/etc/hosts 文件→网卡配置文件DNS服务器地址→/etc/resolv.conf
二、文件和目录的管理

2.1 远程连接

2.1.1 安装openssh-server

从“应用程序”列表中搜索找到“软件与更新”应用程序,在“下载自:”下拉列表中选择“中国”→“选择最佳服务器(S)”/“mirrors.aliyun.com”→“选择服务器(S)”,点击“关闭(C)”按钮,弹出“可用软件的列表信息已过时”提示信息,单击“重新载入(R)”载入可用软件包列表,打开命令行,输入“sudo apt install openssh-server”命令安装ssh服务,安装完成后查看sshd服务是否启动,sshd服务如果未启动可以通过“systemctl start sshd”命令开启服务
2.1.2 了解OpenSSH

Linux系统一般应用在服务器领域,通过OpenSSH服务对外开放远程连接,ssh为OpenSSH服务的客户端,sshd为OpenSSH服务的服务端,远程管理工具ssh具有数据加密传输、网络开销小以及应用平台范围广的特点
Ubuntu中OpenSSH的默认配置不允许用户以root身份使用密码登录。默认sshd服务器开启22端口,配置文件为/etc/ssh/sshd_config,可以通过修改这个配置文件来实现想要的sshd服务,如修改端口、允许root用户登录等
修改配置文件命令
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config;system restart sshd
2.1.3 实施ssh远程登录

在远程登录之前,通过“systemctl stop ufw”和“systemctl disable ufw”命令关闭防火墙功能,在Linux系统中通过“ip addr”命令来获取用于远程登录的IP地址,将ip地址复制,打开软件粘贴到主机名连接即可
2.2 了解Linux命令

2.2.1 命令特点

① Linux系统中,命令严格区分大小写;文件执行权限与后缀名没有太大关系,主要看文件属性
② 在命令行中,可以使用你“TAB“键来自动补齐命令。在命令提示符后输入某命令开头的几个字母 ,然后按下”TAB“键1~2次,即完成对命令的补全或罗列操作
③ 利用↑、↓进行历史命令的查看;使用分好(;)来分隔命令,使一个命令行执行多条命令
④ 通过“clear”命令或“Ctrl+L”组合键盘来清屏
2.2.2 系统目录结构

Linux文件系统采用带链接的树形目录结构,只有一个根目录(通常使用“/”表示)
Linux常用目录功能
目录    说明
/    系统的根目录
/root    系统管理员(root)的主目录
/home    系统默认的普通用户主目录
/dev    任何硬件与接口设备以文件的形式存在于这个目录下
/etc
存放系统配置文件的目录
/mnt    各项设备的文件系统挂载点(mount)
/tmp    临时文件的存放位置,可供所有用户执行写入操作的持有权限
2.3 绝对路径和相对路径

绝对路径:从根“/”开始写的路径,就是绝对路径
相对路径:不从根开始写的路径,相对于当前路径写的
只有第一个位置出现“/”的时候才称为“根”,其他位置称为“分隔符”
点(.)代表当前目录,点点(..)代表父目录或上一层目录
pwd 命令(print working directory)用于查看当前所在的工作路径
例如:
root@MyPC:~# pwd
/root //登录系统默认进入账户的主目录
cd 命令(change directory)用于切换工作路径,用户向切换到其他目录就可以使用此命令
例如:
root @MyPC:~#cd /tmp //切换到tmp目录
root@MyPC:/tmp# pwd
/tmp
root @MyPC:~#cd //切换到主目录 
root @MyPC:~#cd - //返回到上次目录
/tmp
root@MyPC:/tmp#
ls命令(list)用于显示目录中的文件信息,该命令操作语法的格式为:
ls [参数选项] [文件或路径]
ls命令参数及作用
参数    说明
-a    查看所有的文件及目录(包括隐藏)
-l    长格式显示文件的属性、大小等详细信息
-R    递归显示当前目录及子目录下的文件名
-d    查看指定目录的信息
echo命令用于在屏幕上输出信息,该命令操作语法的格式为:
echo [参数选项] 字符串或变量
echo命令参数及作用
参数    说明
-n    不换行输出内容
-e    解析转义字符
例如:
root@MyPC:~#echo "hello" ; echo $PWD
hello
/root
root@MyPC:~#echo -en "hello\t" ; echo $USER
转移字符“\t”表示“制表符”

目录操作类命令

mkdir 命令(make directories)用来创建目录,语法格式如下:
mkdir [参数选项] [目录名称]
mkdir命令参数及其作用
参数    说明
-p    用于创建级联目录(如AA/BB/CC)
例如:
root@MyPC:~# mkdir A
root@MyPC:~# ls
A
root@MyPC:~# mkdir A/B
root@MyPC:~# ls A
B
root@MyPC:~# mkdir -p AA/BB/CC
root@MyPC:~# ls -R  AA        //递归查看AA目录
AA:
BB
AA/BB:
CC
rm 命令用来删除文件或目录,该命令操作语法格式如下:
rm [参数选项] [文件或目录名称]
rm命令参数及其作用
参数    说明
-i    提示是否删除
-r    用于删除目录
-f    用于强制删除文件或目录
例如:
root@MyPC:~# mkdir test
root@MyPC:~# ls
test
root@MyPC:~# rm -rf test        //加参数删除
root@MyPC:~# ls
2.4.2 文件操作类命令

touch 命令用来创建空白文件,如果改文件存在,则表示修改当前文件时间,语法如下:
touch [参数选项] [文件名称]
touch命令参数及其作用
参数    说明
-a    修改文件的Access时间(Atime)会导致Ctime时间变化
-m    修改文件内容的Modification时间(Mtime)会导致Ctime时间变化
-t    指定时间戳“[[CC]YY][ MMDDhhmm [.ss]”
-r    用其他文件的时间戳
例如:
root@MyPC:~# touch 1.txt        //创建1.txt
root@MyPC:~# ll 1.txt
-rw-r--r-- 1 root root07月10 11:37 1.txt
root@MyPC:~# touch 1.txt        //更新Mtime
root@MyPC:~# ll 1.txt
-rw-r--r-- 1 root root07月10 11:43 1.txt
root@MyPC:~# touch -r 1.txt  2.txt      //用1.txtd 时间戳创建2.txt
root@MyPC:~# ll 2.txt
-rw-r--r-- 1 root root07月10 11:43 2.txt
cp 命令用来赋值文件或文件目录,语法如下:
cp [参数选项] 源文件|原目录 目标文件|目标目录
在Linux系统中,复制操作具体分为3种情况:
① 如果目标是目录,则把源文件复制到该目录中
② 如果目标不存在,则执行正常的复制操作
③ 如果目标是同名文件,则会覆盖
cp命令参数及其作用
参数    说明
-r    递归赋值目录
-a    复制文件时保留源source的原始属性(包括软链接属性)
-i    提示是否覆盖
-f            用于强制覆盖
例如:
root@MyPC:~# touch 1.txt ; mkdir A
root@MyPC:~# cp 1.txt 2.txt ; cp 1.txt A
root@MyPC:~# ls 2.txt A
2.txt
A:
1.txt
root@MyPC:~# cp -r A B
root@MyPC:~# ls B
1.txt
mv 命令用来重命名或者移动文件/目录,如果在同目录中对文件或者目录进行mv操作,其实相当于重命名,语法如下:
mv [参数选项] 源文件|原目录 目标文件|目标目录
在Linux系统中共,mv命令操作具体分为4种情况
① 如果源和目标处于同一目录下,则执行改名操作
② 如果目标是目录,则把源文件 | 源目录移动到该目录中
③ 如果目标不存在,则执行正常的复制操作
④ 如果目标是同名文件,则会覆盖
mv命令参数及其作用
参数    说明
-r    递归移动目录
-i    提示是否覆盖
-f    用于强制覆盖
例如:
root@MyPC:~# ls
1.txt 2.txt A B
root@MyPC:~# mv 1.txt new1.txt
root@MyPC:~# mv 2.txt A
root@MyPC:~# ls ; ls A
A B new1.txt
1.txt 2.txt
ln 命令(link)用来为文件创建链接,链接分为硬链接和符号链接两种,默认是硬链接,语法如下:
ln [参数选项] 源文件或目录 目标文件或目录
ln命令参数及其作用
参数    说明
-s    创建符号链接而非硬链接
例如:
root@MyPC:~# touch 1.txt
root@MyPC:~# ln -s 1.txt link.txt
root@MyPC:~# ls -l link.txt
lrwxrwxrwx 1 root root 5 7月 10 12:37 link.txt -> 1.txt
注意:建立硬性链接时,链接文件和被链接文件必须位于同一个文件系统中,并不能建立指向目录的硬链接,而对符号链接,则不存在这个问题,在做符号连接到其它目录的时候一定要使用绝对路径
2.4.3 文件查看类命令

cat 命令用来查看一个文件的内容并显示在屏幕上,一般用于查看内容较少的文件,语法如下:
cat [参数选项] 文件名
cat命令参数及其作用
参数    说明
-b    显示非空行的行号
-n    显示所有行的行号
例如:
root@MyPC:~# echo"hello" > 2.txt        //写内容
root@MyPC:~# echo"" >> 2.txt        //追加内容
root@MyPC:~# cat -n 2.txt
                        1 hello
                        2
root@MyPC:~# cat  -b 2.txt
                        1 hello
more/less 命令用来分屏查看一个文件的内容并显示在屏幕上,一般用于查看内容比较多的文件,语法如下:
more/less [参数选项] 文件名
例如:
root@MyPC:~# more 2.txt
hello
root@MyPC:~# less 2.txt
hello
小提示:more/lee命令可以分屏显示内如(按p提前结束)。more/less都可以使用空格进行向下翻页,但比more命令好在还可以用上下键翻页查看
head/tail命令用来查看文件的前/后十行,如果加“-n”参数选项则显示文件前/后n行,语法如下:
head/tail [参数选项] 文件名
例如:
root@MyPC:~# head /etc/passwd        //显示前十行
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/spool/lpd:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:var/spool/news:/usr/sbin/nologin
root@MyPC:~# head -2 /etc/passwd        //显示前两行
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
小提示:tail和head命令一样,后面直接跟文件名,如果加“-f”选项则动态地显示文件最后10行,用来查看实时更新的日志

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值