生信linuxjs css htmlLinux

Linux学习记录

2022-11-19  本文已影响0人  h2coder

本篇是根据操作系统 Linux 视频教程全集(78P)| 21 小时从入门到精通视频学习,总结的笔记。

Linux的目录结构

Linux目录总结

  1. Linux的目录下有且只有一个根目录 /
  2. Linux的各个目录存放的内容是规划好的,不要乱放文件
  3. Linux是以文件的形式来管理我们的设备,因此Linux系统中,一切皆为文件
  4. Linux的各个文件目录下,存放什么内容,必须有一个认识
  5. 学习完后,脑海应该有一棵Linux目录树

Linux vi和vim 编辑器

vi和vim的三种常见模式

Linux 系统相关

关机和重启命令

用户的登录和注销

基本介绍

使用细节

Linux 用户管理

添加用户

指定或修改密码

删除用户

查询用户

切换用户

当我们在操作Linux时,如果当前用户的权限不够,则可以通过 su - 指令,切换到高权限用户,比如root

查看当前用户

用户组

类似于角色,系统可以对有共性的多个用户进行统一的管理

新增组(创建组)

删除组

修改用户的组

/etc/passwd 文件

用户(user)的配置文件,记录用户的各种信息

每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录 Shell

/etc/shadow 文件

口令的配置文件

/etc/group 文件

组(group)的配置文件,记录 Linux 包含的组的信息

每行含义:组名:口令:组标识号:组内用户列表

Linux 实用指令

指定运行级别

  1. 常用运行级别是 3 和 5
  2. 要修改默认的运行级别可改文件 /etc/inittab 的 id:5:initdefault:这一行中的数字

切换到指定的运行级别的指令

帮助指令

当我们对某个指令不熟悉时,我们可以使用 Linux 提供的帮助指令来了解这个指令的使用方法。

man命令 获取帮助信息

help命令

文件目录类指令

pwd 指令

ls 指令

cd 指令

mkdir 指令

mkdir 指令用于创建目录(make directory)

rmdir 指令

rmdir 指令删除空目录

touch 指令

touch 指令创建空文件

cp 指令[重要]

cp 指令拷贝文件到指定目录

rm 指令

rm 指令移除【删除】文件或目录

mv 指令

mv 移动文件与目录或重命名

cat 指令

cat 查看文件内容,是以只读的方式打开

more 指令

more 指令是一个基于 VI 编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more 指令中内置了若干快捷键,详见操作说明

less 指令

less 指令用来分屏查看文件内容,它的功能与 more 指令类似,但是比 more 指令更加强大,支持 各种显示终端。less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示 需要加载内容,对于显示大型文件具有较高的效率。

> 指令 和 >> 指令

echo 指令

echo 输出内容到控制台。

head 指令

head 用于显示文件的开头部分内容,默认情况下 head 指令显示文件的前 10 行内容

tail 指令

tail 用于输出文件中尾部的内容,默认情况下 tail 指令显示文件的后 10 行内容。

ln 指令

软链接也叫符号链接,类似于 windows 里的快捷方式,主要存放了链接其他文件的路径

history 指令

查看已经执行过历史命令,也可以执行历史指令

时间日期类

date 指令-显示当前日期

date 指令-设置日期

cal 指令

查看日历指令

搜索查找类

find 指令

find 指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端

locate 指令

locate 指令可以快速定位文件路径。 locate 指令利用事先建立的系统中所有文件名称及路径的 locate 数据库实现快速定位给定的文件。Locate 指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新 locate 时刻。

grep 指令和 管道符号 |

grep 过滤查找 , 管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。

压缩和解压类

gzip/gunzip 指令

gzip 用于压缩文件, gunzip 用于解压的

zip/unzip 指令

zip 用于压缩文件, unzip 用于解压的,这个在项目打包发布中很有用的

tar 指令

tar 指令 是打包指令,最后打包后的文件是 .tar.gz 的文件

