vi编辑器
一般模式
以 vi 打开一个档案就直接进入一般模式了(这是默认的模式)
基本语法
语法 | 描述 |
---|---|
yy | 复制光标当前一行 |
y数字y | 复制第几行到第几行 |
p | 粘贴 |
u | 撤销上一步 |
dd | 删除光标当前行 |
d数字d | 删除光标所在行在内的后面几行 |
x | 剪切一个字母,相当于del键 |
X | 剪切一个字母,相当于backspace |
yw | 复制一个词语 |
dw | 删除一个词语 |
^ | 移动到行头 |
$ | 移动到行尾 |
1+shift+g | 光标移动到页头,或者指定数字行 |
shift+g | 光标移动到页尾 |
编辑模式
基本语法
语法 | 描述 |
---|---|
i | 当前光标前 |
a | 当前光标后 |
o | 当前光标行的下一行 |
I | 光标所在行最前 |
A | 光标所在行最后 |
O | 当前光标行的上一行 |
退出编辑模式的语法:esc键
指令模式
在一般模式中输入(: / ?)三个字符中的任意一个按钮,就可以将光标移动到最底部的那一行
此时便是指令模式
基本语法
语法 | 描述 |
---|---|
:w | 保存 |
:q | 退出 |
:! | 强制执行 |
/要查询的词语 | n查找下一个,N往上查找 |
:noh | 取消高亮显示 |
:set nu | 显示行号 |
:set nonu | 关闭行号 |
:%s/old/new/g | 替换内容/g替换匹配到的所有内容 |
文件目录
语法 | 描述 |
---|---|
pwd | 显示当前工作目录的绝对路径 |
ls | 列出目录的内容 |
ls -a | 列出全部文件,连同隐藏文件(隐藏文件以 . 开头) |
ls -l | 列出目录内容的详细信息,简写成为ll |
ls -al | 列出目录内容的详细信息 |
mkdir 文件夹名 | 创建文件夹 |
mkdir -p a/b/c | 创建嵌套的文件夹 |
rmdir 文件夹名 | 删除文件夹 |
rmdir -p a/b/c | 删除嵌套的文件夹 |
touch | 创建空文件 |
touch /a/hello | 在指定的文件夹下面创建文件 |
cp source dest | 复制文件source 到指定的位置 cp source /b/c/ |
cp -r 文件夹名 位置 | 复制指定的文件夹到指定的位置 |
rm | 删除文件 |
rm -f | 强制删除文件 |
rm -r 目录 | 递归删除目录 |
rm -rf 目录 | 强制删除目录 |
mv 当前文件名 新的文件位置 | 移动 |
mv 当前文件名 新的文件名 | 重命名 |
mv 文件夹 新的位置 | 移动文件夹 |
cat 文件名 | 查看文件的内容 |
cat -n 文件名 | 查看文件显示行号 |
more 文件名 | 按页查看文件(空格:向下翻一页,enter:向下翻一行, q退出,ctrl+f:向下滚动一屏幕,ctrl+b:返回上一屏, 等号:显示当前行号,: f :显示文件名和行号) |
less 文件名 | 按页查看文件 |
echo -e | 显示文本到控制台,支持转义字符:\ |
命令 > 文件名 | 输出内容重定向到文件 |
命令 >> 文件名 | 输出内容追加到文件 |
head 文件 | 显示文件的前10行内容 |
head -n 文件 | 显示文件的前n行内容 |
tail 文件 | 显示文件末尾的10行 |
tail -n 文件 | 显示文件末尾的n行 |
tail 文件 | 显示文件末尾的10行,并随时监控文件的变化 |
ln -s 文件名或者目录 软连接名 | 软链接 |
history (数字) | 显示历史的命令 (显示最后的n条命令) |
history -c | 清除历史的命令记录 |
时间日期
语法 | 描述 |
---|---|
date | 显示时间 |
date “+%Y-%m-%d %H:%M:%S” | 2022-12-04 09:38:59 |
date -d ‘1 days ago’ | 显示昨天的日期 |
cal -3 | 显示最近的三个月 |
cal -y | 显示某年的日期 |
用户管理
进入到/home/中进行操作
语法 | 描述 |
---|---|
useradd name | 创建新的用户 |
passwd name | 设置新用户的密码 |
su | 切换用户 |
sudo | 临时获得root用户的权限 |
使用sudo之前,需要root进行文件的配置:
[root@hadoop100 ~]# vi /etc/sudoers
在
root ALL=(ALL) ALL
行的下面加普通用户的信息
zhangsan ALL=(ALL) ALL
由于文件的属性为只读,所以保存使用:wq!
语法 | 描述 |
---|---|
id name | 查看用户是否存在 |
cat /etc/passwd | 查看创建了哪些用户 |
userdel name | 删除用户 |
suerdel -r name | 删除用户和用户的主目录 |
whoami | 显示自身用户名称 |
who am i | 显示登录用户的用户名以及登录时间 |
groupadd 组名 | 添加分组 |
usermod -g 组名 用户名 | 修改用户的分组信息 |
groupmod -n 新组名 旧组名 | 修改分组的名称 |
文件权限
使用命令·ll
查看文件的权限
[root@hadoop100 ~]# ll
总用量 20
-rw-------. 1 root root 1851 11月 9 20:47 anaconda-ks.cfg
-rw-r--r--. 1 root root 186 11月 14 14:47 dump.rdb
-rw-r--r--. 1 root root 1882 11月 9 20:48 initial-setup-ks.cfg
-rw-r--r--. 1 root root 32 12月 4 10:21 log
-rw-r--r--. 1 root root 10 11月 12 19:41 postfile
drwxr-xr-x. 2 root root 6 11月 10 22:34 公共
drwxr-xr-x. 2 root root 6 11月 10 22:34 模板
drwxr-xr-x. 2 root root 6 11月 10 22:34 视频
(1)0 首位表示类型
在Linux中第一个字符代表这个文件是目录,文件还是链接
- 代表文件
d 代表目录
l 代表链接文档
(2)第1-3位确定属主(该文件的所有者)拥有该文件的权限。—User
(3)第4-6位确定属组(所有者的同组用户)拥有该文件的权限,—Group
(4)第7-9位确定其他用户拥有该文件的权限 —Other
- rwx 作用文件和目录的不同解释
作用到文件:
r 代表可读(read): 可以读取,查看
w 代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件
x 代表可执行(execute):可以被系统执行
作用到目录:
r 代表可读(read): 可以读取,ls查看目录内容
w 代表可写(write): 可以修改,目录内创建+删除+重命名目录
x 代表可执行(execute):可以进入该目录
修改文件权限
语法 | 描述 |
---|---|
chmod [{ugoa}{±=}{rwx}] 文件或目录 | chmod u+x 文件或目录 |
chmod [mode=421 ] [文件或目录] | chmod 421 文件或目录 |
文件查找
-
find在指定文件中查找
find 搜索范围 选项
选项说明:
-name <查询方式> :按照指定的文件名查找模式查找文件 find /usr -name "*.txt" -user <用户名> :查找属于指定用户名所有文件 find /usr -user root -size <文件大小> :按照指定的文件大小查找文件 find /usr -size +2M
-
locate基于数据库进行查询
locate 内容
-
过滤
grep -n 搜索内容 搜索文件
-n:显示行号
ls | grep .cfg
将管道符前的命令的结果传递到管道符后面进行筛选
grep -n 搜索内容 搜索文件 | wc
将搜索到的内容传递到管道符后面进行计数
压缩解压
压缩
语法 | 描述 |
---|---|
gzip 文件名 | 压缩文件,压缩文件的后缀为.gz ,不保留原文件 |
gunzip 文件名 | 解压,不保留原文件 |
zip -r 压缩包的名称 压缩的目录 | 递归压缩目录,压缩文件的后缀为.zip ,保留原文件 |
unzip -d 指定解压的位置 解压的文件 | 解压,保留原文件 |
打包:将一大堆文件或目录变成一个总的文件
语法 | 描述 |
---|---|
tar -cvf test.tar b c | 将文件b,c打包到test.tar文件内 |
tar -xvf test.tar | 将打包文件test.tar解包 |
tar -xvf test.tar -C hello/ | 将打包文件test.tar解包至指定目录 |
tar -zcvf test01.tar.gz d e | 将文件d,e压缩到test01.tar.gz文件内 |
tar -zxvf test01.tar.gz | 将打包文件test01.tar.gz解压 |
tar -zxvf test01.tar.gz -C hello/ | 将打包文件test01.tar.gz解压至指定目录 |