一、初识

Linux与windows相比的优点是:长期稳定的运行,避免了因为系统的问题导致的项目运行中断;占用资源少;开源软件多。

Centos(Community Enterprise Operating System)是基于redhat,去掉商业软件,用开源软件替换。

操作系统是本质就是一系列软件,内核+常用软件组成,功能是帮助用户控制硬件来解决实际需求的操作。

二、安装过程中的知识点

虚拟机是在我们的操作系统中用软件模拟出来的,相当于虚拟机是寄宿在我们真实的物理机系统里,虚拟机和物理机是寄宿与被寄宿的关系,真实的物理机被称为宿主机。

Bridged(桥接模式):通过网络地址可以确定我们在互联网中的位置,桥接模式就是将我们虚拟机中的网卡的网络地址,放在我们真实的物理环境的网卡上。这样的话,我们的虚拟机就像我们的宿主机所在的局域网中的一台机器一样。桥接模式适合有路由器的情况,和真实的物理环境一样。

NAT(网络地址转换模式):在宿主机制作一个虚拟网卡,通过这个网卡给虚拟机分配IP。宿主机在这里的角色相当于局域网中的路由器。NAT模式适合于没有路由的情况,虚拟机通过宿主机取上网。

Host-Only模式和NAT的区别在于没有地址转换服务。该模式下的 虚拟机只能访问到主机,无法访问外网。

三、Linux目录结构

/ : 根目录所有目录都在

/boot : boot 配置文件、内核和其它启动 时所需的文件

/etc : 存放系统配置有关的文件

/home : 存放普通用户目录

/mnt : 硬盘上手动 挂载的文件系统

/media : 自动挂载(加载)的硬盘分区以及类似CD、数码相机等可移动介质。

/cdrom : 挂载光盘?

/opt : 存放一些可选程序,如某个程序测试版本,安装到该目录的程序的所有数据,库文件都存在同个目录下

/root : 系统管理员的目录,对于系统来说,系统管理员好比上帝,他可以对系统做任何操作,比如删除你的文件,一般情况下不要使用root用户。

/bin : 存放常用的程序文件(命令文件)。

/sbin : 系统管理命令,这里存放的是系统管理员使用的管理程序

/tmp : 临时目录,存放临时文件,系统会定期清理该目录下的文件。

/usr : 在这个目录下,你可以找到那些不适合放在/bin或/etc目录下的额外的工具。比如游戏、打印工具等。

/usr目录包含了许多子目录:

/usr/bin目录用于存放程序;

/usr/share用于存放一些共享的数据,比如音乐文件或者图标等等;

/usr/lib目录用于存放那些不能直接 运行的,但却是许多程序运行所必需的一些函数库文件。

/usr/local : 这个目录一般是用来存放用户自编译安装软件的存放目录;一般是通过源码包安装的软件,如果没有特别指定安装目录的话,一般是安装在这个目录中。

/var : 该目录存放那些经常被修改的文件,包括各种日志、数据文件;

/var/cache/ 应用程序缓存数据。这些数据是在本地生成的一个耗时的I/O或计算结果。应用程序必须能够再生或恢复数据。缓存的文件可以被删除而不导致数据丢失。

/var/lib/ 状态信息。 由程序在运行时维护的持久性数据。 例如:数据库、包装的系统元数据等。

/var/lock/ 锁文件,一类跟踪当前使用中资源的文件。

/var/log/ 日志文件,包含大量日志文件。

/var/mail/ 用户的电子邮箱。

/var/run/ 自最后一次启动以来运行中的系统的信息,例如:当前登录的用户和运行中的守护进程。现已经被/run代替[13]。

/var/spool/ 等待处理的任务的脱机文件,例如:打印队列和未读的邮件。

/var/spool/mail/ 用户的邮箱(不鼓励的存储位置)

/var/tmp/ 在系统重启过程中可以保留的临时文件。

/lib : 目录是根文件系统上的程序所需的共享库,存放了根文件系统程序运行所需的共享文件。这些文件包含了可被许多程序共享的代码,以避免每个程序都包含有相同的子程序的副本,故可以使得可执行文件变得更小,节省空间。