组管理和权限管理

Linux 组基本介绍

在 linux 中的每个用户必须属于一个组,不能独立于组外。在 linux 中每个文件 有所有者、所在组、其它组的概念

文件/目录 所有者

查看文件的所有者

一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。

修改文件所有者

组的创建

文件/目录 所在组

当某个用户创建了一个文件后,默认这个文件的所在组就是该用户所在的组

查看文件/目录所在组
修改文件所在的组

其它组

除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组

改变用户所在组

在添加用户时,可以指定将该用户添加到哪个组中,同样的用 root 的管理权限可以改变某个用户 所在的组

权限的基本介绍

rwx 权限详解

文件及目录权限实际案例

修改权限-chmod

通过 chmod 指令,可以修改文件或者目录的权限

第二种方式:通过数字变更权限

修改文件所有者-chown

修改文件所在组-chgrp

最佳实践-警察和土匪游戏

有2个组,分别是 police警察组 和 bandit土匪组

警察组:jack、jerry
土匪组:xh、xq

crond任务调度

任务调度:是指系统在某个时间执行的特定的命令或程序。

快速入门

任务的要求

步骤

5个占位符的说明

项目 含义 范围
第一个* 一小时当中的第几分钟 0-59
第二个* 一天当中的第几个小时 0-23
第三个* 一个月当中的第几天 1-31
第四个* 一年当中的第几月 1-12
第五个* 一周当中的星期几 0-7(0和7都代表星期日)

特殊符号的说明

特殊符号 含义
* 代表任何时间。比如第一个*,就代表一小时中每分钟都执行一次的意思
, 代表不连续时间。比如"0 8,12,16 * * *"命令,就代表在每天的8点0分,12点0分,16点0分都执行一次命令
- 代表连续的时间范围。比如"0 5 * * 1-6"命令,代表在周一到周六的凌晨5点0分执行命令
*/n 代表每隔多久执行一次。例如"*/10 * * * *"命令, 代表每隔10分钟就执行一遍命令

特定时间执行任务案例

时间 含义
45 22 * * *命令 在22点45分执行命令
0 17 * * 1 命令 每周1的17点0分执行命令
0 5 1,15 * * 命令 每月1号和15号的凌晨5点0分执行任务
40 4 * * 1-5命令 每周一到周五的凌晨4点40分执行任务
*/10 4 * * *命令 每天的凌晨4点,每隔10分钟执行一次命令
0 0 1,15*1命令 每月1号和15号,每周1的0点0分都会执行命令。注意:星期几和几号最好不要同时出现,因为他们定义的都是天。非常容易让管理员混乱

应用案例

crond 相关指令

Linux 磁盘分区、挂载

分区基础知识

Linux 分区

原理介绍

硬盘说明

使用 lsblk 指令查看当前系统的分区情况

NAME   FSTYPE   LABEL          UUID                                   MOUNTPOINT
sda                                                                   
├─sda1 xfs                     5be0fc66-9f78-4b2e-b847-be4cd83aa7dc   /boot
└─sda2 LVM2_mem                Q3OOXZ-tcDj-cHQ9-aLz7-8gV1-vKsh-RujZZ1 
  ├─centos-root
       xfs                     e156ee8d-fe62-4c5d-b553-ffa0e8ee2a22   /
  └─centos-swap
       swap                    d50ac8f7-8e7a-4a97-9a0f-a5d626bf2156   [SWAP]
sr0    iso9660  CentOS 7 x86_64
                               2020-04-22-00-54-00-00

挂载的经典案例

需求是给我们的 Linux 系统增加一个新的硬盘,并且挂载到/home/newdisk

磁盘情况查询

查询系统整体磁盘使用情况

