Linux笔记2

1、VI文本编辑器
vi编辑器是Linux内置的文本编辑器,几乎所有的类unix系统中都内置了vi编辑器,而其它编辑器则不一定,另外很多软件会调用vi编辑进行内容编写,例如crontab定时任务。较之于其它编辑器或GUI编辑器,vi编辑速度是最快的。VIM是它的增强版本,VI有三种基本工作模式,分别是:
命令模式(command mode)、或者叫一般模式
插入模式(insert mode)、或者叫编辑模式
底行模式(last line mode)、或者叫命令行模式

1、最基本用法
vi huangbo.txt
1、首先会进入“一般模式”,此模式只接受各种命令快捷键,不能编辑文件内容
2、按i键,就会从一般模式进入编辑模式,此模式下,敲入的都是文件内容
3、编辑完成之后,按Esc键退出编辑模式,回到一般模式
4、再按:,进入“底行命令模式”,输入wq命令,回车即可保存退出

2、移动光标
1、使用上下左右键可以移动光标
2、使用h,j,k,l,依次是向左,下,上,右移动
3、w:将光标移动到下一个单词的首字母处
4、W:利用空格向后移动光标,就是忽略标点
5、b:利用word包括标点向前移动光标
6、B:利用空格向前移动光标,忽略标点
7、e:将光标移动到下一个word的尾部,包括符号
8、E: 将光标移动到下一个空格分隔字的尾部
9、(:移动到句子开始
10、):移动到句子结束
11、0:移动光标到下一句句首
12、$:移动光标到本行行尾
13、{:移动到段落开始
14、}:移动到段落结束
15、H:屏幕顶端
16、L:屏幕底端
17、M:移动到屏幕中央位置
18、gg:直接跳到文件的首行行首
19、G:直接跳到文件的末行行首
20、最强光标移动:
% : 匹配括号移动,包括(, {, [.(你需要把光标先移到括号上)
*: 匹配光标当前所在的单词,移动光标到下一个匹配单词
#: 匹配光标当前所在的单词,移动光标到上一个匹配单词

3、常用操作
一些有用的操作(在一般模式下使用):
a 在光标后一位开始插入
A 在该行的最后插入
i 在光标前
I 在该行的最前面插入
o 在光标当前行下插入一个空行,光标位于空行行首
O 在当前行插入空行
dd 删除光标所在行
3dd 删除从当前行开始的3行
yy 复制光标所在行
3yy 复制从当前行开始的3行
p paste 粘贴
u undo 撤销

4、查找并替换
(在底行命令模式中输入)
1显示行号
:set nu
2 隐藏行号
:set nonu
3 查找关键字
:/you ## 效果:查找文件中出现的you,并定位到第一个找到的地方,按n可以定位到下一个匹配位置(按N定位到上一个)
查询的时候被匹配上的字符串会被高亮,可以在命令模式下使用:noh取消高亮
4、直接跳转到N行
:N

5、替换操作
:1 s/sad/bbb 将第一行的第一个sad替换为bbb
:1,5 s/sad/bbb 将第一行到第五行的第一个sad替换为bbb
:1,. s/sad/bbb 将第一行到光标行的第一个sad替换为bbb
:.,$ s/sad/bbb 将光标行到缓冲区最后一行的sad替换为bbb
: s/sad/bbb 查找光标所在行的第一个sad,替换为bbb
: s/sad/bbb/g 查找光标所在行的所有sad,替换为bbb
:%s/sad/bbb 查找文件中所有行第一次出现的sad,替换为bbb
:%s/sad/bbb/g 查找文件中所有的sad,替换为bbb

6、其他小技巧
r 替换光标处一个字符
R 进入替换模式,从光标处连续替换
s 删除当前字符,进入插入模式
S 删除当前行,进入插入模式
f + s 光标行内向后查找第一个出现的字符s
F + s 光标行内向前查找第一个出现的字符s
~ 大小写转换,只转换光标处字符

7、真正的宝藏
VIM详解:http://linux.ctolib.com/cheat-sheets/view/Vim-command.html
2、网络管理
2.1、ifconfig命令
ifconfig命令主要用于配置网络接口,如果不加任何参数,则ifconfig命令用于查看当前所有活动网络接口的状态信息,如下图:

图中的eth0表示活动的以太网接口,对应的描述信息中给出了网络的整体状况信息包括网络类型、MAC地址、IP地址、子网掩码等等,lo表示本地回环网络地址

ifconfig其他常用使用
-a 显示所有网络接口,包括停用的
-s 短格式显示网络信息,同netstat -i
-v 显示详细信息,在网络出错的情况下适用
interface 指定网络接口
up 启用网络接口
down 关闭网络接口

启用网络:ifconfig eth0 up
禁用网络:ifconfig eth0 down
2.2、网络配置
1、认识一下Vmware中的虚拟机和宿主机进行通信三种网络方式,它们分别是:
Bridged(桥接模式)
NAT(网络地址转换模式)
Host-Only(仅主机模式)

2、Bridged(桥接模式)
桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥接的作用下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以访问而不干扰。在桥接模式下,虚拟机ip地址需要与主机在同一个网段,如果需要联网,则网关与DNS需要与主机网卡一致

3、Host-Only(仅主机模式)宿主
在Host-Only模式下,虚拟网络是一个全封闭的网络,它唯一能够访问的就是主机。其实Host-Only网络和NAT网络很相似,不同的地方就是 Host-Only网络没有NAT服务,所以虚拟网络不能连接到Internet。主机和虚拟机之间的通信是通过VMware Network Adepter VMnet1虚拟网卡来实现的。

4、NAT模式
使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是说,使用NAT模式可以实现在虚拟系统里访问互联网。NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,无法进行手工修改,因此虚拟系统也就无法和本局域网中的其他真实主机进行通讯。采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可。

5、我们采用NAT网络模式工作。接下来教大家怎么配通网络,使虚拟机既能访问宿主机,也能访问互联网。
1、在虚拟机软件菜单栏中找到“编辑”,打开“虚拟网络编辑器”

2、在上图中,我们修改一些信息。
①、先看“子网IP”,这表示的就是我们的子网网段,我的是把他修改成“192.168.123.0”
②、再看“子网掩码”,这里写固定的“255.255.255.0”即可
③、再看“NAT设置”:按右图设置
④、再看“DHCP设置”,可以配置起始IP段

3、检查我们windows系统的“网络连接”,看看是否vmnet8该网卡的IP是否配置正常,理应如此配置:

4、上述步骤都配好之后,我们的虚拟机NAT网络工作模式就设定好了。

5、我们修改该Linux系统的IP地址,请按照修改Linux操作系统的IP地址的文档的步骤来操作。----------请移步按“资料-linux修改IP三种方式”去操作。
1.配置通讯方式(NAT模式)网关不能和物理机冲突
配置虚拟交换机(网关:192.168.2.2)
虚拟网卡(192.168.2.1)
2.配置静态ip
hadoop01 --> 192.168.2.101
hadoop02 --> 192.168.2.102
1)图形界面
重启网络服务: service network restart(每次配完都要重启)
2)文件配置
vim /etc/sysconfig/network-scripts/ifcfg-eth0

6、配置好了IP以后,我们来验证一下,虚拟机Linux操作系统和宿主机是否能互相通信了。下面是验证结果图:

7、结果若和第6步一样,则表示配置成功

2.3、修改主机名
1、查看主机名
[root@hadoop01 ~]# hostname

2、暂时性修改一次主机名,使用hostname命令即可
[root@hadoop01 ~]# hostname hadoop02

重新登录,你就会发@符号的主机名就会变成hadoop02,不然不会马上变
这种修改方式,只会生效一次,下一次重启之后就失效了。

3、下面带大家永久修改主机名
[root@hadoop02 ~]# vi /etc/sysconfig/network

修改一下,使HOSTNAME等于你要修改成的主机名,然后保存退出

4、重启生效
2.4、配置主机映射(域名和IP映射)
1、编辑配置文件/etc/hosts(如果在windows系统中运行虚拟机,则在windows中配置:
C:\Windows\System32\drivers\etc\hosts
末尾添加
192.168.2.101 hadoop01
192.168.2.102 hadoop02)
[root@hadoop02 ~]# vi /etc/hosts

2、往里面加入映射关系

我加的是192.168.123.202对应到hadoop02(主机名),如果有多个加入多个即可
上面两行是自带的,不用理会

3、保存退出即可

4、检查是否配置成功,是否生效

2.5、其他常用网络管理命令
1、ping命令
常用来测试网络连接是否正常

2、host命令
host命令用来进行DNS查询

先确定能ping通www.baidu.com
然后用host命令可以查看到www.baidu.com的主机host
然后通过浏览器访问该地址:

3、netstat命令
netstat命令可以显示网络接口的很多统计信息,包括打开的socket和路由表
以下是常用命令选项
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字
-l 仅列出有在 Listen (监听) 的服務状态

-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令

例子:
1、列出所有端口,包括监听和未监听的:netstat -a
2、列出所有TCP端口:netstat -at
3、列出所有UDP端口:netstat -au
4、列出所有监听状态的TCP端口:该命令最重要用来查看哪个程序占用了哪个网络端口号
netstat -nltp

命令详解:http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316661.html
2.6、防火墙
防火墙根据配置文件/etc/sysconfig/iptables来控制本机的“出、入”网络访问行为
其对行为的配置策略有四个策略表

1、基础必备技能
查看防火墙状态 service iptables status
开启防火墙 service iptables start
关闭防火墙 service iptables stop
关闭防火墙开机自启 chkconfig iptables off
设置防火墙开机自启 chkconfig iptables on

2、扩展知识
1、列出iptables规则
iptables -L -n
列出iptables规则并显示规则编号
iptables -L -n --line-numbers

2、列出iptables nat表规则(默认是filter表)
iptables -L -n -t nat

3、清除默认规则(注意默认是filter表,如果对nat表操作要加-t nat)
#清除所有规则
iptables -F

#重启iptables发现规则依然存在,因为没有保存
service iptables restart

#保存配置
service iptables save

4、禁止SSH登陆(如果服务器在机房,一定要小心)
iptables -A INPUT -p tcp --dport 22 -j DROP

#删除规则
iptables -D INPUT -p tcp --dport 22 -j DROP

加入一条INPUT规则开放80端口
iptables -I INPUT -p tcp --dport 80 -j ACCEPT

3、Linux系统启动级别管理
使用runlevel命令可以查看系统运行的级别
[root@hadoop01 ~]# runlevel

修改系统默认启动级别:
[root@hadoop02 ~]# vi /etc/inittab

Default runlevel. The runlevels used are:
0 - halt (Do NOT set initdefault to this)
1 - Single user mode
2 - Multiuser, without NFS (The same as 3, if you do not have networking)
3 - Full multiuser mode ## 没有图形界面的全功能的多用户的启动级别
4 - unused
5 - X11 ## 有图形界面的启动级别
6 - reboot (Do NOT set initdefault to this)

id:3:initdefault: ## 配置默认启动级别
通常将默认启动级别设置为:3

4、CRT使用
给大家推荐一个命令终端工具SecureCRT,类似的远程终端工具有XShell,Putty等等
5、用户和组
5.1、用户和组的概念
在最开始介绍Linux系统的时候有介绍过说Linux是一个多任务多用户的操作系统,当我们在使用ls -l命令的时候我们看到如下信息:

上面七个红框的信息分别是:
apps:表示文件或者目录,具体的文件类型是由该行最前面的那个符号表示
drwxrwxr-x:该文件的类型和权限信息
6:链接数,如果是文件则是1, 如果是文件夹则表示该文件夹下的子文件夹个数
第一个hadoop:文件或者目录的所属者
第二个hadoop:所属用户组
4096:文件或者目录的大小,是目录的话一般都是4096
Mar 24 11:20:文件的最后编辑时间
通过以上信息得知,每个文件都设计到用户和组的权限问题
在Linux中,用户是能够获取系统资源的权限的集合,组是权限的容器

Linux用户类型
用户类型 描述
管理员root 具有使用系统所有权限的用户,其UID 为0
系统用户 保障系统运行的用户,一般不提供密码登录系统,其UID为1-499之间
普通用户 即一般用户,其使用系统的权限受限,其UID为500-60000之间.
与Linux用户信息相关的文件有两个:分别是/etc/passwd和 /etc/shadow
查看文件/etc/passwd文件的内容,选取第一行:
root: x:0:0:root:/root:/bin/bash
root:用户名
x:密码占位符,密码保存在shadow文件内
0:用户id,UID
0:组id,GID
root:注释信息
/root:用户家目录
/bin/bash:用户默认使用shell

Linux用户组类型
用户组类型 描述
系统组 一般加入一些系统用户
普通用户组 可以加入多个用户
私有组/基本组 当创建用户时,如果没有为其指明所属组,则就为其定义一个私有的用户组,起名称与用户名同名,当把其他用户加入到该组中,则其就变成了普通组
与Linux用户组信息相关的文件有两个:分别是/etc/group和 /etc/gshadow
查看文件/etc/group文件内容,选取一个普通组行:
hadoop: x:500:hadoop:组名
x:组密码占位符
500:组id

5.2、用户操作
Linux中的用户管理主要涉及到用户账号的添加、删除和修改。所有操作都影响/etc/passwd中的文件内容

1、添加用户
useradd spark
usermod -G bigdata spark ## 设置组
usermod -c “mylove spark” spark ## 添加备注信息

一步完成:useradd -G bigdata -c “mylove” spark

2、设置密码
passwd spark
根据提示设置密码即可

3、修改用户
修改spark登录名:usermod -l spark storm
将spark添加到bigdata和root组:usermod -G root,bigdata spark
查看spark的组信息:groups spark

4、删除用户
userdel -r spark
加一个-r就表示把用户及用户的主目录都删除
5.3、组操作
前面我们知道,组是权限的集合。在linux系统中,每个用户都有一个用户组,没有指定时都默认为私有组,私有组名同用户名一致,建立用户组的好处是系统能对一个用户组中的所有用户的操作权限进行集中管理。组管理涉及组的添加、删除和修改。组的增加、删除和修改实际上就对/etc/group文件的更新

1、添加一个叫bigdata的组
groupadd bigdata

2、查看系统当前有那些组
cat /etc/group

3、将hadoop用户添加到bigdata组中
usermod -G bigdata spark
或者
gpasswd -a spark bigdata

这两个命令的区分记忆技巧:
命令是什么,就证明对什么做操作,所以最后的参数就是命令的操作对象,中间的可选项表示要干嘛

4、将spark用户从bigdata组删除
gpasswd -d spark bigdata

5、将bigdata组名修改为bigspark
groupmod -n bigspark bigdata

6、删除组
groupdel bigdata
5.4、为用户配置sudoer权限
普通情况下,使用普通用户进行一些简单的操作就OK,但是普通用户和root用户的区别就在于root用户能对系统做任何事,但是普通用户就不行。处处受限。那么假如在某些情况下,普通用户想拥有更大的权限做更多的事情,虽然有权限限制,但也不是不可以。部分操作还是可以赋予更高的权限让普通用户做一次。这就需要给普通用户配置root权限了。意思就是让普通用户使用root权限去做一些操作,这当然是需要配置的。

用root编辑 vi /etc/sudoers
在文件的如下位置,为hadoop添加一行即可
root ALL=(ALL) ALL
hadoop ALL=(ALL) ALL
spark ALL=(ALL) ALL

然后,hadoop用户和spark用户就可以用sudo来执行系统级别的指令
[hadoop@hadoop01 ~]$ sudo useradd huangxiaoming
5.5、切换用户
在linux的系统使用过程当中,免不了会有多个用户来回切换使用。所以在此提供切换用户的使用操作:切换用户使用的命令是 su(switch user)

从普通用户切换到root用户:
[hadoop@hadoop01 root]$ su root
或者
[hadoop@hadoop01 root]$ su
然后根据提示输入密码即可

从root用户切换到普通用户
[hadoop@hadoop01 root]$ su hadoop
不用输入密码

退出登录
[hadoop@hadoop01 root]$ exit

6、文件权限
1、linux文件权限的描述格式解读
d rwx r-x r-x (也可以用二进制表示 111 101 101 --> 755)

d:标识节点类型(d:文件夹 -:文件 l:链接)
r:可读 w:可写 x:可执行

文件 文件夹
r 可读取内容 可以ls
w 可修改文件的内容 可以在其中创建或者删除子节点
x 能否运行这个文件 能否cd进入这个目录

u第一组rwx: ## 表示这个文件的拥有者对它的权限:可读可写可执行
g第二组r-x: ## 表示这个文件的所属组用户对它的权限:可读,不可写,可执行
o第三组r-x: ## 表示这个文件的其他用户(相对于上面两类用户)对它的权限:可读,不可写,可执行

2、修改文件权限
chmod g-rw haha.dat ## 表示将haha.dat对所属组的rw权限取消
chmod o-rw haha.dat ## 表示将haha.dat对其他人的rw权限取消
chmod u+x haha.dat ## 表示将haha.dat对所属用户的权限增加x
chmod a-x haha.dat ## 表示将haha.dat对所用户取消x权限

也可以用数字的方式来修改权限
chmod 664 haha.dat
就会修改成 rw-rw-r–
如果要将一个文件夹的所有内容权限统一修改,则可以-R参数
chmod -R 770 aaa/

3、修改文件所有权
<只有root权限能执行>
chown angela aaa ## 改变所属用户
chown :angela aaa ## 改变所属组
chown angela:angela aaa/ ## 同时修改所属用户和所属组

7、压缩打包
1、gzip压缩
gzip ma.txt

2、gzip解压缩
gzip -d ma.txt.gz
或者 gunzip ma.txt.gz

3、bzip2压缩
bzip2 ma.dat

4、bzip2解压缩
bzip2 -d ma.dat.bz2
或者bunzip2 ma.dat.bz2

5、打包
tar -cvf ma.txt.tar ma.txt

追加打包:
tar -rvf ma.txt.tar ma.dat
表示将ma.dat文件追加到ma.txt.tar当中

6、解包
tar -xvf ma.txt.tar
tar -xvf ma.txt.tar -C aa(解包到aa里)

7、打包并压缩
tar -zcvf ma.tar.gz a.txt b.txt

8、解包并解压缩(重要的事情说三遍!!!)
tar -zxvf ma.tar.gz
tar -zxvf ma.tar.gz
tar -zxvf ma.tar.gz

解包并解压缩到其他指定目录:
tar -zxvf ma.tar.gz -C aa

9、查看压缩包内容
tar -ztvf ma.tar.gz

10、打包并压缩成bz2
tar -jcvf a.tar.bz2

11、解压bz2
tar -jxvf a.tar.bz2

相关参数的解释:
z:gzip,通过gzip格式压缩或者解压缩
c:create,创建压缩文件
x:extract,解压缩文件,或者叫还原文件
v:verbose,显示过程
f:file,指定文件
t:list,列出文件
j:支持bzip2压缩和解压缩

8、Linux开关机和重启
开机:开机键
关机:shutdown,halt,init 0,poweroff
重启:reboot,init 6

Shutdown命令详解:
shutdown -h now ## 立刻关机
shutdown -h +10 ## 10分钟以后关机
shutdown -h 12:00:00 ##12点整的时候关机

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值