/lib32 : 同上

/lib64 : 同上

/lost+found : 该目录在大多数情况下都是空的。但当突然停电、或者非正常关机后,有些文件就临时存放在;

/dev : 存放设备文件

/run : 代替/var/run目录,

/proc : 虚拟文件系统,可以在该目录下获取系统信息,这些信息是在内存中由系统自己产生的,该目录的内容不在硬盘上而在内存里;

/sys : 和proc一样,虚拟文件系统,可以在该目录下获取系统信息,这些信息是在内存中由系统自己产生的,该目录的内容不在硬盘上而在内存里;

SWAP分区的作用:

当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。

sudo cat /proc/sys/vm/swappiness该值默认值是60.

swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,

swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。

--临时性修改:

[root@rhce ~]# sysctl vm.swappiness=10

m.swappiness = 10

[root@rhce ~]# cat /proc/sys/vm/swappiness

10

这里我们的修改已经生效,但是如果我们重启了系统,又会变成60.

-永久修改:

在/etc/sysctl.conf 文件里添加如下参数:

vm.swappiness=10

四、命令

mkdir == make directory         创建目录

    -p parent当父目录不存在时,自动创建父目录

mkdir

ls    == list     查看指定目录下的内容

   参数 -l 显示文件或目录的详细信息

ls

pwd   == print work directory    打印当前目录

cd    == change directory       切换目录

touch      创建一个空白文件

vi编辑文本:

1.vi    文本编辑器
2.i 插入模式
3.esc 退出编辑模式
4.:wq保存并退出

查看:

cat   一次查看文件的所有内容
more 分页查看文件的内容,翻页按空格,一行行看用回车键
less 分页查看文件的内容,想对于more,支持回看

复制:

cp    == copy                    复制,拷贝

移动:

mv    == move                    移动,剪贴

删除

rm    == remove    删除
参数 -f 强制删除
参数 -r配合-f一起使用,不提示直接删除目录

head  取文件的头部n行

tail  取文件的倒数n行

seq   生成队列

alias 查看别名

定义别名alias ipr='ip addr'

unalias 取消别名 unalias ipr

find   查找

sed 's#./hostlists.txt#../idctest_iplist#g'

特殊符号:

***** |  管道

/  根目录

.  当前目录

~  用户家目录

-  上一次所在的目录

.. 上一级目录

{ } 代表一个范围

>   重定向

相对路径: etc/services

绝对路径:/etc/services

五、常用操作

(1)创建目录

mkdir  /data

(2)新建文件

cd    /data

touch oldboy.txt

(3)编辑文件

vi oldboy.txt

默认进入常规模式,按i进入到插入模式,I am studying linux. 按esc回到常规模式,:wq保存并退出

i光标当前插入

a光标之后插入

o光标的下一行

(4)查看文件内容(一次性查看所有内容)

cat aa.txt

(5)拷贝文件到目标目录下

cp aa.txt  /tmp/

(6)移动目录及目录下所有文件和子文件夹到目标目录下

mv file_or_dir target_file_or_dir

(7)删掉目录及目录下所有文件及子文件夹

rm -rf data

(8)linux三剑客

***** grep  最擅长过滤

***** sed   擅长替换

***** awk   擅长取列

方法1:grep -v 'oldboy' test.txt

方法2:sed '/oldboy/d' test.txt

方法3:awk 'NR<3' test.txt

方法4:head -n 2 test.txt

(9)拷贝目标文件到有同名文件的文件夹下,要求不提示替换

方法1:/usr/bin/cp -i /mnt/test.txt /tmp

方法2:\cp /mnt/test.txt  /tmp

方法3:unalias cp

cp /mnt/test.txt /tmp

(10)查看文件某部分内容

head -n 30 ett.txt|tail -n 11

awk 'NR>19 && NR<31' ett.txt

sed -n '/20/,/30/p' ett.txt

grep '20' -A 10 ett.txt

grep '30' -B 10 ett.txt

grep '25' -C 5 ett.txt

(11)将目标文件夹下所有以.sh结尾的文件中的特定内容替换为其他内容

find /oldboy -type f -name "*.sh"|xargs sed -i 's#./hostlists.txt#../idctest_iplist#g'

