基于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字符串的位置
相关推荐
FoldWinCard2 小时前
D5 Linux 网络及端口命令
linux·运维·服务器
零涂毕业设计3 小时前
毕业设计模块开发-OLED显示屏(IIC协议0.96寸)STM32 ESP32 FPGA Linux驱动免费分享
linux·stm32·单片机·嵌入式·esp32·fpga·oled
tedcloud1234 小时前
OmniRoute怎么部署?开源AI模型路由平台Linux部署教程
linux·服务器·人工智能·开源·音视频
霸道流氓气质4 小时前
KMS 密钥管理服务(Key Management Service)原理与实践
linux·服务器·数据库
SakitamaX4 小时前
LVS(Linux Virtual Server)概念详解
linux·运维·lvs
小张同学a.4 小时前
Linux系统管理
linux·运维
阿龙的工作记录5 小时前
深入理解Linux设备驱动模型
linux·嵌入式硬件·工作记录
代码村新手5 小时前
Linux的基本指令
linux·运维·服务器
hkj88085 小时前
Ubuntu 切换java版本
java·linux·ubuntu
撩得Android一次心动7 小时前
Linux编程笔记3【个人用】
linux·笔记