在这期开始,我们先说一个上期没有说到的一点,当我们不知道一个命令都有什么功能时,我们可以man 命令:
[root@server ~]# man cat
我们就可以知道cat命令的所有功能了。
查看目录下的文件:ls(list)
ls -l 以长列表方式列出 =ll
ls -r 逆序列出
ls -d 查看当前目录.
ls -ld 长列表列出当前目录的详细信息
ls -lh 显示目录或文件大小
ls -a 列出隐藏文件,包括.和…
ls -A 列出隐藏文件,不包括.和…
ls -i 显示文件索引节点号(inode)。一个索引节点代表一个文件,在linux中保存在磁盘分区中的文件都给它分配一个编号,称为索引节点号inode。
下面简单的举个例子:
[root@server ~]# ll
total 8
-rw-------. 1 root root 1691 Dec 5 14:29 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Desktop
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Documents
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Downloads
-rw-r--r--. 1 root root 1846 Dec 5 14:31 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Music
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Pictures
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Public
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Templates
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Videos
[root@server ~]# ls -d
.
[root@server ~]# ls -lh
total 8.0K
-rw-------. 1 root root 1.7K Dec 5 14:29 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Desktop
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Documents
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Downloads
-rw-r--r--. 1 root root 1.9K Dec 5 14:31 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Music
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Pictures
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Public
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Templates
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Videos
我们还可以通过 cat 命令查看文件内容:
[root@server ~]# cat flie
haha
这个flie是我们提前写的文件,里面只写了haha,我们可以通过cat 文件名去查看文件内容,很方便。
我们通过touch命令创建文件,touch 文件名,
通过touch 文件1 文件2 文件3
或者touch {文件1,文件2,文件3}创建多个文件:
[root@server ~]# touch wenjian1 wenjian2 wenjian3
[root@server ~]# ll
total 12
-rw-------. 1 root root 1691 Dec 5 14:29 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Desktop
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Documents
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Downloads
-rw-r--r--. 1 root root 5 Dec 23 17:26 flie
-rw-r--r--. 1 root root 1846 Dec 5 14:31 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Music
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Pictures
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Public
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Templates
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Videos
-rw-r--r--. 1 root root 0 Dec 23 17:30 wenjian1
-rw-r--r--. 1 root root 0 Dec 23 17:30 wenjian2
-rw-r--r--. 1 root root 0 Dec 23 17:30 wenjian3
就创建成功了。
那么创建好文件,怎么往文件里面写内容呢。
首先要了解一个指令 echo ,它可以把我们的内容回响在屏幕上:
[root@server ~]# echo hehe
hehe
然后我们还要了解一个命令 > 重定向,和 >> 追加重定向。
具体方法如下:
echo 文件内容 > 文件名 就ok了
[root@server ~]# echo hello world > wenjian1
[root@server ~]# cat wenjian1
hello world
这样我们就把hello world 写进之前创建的wenjian1中了。
除此之外,如果我们没有创建好文件,我们可以直接这样:
tee 文件名 回车输入文件内容
[root@server ~]# tee hh
wo
[root@server ~]# cat hh
wo
删除文件很简单,我们可以rm -f 文件名 ,就可以删除此文件了。
[root@server ~]# rm -f wenjian1
[root@server ~]# ll
total 12
-rw-------. 1 root root 1691 Dec 5 14:29 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Desktop
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Documents
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Downloads
-rw-r--r--. 1 root root 0 Dec 23 17:43 flie
-rw-r--r--. 1 root root 14 Dec 23 17:38 hh
-rw-r--r--. 1 root root 1846 Dec 5 14:31 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Music
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Pictures
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Public
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Templates
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Videos
-rw-r--r--. 1 root root 0 Dec 23 17:45 wenjian2
-rw-r--r--. 1 root root 0 Dec 23 17:30 wenjian3
这下我们的wenjian1就被删除了。
我们还可以rm -f wenjian*删除所有以wenjian开头的文件。
[root@server ~]# rm -f wenjian*
[root@server ~]# ll
total 12
-rw-------. 1 root root 1691 Dec 5 14:29 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Desktop
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Documents
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Downloads
-rw-r--r--. 1 root root 0 Dec 23 17:43 flie
-rw-r--r--. 1 root root 14 Dec 23 17:38 hh
-rw-r--r--. 1 root root 1846 Dec 5 14:31 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Music
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Pictures
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Public
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Templates
drwxr-xr-x. 2 root root 6 Dec 5 15:19 Videos
我们的所有wenjian文件都被删除了。
我们vim 文件名,就可以编辑一个文件了:
[root@server ~]# vim /etc/passwd
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:65534:65534:Kernel Overflow User:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
systemd-resolve:x:193:193:systemd Resolver:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
polkitd:x:998:996:User for polkitd:/:/sbin/nologin
geoclue:x:997:995:User for geoclue:/var/lib/geoclue:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
libstoragemgmt:x:996:992:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
qemu:x:107:107:qemu user:/:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
unbound:x:995:990:Unbound DNS resolver:/etc/unbound:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
gluster:x:994:989:GlusterFS daemons:/run/gluster:/sbin/nologin
chrony:x:993:988::/var/lib/chrony:/sbin/nologin
"/etc/passwd" 47L, 2664C 1,1 Top
如图进入vim,进去之后是一般模式,我们可以执行如下常用命令:
dw 按单词删除
u 撤销当前操作
dd 删除当前行,=剪切
ctrl+r 重做上一个操作
yy 复制光标所在行
2 yy 复制光标所在行和光标下一行
p 粘贴到光标下一行
P 粘贴到光标上一行
cc 剪切
行数cc 剪切当前行开始的几行
小写X 删除光标所在位置的内容,即向后删除一个字符
大写X 向前删除一个单词
w,b 按单词进行移动光标
gg 跳转到文档首部行首
dgg 删除光标至文档首部
G 跳转到文档尾部行首
$ 行尾
^ 行首
n[enter] n为数字,光标向下移动n行
h 往左按字符移动光标
j 往下(后)按行移动光标
k 往上(前)按行移动光标
l 往右按字符移动光标
H 跳转到当前屏幕输出的最上面一行
L 跳转到当前屏幕输出的最下面一行
M 跳转到当前屏幕输出的中间那一行
然后按i进入插入模式:
i 在光标前插入
I在光标所在行第一个非空格符前插入
a 在光标后插入
A 在光标所在行末尾插入
s 删除光标所在位置字符并插入
S 删除光标所在行并插入
o 在光标所在行下一行插入
O 在光标所在行上一行插入
然后按shift+:进入命令行模式:
wq 保存退出
q 退出(未修改文件内容才可以退出)
wq! 强制保存退出
q! 强制退出,不保存
set nu 显示行号
set nonu 不显示行号
行号 跳转到指定行号
3,5 d 删除3-5行
r 文件名1 读出文件1的内容到当前文件里
%s/字符串2/字符串3 字符串3替换字符串2
%s/1/2/g 将1替换为2,全局修改
w 文件名1 另存为文件名1
/word 向下寻找一个字符串为word的字符串
?word 向上寻找一个字符串名称为word的字符串
ZZ 若文件没有改动,则离开,,若文件已经被改动过,则保存后离开
多文件编辑:
vim 文件1 文件2 文件3
:files显示多个文件文件名
:n查看下一个文件内容
:N查看上一个文件内容
多窗口功能:
vim 文件1
:sp 文件名 在同一个窗口启动另一个文件
:sp 同一个文件出现在两个窗口间
[ctrl]+w+w [ctrl]+w+w
这些就是vim的大部分常用指令了,具体还是看个人习惯,使用自己常用的命令可以提高效率。
好了,本期就到这里了。