linux基本

一、初识

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将找出来的文本,转换成文件对象

上一篇:Bitmap 的几种压缩方式


下一篇:今年第一季全球PC出貨量同比下降5.2%