2019-04-04

vi/vim
编辑文件的编辑器
vi/vim 文件
[root@GYJ ~]# ls
1.txt anaconda-ks.cfg
[root@GYJ ~]# vim /1.txt
进入编辑1.txt 这个文件
[root@GYJ ~]# vim /1.txt
~
~
~
~
"/1.txt" [New File]
vi/vim 里三种模式转换

普通模式
[root@GYJ ~]# vi 1.txt
gyjgyjgyj123456789
~
~
~
~
~
编辑模式(-- INSERT -- 插入的意思)
[root@GYJ ~]# vi 1.txt
gyjgyjgyj123456789
~
~
~
~
-- INSERT --
命令行模式(看最底行,可以输入命令)
[root@GYJ ~]# vi 1.txt
gyjgyjgyj123456789
~
~
~
~
~
:
set nu
显示行号(命令模式下输入)
[root@GYJ ~]# vi 1.txt
1 g
2 y
3 j
4 g
5 y
6 j
7 gyjgyj123456789
~
~
~
-- INSERT --
set nonu
取消行号
[root@GYJ ~]# vi 1.txt
g
y
j
g
y
j
gyjgyj123456789
~
~
:set nonu
cat
查看文件
[root@GYJ ~]# ls
1 2 anaconda-ks.cfg
[root@GYJ ~]# cat 1
123
456
[root@GYJ ~]#
cat 文件 文件 >>文件
合并文件到另一个文件(这个文件可以不存在)
[root@GYJ ~]# ls
1 2 anaconda-ks.cfg
[root@GYJ ~]# cat 1
123
456
[root@GYJ ~]# cat 2
789
111
[root@GYJ ~]# cat 1 2 >> 3
[root@GYJ ~]# ls
1 2 3 anaconda-ks.cfg
[root@GYJ ~]# cat 3
123
456
789
111
[root@GYJ ~]# cat 1 2 >>3
[root@GYJ ~]# cat 3
123
456
789
111
123
456
789
111
[root@GYJ ~]#
cat -n 文件/cat -b 文件
显示行号
[root@GYJ ~]# cat -n 3
1 123
2 456
3
4 789
5 111
6 123
7
8 456
9 789
10 111
11 gyj
12 GGYYJJ
[root@GYJ ~]# cat -b 3
1 123
2 456
3 789
4 111
5 123
6 456
7 789
8 111
9 gyj
10 GGYYJJ
cat >>文件<<EOF
追加编辑(编辑完最后一行开头输入大写EOF,回车退出)
[root@GYJ ~]# cat 3
123
456
789
111
123
456
789
111
[root@GYJ ~]# cat >> 3 << EOF
> gyj
> GGYYJJ
> EOF
[root@GYJ ~]# cat 3
123
456
789
111
123
456
789
111
gyj
GGYYJJ
[root@GYJ ~]#
echo
输入文本到屏幕
[root@GYJ ~]# echo 1 2 3
1 2 3
[root@GYJ ~]# echo 1/2/3
1/2/3
[root@GYJ ~]# echo {1..5}
1 2 3 4 5
[root@GYJ ~]# echo 1{1..5}
11 12 13 14 15
[root@GYJ ~]# echo 1{1..5}.6
11.6 12.6 13.6 14.6 15.6
[root@GYJ ~]#
echo >文件
清空文件
[root@GYJ ~]# cat 1
123
[root@GYJ ~]# echo > 1
[root@GYJ ~]# cat 1
[root@GYJ ~]#
echo 追加内容>>文件
给文件追加内容
[root@GYJ ~]# cat 1
123
[root@GYJ ~]# echo 456 >>1
[root@GYJ ~]# cat 1
123
456
[root@GYJ ~]#
seq
生成竖行序列
[root@GYJ ~]# seq 1 5
1
2
3
4
5
[root@GYJ ~]# seq 1 1 5
1
2
3
4
5
[root@GYJ ~]# seq 1 2 5
1
3
5
[root@GYJ ~]# seq 1 3 5
1
4
[root@GYJ ~]# seq 1 4 5
1
5
[root@GYJ ~]# seq 1 5 5
1
[root@GYJ ~]#
seq -w 10
以数字的位数,排列竖行序列
[root@GYJ ~]# seq -w 10
01
02
03
04
05
06
07
08
09
10
[root@GYJ ~]# seq -w 5
1
2
3
4
5
[root@GYJ ~]# seq -w 100
001
002
003
004
005
...(太长省略)
099
100
more
翻页查看文件内容
[root@gyj ~]# ls
1 1.txt 2 3 anaconda-ks.cfg
[root@gyj ~]# more 2
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/
nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
[root@gyj ~]#
more -n 文件(n为数字)
显示文件前n行内容
[root@GYJ ~]# cat 3
123
456
789
111
123
456
789
111
gyj
GGYYJJ
[root@GYJ ~]# more -4 3
123
456
789
--more--(28%)
显示了28%的内容,通用‘空格,回车,向下翻页’
more +n 文件
从文件n行查看
[root@GYJ ~]# more +4 3
789
111
123
456
789
111
gyj
GGYYJJ
[root@GYJ ~]#
less
翻页显示文件内容(more 的升级版)
[root@GYJ ~]# less 3
123
456
789
111
123
456
789
111
gyj
GGYYJJ
3 END
按q退出。
less -N 文件
显示文件带行号
[root@GYJ ~]# less -N 3
1 123
2 456
3
4 789
5 111
6 123
7
8 456
9 789
10 111
11 gyj
12 GGYYJJ
3 (END)
按q退出
less -e 文件
文件显示到结尾自动退出文件(不用再按q退出,直接空格退出)
[root@GYJ ~]# less -e 3
123
456
789
111
123
456
789
111
gyj
GGYYJJ
[root@GYJ ~]#
head
显示文件头部(默认前10行)
[root@GYJ ~]# cat 3
123
456
789
111
123
456
789
111
gyj
GGYYJJ
[root@GYJ ~]# head 3
123
456
789
111
123
456
789
111
[root@GYJ ~]#
head -n 5 文件
显示文件前5行
[root@GYJ ~]# head -n 5 3
123
456
789
111
[root@GYJ ~]#
head -c 10 文件
显示文件前10个字节
[root@GYJ ~]# head -c 10 3
123
456
7[root@GYJ ~]# head -c 20 3
123
456
789
111
123[root@GYJ ~]# head -c 5 3
123
4[root@GYJ ~]#
[root@GYJ ~]# head -c 7 3
123
456[root@GYJ ~]#
tail
显示文件内容尾部(默认显示尾部10行,从尾部开始显示)
[root@GYJ ~]# cat 3
123
456
789
111
123
456
789
111
gyj
GGYYJJ
[root@GYJ ~]# tail 3
789
111
123
456
789
111
gyj
GGYYJJ
[root@GYJ ~]#
tail -n 文件/tail -n 数字 文件(第一种,n可为数字指定的行数)
指定显示的行数
[root@GYJ ~]# tail -5 3
456
789
111
gyj
GGYYJJ
[root@GYJ ~]# tail -7 3
123
456
789
111
gyj
GGYYJJ
[root@GYJ ~]#
#第二种写法#也可以
[root@GYJ ~]# tail -n 5 3
456
789
111
gyj
GGYYJJ
[root@GYJ ~]# tail -n 7 3
123
456
789
111
gyj
GGYYJJ
[root@GYJ ~]#
tail -f 文件
实时更新文件(用于监控查看)
[root@GYJ log]# tail -f messages
Apr 7 17:18:31 GYJ systemd: Started Session 7 of user root.
Apr 7 17:18:31 GYJ systemd-logind: New session 7 of user root.
Apr 7 17:19:12 GYJ systemd: Started Session 8 of user root.
Apr 7 17:19:12 GYJ systemd-logind: New session 8 of user root.
Apr 7 17:19:27 GYJ systemd: Started Session 9 of user root.
Apr 7 17:19:27 GYJ systemd-logind: New session 9 of user root.
Apr 7 17:20:04 GYJ systemd: Started Session 10 of user root.
Apr 7 17:20:04 GYJ systemd-logind: New session 10 of user root.
Apr 7 17:20:30 GYJ systemd: Started Session 11 of user root.
Apr 7 17:20:30 GYJ systemd-logind: New session 11 of user root.
Apr 7 17:26:44 GYJ systemd-logind: Removed session 10.
Apr 7 17:26:44 GYJ systemd: Started Session 12 of user root.
Apr 7 17:26:44 GYJ systemd-logind: New session 12 of user root.
alias
查看命令的别名
[root@GYJ ~]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@GYJ ~]#
[root@GYJ ~]# alias rm
alias rm='rm -i'
[root@GYJ ~]#
alias 命令='修改后的命令的名字'(重启无效)
修改命令
[root@GYJ ~]# ls
1 2 3 anaconda-ks.cfg
[root@GYJ ~]# alias rm
alias rm='rm -i'
[root@GYJ ~]# alias rm='NO'
[root@GYJ ~]# alias rm
alias rm='NO'
[root@GYJ ~]# rm 3
-bash: NO: command not found
[root@GYJ ~]# alias rm='rm -i'
[root@GYJ ~]# alias rm
alias rm='rm -i'
[root@GYJ ~]# rm 3
rm: remove regular empty file ‘3’? y
[root@GYJ ~]# ls
1 2 anaconda-ks.cfg
[root@GYJ ~]#
网友评论