文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 979M     0  979M    0% /dev
tmpfs                    991M     0  991M    0% /dev/shm
tmpfs                    991M  9.6M  981M    1% /run
tmpfs                    991M     0  991M    0% /sys/fs/cgroup
/dev/mapper/centos-root   17G  1.4G   16G    9% /
/dev/sdb1                2.0G  6.0M  1.9G    1% /home/newdisk
/dev/sda1               1014M  137M  878M   14% /boot
tmpfs                    199M     0  199M    0% /run/user/0

查询指定目录的磁盘占用情况

查询指定目录的磁盘占用情况,默认为当前目录

磁盘情况-工作实用指令

网络配置

Linux 网络配置

目前我们的网络配置采用的是 NAT。虚拟机软件VMWare会在物理机上生成一个虚拟网卡wmnet8,ip默认是192.168.184.x系列,虚拟机的网络和物理机会构成一个网络。
所以虚拟机和物理机能够通信。虚拟机需要和外面公网进行通讯,就需要和网关交互。

查看网络 IP 和网关

ping 测试主机之间网络连通

linux 网络环境配置

进入Linux的网络配置页面(centos在顶部栏中选择,系统,首选项,网络连接),选择具体网络,例如eth0,点击编辑,切换到ipv4设置,选择自动(DHCP)。

缺点: linux 启动后会自动获取 IP,缺点是每次自动获取的 ip 地址可能不一样。这个不适用于做服 务器,因为我们的服务器的 ip 需要是固定的。

直接修改配置文件来指定IP,并可以连接到外网(程序员推荐) ,编辑 /etc/sysconfig/network-scripts/ifcfg-eth0

进程管理

进程的基本介绍

显示系统执行的进程

查看进行使用的指令是 ps ,一般来说使用的参数是 ps -aux

终止进程 kill 和 killall

若是某个进程执行一半需要停止时,或是已消了很大的系统资源时,此时可以考虑停止该进程。 使用 kill 命令来完成此项任务。

查看进程树 pstree

以树形结构,查看进程,查看父进程和子进程会更加直观

服务(Service)管理

服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请 求,比如(mysql , sshd 防火墙等),因此我们又称为守护进程,是 Linux 中非常重要的知识点。

service 管理指令

service 服务名 [start | stop | restart | reload | status]

在 CentOS7.0 后 不再使用 service ,而是 systemctl

查看服务名

服务的运行级别(runlevel)

查看或者修改默认级别: vi /etc/inittab Linux 系统有 7 种运行级别(runlevel):常用的是级别 3 和 5。
主要是配置这句:id:5:initdefault:,配置为5,则为GUI模式

chkconfig 指令

通过 chkconfig 命令可以给每个服务的各个运行级别设置自启动/关闭

动态监控进程

top 与 ps 命令很相似。它们都用来显示正在执行的进程。Top 与 ps 最大的不同之处,在于 top 在 执行一段时间可以更新正在运行的的进程。

查看系统网络情况 netstat(重要)

RPM 和 YUM

rpm 包的管理

一种用于互联网下载包的打包及安装工具,它包含在某些 Linux 分发版中。它生成具有.RPM 扩展名的文件。RPM 是 RedHat Package Manager(RedHat 软件包管理工具)的缩写,类似 windows 的 setup.exe,这一文件格式名称虽然打上了 RedHat 的标志,但理念是通用的。 Linux 的分发版本都有采用(suse,redhat, centos 等等),可以算是公认的行业标准了。

rpm 包名基本格式

一个 rpm 包名:firefox-45.0.1-1.el6.centos.x86_64.rpm

rpm 包的其它查询指令

卸载 rpm 包

安装 rpm 包

yum

Yum 是一个 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包 并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。使用 yum 的前提是可以联 网。

yum 的基本指令

Yum 是一个 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包 并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。使用 yum 的前提是可以联网。

搭建 JavaEE 环境

如果需要在 Linux 下进行 JavaEE 的开发,我们需要安装如下软件

安装 JDK

安装 tomcat

Eclipse 的安装

mysql 的安装和配置

上一篇下一篇

猜你喜欢

热点阅读