Linux

概述:操作系统OS(Operating System)

管理计算机硬件与软件资源的计算机程序

Unix ----- 现代操作系统的先祖

1.安卓
2.MacOS
3.Windows
4.Linux --- CentOS、 Ubauntu、 RedHat、 Debain、 Fedora、 SUSE、 OpenSUSE

Linux是一套免费使用和自由传播的类Unix操作系统
Linux内核最初只是由芬兰人----林纳斯·托瓦兹(Linus Torvalds)(Linux之父) 编写,后来开源

个人桌面领域

典型代表:Ubuntu、fedora、SUSE linux

服务器领域

典型代表:
1.Red Hat公司的AS系列
2.完全开源的Debian系列
3.SUSE EnterPrise 11系列等

嵌入式领域

linux:运行稳定、网络支持性好、低成本、软件可根据需求裁剪、内核小

Linux部分不同发行版本

排行 版本 描述
1 MX Linux 基于Debian和antiX
2 Linux Mint 基于Ubuntu和Debian
3 Ubuntu 顶级Linux发行版之一
4 Elementary OS 基于Debian
5 Manjaro Linux 基于Arch Linux
6 Zorin OS 基于Debian
7 Fedora 软件技术方面处于领先地位
8 Debian 设计得非常稳定
9 CentOS 基于Fedora和Red Hat的企业最佳Linux
10 Kali Linux 基于Debian

安装(VMware Workstation)

1.安装VMware Workstation(关于虚拟化设置冲突,可以开关Hyper-V老设置)
2.安装镜像文件(虚拟机)

虚拟机网络模式:

1.桥接(Bridge):虚拟机使用物理机的网卡,需要配置IP访问互联网
2.NAT(网络地址转换):虚拟了一个网卡,无需配就可访问互联网
3.仅主机(Host Only):不能访问互联网

禁用和启用虚拟网络

Xshell无法连接虚拟机时何以尝试使用此方法

克隆模式

减少安装配置、备份

快照

相当于建立存档(用于不可逆回档)

安装CentOS

经典安装 NAT模式 用root账户登陆

CentOS配置

i进入编辑模式
Esc退出编辑模式
:wq 保存并退出
:q! 不保存直接退出

替换为aliyun yum源
注意:先备份原先yum源配置
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

关闭防火墙(在本机学习时可以这样做,在生产环境时不要这样做,要用哪个端口开哪个端口)
systemctl stop firewalld.service
systemctl disable firewalld.service

配置静态IP

1.查看物理机 IP
打开 cmd,输入 ipconfig -all
有线网络,找到“以太网”的 IPv4地址
无线网络(WiFi),找到 WLAN 的IPv4地址

2.虚拟机网络设置
配置虚拟机NAT子网IP为物理机查询的IP相同(网段相同!最后一位是 0 例如:物理机IP:172.21.146.51 虚拟机NAT网络配置子网IP:172.21.146.0)
DCHP设置中其实IP与结束IP地址也应该修改
最后点击确定,应用

3.CentOS 网络配置文件
以root用户登陆
修改网络配置
vi /etc/sysconfig/network-scripts/ifcfg-ens33
1)BOOTPROTO 需要改成 static
2)添加 IPADDR/NETMASK/DNS1/GATEWAY
IPADDR="172.21.146.222"//与物理机玩分段一致,第四位可以改变
NETMASK="255.255.255.0"
DNS1="114.114.114.114"
GATEWAY="172.21.146.2"//前三位必须和物理机一致最后一位必须为2
3)重启网络
service network restart
4)测试网络
物理机:ping 172.21.146.222
得到:

正在 Ping 172.21.146.222 具有 32 字节的数据:
来自 172.21.146.222 的回复: 字节=32 时间<1ms TTL=64
来自 172.21.146.222 的回复: 字节=32 时间<1ms TTL=64
来自 172.21.146.222 的回复: 字节=32 时间=1ms TTL=64
来自 172.21.146.222 的回复: 字节=32 时间=1ms TTL=64

172.21.146.222 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 0ms,最长 = 1ms,平均 = 0ms

虚拟机:ping www.baidu.com
得到:

[root@localhost ~]# ping www.baidu.com
PING www.a.shifen.com (180.101.49.42) 56(84) bytes of data.
64 bytes from 180.101.49.42 (180.101.49.42): icmp_seq=1 ttl=128 time=39.0 ms
64 bytes from 180.101.49.42 (180.101.49.42): icmp_seq=2 ttl=128 time=38.4 ms
64 bytes from 180.101.49.42 (180.101.49.42): icmp_seq=3 ttl=128 time=39.2 ms

则配置成功

Linux文件系统

Windows:每个驱动器都有自己的根目录结构
Linux:所有文件都在根目录下

部分目录解释:

