基于FinalShell输入的虚拟机Linux指令

一.目录操作

1.展示目录下的文件和文件夹

ls

linux为这个指令做了优化,当我们输入 ll的时候等于输入ls -l 会显示当前目录中所有文件和文件夹的详细信息

而在ll后面加上/root这样的目录名,也就是ll /root时候 会显示root目录下文件和文件夹的详细信息

2.切换当前目录/跳转进入指定目录

cd

  • 语法: cd 目录名

  • 特殊组合: cd .. 返回上一级 ; cd ~ 跳转到用户home目录; cd / 跳转到/根目录

  • cd opt指进入当前目录下的opt

  • cd opt/aabb指进入当前目录下opt里面的aabb

3.创建目录

mkdir

语法:mkdir 目录名 -p

-p指当创建多级目录时候,如果第一个目标不存在,就创建一个第一级目录再创建第二第三...目录

mkdir aabb指在当前目录下创建一个名为aabb的目录

mkdir aabb/ccdd -p指在当前目录下的aabb目录里面创建一个ccdd,如果没有aabb就创建一个

4.删除

rm

  • 语法:rm 目录或文件名 -r -f
  • -r指递归删除指定目录和目录下所有的文件和目录
  • -f指无需在删除前确认
  • rm aabb -r指删除当前目录下的aabb,删除前需确认
  • rm aabb -rf指删除当前目录下的aabb,无需确认
  • rm aabb.txt -f指删除当前目录下的txt文档aabb,删除前需确认

二.文件操作

1.显示全文

cat

  • 语法:cat 文件名 -n
  • -n指给输出内容的每行编号
  • cat 123.java 打开当前目录下的123.java
  • cat opt/123.java -n打开opt目录的123.java并给每行编号

2.以分页显示

  • 语法: more 文件名
    • 回车键 向下滚动一行
    • 空格键 向下滚动一屏
    • b 返回上一屏
    • q或者Ctrl+C 退出more
  • more etc/profile 以分页方式显示etc目录下的profile文件内容

3.查看开头

  • 语法:head 文件名 -n
  • -n 输出文件开头的n行内容
  • head 1.log 默认显示1.log文件开头的10行内容
  • head -20 1.log 显示1.log文件开头的20行内容

4.查看末尾

tail

  • 语法: tail 文件名-f
  • -f 动态读取文件末尾内容并显示,通常用于日志文件的内容输出
  • tail /etc/profile 显示/etc目录下的profile文件末尾10行的内容
  • tail -20 /etc/profile 显示/etc目录下的profile文件末尾20行的内容
  • tail -f /itcast/my.log动态读取/itcast目录下的my.log文件末尾内容并显示

三.复制和移动,重命名

1.复制

