undefaned

undefaned

Linux系统学习

环境配置#

学习 Linux 需要一个环境,我们需要创建一个虚拟机,然后在虚拟机上安装一个 CentOS 系统来学习

虚拟机安装#

VMware15.5

系统安装#

CentOS 7

网络连接的三种模式:

  1. 桥接模式:虚拟机可以直接和外部通讯(容易 IP 冲突)
  2. NAT 模式:网络地址转换模式,虚拟机可以和外部系统通讯,不造成 IP 冲突
  3. 主机模式:独立的系统,不和外部联系

虚拟机克隆:直接复制文件夹

虚拟机快照:比如发生误触,想返回原先的一个状态,这就叫虚拟机快照管理

Vi Vim 入门#

vi 文本编辑器 Linux 系统会内置

Vim 具有程序编辑的能力,可以看做是 Vi 的增强版本,可以主动的以字体颜色辨别语法的正确性方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

正常模式以 V 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用『上下左右」按键来移动光标,你可以使用『删除字符或『删除整行」来处理档案内容,也可以使用『复制、粘贴) 来处理你的文件数据。

插入模式按下,L,o,O,a,A,r,R 等任何一个字母之后才会进人编辑模式,一般来说按 i 即可

命令行模式 输入 esc,再输入 在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开 V、显示行号等的动作则是在此模式中达成的!

wq write quit

撤销:u

1. 拷贝当前行 yy, 拷贝当前行向下的 5 行 5yy, 并粘贴(输入 P)

2. 删除当前行 dd, 删除当前行向下的 5 行 5dd

3. 在文件中查找某个单词 [命令行下 / 关键字,回车查找,输入就是查找下一个]

4. 设置文件的行号,取消文件的行号.[命令行下:set nu 和 set nonu]

5. 编辑 /etc/profile 文件,在一般模式下,使用快捷键到该文档的最末行 [G] 和最首行 [gg]

6. 在一个文件中输入 "helo”, 在一般模式下,然后又撤销这个动作 u

7. 编辑 /etc/rofile 文件,在一般模式下,并将光标移动到,输入 20,再输入 shift+g

相关管理文件:

/etc/passwd文件,记录用户的各种信息:用户名:口令:用户标识符:组标识号:注释性描述:主目录:登录 Shell

Shell 是指口令的解释器,使内核根据用户输入口令进行工作

/etc/shadow文件,保存口令的配置信息

/etc/group文件 组配置信息,记录 Linux 包含的组信息

运行级别#

基本介绍运行级别说明:

  • 0: 关机
  • 1: 单用户【找回丢失密码】
  • 2: 多用户状态 没有网络服务
  • 3: 多用户状态 有网络服务
  • 4: 系统未使用保留给用户
  • 5: 图形界面
  • 6: 系统重启

常用运行级别是 3 和 5,也可以指定默认运行级别

init x 切换运行级别

一、Linuxi 远程连接#

1.1 网络信息配置#

远程登录 Linux——XShell

远程文件管理 ——XFtp

检测两个系统是否 ping 通:ping 192.168.58.129

192.168.58.129 是虚拟机的 IP 地址,在主机验证 ping 通

ip addr查询 IP 地址

ifconfig查询 ip 地址

ls /etc/sysconfig/network-scripts/ 查看网卡信息
可以看到,网卡 IP 的配置文件名为 ifcfg-ens33。

vi /etc/sysconfig/network-scripts/ifcfg-ens33查看文件 ifcfg-ens33 的内容

根据本地局域网设置配置网络信息

1.2 联网需配置内容#

DNS=8.8.8.8

DNS1=114.114.114.114

BROADCAST 设置的是局域网广播地址

IPADDR 就是静态 P

NETMASK 是子网俺码

GATEWAY 就是网关或者略由地址

更改之后重启网络:service network restart

ping www.baidu.com

1.3 防火墙相关#