find找出来的结果,是一段文本信息,xargs将找出来的文本,转换成文件对象

linux基本的更多相关文章

  1. Linux 驱动开发

    linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...

  2. Linux 内核概述 - Linux Kernel

    Linux 内核学习笔记整理. Unix unix 已有40历史,但计算机科学家仍认为其是现存操作系统中最大和最优秀的系统,它已成为一种传奇的存在,历经时间的考验却依然声名不坠. 1973 年,在用 ...

  3. 死磕内存篇 --- JAVA进程和linux内存间的大小关系

    运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...

  4. NodeJs在Linux下使用的各种问题

    环境:ubuntu16.04 ubuntu中安装NodeJs 通过apt-get命令安装后发现只能使用nodejs,而没有node命令 如果想避免这种情况请看下面连接的这种安装方式: 拓展见:Linu ...

  5. [linux]阿里云主机的免登陆安全SSH配置与思考

    公司服务器使用的第三方云端服务,即阿里云,而本地需要经常去登录到服务器做相应的配置工作,鉴于此,每次登录都要使用密码是比较烦躁的,本着极速思想,我们需要配置我们的免登陆. 一 理论概述 SSH介绍 S ...

  6. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...

  7. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...

  8. SQL Server on Linux 理由浅析

    SQL Server on Linux 理由浅析 今天的爆炸性新闻<SQL Server on Linux>基本上在各大科技媒体上刷屏了 大家看到这个新闻都觉得非常震精,而美股,今天微软开 ...

  9. Microsoft Loves Linux

    微软新任CEO纳德拉提出的“Microsoft Loves Linux”,并且微软宣布.NET框架的开源,近期Microsoft不但宣布了Linux平台的SQL Server,还宣布了Microsof ...

  10. Linux 江湖系列阶段性总结

    引言 我使用 Linux 已经有很多年了,最开始接触 Linux 的时候是从 RedHat 9(没有 Enterprise),中途换过 N 个不同的发行版.多年前,我在 BlogJava 上面分享 J ...

随机推荐

  1. layui loading

    layer.msg('加载中', { icon: 16 ,shade: 0.4}); layer.load(2);风格二 setTimeout(function(){ layer.closeAll(' ...

  2. ADO.NET工具类(三)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...

  3. JQ和JS获取元素

    <ul>   <li>John</li> <li>Karl</li> <li>Brandon</li> </u ...

  4. C#程序中设置全局代理(Global Proxy)

    1. HttpWebRequest类的Proxy属性,只要设置了该属性就能够使用代理了,如下: 1             //设置代理 2         WebProxy WP = new Web ...

  5. GLSL 变量属性

    1. attribute变量为这个attribute变量指定一个位置(用无符号值表示):glBindAttribLocation利用这个“位置”来指定需要传给shader里的attribue变量的数据 ...

  6. .net core 2.0 数据访问-迁移

    将用于进行迁移的 Entity Framework Core NuGet包 添加到`.csproj`文件 <ItemGroup> <DotNetCliToolReference In ...

  7. docker registry v2与harbor的搭建

    docker的仓库 1 registry的安装 docker的仓库我们可以使用docker自带的registry,安装起来很简单,但是可能有点使用起来不是很方便.没有图形化. 开始安装 使用镜像加速器 ...

  8. BZOJ1001 洛谷4001 [BJOI2006]狼抓兔子 题解

    题目 这个题目有多种解法,这个题也是一个比较经典的题了,正是因为他的多样的做法,这个题主要难在建图和优化,因为这是一个网格图,所以spfa肯定过不去,所以用最短路解法的话,只能用dij,而网络流也是要 ...

  9. X问题 HDU - 1573(excrt入门题)

    X问题 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  10. 【AGC013C】Ants on a Circle 弹性碰撞

    题目大意 一个长度为\(lm\)的环上有\(n\)只蚂蚁,告诉你每只蚂蚁的位置和朝向,每只蚂蚁会向前爬,速度为\(1m/s\),两只蚂蚁相遇后都会掉头,问你\(t\)秒后每只蚂蚁的位置. \(n\le ...