2019/4/17 Linux学习

一、Linux的文件系统

其中/prov、/srv、/sys 文件为文件系统,技术不过硬不要去修改;二、关于Xshell、Xft1、服务器的端口可有65535个可设置,开的越多安全性越差;2、远程登录主机时,会有一个sshd程序,22端口;

二、centos网络设置

 1、osi七层,人为的将网络通讯分为7层,每层都有一个协议。

     发包分成3步:1、计算是否在一个广播域;2、基于arp协议来发包获取对方pc的mac地址;3、在数据链路层还是以广播的方式来传递;

                     同网段指的是在同一个房间,前三段数字相同(117.34.66.199:12012)。

2、  a:物理层 ;

       b:数据链路层:遵循以太网协议,用一套规则来标准的解释信号;包含mac地址,此地址在网卡上。

       c:网络层:IP地址、网关存在于网络层,网关就相当于局域网进入互联网的大门,所以相同的网络的网关是一样的,从而判断是否是跨网路发送数据。

(ARP协议:用来获取对方的mac地址;子网掩码用来计算原目标IP与目的IP是否在同一个局域网内)

      d:传输层:基于端口,实现点对点的传输。通过socket抽象层来交互udp协议与tcp协议。这两个协议是用来绑定端口的。简单的说tcp是基于确定的连接关系来传递数据,这样可以确保稳定,不丢包;而udp不需要确认连接可靠,保证了传输速度,但是缺少可靠性,而socket 就是用来从这中间起调节作用的;所以,socket确实可以用一个具体的软件来模拟这个程序;

3、系统运行时:首先bios程序先调用操作系统运行,将操作系统从硬盘中拿到内存中供cpu来处理;然后在应用层,通过鼠标双击(鼠标触发)来让操作系统调用应用软件。

4、网线:1、交叉线(网线两边压线顺序不通)用来连接同种设备的,如电脑连电脑,交换机连交换机;2、直通线用来连接不同种的设备。

1、桥接模式:会跟母机在同一个网段,但若用户多的话,此模式会造成IP地址冲突,一般不推荐使用。优点:通讯比较畅通。
2、NAT模式:不占同网段的IP,也可以访问外网,但外网访问不了该主机。
3、主机模式:Linux主机不可连接外网。

a、在Linux里,桥接模式与NAT模式都可以设置静态IP,方法是相同的,以方便远程去连接。

b、可以使用ipconfig指令在windows命令行里查看网卡信息。

c、通过设置网卡的配置文件来设置静态IP;路径:/etc/sysconfig/network-scripts/ifc-en33   添加IP、网关、DNS、ONBOOT=yes.

三、开机、关机、重启、注销

1、shutdown -h now ------立即关机
shutdown -h 1 -------1min后关机
shutdown -r now ------立即重启
2、另外还有 halt 、reboot等。
3、sync :将内存里的数据保存到磁盘,故,在重启与关机前都要先执行此命令。
4、当远程不需要是可注销用户(logout),此可关闭无效连接,减小服务器压力。

四、用户管理:

1、用户通过组管理:useradd -d /home/目录 xiaoming #指定用户到哪个组;
$如何创建一个用户组,并添加两个用户
groupadd test 创建test用户组
useradd user1 创建user1用户
passwd user1 设置user1的密码
useradd user2 创建user2用户
passwd user2 设置user2的密码
gpasswd -a user1 test 把user1用户添加到test用户组
gpasswd -a user2 test 同上

或者使用这种
groupadd test 创建test用户组
useradd -g test(用户组) xiaoming(用户名)       ---- 创建user1用户

passwd xiaoming #账户创建各自的账户密码

怎么给linux的一个用户分配给多个用户组
useradd -g 主组 -G 副组(逗号区分) 用户名。

3、用户删除

userdel 用户名 #保留家目录删除用户 userdel -r 用户名 #直接顺带删除家目录;

4、查询用户信息: id 用户名
5、修改用户的组:usermod -g 用户组 用户名
五、常用指令:
1、运行级别说明:
0 关机
1 单用户【找回丢失密码】
2 多用户状态没有网络服务
3 多用户状态有网络服务
4 系统未使用保留给用户
5 图形界面
6 系统重启
常用级别是3和5 ,修改默认运行级别可修改一下文件/etc/inittab下的id:5:initdefault:这一行,修改成代码:id:3:initdefault:保存后就reboot重起。【5是图形界面,3是命令行】*【centos 7中以改变】