查看防火墙状态:firewall--cmd-state或者systemctl status firewalld.service

启动防火墙:systemctl start firewalld.service

关闭防火墙:systemctl stop firewalld.service

重启:systemctl restart firewalld.service

开机启用:systemctl enable firewalld.service

禁止开机启动:systemctl disable firewalld.service

查看是否开机启动:systemctl is-.enabled firewalld.service

二、Linux 系统目录结构#

目录结构树#

  • /bin:bin 是 Binaries (二进制文件) 的缩写,这个目录存放着最经常使用的命令
  • /boot:这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
  • /dev:dev 是 Device (设备) 的缩写,该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。
  • /etc: etc 是 Etcetera (等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。
  • /home用户的主目录,在 Liux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。
  • /lib:lib 是 Library(库)的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
  • /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
  • /media: linux 系统会自动识别一些设备,例如 U 盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。
  • /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可心以查看光驱里的内容了。
  • /opt: opt 是 optionalQ (可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个 ORACLE 口数据库则就可以放到这个目录下。默认是空的。
  • /proc:proc 是 Processes (进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
  • /root:该目录为系统管理员,也称作超级权限者的用户主目录。
  • /sbin: s 就是 Super User 的意思,是 Superuser Binaries(超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序
  • /selinux:这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放 selinux 相关的文件的。
  • /srv:该目录存放一些服务启动之后需要提取的数据。
  • /sys:这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs。sysfs 文件系统集成了下面 3 种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
  • /tmp:tmp 是 temporary (临时) 的缩写这个目录是用来存放一些临时文件的。
  • /usr:usr 是 unix shared resources (共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 因下的 program files 目录。
  • /usr/bin:系统用户使用的应用程序
  • /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。/usr/src: 内核源代码 Q 默认的放置目录。
  • /var:var 是 variable (变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件
  • /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 var/run 目录,应该让它指向 run。

在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。 /etc:上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。

/bin,/sbin,/usr/bin,/usr/sbin:这是系统预设的执行文件的放置目录,比如 Is 就是在 /bin/ls 目录下的。值得提出的是 /bin、/usr/bin 是给系统用户使用的指令(除 root 外的通用用户),而 /sbin,/usr/sbin 则是给 root 使用的指令。

/var:这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在 /var/log 目录下,另外 mail 的预设放置也是在这里。****

三、Liux 基础知识文件与目录管理#

绝对路径:路径的写法,由根目录 / 写起,例如:/usr/share/doc 这个目录。

相对路径:路径的写法,不是由 / 写起,例如:由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成:cd../man 这就是相对路径的写法。

3.1 处理目录的常用命令#

ls (列出目录)

  • -a:全部的文件,连同隐藏文件,文件名以开头(常用)
  • -d:显示详细信息(常用)
  • -l:查看目录属性(常用)
  • -h:与配合使用显示详细文件大小

mkdir (创建新目录)

mkdir -mp xxx

  • -m:配置文件的权限
  • -p:递归创建

touch (创建空文件)

touch xxx

cd (切换目录)

#使用 mkdir 命令创建 runoob 目录
[root@www ~]# mkdir runoob

#使用绝对路径切换到 runoob 目录
[root@www ~]# cd /root/runoob/

#使用相对路径切换到 runoob 目录
[root@www ~]# cd ./runoob/

# 表示回到自己的家目录,亦即是 /root 这个目录
[root@www runoob]# cd ~

# 切换到上一级目录
[root@www ~]# cd ..

pwd (显示目前所在的目录)

pwd

rmdir (删除空的目录)

rmdir [-p] 目录名称

-p 从该目录起,一次删除多级空目录(仅能删除空目录)

cp (复制文件或目录)

[root@www ~]# cp -rp [原文件或者目录]  (目标目录)
[root@www ~]# cp [opt] tes1

mv (移动文件与目录,或修改名称)

[root@www ~]# mv [原文件或者目录] (移动地址/修改名称)
[root@www ~]# mv /tmp/day1  /root/day02  移动别的目录在改名
[root@www ~]# mv day1  day02  在当前目录改名
  • -f :如果目标文件已经存在,不会询问而直接覆盖;
  • -i :若目标文件已经存在时,就会询问是否覆盖!

rm (移除文件或目录)

  • -f :强制执行
  • -i :在删除前会询问是否删除
  • -r :递归删除啊!最常用在删除目录

3.2 Linux 文件内容查看#

cat 第一行开始显示文件内容

tac 最后一行开始显示

more 一页一页翻动

less 一页一页翻动

head 取出文件前面几行

tail 取出文件后面几行

四、关机和重启指令#

4.1 重启命令:#

  • reboot 就是重启
  • shutdown -r now 立刻重启 (root 用户使用)
  • shutdown -r 10 过 10 分钟自动重启 (root 用户使用)
  • shutdown -r 20:35 在时间为 20:35 时候重启 (root 用户使用) 如果是通过 shutdown 命令设置重启的话,可以用 shutdown -c 命令取消重启

4.2 关机命令:#

  • halt 立刻关机
  • poweroff 立刻关机
  • shutdown -h now 立刻关机 (root 用户使用)
  • shutdown -h 10 10 分钟后自动关机 如果是通过 shutdown 命令设置关机的话,可以用 shutdown -c 命令取消重启

五、权限管理命令#

5.1 用户管理#

用户信息

使用 cat 命令来查看一下保存用户信息的文件 ,保存用户信息的文件保存在 /etc/passwd 文件里面
cat /etc/passwd

超级用户:root,UID=0
普通用户:UID 在 500 到 60000
伪用户:UID 在 1 到 499

伪用户不能登录系统,而且没有宿主目录
为什么需要伪用户:没有用户登录时,linux 系统依然要运行,有很多进程在跑着,所以必须需要一些伪用户来执行那些命令

保存密码的文件:/etc/shadow

保存用户组的文件:/etc/group

保存用户组密码的文件:/etc/gshadow

用户配置文件:/etc/default/useradd

添加用户
useradd 参数 用户名
参数:

  • -s:设置新用户的默认 Shell 终端
  • -u:user 设置用户 ID
  • -e:end 设置用户的终止日期
  • -f:fire 设置用户过期几日后永久停权
  • -M:不建立用户家目录
  • -G:group 设置用户对应的扩展用户组

修改用户
usermod 参数 用户名
参数:

  • -c:修改用户账号的备注文字
  • -d:修改用户登录时的家目录
  • -e:修改用户账号的有效期限
  • -f:设置在密码过期后多少天关闭该账号
  • -u:修改用户账号的 ID
  • -l:修改用户账号名称
  • -L:锁定用户密码,使密码立即失效
  • -U:解除密码锁定,使密码恢复正常
  • -p:设置用户的新密码

修改用户密码
passwd 参数 用户名
参数:

  • -l:lock 锁定用户的密码值,不允许修改
  • -u:unlock 解锁用户的密码值,允许修改
  • -e:edit 下次登录时强制修改密码
  • -d:delete 清除已有密码
  • -S:show 显示当前密码状态

切换用户
su 参数 用户名

  • -l:切换身份时,也同时变更工作目录
  • -m:切换身份时,不要变更工作目录

删除用户
userdel 参数 用户名
参数:

  • -f:强制删除用户账号而不询问
  • -h:显示帮助信息
  • -r:删除用户的家目录及其全部子文件

查看用户有谁
ls /home

5.2 用户组管理#

添加用户组
groupadd 参数 用户组

  • -g:设置用户组 ID
  • -r:root 创建系统用户组
  • -o:允许创建重复 ID 的用户组

更改用户组
`groupmod 参数 组名
参数:

  • -g:设置群组识别码
  • -n:name 设置群组名称

删除用户组
groupdel 参数 组名

  • -f:强制删除而不询问

修改用户组
`usermod 参数 用户名

  • -l:修改用户账号名称
  • -L:锁定用户密码,使密码立即失效
  • -u:修改用户账号的 ID
  • -U:解除密码锁定,使密码恢复正常
  • -d:修改用户登录时的家目录

5.3 修改文件权限#

** 更改文件所属用户组
`chgrp 参数 用户名

  • -R:递归处理所有子文件
  • -v:显示执行过程详细信息

改变文件或目录权限
`chmod 参数 用户名

  • -c:改变文件权限成功后再输出成功信息
  • -f:改变文件权限失败后不显示错误信息
  • -R:递归处理所有子文件
  • -v:显示执行过程详细信息

六、管道命令和重定向#

6-1 管道#

  • more:分屏显示内容
  • grep:在命令执行结果的基础上查询指定文本

6-2 重定向 > 和 >>#

> 表示输出,会覆盖文件原有内容
>> 表示追加,会将内容追加到已有文件的末尾

七、软件磁盘命令#

7-1 磁盘管理相关命令#

管理磁盘分区
fdisk 参数 设备名

  • -H:设置硬盘的磁头数
  • -l:显示指定的外围设备分区表状态
  • -s:显示指定的分区大小
  • -S:设置每个磁道的扇区数
  • -b:设置每个分区的大小

显示系统内存使用量情况
free 参数

  • -b:设置显示单位为 Byte
  • -g:设置显示单位为 GB
  • -h:自动调整合适的显示单位
  • -k:设置显示单位为 KB
  • -l:显示低内存和高内存统计数据
  • -m:设置显示单位为 MB
  • -s:持续显示内存数据

7-2 打包 / 解压#

gzip 压缩文件
gzip -v t.txt 将文件压缩为.gz,用于压缩单个文件

  • -d:解压指定压缩包文件
  • -v:显示执行过程详细信息
  • -k:保留原文件
  • -l: 显示压缩包内的文件信息

gunzip 解压文件
gunzip -v t.txt.gz压缩或解压多个文件

Zip 压缩文件
zip 参数 压缩名称 需要压缩的文件

unzip 解压文件
unzip 参数 压缩包名 -d 指定目录名

tar 压缩或解压文件
tar 参数 压缩包名自定义 文件或目录名
tar -czvf test.tar.gz -C /etc规范后缀为.tar.gz
-c:创建新的压缩包
-z:使用 gzip 压缩格式
-v:显示执行过程详细信息
-t:显示压缩包的内容
-f:指定压缩后的文件名
-x:解压
-C:解压到指定目录
tar 参数 压缩包名 -C 解压目录名
tar -xvf File.tar -C /etc解压 File.tar 文件到 /etc 目录

7-3 软件安装御载#

yum 命令
yun 参数 动作 软件包

7-4 软件控制启动关闭#

systemctl 参数 动作 服务名

7-5 rpm 命令 RPM 软件包管理器#

rpm 的作用类似于 windows. 上的电脑管家中 “软件管理”、安全卫士里面 “软件管家 " 等产品,主要作用是对 linux 服务器上的软件包进行对应管理操作,管理分为:查询、卸载、安装。
rpm -ql 软件包名
参数:

  • -a:显示所有软件包
  • -e:卸载软件包
  • -i:安装软件包
  • -l:显示软件包的文件列表
  • -q:显示指定软件包是否已安装
  • -U:升级软件包
  • -v:显示执行过程信息

查询某个软件的安装情况

安装软件

查看安装软件路径

卸载某个软件

升级某个软件包

八、搜索命令和软连接#

8-1 搜索命令#

find 命令
find 路径 条件 文件名

grep 命令
grep 参数 文件名

8-2 软连接#

类似于 Win 中的快捷方式
ln 参数 源文件名 目标文件名

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。