目录 说明 备注
bin 存放普通用户可执行的指令 即使在单用户模式下也能够执行处理
boot 开机引导目录 包括Linux内核文件与开机所需要的文件
dev 设备目录 所有的硬件设备及周边均放置在这个设备目录中
etc 各种配置文件目录 大部分配置属性均存放在这里
lib/lib64 开机时常用的动态链接库 bin及sbin指令也会调用对应的lib库
media 可移除设备挂载目录 类似软盘 U盘 光盘等临时挂放目录
mnt 用户临时挂载其他的文件系统 额外的设备可挂载在这里,相对临时而言
opt 第三方软件安装目录 现在习惯性的放置在/usr/local中
proc 虚拟文件系统 通常是内存中的映射,特别注意在误删除数据文件后,比如DB,只要系统不重启,还是有很大几率能将数据找回来
root 系统管理员主目录 除root之外,其他用户均放置在/home目录下
run 系统运行是所需文件 以前防止在/var/run中,后来拆分成独立的/run目录。重启后重新生成对应的目录数据
sbin 只有root才能运行的管理指令 跟bin类似,但只属于root管理员
srv 服务启动后需要访问的数据目录
sys 跟proc一样虚拟文件系统 记录核心系统硬件信息
tmp 存放临时文件目录 所有用户对该目录均可读写
usr 应用程序放置目录
var 存放系统执行过程经常改变的文件

几个重要文件目录

/etc:这个是系统中的配置文件
/bin, /sbin, /usr/bin, /usr/sbin:系统预设的执行文件的放置目录
/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户)
/sbin, /usr/sbin 是给root使用的指令
/var:每个程序产生的日志被记录到这个目录下(具体在/var/log ),另外mail的预设放置也是在这里

基本概念

用户目录:位于 /home/user
登录信息:

[root@localhost /]#
root:登陆用户
localhost:当前主机名
/:表示当前所处的目录位置 (这里的'/'表示当前在根目录下)

绝对路径

从/目录开始描述的路径为绝对路径

对路径

从当前位置开始描述的路径为相对路径

. 和 ..

. 表示当前目录

.. 表示上一级目录,即父目录

文件权限

查看权限

ls -l

三种访问方式限制访问权限
1)只允许用户自己访问(所有者)
2)允许当前用户所在同一组
2)允许其他用户

l  rwx  rwx  rwx
d  r-x  r-x  r-x

首先第一个字母 在Linux中第一个字符代表这个文件是目录、文件或链接文件等等。
[ d ] 表示目录
[ l ] 表示为链接文档(link file)
[ - ] 表示为文件
[ b ] 表示为装置文件里面的可供储存的接口设备(可随机存取装置)
[ c ] 表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)

# 其次接下来的字符中,以三个为一组,且均为 [ rwx ] 的三个参数的组合
[ r ]代表可读(read):        4
[ w ]代表可写(write):       2
[ x ]代表可执行(execute):   1
[ - ]代表没有权限

基本命令信息

ls 命令

用于显示指定工作目录下之内容
常用组合
[1]查看文件详情:ls -l 或 ll
[2]增强对文件大小易读性,以人类可读的形式显示文件大小: ls -lh
[3]对文件或者目录进行从大到小的排序: ls -lhs
[4]查看当前目录下的所有文件或者目录,包括隐藏文件: ls -la
[5]只查看当前目录下的目录文件: ls -d .
[6]按照时间顺序查看,从上到倒下时间越来越近: ls -ltr
[7]查看文件在对应的inode信息:ls -li

cd 命令

变换当前目录
cd - :切换到上一次目录

pwd 命令

查看绝对路径

mkdir 命令

用来创建指定的名称的目录
选项参数 功能描述
-m 设定权限 (类似 chmod),而不是 rwxrwxrwx 而是721721721(r=4,w=2,x=1)
-p(parents) 可以是一个路径名称。若目录不存在,将自动建好目录,即一次可建立多个目录
-v(-verbose | --help | --version ) --verbose 每次创建新目录都显示信息 --help显示此帮助信息并退出 --version输出版本信息并退出

touch 命令

用于修改文件或者目录的时间属性,文件不存在,会建立一个新的文件

强制避免创建新文件                           使用参数 -c

更改文件的访问、修改时间                     使用参数 -a

仅更改此文件的修改时间                       使用参数 -m

将访问和修改时间从一个文件复制到另一个文件   使用参数 -r
touch text3.txt  -r  text1.txt

stat查看文件详细信息、最近访问和最近更改时间

rm 命令

用于删除一个文件或者目录
参数 参数描述
-i 删除前逐一询问确认
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认
-r 将目录及以下之档案亦逐一删除 (递归删除)

rmdir 命令

删除空的目录,不能删除非空目录

mv 命令

用来为文件、目录改名或移动文件、目录位置
参数 参数描述
-i 若指定目录已有同名文件,则先询问是否覆盖旧文件;
-f 在 mv 操作要覆盖某已有的目标文件时不给任何指示

cp 命令

复制文件或目录

cat 命令

连接文件并打印

more 命令

页一页的形式显示,空白键(space)就往下一页,按 b 键就会往回(back)一页,q键退出