***********************************************************************************************************************************************************

1、发现在vmware中无法复制粘贴,经查询后Centos精简版是没有VMware tools的。
2、df是用来看磁盘空间使用情况的。
3、rpm包的格式:name+version(主版本+此版本+修正版本)+
4、rpm软件包卸载与安装
安装:rpm -ivh 软件包全拼 (h是显示进度条)
卸载:rpm -e name
查看软件是否安装:rpm -qa name

(拉勾网)

##################################################################################################
六、Xshell无法远程连接VMware下的centos
a、经过排查是由于centos未能连接网络导致;(电脑正常上网,但是centos没连上网)
b、方法:step1、先ping 一下外网,提示name or service not Kown。
step2、重启网络;service network restart。
step3、验证,网络连接。

¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥

一、压缩与解压缩

a、gzip,gunzip;压缩后会自动删除原来的文件;

b、zip:压缩文件;-r可以压缩目录,zip -r pankagename.zip /pach 。在哪个目录下操作,pankagename.zip就会保存在哪个目录底下。

    unzip;解压缩;-d 可以解压缩目录,unzip -d /目标路径 pankagename.zip 。 需在压缩文件所在目录下解压缩。

c、tar: -zcvf(z--压缩;c--打包(creat);V--显示都打包了的哪些文件;f--用于新建打包名)

           -xvf  或 -zxvf   参数设置很灵活,一般没有只打包不压缩的,所以一般z时都要带的。要解压到指定目录(需是存在的)底下需加参数-C 。

     tar -tf 打包文件.tar --- 查看归档文件里的文件名称;

二、目录创建;

a、mkdir a b c可同时创建多个目录;而mkdir -p 这个是用于创建嵌套的多层目录结构 例如 mkdir -p /home/a/b/c。

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

一、组管理、权限管理; 

a、修改文件权限:chown newown:newgroup file  -----修改到新的用户,新的组。加上参数 -R 可以实现将整个目录底下的文件都递归修改的目的。(recursion:递归)

通过对与文件与目录的管理发现,root权限非常大,可以随意更改用户的权限。用户自己的文件的权限。同时,用户自己也有一定的权限,只要root用户不参与,可以设置文件权限给不给other或者同组人看。

二、定时任务调度:

a、crontab -e  创建一个定时任务

                   -l  列出当前已有的调度任务

                   -r  删除所有定时任务

     service crond restart  重启任务调度

三、重定向与追加

echo '内容' >> 文件  ------   将内容添加到文件的末尾

可以使用重定向来实现cp功能,想想。

四、磁盘分区与挂在

a、 lsblk指令查看当前系统的分区情况。

b、如何增加一块硬盘

     1、虚拟机添加硬盘 ---- 直接在Vmware上操作

     2、分区   ----  fdisk  /dev/sdb

     3、格式化  ----   mkfs -t 分区类型 /dev/sdb1

     4、挂载  ----   先创建一个目录,然后将硬盘挂载上去。 mount /dev/sdb1 /目录 (由于这种挂载方式在机器重启的时候挂载就失效了,所以需要设置自动挂载)

     5、设置可以自动挂载

c、磁盘情况指令

     1、df -lh  ----   磁盘整体的占用情况

     2、du -ach /目录   ----    目录占用磁盘的情况

ls -l | grep "^-" | wc -l --------统计一个目录下正则匹配出来的结果的个数。

六、进程管理;

a、查看指令:ps -aux  | more

b、进程详解:PPID --- 父进程

(**************more指令:q退出,= 显示行号, :f 输出文件名和当前行号**********************)

c、终止指令:kill 进程号 , killall 进程名称(直接杀死父进程来一次性关闭多个子进程) -9 强制杀死进程(终端对于kill直接忽略) pkill -9 进程名 --- 根据进程名来杀,不精确;

1、终止非法登录的进程:查看该信息在sshd里。(sshd - 远程登录服务)

d、以树状图来显示进程(直接罗列清楚父子进程):pstree -p(显示PID) -u(显示操作用户)

**********************************************************************************************************************************************************

Linux使用vi进行文件修改保存时显示 “read-only file system” :这个报错的意思是硬盘属性变成只读,不可写入;

一般可能原因有三点:

1.硬盘与主板的不兼容性导致;

2.硬盘损坏;

3.人为修改

命令:mount -o remount, rw /

三、Linux学习

1、安装虚拟机的时候启动biao界面直接可以启动虚拟机的按F2进入bios界面,按F10保存修改;

