大数据-1虚拟机配置
大数据---虚拟机配置
登录系统后
一、配置模型机
cd /etc/sysconfig/network-scripts目录
修改文件ifcfg-eth0
vi ifcfg-eth0 接口配置-以太网
DEVICE=
HWADDR=网卡地址(不能相同)
TYPY=
UUID=
ONBOOT=
NM_CONTROLLED=
BOOTPROTO=
1、注释网卡地址
2、ONBOOT设置为yes
3、BOOTPROTO设置为static
192.168.25.0 -192.168.25.255范围
192.168.25.0网络号
192.168.25.255广播
192.168.25.2网关
192.168.25.1主机ip
可用ip范围 3-254
4、添加IP地址
IPADDR=192.168.25.240
5、网络掩码
NETMASK=255.255.255.0
6、网关
GATEWAY=192.168.25.2
7、DNS
DNS1=114.114.114.114
8、重启网络服务
service network restart
试着 ping www.baidu.com
若是没有解决问题:
参考文章:
https://jingyan.baidu.com/article/4d58d54137d2a19dd5e9c050.html
注意:
[3选项on代表开机启动,off代表开机启动
本机下面的VMware下面的几个服务一定要开启
1、DHCP service
2、NET service
3、Workstations service
关闭防火墙和安全检查的一个模块
查询当前的Linux系统那些服务是关闭或者禁用的
chkconfig
1、关闭防火墙
[root@MgsLocalhostData /]# chkconfig
auditd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
blk-availability 0:off 1:on 2:on 3:on 4:on 5:on 6:off
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ip6tables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
iscsi 0:off 1:off 2:off 3:on 4:on 5:on 6:off
iscsid 0:off 1:off 2:off 3:on 4:on 5:on 6:off
lvm2-monitor 0:off 1:on 2:on 3:on 4:on 5:on 6:off
mdmonitor 0:off 1:off 2:on 3:on 4:on 5:on 6:off
multipathd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off
netfs 0:off 1:off 2:off 3:on 4:on 5:on 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off
rdisc 0:off 1:off 2:off 3:off 4:off 5:off 6:off
restorecond 0:off 1:off 2:off 3:off 4:off 5:off 6:off
rsyslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
saslauthd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
udev-post 0:off 1:on 2:on 3:on 4:on 5:on 6:off
1、停止防火墙服务
service iptables stop
2、禁用防火墙
chkconfig iptables off
案例:
[root@MgsLocalhostData /]# chkconfig
......
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
.....
[root@MgsLocalhostData /]# service iptables stop
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
[root@MgsLocalhostData /]# chkconfig iptables off
[root@MgsLocalhostData /]# chkconfig
......
iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off
.....
3、系统安全方面的
cd /etc/selinux
vi config
把SELINUX改成=desabled
[root@MgsLocalhostData selinux]# cat config
......
disabled - No SELinux policy is loaded.
SELINUX=disabled
......
SELINUXTYPE=targeted
删除与网络物理地址的相关文件
[root@MgsLocalhostData selinux]# cd /etc
[root@MgsLocalhostData etc]# cd udev
[root@MgsLocalhostData udev]# cd rules.d
[root@MgsLocalhostData rules.d]# ls -l
total 16
-rw-r--r--. 1 root root 316 Nov 22 2013 60-raw.rules
-rw-r--r--. 1 root root 789 Jul 19 23:40 70-persistent-cd.rules
-rw-r--r--. 1 root root 420 Jul 19 23:36 70-persistent-net.rules
-rw-r--r--. 1 root root 54 Dec 8 2011 99-fuse.rules
[root@MgsLocalhostData rules.d]# cat 70-persistent-net.rules
This file was automatically generated by the /lib/udev/write_net_rules
program, run by the persistent-net-generator.rules rules file.
#
You can modify it, as long as you keep each rule on a single
line, and change only the value of the NAME= key.
PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:d5:f3:c7", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
[root@MgsLocalhostData rules.d]# rm -f /etc/udev/rules.d/70-persistent-net.rules
poweroff
二、得到的虚拟机作为模型机配置其他的主机
给虚拟机拍快照
通过快照克隆4台虚拟机
启动快照克隆的虚拟机,修改4台虚拟机的
1、IP地址
vi /etc/sysconfig/network-scripts/ifcfg-eth0
第一台IP 192.168.25.50,第二台IP 192.168.25.51,..
2、主机名
vi /etc/sysconfig/network
HOSTNAME = MDNode01
3、地址映射
vi /etc/hosts
192.168.25.50 MDNode01
192.168.25.51 MDNode02
192.168.25.52 MDNode03
192.168.25.53 MDNode04
4、在wind下面的hosts设置跟第三不一样的操作
5、检查5台设备之间的通信
常用的Linux命令
-
ifconfig 查看当前的计算机网络配置
[root@MDNode01 ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:BF:3A:BE inet addr:192.168.25.50 Bcast:192.168.25.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:febf:3abe/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:212 errors:0 dropped:0 overruns:0 frame:0 TX packets:92 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:19036 (18.5 KiB) TX bytes:11912 (11.6 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
-
type ifconfig 可以查到命令程序的位置
[root@MDNode01 ~]# type ifconfig
ifconfig is hashed (/sbin/ifconfig) -
file ifconfig 查看命令的文件,ELF代表可执行文件,
[root@MDNode01 sbin]# file ifconfig
ifconfig: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped -
echo打印变量或字符串
[root@MDNode01 sbin]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin -
yum 安装命令程序
yum install man man-pages -
通过man命令学习外部命令。
man ifconfig -
help 来学习习内部命令,
[root@MDNode01 /]# help GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu) These shell commands are defined internally. Type `help' to see this list. Type `help name' to find out more about the function `name'. Use `info bash' to find out more about the shell in general. Use `man -k' or `info' to find out more about commands not in this list. A star (*) next to a name means that the command is disabled. job_spec [&] history [-c] [-d offset] [n] or history > (( expression )) if COMMANDS; then COMMANDS; [ elif COMMA> . filename [arguments] jobs [-lnprs] [jobspec ...] or jobs -x c> : kill [-s sigspec | -n signum | -sigspec]> [ arg... ] let arg [arg ...] [[ expression ]] local [option] name[=value] ... alias [-p] [name[=value] ... ] logout [n] bg [job_spec ...] mapfile [-n count] [-O origin] [-s count> bind [-lpvsPVS] [-m keymap] [-f filename]> popd [-n] [+N | -N] break [n] printf [-v var] format [arguments] builtin [shell-builtin [arg ...]] pushd [-n] [+N | -N | dir] caller [expr] pwd [-LP] case WORD in [PATTERN [| PATTERN]...) COM> read [-ers] [-a array] [-d delim] [-i te> cd [-L|-P] [dir] readarray [-n count] [-O origin] [-s cou> command [-pVv] command [arg ...] readonly [-af] [name[=value] ...] or rea> compgen [-abcdefgjksuv] [-o option] [-A > return [n] complete [-abcdefgjksuv] [-pr] [-DE] [-o > select NAME [in WORDS ... ;] do COMMANDS> compopt [-o|+o option] [-DE] [name ...] set [--abefhkmnptuvxBCHP] [-o option-nam> continue [n] shift [n] coproc [NAME] command [redirections] shopt [-pqsu] [-o] [optname ...] declare [-aAfFilrtux] [-p] [name[=value] > source filename [arguments] dirs [-clpv] [+N] [-N] suspend [-f] disown [-h] [-ar] [jobspec ...] test [expr] echo [-neE] [arg ...] time [-p] pipeline enable [-a] [-dnps] [-f filename] [name .> times eval [arg ...] trap [-lp] [[arg] signal_spec ...] exec [-cl] [-a name] [command [arguments > true exit [n] type [-afptP] name [name ...] export [-fn] [name[=value] ...] or export> typeset [-aAfFilrtux] [-p] name[=value] > false ulimit [-SHacdefilmnpqrstuvx] [limit] fc [-e ename] [-lnr] [first] [last] or fc> umask [-p] [-S] [mode] fg [job_spec] unalias [-a] name [name ...] for NAME [in WORDS ... ] ; do COMMANDS; d> unset [-f] [-v] [name ...] for (( exp1; exp2; exp3 )); do COMMANDS; > until COMMANDS; do COMMANDS; done function name { COMMANDS ; } or name () {> variables - Names and meanings of some s> getopts optstring name [arg] wait [id] hash [-lr] [-p pathname] [-dt] [name ...]> while COMMANDS; do COMMANDS; done help [-dms] [pattern ...] { COMMANDS ; }
sudoku
文件系统
df -h
显示计算机的盘符大小
[root@MDNode01 etc]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 195G 834M 184G 1% /
tmpfs 491M 0 491M 0% /dev/shm
/dev/sda1 194M 28M 157M 15% /boot
[root@MDNode01 usr]# ls -l
total 60
dr-xr-xr-x. 2 root root 12288 Jul 20 18:05 bin
drwxr-xr-x. 2 root root 4096 Sep 23 2011 etc
drwxr-xr-x. 2 root root 4096 Sep 23 2011 games
drwxr-xr-x. 3 root root 4096 Jul 19 23:36 include
dr-xr-xr-x. 9 root root 4096 Jul 19 23:37 lib
dr-xr-xr-x. 24 root root 12288 Jul 20 18:05 lib64
drwxr-xr-x. 9 root root 4096 Jul 20 18:05 libexec
drwxr-xr-x. 12 root root 4096 Jul 19 23:36 local
dr-xr-xr-x. 2 root root 4096 Jul 20 18:05 sbin
drwxr-xr-x. 61 root root 4096 Jul 19 23:37 share
drwxr-xr-x. 4 root root 4096 Jul 19 23:36 src
lrwxrwxrwx. 1 root root 10 Jul 19 23:36 tmp -> ../var/tmp
查询当前目录下面的所有文件的大小
[root@MDNode01 usr]# du -sh ./*
19M ./bin
4.0K ./etc
4.0K ./games
40K ./include
98M ./lib
55M ./lib64
7.8M ./libexec
132K ./local
24M ./sbin
182M ./share
12K ./src
0 ./tmp
查询文件的文件名
[root@MDNode01 dev]# ls -l /dev/
total 0
crw-rw---- 1 root video 10, 175 Jul 21 05:49 agpgart
.....
crw-rw-rw- 1 root root 1, 5 Jul 21 05:49 zero
c、c开始的代表的是可执行的设备文件
man read
file descriptor
描述文件的三种形式,
任何进程都有三个最基本的流
0 代表输入流
1 正确的输出流
2 出错的输出流
文件系统
[root@MDNode01 /]# ls -l
total 94
dr-xr-xr-x. 2 root root 4096 Jul 19 23:37 bin
dr-xr-xr-x. 5 root root 1024 Jul 19 23:38 boot
drwxr-xr-x 18 root root 3700 Aug 8 16:30 dev
drwxr-xr-x. 61 root root 4096 Aug 8 16:30 etc
drwxr-xr-x. 2 root root 4096 Sep 23 2011 home
dr-xr-xr-x. 8 root root 4096 Jul 19 23:37 lib
dr-xr-xr-x. 9 root root 12288 Jul 19 23:37 lib64
drwx------. 2 root root 16384 Jul 19 23:35 lost+found
drwxr-xr-x. 2 root root 4096 Sep 23 2011 media
drwxr-xr-x. 2 root root 4096 Sep 23 2011 mnt
drwxr-xr-x. 2 root root 4096 Sep 23 2011 opt
dr-xr-xr-x 84 root root 0 Aug 8 16:30 proc
dr-xr-x---. 2 root root 4096 Jul 20 02:21 root
dr-xr-xr-x. 2 root root 12288 Jul 19 23:37 sbin
drwxr-xr-x. 2 root root 4096 Jul 19 23:36 selinux
drwxr-xr-x. 2 root root 4096 Sep 23 2011 srv
drwxr-xr-x 13 root root 0 Aug 8 16:30 sys
drwxrwxrwt. 3 root root 4096 Aug 8 17:31 tmp
drwxr-xr-x. 13 root root 4096 Jul 19 23:36 usr
drwxr-xr-x. 17 root root 4096 Jul 19 23:36 var
bin和sbin是可执行文件目录(ELF和脚本)
root 管理员的家目录
media挂载点目录,移动设备
mnt挂载点,额外的临时文件系统
proc伪文件系统,内核映射文件
sys伪文件系统,跟硬件相关的属性映射文件
tmp临时文件
var可变化的文件/var./tmp
erc配置文件
lib和lib64二次开发库
boot引导目录
dev 在Linux中一切皆文件,把系统抽象成文件放在这个目录下面
home用户的家目录
var目录,程序执行产生的文件、数据和日志存放的地方
usr目录,安装程序的目录
opt目录 自定义安装程序的目录
[root@MDNode01 /]# du -sh ./*
查询当前的目录下面的目录占用的大小
文件类型
在ls -l命令下面、
第一个字代表文件类型
— 普通文件
b 字节流
c 字符流
d 目录
c、b 设备文件
l 链接
p、s 看不到的管道和网络
操作文件
cd - 上一个文件
深度床架文件 mkdir -p [目录名/目录名]
水平创建 mkdir [] [] [] 可以接受多个参数
也可以这样创建 mkdir ./[目录]/{1,2,3}dir
rm 删除命令
rm -fr 强制删除
[root@MDNode01 ~]# ls -li
total 24
11796491 drwxr-xr-x 3 root root 4096 Aug 8 18:55 a
11796489 -rw-------. 1 root root 900 Jul 19 23:38 anaconda-ks.cfg
11796482 -rw-r--r--. 1 root root 8815 Jul 19 23:38 install.log
11796483 -rw-r--r--. 1 root root 3384 Jul 19 23:37 install.log.syslog
11796491代表的是物理存储的索引号
ln软连接和硬链接
[root@MDNode01 ~]# vi a.txt
[root@MDNode01 ~]# cat a.txt
ls 展示当前的目录下面的文件
ls -li 详情的展示当前目录下面的文件的信息
pwd 展示现在所处的文件位置
touch 创建一个文件
clear 清除屏幕的信息
hop 展示当前系统的CPU运行的情况
[root@MDNode01 ~]# ll -li
total 28
11796491 drwxr-xr-x 3 root root 4096 Aug 8 18:55 a
11796489 -rw-------. 1 root root 900 Jul 19 23:38 anaconda-ks.cfg
11796496 -rw-r--r-- 1 root root 234 Aug 8 19:51 a.txt
11796482 -rw-r--r--. 1 root root 8815 Jul 19 23:38 install.log
11796483 -rw-r--r--. 1 root root 3384 Jul 19 23:37 install.log.syslog
[root@MDNode01 ~]# ln a.txt b.txt
[root@MDNode01 ~]# ll -li
total 32
11796491 drwxr-xr-x 3 root root 4096 Aug 8 18:55 a
11796489 -rw-------. 1 root root 900 Jul 19 23:38 anaconda-ks.cfg
11796496 -rw-r--r-- 2 root root 234 Aug 8 19:51 a.txt
11796496 -rw-r--r-- 2 root root 234 Aug 8 19:51 b.txt
11796482 -rw-r--r--. 1 root root 8815 Jul 19 23:38 install.log
11796483 -rw-r--r--. 1 root root 3384 Jul 19 23:37 install.log.syslog
[root@MDNode01 ~]# cat b.txt
ls 展示当前的目录下面的文件
ls -li 详情的展示当前目录下面的文件的信息
pwd 展示现在所处的文件位置
touch 创建一个文件
clear 清除屏幕的信息
hop 展示当前系统的CPU运行的情况
[root@MDNode01 ~]#
创建出来的硬链接,删除原文件后,ln硬链接出来的文件是不会被影响的
[root@MDNode01 ~]# rm -f a.txt
[root@MDNode01 ~]# ll -li
total 28
11796491 drwxr-xr-x 3 root root 4096 Aug 8 18:55 a
11796489 -rw-------. 1 root root 900 Jul 19 23:38 anaconda-ks.cfg
11796496 -rw-r--r-- 1 root root 234 Aug 8 19:51 b.txt
11796482 -rw-r--r--. 1 root root 8815 Jul 19 23:38 install.log
11796483 -rw-r--r--. 1 root root 3384 Jul 19 23:37 install.log.syslog
[root@MDNode01 ~]# cat b.txt
ls 展示当前的目录下面的文件
ls -li 详情的展示当前目录下面的文件的信息
pwd 展示现在所处的文件位置
touch 创建一个文件
clear 清除屏幕的信息
hop 展示当前系统的CPU运行的情况
[root@MDNode01 ~]#
创建一个软链接
ln -s [文件] [文件]
[root@MDNode01 ~]# ln b.txt c.txt
[root@MDNode01 ~]# ll -li
total 32
11796491 drwxr-xr-x 3 root root 4096 Aug 8 18:55 a
11796489 -rw-------. 1 root root 900 Jul 19 23:38 anaconda-ks.cfg
11796496 -rw-r--r-- 2 root root 234 Aug 8 19:51 b.txt
11796496 -rw-r--r-- 2 root root 234 Aug 8 19:51 c.txt
11796482 -rw-r--r--. 1 root root 8815 Jul 19 23:38 install.log
11796483 -rw-r--r--. 1 root root 3384 Jul 19 23:37 install.log.syslog
[root@MDNode01 ~]# ln -s c.txt d.txt
[root@MDNode01 ~]# ll -li
total 32
11796491 drwxr-xr-x 3 root root 4096 Aug 8 18:55 a
11796489 -rw-------. 1 root root 900 Jul 19 23:38 anaconda-ks.cfg
11796496 -rw-r--r-- 2 root root 234 Aug 8 19:51 b.txt
11796496 -rw-r--r-- 2 root root 234 Aug 8 19:51 c.txt
11796494 lrwxrwxrwx 1 root root 5 Aug 8 20:00 d.txt -> c.txt
11796482 -rw-r--r--. 1 root root 8815 Jul 19 23:38 install.log
11796483 -rw-r--r--. 1 root root 3384 Jul 19 23:37 install.log.syslog
[root@MDNode01 ~]#
软连接:
拥有一个独立的指向的物理存储空间,并且链接数没有发生改变
但是删除源文件,和硬链接的相似,改变那个链接下面的信息都会使另一个链接发生改变
软连接 -- >> 源文件 -->> 物理内存
硬链接 -->> 指向和源文件相同的物理位置
[root@MDNode01 ~]# rm -f c.txt
[root@MDNode01 ~]# ll -li
total 28
11796491 drwxr-xr-x 3 root root 4096 Aug 8 18:55 a
11796489 -rw-------. 1 root root 900 Jul 19 23:38 anaconda-ks.cfg
11796496 -rw-r--r-- 1 root root 234 Aug 8 19:51 b.txt
11796494 lrwxrwxrwx 1 root root 5 Aug 8 20:00 d.txt -> c.txt[这个链接会出现问题]
11796482 -rw-r--r--. 1 root root 8815 Jul 19 23:38 install.log
11796483 -rw-r--r--. 1 root root 3384 Jul 19 23:37 install.log.syslog
[root@MDNode01 ~]# cat d.txt
cat: d.txt: No such file or directory
创建一个你删除的文件就可以修复了
[root@MDNode01 ~]# vi c.txt
[root@MDNode01 ~]# ll -li
total 32
11796491 drwxr-xr-x 3 root root 4096 Aug 8 18:55 a
11796489 -rw-------. 1 root root 900 Jul 19 23:38 anaconda-ks.cfg
11796496 -rw-r--r-- 1 root root 234 Aug 8 19:51 b.txt
11796497 -rw-r--r-- 1 root root 33 Aug 8 20:21 c.txt
11796494 lrwxrwxrwx 1 root root 5 Aug 8 20:00 d.txt -> c.txt
11796482 -rw-r--r--. 1 root root 8815 Jul 19 23:38 install.log
11796483 -rw-r--r--. 1 root root 3384 Jul 19 23:37 install.log.syslog
[root@MDNode01 ~]#
这就可以了,
stat
[root@MDNode01 /]# cd etc
[root@MDNode01 etc]# stat ./profile
File: `./profile'
Size: 1796 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 4980771 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-08-08 16:32:12.672043023 +0800
Modify: 2013-10-02 17:06:18.000000000 +0800
Change: 2019-07-19 23:36:08.683998356 +0800
stat查看文件的元数据[相当wind的文件属性]
Access: 最后一次访问的时间
Modify: 内容最后一次被修改的时间
Change: 元数据最后一次发生的改变时间
[root@MDNode01 /]# cd etc
[root@MDNode01 etc]# stat ./profile
File: `./profile'
Size: 1796 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 4980771 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-08-08 16:32:12.672043023 +0800
Modify: 2013-10-02 17:06:18.000000000 +0800
Change: 2019-07-19 23:36:08.683998356 +0800
[root@MDNode01 etc]# chmod a+x ./profile
[root@MDNode01 etc]# stat ./profile
File: `./profile'
Size: 1796 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 4980771 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-08-08 16:32:12.672043023 +0800
Modify: 2013-10-02 17:06:18.000000000 +0800
Change: 2019-08-08 20:29:13.799044630 +0800
[root@MDNode01 etc]# ll -li | grep profile
4980771 -rwxr-xr-x. 1 root root 1796 Oct 2 2013 profile
4980772 drwxr-xr-x. 2 root root 4096 Jul 19 23:36 profile.d
[root@MDNode01 etc]# date
Thu Aug 8 20:31:46 CST 2019
[root@MDNode01 etc]# vi ./profile
[root@MDNode01 etc]# ll -li ./profile
4981697 -rwxr-xr-x 1 root root 1805 Aug 8 20:32 ./profile
[root@MDNode01 etc]# stat ./profile
File: `./profile'
Size: 1805 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 4981697 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-08-08 20:32:31.589055215 +0800
Modify: 2019-08-08 20:32:31.589055215 +0800
Change: 2019-08-08 20:32:31.598054119 +0800
[root@MDNode01 etc]#
touch
触摸,
[root@MDNode01 ~]# stat b.txt
File: `b.txt'
Size: 234 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 11796496 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-08-08 19:56:09.671039508 +0800
Modify: 2019-08-08 19:51:10.567018568 +0800
Change: 2019-08-08 20:10:24.560042611 +0800
[root@MDNode01 ~]# touch b.txt
[root@MDNode01 ~]# stat b.txt
File: `b.txt'
Size: 234 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 11796496 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-08-08 20:40:11.507017786 +0800
Modify: 2019-08-08 20:40:11.507017786 +0800
Change: 2019-08-08 20:40:11.507017786 +0800
[root@MDNode01 ~]#
可以使用这个命令做安全机制
也可以创建一个不存在的文件或者目录
cat命令
cat是一个外部命令,是一个进程
more命令
more是一个查看文件的一个
less命令
这三个命令都是查看文件内容的命令
head命令和tail
head查看文件的前十行,tail把文件末尾显示出来
head -4 [文件名] tail -4 [文件名] 查看文件的前4行和查看文件的后4行
可以使用管道把head查询出来的最后一行赋值给tail命令显示最后的
echo "/" | xargs ls -l
vi编辑器
vi +4 [文件名] 打开相对于的文件,把光标移动到第4行.
vi +/etc [文件名] 打开编辑后,光标移动到相对于的etc中的行数。相识查找功能,
在退出编辑模式的时候,ZZ表示退出。
编辑-->>输入
i:在光标所在的前面插入
a:在当前光标后面插入
o:在光标所在行的下面新建一行,光标移动到下行,并转成输入模式
O:在上方新建行,转成输入模式
I:把光标移动到当前行的行首,并且转成输入模式
A:把光标移动到行尾,转成输入模式
ESC-->>编辑模式:
在编辑模式的情况下:/“字符串” 查找文本中的字符串出现的第一次位置
字节
h:光标左移动
j:光标下移动
k:光标上移动
l:光标右移动
单词
w:移动到下一个单词
e:跳转到当前或下一个单词的词尾
b:跳转到当前或下一个单词的词首
行内
0(零):绝对行首
^:当前行的第一个空白字符
$:绝对行尾
行间
G:文章的末尾
3G:第三行
gg:文章的开头
翻屏:
ctrl+f或者ctrl+b
删除和替换单个字符
x:删除光标位置的字符
3x:删除光标开始的三个字符
r:替换当前的字符
删除
dw:删除当前的字符
dd:删除当前的行
复制和粘贴
2dd:剪贴当前光标下面的两行
ym:复制当前的单词
yy:复制当前行
2yy:复制两行
P(大写),粘贴到上一行
p(小写),粘贴到下一行
ctrl+r,返回上一次操作
u:撤销
.:执行上一步执行的命令
编辑模式-->>末行模式
:
😕"":查找字符串
:set nu显示行号
:set nonu关闭显示行号
/“”直接查找
n下一个
N上一个
在末行模式下,1,$d删除第一行到最后一行
查找和替换
1,$s/a/b/
从第一行开始到最后的a字符替换成b字符,斜线可以换成#或者都可以
提示的信息于行为单位,提示替换
:set nu:像是
末行模式下的范围
n:代表行号
.:当前光标行
+n:偏远你行
$:末尾行
%,全文
Grep:命令
查找b.txt文件中包含ls字符串的行
[root@MDNode01 ~]# grep ls b.txt
ls 展示当前的目录下面的文件
ls -li 详情的展示当前目录下面的文件的信息
显示没有包含ls的行
[root@MDNode01 ~]# grep -v ls b.txt
pwd 展示现在所处的文件位置
touch 创建一个文件
clear 清除屏幕的信息
hop 展示当前系统的CPU运行的情况
[root@MDNode01 ~]#
通配符
[root@MDNode01 ~]# ls -li
total 32
11796491 drwxr-xr-x 3 root root 4096 Aug 9 06:40 a
11796495 -rw-r--r-- 1 root root 0 Aug 9 06:40 ab
11796496 -rw-r--r-- 1 root root 0 Aug 9 06:40 abc
11796489 -rw-------. 1 root root 900 Jul 19 23:38 anaconda-ks.cfg
11796499 -rw-r--r-- 1 root root 0 Aug 9 06:40 bcd
11796498 -rw-r--r-- 1 root root 234 Aug 9 06:20 b.txt
11796500 -rw-r--r-- 1 root root 0 Aug 9 06:41 cde
11796497 -rw-r--r-- 1 root root 33 Aug 8 20:21 c.txt
11796494 lrwxrwxrwx 1 root root 5 Aug 8 20:00 d.txt -> c.txt
11796482 -rw-r--r--. 1 root root 8815 Jul 19 23:38 install.log
11796483 -rw-r--r--. 1 root root 3384 Jul 19 23:37 install.log.syslog
11796501 -rw-r--r-- 1 root root 0 Aug 9 06:41 xyz
[root@MDNode01 ~]# ll -li ./a*
11796495 -rw-r--r-- 1 root root 0 Aug 9 06:40 ./ab
11796496 -rw-r--r-- 1 root root 0 Aug 9 06:40 ./abc
11796489 -rw-------. 1 root root 900 Jul 19 23:38 ./anaconda-ks.cfg
./a:
total 4
11796492 drwxr-xr-x 3 root root 4096 Aug 8 18:55 b
[root@MDNode01 ~]# ll -li ./a?
11796495 -rw-r--r-- 1 root root 0 Aug 9 06:40 ./ab
[root@MDNode01 ~]# ll -li ./a??
11796496 -rw-r--r-- 1 root root 0 Aug 9 06:40 ./abc
正则表达式
匹配操作符
\ 转义字符
. 匹配任意单个字符
^ 行首
$ 行尾
| 连接操作符
(,) 选择操作符
\n 反向引用
[] 字符序列单字符占位
[1249a]:代表文件中存在1249a的字符匹配,
[^12]:取反,不能出现1或2的字符
单词首尾边界
\<,\>;\<abc 匹配单词与abc开始的单词
重复操作符
? 匹配0到1次
* 匹配0到多次
+ 匹配1到多次
{n} 匹配n次
{n,} 匹配n到多次
{n,m} 匹配n到m次