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命令

  1. 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)
    
  2. type ifconfig 可以查到命令程式的位置
    [root@MDNode01 ~]# type ifconfig
    ifconfig is hashed (/sbin/ifconfig)

  3. 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

  4. echo列印變數或字串
    [root@MDNode01 sbin]# echo $PATH
    /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

  5. yum 安裝命令程式
    yum install man man-pages

  6. 通過man命令學習外部命令。
    man ifconfig

  7. 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:撤銷

.:執行上一步執行的命令

編輯模式-->>末行模式