2、swap分区是虚拟出来的,存在于硬盘上,是用来缓解内存压力的;(当同时打开多个程序的时候,内存不够用时,内存会将一些闲置的程序先放到swap分区里,等你需要时再从swap分区中调用那些闲置程序,一般swap是内存的1.5倍大)

3、使用who来查看系统有多少用户;

4、使用more等命令,一次可以加多个文件,然后系统会依次全部打开;这个在加上重定向或者追加就可以实现文件的合并(more file1.txt file2.txt > file3.txt :此命令就可以将1与2的文件内容全部合并到3文件中去);

5、wc -l :统计文件有多少行;

6、Linux系统启动流程:

     1)打开电源,计算机调用bios,帮助找到启动盘、找启动程序;

     2)bios然后指引计算机在硬盘上读取512bytes的MBR主引导记录(包含引导信息与磁盘分区信息64bits),该记录存储着操作系统的位置之类的信息;

     3)计算机找到储存操作系统的分区后,会有一个GRUB程序来引导计算机启动哪个系统,对于多系统有用;

     4)然后调用内核 -----> init

7、grub加密:grub -emd5 -type   (使用emd5加密方式) 通过grub加密,就可以防止别人按e来控制进入单人模式来修改root密码。

     Linux的内核加密,通过bios进入救援模式来启动系统,然后修改grub配置文件,然后进入单用户模式来修改root密码来登录;

    bios程序写在主板的电池下面,电脑一启动就可以调用那个程序,纵然bios加密了,如果将电池扣下来,程序会自动复位,密码将消失。

8、使用runlevel来查看当前的系统运行级别;

3.2 操作系统进程管理

进程:进程就是代码文件在内存中运行的体现,杀死进程就是释放CPU,释放内存的一个过程。

僵尸进程:没有杀死的子进程;

CPU中断:用来实现多任务间CPU的转换处理,会有硬件发起的中断与软件发起的中断两种。

内存监控中buffer与cached:buffer -- 缓存区 ,程序从硬盘调用到内存中时需要先集中在此区域来供CPU操作,此区域就是用来节省内存与硬盘之间的传输时间;cached ---- 高速缓存区,是内存将CPU频繁调用的程序集中到此区域,以节省CPU与内存的传输时间。

 linux监控中内存的使用量是buffer与cached的使用量,used是代表内存分出去多少资源来供养buffer与cached;

(grep -v --- 反向匹配,就是不匹配出写上的结果)

启动软件时:名称 &    ----   代表启动到后台运行 ,   fg %工作号   ----   将后台的程序启到前台;

3.3 硬盘管理(磁盘分区)

1、查看硬盘信息:硬盘信息的文件在/dev下,使用”fdisk -l 硬盘名“ 来查看硬盘具体的信息;

     块存储:硬盘存储 ;  文件存储:文件,文件夹;   对象存储:百度网盘,可以新建文件夹,但是不能新建文件,也无法修改现有文件内容,除非重新上传;

2、新建完磁盘分区后,刷新指令partprobe; 分区完后需要给每个分区制作文件系统 mkfs(make filesystem) -ext4(文件系统类型)

3、IP地址与子网划分(借主机位给网络位);

IP地址中包含网络位与主机位,(IP地址与子网掩码通过按位与运算得到网络地址,剩下的是主机地址)网络位就是子网掩码信息,用来标识哪个房价,主机位是剩下的,用来标识房间里的哪台机器。172.168.34.2/16 中/16就标识前16为就是子网掩码。

  二层隔离。使用Vlan隔离,使用不同Vlan或者Pvlan等。

  三层隔离---路由隔离,没有网关。

4、IP地址配置:Bcast --- 广播地址;

IP地址临时配置:ifconfig echo IP地址/24   

chkconfig -- list  ----  用来查看后台进程在不同启动级别下的启动状态;

route -n 来查看网关信息;

桥接模式:桥接模式就是虚拟机的虚拟网卡将主机的网卡当作交换机连接;

