基于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字符串的位置
相关推荐
Doris_LMS4 小时前
在Linux下安装nginx(保姆级别)
linux·运维·nginx·centos
超級二蓋茨5 小时前
在 CentOS 上安装 FFmpeg
linux·ffmpeg·centos
obboda6 小时前
Linux基础复习:字符输入与输出
linux·运维·服务器
*wj7 小时前
【linux驱动开发】Vscode + Remote SSH + clangd + bear=内核源码阅读环境搭建
linux·驱动开发·vscode
FED_AF9 小时前
Linux救援模式之应用篇
linux·运维
拾心219 小时前
【运维基础】Linux 进程调度管理
linux·运维·服务器
橘颂TA9 小时前
【Linux】的起源 and 3秒学习11个基本指令
linux·指令·linux的历史
~狂想家~10 小时前
Ubuntu20.04安装和配置Samba实现Win11下共享文件夹
linux·ubuntu·samba
ansondroider10 小时前
Ubuntu 抽取系统制作便于chroot的镜像文件
linux·ubuntu·chroot
羚羊角uou11 小时前
【Linux】编辑器vim和编译器gcc/g++
linux·运维·编辑器