less 命令

可以随意浏览文件
 
b向下翻一页,d向下翻半页, u向上滚动半页,y向上滚动一行

回车键向下滚动一行,空格向上键滚动一页

ps 命令

查看进程
ps aux 查看所有进程,相当于Windows任务管理器

head 命令

查看文件的开头部分的内容,参数 -n 用于显示行数,默认为 10

tail 命令

查看文件的末尾 ,参数-f 用于监控实时写入内容

which 命令

查找某个命令或者文件

whereis 命令

只能用于程序名的搜索(默认:二进制文件、说明文、源代码文件)

locate 命令(关键字)

查找符合条件的文档

最小mini系统里面是没有安装

find 命令

文件树中查找文件,并作出相应的处理  

常用格式: find [路径] 动作限制类型 限制条件

重要:其中 -exec 参数后面跟的是 command 命令,它的终止是以 \;
例如:find /XXX/XXX -name *.log -exec rm {} \;

chmod 命令

改变文件或目录的权限
chmod u/g/o/a + r/w/x/S/- filename
chmod 777 filename

-c       当发生改变时,报告处理信息
-R       处理指定目录以及其子目录下所有文件 

chown 命令

定文件的拥有者改为指定的用户或组

user        新的文件拥有者的使用者ID
group       新的文件拥有者的使用者组(group)
-R          处理指定目录以及其子目录下的所有文件

tar 命令

用于备份文件

本身不具有压缩功能,只具有打包功能

压缩及解压是调用其它的功能来完成

-c             建立新的压缩文件
-f             指定压缩文件
-x             从压缩包中抽取文件
-z             支持gzip压缩
-j             支持bzip2压缩
-v             显示操作过程
--exclude      排除文件(不能排除目录)

date 命令

显示或设定系统的日期与时间

cal 命令

用户显示日历

grep 命令

文本搜索命令,全局正则表达式搜索,查找文件里符合条件的字符串

ps 命令

显示当前进程 (process) 的状态
-aux

kill 命令

指定的信息送至程序

用于删除执行中的程序或工作

vi与vim命令

vim可以视为vi的高级版本,vim可以用颜色或者底线等方式显示一些特殊的信息

三种模式

命令模式(Command mode),输入模式(Insert mode)和末行命令模式(Last line mode)

命令模式
启动 vi/vim,自动进入了命令模式

命令 功能
i 切换到输入模式,以输入字符
x 删除当前光标所在处的字符
shift + : 切换到末行命令模式,以在最底一行输入命令

进入文件后(命令行模式下)

常用:

移动光标的方法 作用
h 或 向左箭头键(←) 光标向左移动一个字符
j 或 向下箭头键(↓) 光标向下移动一个字符
k 或 向上箭头键(↑) 光标向上移动一个字符
l 或 向右箭头键(→) 光标向右移动一个字符
0 或功能键[Home] 这是数字『 0 』:移动到这一行的最前面字符处 (常用)
$ 或功能键[End] 移动到这一行的最后面字符处(常用)
G 移动到这个档案的最后一行(常用)
gg 移动到这个档案的第一行,相当于 1G 啊! (常用)
:set nu 显示数字行号
如果想要进行多次移动的话,例如向下移动 30 行,可以使用 "30j" 或 "30↓" 的组合按键, 亦即加上想要进行的次数(数字)后,按下动作即可
搜索替换
/word 向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可! (常用)
?word 向光标之上寻找一个字符串名称为 word 的字符串。
n 这个 n 是英文按键。代表重复前一个搜寻的动作。举例来说, 如果刚刚我们执行 /vbird 去向下搜寻 vbird 这个字符串,则按下 n 后,会向下继续搜寻下一个名称为 vbird 的字符串。如果是执行 ?vbird 的话,那么按下 n 则会向上继续搜寻名称为 vbird 的字符串!
N 这个 N 是英文按键。与 n 刚好相反,为『反向』进行前一个搜寻动作。 例如 /vbird 后,按下 N 则表示『向上』搜寻 vbird 。
删除、复制与贴上
x, X 在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键) (常用)
dd 删除游标所在的那一整行(常用)
ndd n 为数字。删除光标所在的向下 n 行,例如 20dd 则是删除 20 行 (常用)
d$ 删除游标所在处,到该行的最后一个字符
d0 那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符
dw 删除一个单词
yy 复制游标所在的那一行(常用)
nyy n 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行(常用)
p, P p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行! 举例来说,我目前光标在第 20 行,且已经复制了 10 行数据。则按下 p 后, 那 10 行数据会贴在原本的 20 行之后,亦即由 21 行开始贴。但如果是按下 P 呢? 那么原本的第 20 行会被推到变成 30 行。 (常用)
yw 复制一个单词
u 复原前一个动作。(常用)
[Ctrl]+r 重做上一个动作。(常用)
posted on 2022-06-09 21:43  咸云闲鱼  阅读(137)  评论(0)    收藏  举报