NAT模式:网络地址转换,相当于虚拟机的网卡地址是主机的网卡地址的私网地址,故无法直接连接外网(指外网的公网地址),而通过NAT模式,主机网卡可以将私网的地址转换为自己的公网地址去与外网链接;那么这个模式岂不是可以实现简单的网络安全;

                 1. 网络被分为私网和公网两个部分,NAT网关设置在私网到公网的路由出口位置,双向流量必须都要经过NAT网关; 2. 网络访问只能先由私网侧发起,公网无法主动访问私网主机; 3. NAT网关在两个访问方向上完成两次地址的转换或翻译,出方向做源信息替换,入方向做目的信息替换; 4. NAT网关的存在对通信双方是保持透明的; 5. NAT网关为了实现双向翻译的功能,需要维护一张关联表,把会话的信息保存下来。精讲-->(https://blog.csdn.net/rankun1/article/details/78026431)

网卡的关闭与打开:ifconfig 网卡 up/down ;或ifup / ifdown 网卡;

5、ssh服务:

如果终端连接服务端比较慢,可以进服务端的sshd_config里将netDNS注释取消,然后将yes改为no,意思就是当终端连接是服务端不需要进行DNS解析来看IP,直接连;

6、部署apapch服务:
a、安装软件包,yum install httpd -y ; 关闭防火墙;

b、修改配置文件:vim /etc/httpd/config……  修改端口号(Listen)跟 DocumentRoot (存放页面信息的地址);

c、重启服务;

6、samba服务:---- 共享盘服务;服务建好之后,点击我的电脑,选择映射网络驱动器就可以创建连接;

(块存储;对象存储---类似于百度网盘这样的存储方式;文件存储;)

 ############################################################

mount指令

1、/etc/fstab   ---此文件存储的是挂载点的位置信息,Linux开机后会自动读取这个文件,实现自动挂载;

2、查看挂在情况:df -h

3、mount的参数:

  --bind 一个目录挂载到两个挂载点

转载于:https://www.cnblogs.com/zhao-zhao/p/10283778.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/351586.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用“另类” Cloud Foundry Gradle插件无需停机

我一直在尝试我的手在写一个gradle这个插件的应用程序部署到Cloud Foundry上 ,并写下这个插件在我以前的帖子 。 我现在通过使用两种方法支持将无停机时间部署到Cloud Foundry中来增强此插件: 自动驾驶风格部署和更常用的蓝绿色风格部署 。 要完全了解该…

UNIX网络编程 卷2 源代码使用

1. 下载源码,W. Richard Stevens的主页:http://www.kohala.com/start/wget http://www.kohala.com/start/unpv22e/unpv22e.tar.gz -P /usr/local/src 2. 解压tar xvf /usr/local/src/unpv22e.tar.gz -C /root/bin 3. 编译库文件cd /root/bin/unpv22e/ .…

语言工程中有趣的事情

如果您阅读此博客,您将知道我坚信语言的力量。 因此,我当然有很大的偏见,但是我感觉语言工程社区正在增长,并且越来越有趣的东西正在涌现。 为此,我认为通过查看社区中正在发生的事情并列出一些我发现有趣的事情来结束…

操作 实例 / dom

响应式:数据改变时会触发其他联动。例如:模板中的数据绑定;计算属性的重新计算;———————————————————————————————————————————————————— vm.$parent $parent 属性可以用来从…

sql注入程序_Java应用程序中SQL注入

sql注入程序在本文中,我们将讨论什么是SQL注入攻击。 以及它如何影响任何Web应用程序使用后端数据库。 在这里,我专注于Java Web应用程序。 开放Web应用程序安全性项目(OWAP)列出了SQL注入是Web应用程序的主要漏洞攻击。 黑客将We…

C++设计模式-Prototype原型模式

作用: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 Prototype模式提供了一个通过已存在对象进行新对象创建的接口(Clone), Clone()实现和具体的语言相关,在C中通过拷贝构造函数实现。…

[SHOI2008]cactus仙人掌图

Description 如果某个无向连通图的任意一条边至多只出现在一条简单回路(simple cycle)里,我们就称这张图为仙人掌图(cactus)。所谓简单回路就是指在图上不重复经过任何一个顶点的回路。 举例来说,上面的第一…

java 导入导出txt文件_Java读取和写入txt文件

1 问题描述对于java的读取和写入txt一直心存疑惑,随着知识的积累,又重新进行学习,对java的文件读写理解更加深刻,在这里将自己的小小经验总结分享给大家。下面是大家了解java流的一个基本框架。2 问题分析在java中,jav…

[国家集训队] tree Ⅱ

bzoj2631(权限题。。。):链接 落咕:链接 考察的是LCT维护链上信息。 但是这个题不一样的是又有加法又有乘法。。。(有木有想到落咕的模板——线段树2qwq) 因为乘法的运算优先度比加法高,所以我们要先做乘法再做加法&am…

C++拷贝构造函数(深拷贝,浅拷贝)

对于普通类型的对象来说&#xff0c;它们之间的复制是很简单的&#xff0c;例如&#xff1a; int a88; int ba; 而类对象与普通对象不同&#xff0c;类对象内部结构一般较为复杂&#xff0c;存在各种成员变量。下面看一个类对象拷贝的简单例子。 #include <iostream>u…

java用for循环修改密码_Java for循环的几种用法分析

J2SE 1.5提供了另一种形式的for循环。借助这种形式的for循环&#xff0c;可以用更简单地方式来遍历数组和Collection等类型的对象。本文介绍使用这种循环的具体方式&#xff0c;说明如何自行定义能被这样遍历的类&#xff0c;并解释和这一机制的一些常见问题。在Java程序中&…

apache camel_Apache Camel入门

apache camel在先前的博文中&#xff0c;我们了解了企业集成模式&#xff08;EIP&#xff09;。 现在&#xff0c;在这篇文章中&#xff0c;我们将研究实现这些模式的Apache Camel框架。 关于骆驼&#xff1a; Apache Camel是一个开放源代码项目&#xff0c;已有将近5年的历史…

C++拷贝构造函数详解

一. 什么是拷贝构造函数 首先对于普通类型的对象来说&#xff0c;它们之间的复制是很简单的&#xff0c;例如&#xff1a; [c-sharp] view plaincopyint a 100; int b a; 而类对象与普通对象不同&#xff0c;类对象内部结构一般较为复杂&#xff0c;存在各种成员变量。 …

mysql经典总结文章_MySQL基础篇(01):经典实用查询案例,总结整理

一、连接查询图解示意图1、建表语句部门和员工关系表&#xff1a;CREATE TABLE tb_dept (id int(11) NOT NULL AUTO_INCREMENT COMMENT 主键ID,deptName varchar(30) DEFAULT NULL COMMENT 部门名称,PRIMARY KEY (id)) ENGINEInnoDB AUTO_INCREMENT6 DEFAULT CHARSETutf8;CREAT…

针对故障场景的血液,汗液和书写自动集成测试

去年冬天&#xff0c;我为仍在工作的客户编写并发布了一项服务。 总体而言&#xff0c;该服务满足了业务需求和性能要求&#xff0c;但是使用该服务的一个团队告诉我&#xff0c;他们定期遇到一个问题&#xff0c;该问题是该服务将返回500个错误&#xff0c;并且在重新启动该服…

java 8 update 11_从Java 8升级到Java 11应该注意的问题

从 Java 8迁移到Java 11比大多数升级更棘手。以下是这个过程的一些注意事项。模块在Java 9中Java引入了历史上最大的变化之一 是模块&#xff0c;但&#xff1a;不必将你自己的代码模块化以后才能升级到Java 11。在大多数情况下&#xff0c;放在类路径classpath上的代码能继续在…

标签树的三种遍历

一、标签树的下行遍历 属性说明.contents子节点的列表&#xff0c;将<tag>所有儿子节点存入列表中&#xff08;只能获取下一级儿子节点&#xff09;.children子节点的迭代类型&#xff0c;与.contents类似&#xff0c;用于循环遍历儿子节点.descendants子孙节点的迭代类型…

Git 使用规范流程

团队开发中&#xff0c;遵循一个合理、清晰的Git使用流程&#xff0c;是非常重要的。 否则&#xff0c;每个人都提交一堆杂乱无章的commit&#xff0c;项目很快就会变得难以协调和维护。 下面是ThoughtBot 的Git使用规范流程。我从中学到了很多&#xff0c;推荐你也这样使用Git…

oracle安装静默

安装环境&#xff1a;centos71、修改主机名 /etc/sysconfig/network#HOSTNAMEoracledb.012、修改ip和对应的主机名 /etc/hosts#10.5.1.190 oracledb.013、关闭Selinux /etc/selinux/config#SELINUXdisabled4、参考官方文档安装依赖的软件包 binutils-2.23.52.0.1-12.el7.x86_64…

[MEGA DEAL] Ultimate Java开发和认证指南(59%折扣)

通过介绍世界上最受欢迎的编程语言之一掌握Java编程概念 嘿&#xff0c;怪胎&#xff0c; 本周&#xff0c;在我们的JCG Deals商店中 &#xff0c;我们提供了一个极端的报价 。 我们提供的《 Ultimate Java Development and Certification Guide 》 仅售20美元&#xff0c;而…