vim编辑器

vi和vim常用的三种模式

正常模式

以vim打开一个档案就直接进入一般模式

插入模式

按下i,I,O,a,A,r,R等任意一个字母进入编辑模式。

命令行模式

输入ESC再输入: 进入命令行模式

ublic class Hello {

        public static void main(String[] args){


        System.out.println("hello,world");


}

:wq#保存退出 q!强制退出不保存

vi和vim快捷键

  1. 拷贝当前行:yy,拷贝当前行向下的5行:5yy,并粘贴:p。
  2. 删除当前行:dd,删除当前行向下的5行:5dd
  3. 在文件查找某个单词【命令行下 /关键字 ,回车 查找,输入n就是查找下一个】
  4. 设置文件的行号,取消文件的行号,set nu和set nonu
  5. 快捷键到该文档的最末行:G 最首行:gg
  6. 输入撤销:u
  7. 光标快速移动到20行 shift+g
用户管理

添加用户

useradd 用户名

useradd -d 指定目录

[root@liuyu home]# useradd gg #创建用户gg
[root@liuyu home]# ll
总用量 0
drwx------.  3 gg    gg     78 8月  30 11:17 gg
drwx------. 14 liuyu liuyu 271 8月  30 10:13 liuyu
[root@liuyu home]# useradd -d /home/test xx #在/home/test目录下创建用户xx
[root@liuyu home]# ls
gg  liuyu  test

指定/修改密码

passwd 用户名

[root@liuyu home]# passwd xx
更改用户 xx 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

删除用户

userdel 用户名

删除用户,但是保留家目录

[root@liuyu home]# userdel xx
[root@liuyu home]# ll
总用量 0
drwx------.  3 gg    gg     78 8月  30 11:17 gg
drwx------. 14 liuyu liuyu 271 8月  30 10:13 liuyu
drwx------.  3  1002  1002  78 8月  30 11:18 test

删除用户以及用户主目录

[root@liuyu home]# userdel gg -r
[root@liuyu home]# ls
liuyu  test

查询用户信息指令

id 用户名

[root@liuyu home]# id root
uid=0(root) gid=0(root) 组=0(root)

切换用户

su - 切换用户名 #从权限高的用户切换到权限低的用户不需要输入密码

从权限高用户登录权限低用户退出直接输入logout

用户组

类似于角色,系统可以对有共性的多个用户进行统一的管理

新增组

groupadd 组名

[root@liuyu home]# groupadd wudang
[root@liuyu home]#

删除组

groupdel 组名

[root@liuyu home]# groupdel wudang
[root@liuyu home]# 

增加用户时直接加上组名

useradd -g 用户组 用户名

[root@liuyu home]# groupadd wudang
[root@liuyu home]# useradd -g wudang zhangwuji
[root@liuyu home]# ll
总用量 0
drwx------. 14 liuyu     liuyu  271 8月  30 10:13 liuyu
drwx------.  3      1002   1002  78 8月  30 11:18 test
drwx------.  3 zhangwuji wudang  78 8月  30 11:36 zhangwuji
[root@liuyu home]# id zhangwuji
uid=1001(zhangwuji) gid=1001(wudang) 组=1001(wudang)
[root@liuyu home]# 

修改用户组

usermod -g 用户组 用户名

[root@liuyu home]# groupadd guangming #创建用户组
[root@liuyu home]# usermod -g guangming zhangwuji#修改zhangwuji组名
[root@liuyu home]# id zhangwuji
uid=1001(zhangwuji) gid=1002(guangming) 组=1002(guangming)
[root@liuyu home]# 

用户组和组相关文件

/etc/passwd 文件
用户(user)的配置文件,记录用户的各种信息
[root@liuyu etc]# cat passwd
root:x:0:0:root:/root:/bin/bash

含义:用户名-口令-用户表示号-组标识号-注释性描述-主目录-登录shell

/etc/shadow
口令配置文件
[root@liuyu etc]# cat shadow
root:$6$QcN/Vcgimm0hi71y$FO.0KOL8JHmLRHhBJk3OKncByZGzaGXr0jpDDvrRjuLtxVLPCgBQLW7.VhRXSK1kJVFHEDmCC5jHUByeWuPGA1::0:99999:7:::

含义:登录名-加密口令-最后一次修改时间-最小时间间隔-最大时间间隔-警告时间-不活动时间-失效时间-标志

/etc/group
组的配置文件,记录linux包含的组的信息
[root@liuyu etc]# cat group
root:x:0:

含义:组名-组标识号-组内用户列表

linux实用指令

运行级别指令

运行级别说明

0:关机

1:单用户

2:多用户状态没有网络服务

3:多用户状态有网络服务

4:系统未使用保留给用户

5:图形界面

6:系统重启

常用运行级别是3和5,也可以指定默认运行级别

[root@liuyu /]# init 3 #切换用户指令
#multi-user.target 3级别
#graphical.target  5级别
[root@liuyu /]# systemctl get-default #查看当前用户运行级别
graphical.target
[root@liuyu /]# systemctl set-default multi-user.target #切换用户级别
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.
[root@liuyu /]# systemctl get-default  #查看当前用户级别
multi-user.target

[root@liuyu /]# systemctl set-default graphical.target 
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/graphical.target.
[root@liuyu /]# systemctl get-default 
graphical.target

如何找回root密码

启动界面输入e

文件目录类

pwd

显示当前工作目录的绝对路径

[root@liuyu ~]# pwd
/root

ls

基础语法:ls 【选项】【目录或者是文件】

常用选项:

-a:显示当前目录所有目录和文件,包括隐藏的

-l:以列表的形式显示信息

mkdir

创建目录

常用选项:

-p 创建多级目录

rmdir

删除空目录

基础语法:rmdir [选项] 要删除的空目录

如果需要删除非空目录,需要使用rm -rf

[root@liuyu home]# rm -rf zhangwuji/
[root@liuyu home]# ll
总用量 4
drwx------. 14 liuyu liuyu     4096 8月  30 11:57 liuyu
drwx------.  3  1002 guangming   78 8月  30 11:18 test

touch

创建空文件

[root@liuyu home]# touch test/hello
[root@liuyu home]# ll test/
总用量 0
-rw-r--r--. 1 root root 0 8月  30 12:25 hello
[root@liuyu home]#

cp

拷贝文件到指定目录

基础语法:cp [选项] source(拷贝的文件) desk(拷贝文件的目标路径)

常用选项:-r 递归复制整个文件夹

[root@liuyu home]# cp test/hello liuyu/
[root@liuyu home]# cd liuyu/
[root@liuyu liuyu]# ll
总用量 0
-rw-r--r--. 1 root  root  0 8月  30 12:29 hello
drwxr-xr-x. 2 liuyu liuyu 6 8月  30 10:13 公共
drwxr-xr-x. 2 liuyu liuyu 6 8月  30 10:13 模板
drwxr-xr-x. 2 liuyu liuyu 6 8月  30 10:13 视频
drwxr-xr-x. 2 liuyu liuyu 6 8月  30 10:13 图片
drwxr-xr-x. 2 liuyu liuyu 6 8月  30 10:13 文档
drwxr-xr-x. 2 liuyu liuyu 6 8月  30 10:13 下载
drwxr-xr-x. 2 liuyu liuyu 6 8月  30 10:13 音乐
drwxr-xr-x. 2 liuyu liuyu 6 8月  30 10:13 桌面
[root@liuyu home]# cp -r liuyu/ test/ #将liuyu整个目录拷贝到test目录下
[root@liuyu home]# ll test/
总用量 4
-rw-r--r--.  1 root root    0 8月  30 12:25 hello
drwx------. 14 root root 4096 8月  30 12:31 liuyu
[root@liuyu home]#

mv

移动文件目录或者重命名

基础语法:mv 001 002 在同一目录下就是重命名

​ mv 源文件路径 目标路径

cat

浏览文件

more

交互式查看文件

空格键:向下翻一页

enter:向下翻一行

q:代表立刻离开more,不再显示该文件内容

ctrl+f:向下滚动一屏

ctrl+b:返回上一屏

=:输出当前的行号

:f:输出文件名和当前的行号

less

分屏查看,显示大文件有较高的效率

echo

输出内容到控制台

[root@liuyu /]# echo $HOSTNAME
liuyu

tail

用于输出文件尾部的内容,默认情况下tail指令显示文件的前10行内容。

基本语法:

tail 文件 查看文件尾部的10行内容

tail -n 5 文件 查看文件尾部5行内容

tail -f 文件 事实追踪该文档的所有更新

输出重定向和追加

>输出重定向       >>追加

find

将从指定目录向下递归查找各个子目录,将满足条件的文件或者目录显示在终端

find [范围] [选项]
	[-user]
	[-size]
[root@liuyu /]# find /home/ -name hello*
/home/liuyu/hello
/home/test/hello
/home/test/liuyu/hello


[root@liuyu /]# find /opt/ -user root#查找opt目录下root用户的文件
/opt/
/opt/rh

[root@liuyu /]# find / -size +200M
/proc/kcore
find: ‘/proc/3478/task/3478/fd/6’: 没有那个文件或目录
find: ‘/proc/3478/task/3478/fdinfo/6’: 没有那个文件或目录
find: ‘/proc/3478/fd/6’: 没有那个文件或目录
find: ‘/proc/3478/fdinfo/6’: 没有那个文件或目录

grep

过滤查找,管道符“|”,表示将前一个命令的处理结果输出传递给后面的命令处理

基本语法:

grep [选项] 查找内容 源文件
-n 显示匹配及行号
-i 忽略字母大小写
[root@liuyu test]# cat hello |grep "yes"
yes yes yes
[root@liuyu test]# cat hello |grep -n "no"
2:no no
3:no no
4:no no
5:no no
6:no no

gzip/gunzip

压缩文件和解压文件

gzip 用于压缩文件,gunzip 用于解压
gzip /home/hello.txt#将home目录下的hello文件压缩
gunzip /home/hello.txt#将home目录下的hello文件解压

zip/unzip

zip [选项] xxx.zip 将要压缩的内容
unzip [选项] xxx.zip 解压文件
-r:递归压缩,即压缩目录
-d:-d 指定解压后文件存放的目录

tar

tar [选项] xxx.tar.gz 打包内容
-c:产生打包文件
-v:显示详细信息
-f:指定压缩后的文件名
-z:打包同时压缩
-x:解压.tar文件
[root@liuyu home]# tar -zcvf pig.tar.gz pig.txt fig.txt #打包成pig.tar.gz
pig.txt
fig.txt
[root@liuyu home]# ll
总用量 8
-rw-r--r--.  1 root  root         0 8月  30 13:21 fig.txt
drwx------. 14 liuyu liuyu     4096 8月  30 12:29 liuyu
-rw-r--r--.  1 root  root       124 8月  30 13:23 pig.tar.gz
-rw-r--r--.  1 root  root         0 8月  30 13:21 pig.txt
drwx------.  4  1002 guangming  104 8月  30 13:07 test


[root@liuyu home]# tar -zxvf pig.tar.gz #解压命令
pig.txt
fig.txt
组管理和权限管理

在linux中每个文件都有所有者、所有组、其他组的概念。