cp

  • 语法: cp -r 要复制的目录文件名 目标目录名
  • -r如果复制的是目录需要使用此选项,此时将复制该目录下所有的子目录和文件
  • cp hello.txt itcast/ 将hello.txt复制到itcast目录中
  • cp hello.txt ./hi.txt 将hello.txt复制到当前目录,并改名为hi.txt
  • cp -r itcast/ ./itheima/ 将itcast目录和目录下所有文件复制到itheima目录下
  • cp -r itcast/* ./itheima/ 将itcast目录下所有文件复制到itheima目录下

2.移动和重命名

mv

  • 语法: mv 要移动的目录文件名 目标目录或文件名
  • mv hello.txt hi.txt 将hello.txt改名为hi.txt
  • mv hi.txt itheima/ 将文件hi.txt移动到itheima目录中
  • mv hi.txt itheima/hello.txt 将hi.txt移动到itheima目录中,并改名为hello.txt
  • mv itcast/ itheima/ 如果itheima目录不存在,将itcast目录改名为itheima
  • mv itcast/ itheima/ 如果itheima目录存在,将itcast目录移动到itheima目录中

四.压缩包操作

tar

  • 语法: tar -zcxvf 文件名 后缀

    • 包文件后缀为.tar表示只是完成了打包,并没有压缩

    • 包文件后缀为.tar.gz表示打包的同时还进行了压缩

  • -zcxvf

    • -z: z代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压
    • -c: c代表的是create,即创建新的包文件
    • -x: x代表的是extract,实现从包文件中还原文件
    • -v: v代表的是verbose,显示命令的执行过程
    • -f: f代表的是file,用于指定包文件的名称
  • 打包

    • tar -cvf hello.tar ./* 将当前目录下所有文件打包,打包后的文件名为hello.tar
    • tar -zcvf hello.tar.gz ./* 将当前目录下所有文件打包并压缩,打包后的文件名为hello.tar.gz
  • 解包

    • tar -xvf hello.tar将hello.tar文件进行解包,并将解包后的文件放在当前目录
    • ar -zxvf hello.tar.gz 将hello.tar.gz文件进行解压,并将解压后的文件放在当前目录
    • tar -zxvf hello.tar.gz -C /usr/local 将hello.tar.gz文件进行解压,并将解压后的文件放在/usr/local目录

五.文件编辑

vim

  • 语法: vim 文件名
  • 三种模式:
    • 命令模式

        1. 命令模式下可以查看文件内容、移动光标(上下左右箭头、gg、G)
        1. 通过vim命令打开文件后,默认进入命令模式
        1. 另外两种模式需要首先进入命令模式,才能进入彼此
      • 4.指令
      • gg 定位到文本内容的第一行
      • G 定位到文本内容的最后一行
      • dd 删除光标所在行的数据
      • ndd 删除当前光标所在行及之后的n行数据
      • u 撤销操作
      • i 或 a 或 o 进入插入模式(进入后光标所处的位置不同而已)
    • 插入模式

        1. 插入模式下可以对文件内容进行编辑
        1. 在命令模式下按下i,a,o任意一个,可以进入插入模式。进入插入模式后,下方会出现【insert】字样
        1. 在插入模式下按下ESC键,回到命令模式-
    • 底行模式

        1. 底行模式下可以通过命令对文件内容进行查找、显示行号、退出等操作
        1. 在命令模式下按下:,/任意一个,可以进入底行模式
        1. 通过/方式进入底行模式后,可以对文件内容进行查找
        1. 通过:方式进入底行模式后,可以输入wq(保存并退出)、q!(不保存退出)、set nu(显示行号)
      • :wq 保存并退出

      • :q! 不保存退出

      • :set nu 显示行号

      • :set nonu 取消行号显示

      • :n 定位到第n行,如 :10 就是定位到第10行

六.查找

find

  • 语法: find 目录名 -name 文件名
  • find . --name *.java 在当前目录及其子目录下查找.java结尾文件*
  • find /itcast -name *.java 在/itcast目录及其子目录下查找.java结尾的文件

grep

  • 语法: grep 要搜索的词 目标文件名
  • 选项
    • -i: 检索的关键字忽略(ignore)大小写
    • -n: 显示关键字所在的这一行的行号
    • -A: 输出关键字所在行及之后(After)的几行记录 (如:-A5 表示输出关键字所在行之后的5行记录)
    • -B: 输出关键字所在行及之前(Before)的几行记录 (如:-B5 表示输出关键字所在行之前的5行记录)
  • grep Hello HelloWorld.java 查找HelloWorld.java文件中出现的Hello字符串的位置
  • grep hello *.java 查找当前目录中所有.java结尾的文件中包含hello字符串的位置
相关推荐
雯宝5 小时前
mnt_init 函数
linux
律宏阔11 小时前
WSL Docker 端口明明空闲,但就是绑不上端口
linux·windows
律宏阔11 小时前
WSL 突然断网,无法 ping 内网或外网
linux·windows
穷人小水滴11 小时前
用容器编译 VirtualBox 虚拟机软件 (ArchLinux, podman)
linux·容器·virtualbox
乱码三千11 小时前
如何优雅地直连无公网 IP 的远程 GPU 服务器
linux·人工智能·程序员
yunwei3711 小时前
使用 eBPF 跟踪 Nginx 请求
linux·后端·性能优化
yunwei3711 小时前
使用 eBPF 跟踪 MySQL 查询
linux·后端·性能优化
yunwei3711 小时前
eBPF 示例教程:使用 XDP 捕获 TCP 信息
linux·后端·性能优化
GeW12 小时前
制造业高端化,为什么必须重估Linux和数据库?
linux
GeW12 小时前
工业场景中的Linux与数据库选型:高端化转型的技术底座
linux