草庐IT

01-Linux基础常用命令

OnlyOnYourself-lzw 2023-03-28 原文

1、Linux常用命令

1.1、Linux命令初体验

  • 在日常使用过程当中经常使用到的命令有如下几种

    • 命令 对应英文 作用
      ls [目录名] list 查看当前目录下的内容
      pwd print work directory 查看当前所在目录
      cd [目录名] change directory 切换目录
      touch [文件名] touch 如果文件不存在,创建文件
      mkdir [目录名] make directory 创建目录
      rm [文件名] remove 删除指定文件
  • Linux命令使用技巧

    • ①、Tab键自动补全
    • ②、 连续两次Tab键,给出操作提示
    • ③、使用上下箭头快速调出曾经使用过的命令
    • ④、使用clear命令或者Ctrl+l快捷键实现清屏
  • command [-options][parameter]

    • 说明:
      • command
        • 命令名
      • [-options]
        • 选项,可用来对命令进行控制,也可以省略
      • [parameter]
        • 传给命令的参数,可以是零个、一个或者多个
    • 注意:
      • []代表可选
      • 命令名、选项、参数之间有空格进行分隔

1.2、文件目录操作命令

1.2.1、ls

  • 命令说明

    • 作用

      • 显示指定目录下的所有内容
    • 语法

      • ls [-al][dir]
    • 说明:

      • -a
        • 显示所有文件及目录 (. 开头的隐藏文件也会列出)
      • -l
        • 除文件名称外,同时将文件型态(d表示目录,-表示文件)、权限、拥有者、文件大小等信息详细列出
    • 注意:

      • 由于我们使用ls命令时经常需要加入-l选项,所以Linux为ls -l命令提供了一种简写方式,即ll
    • 常见用法:

      • ls -al
        • 查看当前目录的所有文件及目录详细信息
      • ls -al /etc
        • 查看/etc目录下所有文件及目录详细信息
      • ll
        • 查看当前目录文件及目录的详细信息
  • 操作示例

    • ls -al
    • ls -al /etc
    • ll(ls -l)

1.2.2、cd

  • 命令说明

    • 作用: 用于切换当前工作目录,即进入指定目录

    • 语法: cd [dirName]

    • 特殊说明:

      • ~
        • 表示用户的主目录,超级管理员的用户的主目录root
      • .
        • 表示目前所在的目录
      • ..
        • 表示目前目录位置的上级目录
    • 举例:

      • cd ..
        • 切换到当前目录的上级目录
      • cd ~
        • 切换到用户的home目录
      • cd /usr/local
        • 切换到/usr/local目录
    • PS:

      • 用户的home目录
        • root用户 /root
        • 其他用户/home/xxx
  • 操作示例

  • cd ..

    • 切换到当前目录位置的上级目录; 可以通过 cd ../..来切换到上级目录的上级目录

1.2.3、cat

  • 命令介绍
    • 作用
      • 用于显示文件内容
    • 语法
      • cat [-n] fileName
    • 说明:
      • -n
        • 由1开始对所有输出的行数编号
    • 举例:
      • cat /etc/profile
        • 查看/etc目录下的profile文件内容
  • 操作实例
    • cat 指令会一次性查看文件的所有内容,如果文件内容比较多,这个时候查看起来就不是很方便了,这个时候我们可以通过一个新的指令more

1.2.4、more

  • 命令介绍

    • 作用: 以分页的形式显示文件内容

    • 语法: more fileName

    • 操作说明:

      • 回车键
        • 向下滚动一行
      • 空格键
        • 向下滚动一屏
      • b
        • 返回上一屏
      • q或者Ctrl+C
        • 退出more
    • 举例:

      • more /etc/profile
        • 以分页方式显示/etc目录下的profile文件内容
  • 操作实例

  • less命令扩展

    • Less命令用法与more非常类似,只不过比more多了可以使用上下方向键。
    • 示例
  • 当我们在查看一些比较大的文件时,我们可能需要经常查询文件尾部的数据信息,那这个时候如果文件很大,我们要一直向下翻页,直到最后一页,去看最新添加的数据,这种方式就比较繁琐了,此时,我们可以借助于tail指令


1.2.5、tail

  • 命令介绍

    • 作用

      • 查看文件末尾的内容
    • 语法

      • tail [-f] fileName
    • 说明:

      • -f : 动态读取文件末尾内容并显示,通常用于日志文件的内容输出
    • 举例:

      • tail /etc/profile
        • 显示/etc目录下的profile文件末尾10行的内容
      • tail -20 /etc/profile
        • 显示/etc目录下的profile文件末尾20行的内容
      • tail -f /test/my.log
        • 动态读取/test目录下的my.log文件末尾内容并显示
  • 操作示例

    • 显示/etc目录下的profile文件末尾10行的内容
    • 显示/etc目录下的profile文件末尾20行的内容
    • 动态读取/test目录下的my.log文件末尾内容并显示
  • 在窗口1中执行指令 tail -f testApplication.java 动态查看文件尾部的数据。然后在顶部的标签中右键选择 "复制标签",打开新的窗口2 , 此时再新打开的窗口2中执行指令 echo "赞美之词">> testApplication.java , 往1.txt文件尾部追加内容,然后我们就可以在窗口1中看到最新的文件尾部的数据。

    如果我们不想查看文件尾部的数据了,可以直接使用快捷键 Ctrl+C , 结束当前进程。


1.2.6、mkdir

  • 命令介绍
    • 作用:
      • 创建目录
    • 语法
      • mkdir [-p] dirName
    • 说明:
      • -p
        • 确保目录名称存在,不存在的就创建一个。通过此选项,可以实现多层目录同时创建
    • 举例:
      • mkdir test
        • 在当前目录下,建立一个名为test 的子目录
      • mkdir -p test/innerTest
        • 在工作目录下的test目录中建立一个名为innerTest 的子目录,若test目录不存在,则建立一个
  • 操作示例
    • 在工作目录下的test目录中建立一个名为innerTest 的子目录,若test目录不存在,则建立一个

1.2.7、rmdir

  • 命令介绍

    • 作用

      • 删除空目录
    • 语法

      • rmdir [-p] dirName
    • 说明:

      • -p
        • 当子目录被删除后使父目录为空目录的话,则一并删除
    • 举例:

      • rmdir test
        • 删除名为test的空目录
      • rmdir -p test/innerTest
        • 删除test目录中名为innerTest的子目录,若innerTest目录删除后test目录变为空目录,则也被删除
      • rmdir test*
        • 删除名称以test开始的空目录
  • 操作示例

    • 删除名为test的空目录
    • 删除test目录中名为innerTest的子目录,若innerTest目录删除后test目录变为空目录,则也被删除
    • 删除名称以test开始的空目录

1.2.8、rm

  • 命令介绍

    • 作用:

      • 删除文件或者目录
    • 语法

      • rm [-rf] name
    • 说明

      • -r
        • 将目录及目录中所有文件(目录)逐一删除,即递归删除
      • -f
        • 无需确认,直接删除
    • 举例:

      • rm -r test/
        • 删除名为test的目录和目录中所有文件,删除前需确认
      • rm -rf test/
        • 无需确认,直接删除名为test的目录和目录中所有文件
      • rm -f hello.txt
        • 无需确认,直接删除hello.txt文件
  • 操作示例

    • 删除名为test的目录和目录中所有文件,删除前需确认
    • 无需确认,直接删除名为test的目录和目录中所有文件
    • 无需确认,直接删除hello.txt文件

1.3、拷贝移动命令

1.3.1、cp

  • 命令介绍
    • 作用
      • 用于复制文件或目录
    • 语法
      • cp [-r] source dest
    • 说明
      • -r
        • 如果复制的是目录需要使用此选项,此时将复制该目录下所有的子目录和文件
    • 举例
      • cp hello.txt test/
        • 将hello.txt复制到test目录中
      • cp hello.txt ./hi.txt
        • 将hello.txt复制到当前目录,并改名为hi.txt
      • cp -r test02/ ./innerTest/
        • 将test02目录和目录下所有文件复制到innerTest目录下
      • cp -r test02/* ./innerTest/
        • 将test02目录下所有文件复制到innerTest目录下
  • 操作示例
    • 将hello.txt复制到test目录中
    • 将hello.txt复制到当前目录,并改名为hi.txt
    • 将test02目录和目录下所有文件复制到innerTest目录下
    • 将test02目录下所有文件复制到innerTest目录下

1.3.2、mv

  • 命令介绍
    • 作用
      • 剪切,重命名(如果在同一个路径操作就是重命名,否则就是剪切)
    • 语法
      • mv source dest
    • 举例
      • mv hello.txt hi.txt
        • 将hello.txt改名为hi.txt
      • mv hi.txt test/
        • 将文件hi.txt移动到test目录中
      • mv hi.txt test/hello.txt
        • 将hi.txt移动到test目录中,并改名为hello.txt
      • mv test01/ test02/
        • 如果test01目录不存在,将test01目录改名为test02
      • mv test01/ test02/
        • 如果test02目录存在,将test01目录移动到test02目录中
  • 操作示例
    • 将hello.txt改名为hi.txt
    • 将文件hi.txt移动到test目录中(剪切)
    • 将hi.txt移动到test目录中,并改名为hello.txt
    • 如果test02目录不存在,将test01目录改名为test02
    • 如果test02目录存在,将test01目录移动到test02目录中

1.4、打包压缩命令

  • 命令介绍
    • 作用
      • 对文件进行打包、解包、压缩、解压
    • 语法
      • tar [-zcxvf] fileName [files]
      • 包文件后缀为.tar表示只是完成了打包,并没有压缩(归档文件)
        包文件后缀为.tar.gz表示打包的同时还进行了压缩
    • 说明
      • -z
        • z代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压 tar.gz
      • -c
        • c代表的是create,即创建新的打包文件 tar
      • -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文件进行解包,并将解包后的文件放在当前目录
        • tar -zxvf hello.tar.gz
          • 将hello.tar.gz文件进行解压,并将解压后的文件放在当前目录
        • tar -zxvf hello.tar.gz -C /usr/local
          • 将hello.tar.gz文件进行解压,并将解压后的文件放在/usr/local目录
  • 操作示例
    • 将当前目录下所有文件打包,打包后的文件名为hello.tar
    • 将当前目录下所有文件打包并压缩,打包后的文件名为hi.tar.gz
    • 将hello.tar文件进行解包,并将解包后的文件放在当前目录
    • 将hi.tar.gz文件进行解压,并将解压后的文件放在当前目录
    • 将hi.tar.gz文件进行解压,并将解压后的文件放在/usr/local目录

1.5、文本编辑命令

  • 命令介绍

    • 作用

      • 对文件内容进行编辑,vim其实就是一个文本编辑器
    • 语法

      • vim fileName
    • 说明

      • ①、 在使用vim命令编辑文件时,如果指定的文件存在则直接打开此文件。如果指定的文件不存在则新建文件
      • ②、vim在进行文本编辑时共分为三种模式,分别是 命令模式(Command mode),插入模式(Insert mode)和底行模式(Last line mode)。这三种模式之间可以相互切换。我们在使用vim时一定要注意我们当前所处的是哪种模式
    • 命令模式(不可编辑内容)

      • 命令模式下可以查看文件内容、搜索文本内容.按下/输入搜索内容即可.

      • 命令模式指令 含义
        gg 定位到文本内容的第一行
        G 定位到文本内容的最后一行
        dd 删除光标所在行的数据
        ndd 删除当前光标所在行及之后的n行数据
        u 撤销操作
        shift+zz 保存并退出
        i 或 a 或 o 进入插入模式
    • 插入模式

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

      • A. 按下esc回到命令模式
      • B. 在命令模式的基础上按下 shift+:
      • C. 按下保存退出: :wq(保存退出) :q!(强制退出不保存
      底行模式命令 含义
      :wq 保存并退出
      :q! 不保存退出
      :set nu 显示行号
      :set nonu 取消行号显示
      :n 定位到第n行, 如 :10 就是定位到第10行
  • 操作示例

    • 这里就不演示了,效果不太明显。

1.6、查找命令

  • 命令介绍(find)
    • 作用
      • 在指定目录下查找文件
    • 语法
      • find dirName -option fileName
    • 举例
      • find . –name "*.java"
        • 在当前目录及其子目录下查找.java结尾文件
      • find /test -name "*.java"
        • 在/test目录及其子目录下查找.java结尾的文件
  • 命令介绍(grep)
    • 作用
      • 从指定文件中查找指定的文本内容
    • 语法
      • grep word fileName
    • 举例
      • grep Hello HelloWorld.java
        • 查找HelloWorld.java文件中出现的Hello字符串的位置
      • grep hello *.java
        • 查找当前目录中所有.java结尾的文件中包含hello字符串的位置
  • 操作示例
    • 在当前目录及其子目录下查找.java结尾文件
    • 在/test目录及其子目录下查找.java结尾的文件
    • 查找HelloWorld.java文件中出现的Hello字符串的位置
    • 查找当前目录中所有.java结尾的文件中包含hello字符串的位置

1.7、查看系统的进程命令

  • 命令介绍
    • ps -ef
      • 系统的所有的进程都展示出来
    • kill -9(强制杀死)|-2(温和杀死)
      • 进程id号
  • 操作示例
    • 详情见1.8

1.8、管道命令

  • 命令介绍

    • 作用
      • 上一个命令的结果提供给下一个命令去使用
    • 语法
      • ps -ef | grep ***
  • 操作示例

有关01-Linux基础常用命令的更多相关文章

  1. 华为常用命令 - 2

    system-view进入系统视图quit退到系统视图sysname交换机命名vlan20创建vlan(进入vlan20)displayvlan显示vlanundovlan20删除vlan20displayvlan20显示vlan里的端口20Interfacee1/0/24进入端口24portlink-typeaccessvlan20把当前端口放入vlan20undoporte1/0/10删除当前VLAN端口10displaycurrent-configuration显示当前配置02配置交换机支持TELNETinterfacevlan1进入VLAN1ipaddress192.168.3.100

  2. postman接口测试工具-基础使用教程 - 2

    1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,

  3. 软件测试基础 - 2

    Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功

  4. ES基础入门 - 2

    ES一、简介1、ElasticStackES技术栈:ElasticSearch:存数据+搜索;QL;Kibana:Web可视化平台,分析。LogStash:日志收集,Log4j:产生日志;log.info(xxx)。。。。使用场景:metrics:指标监控…2、基本概念Index(索引)动词:保存(插入)名词:类似MySQL数据库,给数据Type(类型)已废弃,以前类似MySQL的表现在用索引对数据分类Document(文档)真正要保存的一个JSON数据{name:"tcx"}二、入门实战{"name":"DESKTOP-1TSVGKG","cluster_name":"elasticsear

  5. 【网络】-- 网络基础 - 2

    (本文是网络的宏观的概念铺垫)目录计算机网络背景网络发展认识"协议"网络协议初识协议分层OSI七层模型TCP/IP五层(或四层)模型报头以太网碰撞路由器IP地址和MAC地址IP地址与MAC地址总结IP地址MAC地址计算机网络背景网络发展        是最开始先有的计算机,计算机后来因为多项技术的水平升高,逐渐的计算机变的小型化、高效化。后来因为计算机其本身的计算能力比较的快速:独立模式:计算机之间相互独立。    如:有三个人,每个人做的不同的事物,但是是需要协作的完成。    而这三个人所做的事是需要进行协作的,然而刚开始因为每一台计算机之间都是互相独立的。所以前面的人处理完了就需要将数据

  6. 【Linux操作系统】——网络配置与SSH远程 - 2

    Linux操作系统——网络配置与SSH远程安装完VMware与系统后,需要进行网络配置。第一个目标为进行SSH连接,可以从本机到VMware进行文件传送,首先需要进行网络配置。1.下载远程软件首先需要先下载安装一款远程软件:FinalShell或者xhell7FinalShellxhell7FinalShell下载:Windows下载http://www.hostbuf.com/downloads/finalshell_install.exemacOS下载http://www.hostbuf.com/downloads/finalshell_install.pkg2.配置CentOS网络安装好

  7. Linux磁盘分区中物理卷(PV)、卷组(VG)、逻辑卷(LV)创建和(LVM)管理 - 2

    文章目录一基础定义二创建逻辑卷2-1准备物理设备2-2创建物理卷2-3创建卷组2-4创建逻辑卷2-5创建文件系统并挂载文件三扩展卷组和缩减卷组3-1准备物理设备3-2创建物理卷3-3扩展卷组3-4查看卷组的详细信息以验证3-5缩减卷组四扩展逻辑卷4-1检查卷组是否有可用的空间4-2扩展逻辑卷4-3扩展文件系统五删除逻辑卷5-1备份数据5-2卸载文件系统5-3删除逻辑卷5-4删除卷组5-5删除物理卷六LVM逻辑卷缩容6-1缩容注意事项6-2标准缩容步骤一基础定义LVM,LogicalVolumeManger,逻辑卷管理,Linux磁盘分区管理的一种机制,建立在硬盘和分区上的一个逻辑层,提高磁盘分

  8. ruby - 如何在 Ruby 中获取 linux 系统信息 - 2

    如何在Ruby中获取linux系统(这必须适用于Fedora、Ubuntu等)的软件/硬件信息? 最佳答案 Chef背后的优秀人才,拥有一颗名为Ohai的优秀gemhttps://github.com/opscode/ohai以散列形式返回系统信息,例如操作系统、内核、规范、fqdn、磁盘、空间、内存、用户、接口(interface)、sshkey等。它非常完整,非常好。它还会安装命令行二进制文件(也称为ohai)。 关于ruby-如何在Ruby中获取linux系统信息,我们在Stack

  9. ruby - rbenv:在 Linux Mint 上找不到 gem 命令 - 2

    我在LinuxMint17.2上。我最近使用apt-getpurgeruby​​删除了ruby​​。然后我安装了rbenv然后rbenvinstall2.3.0所以现在,~/.rbenv/versions/2.3.0/bin/ruby存在。但是现在,我无法执行geminstallrubocop。我明白了:$geminstallrubocoprbenv:gem:commandnotfoundThe`gem'commandexistsintheseRubyversions:2.3.0但是我可以~/.rbenv/versions/2.3.0/bin/geminstallrubocop。但是,

  10. ruby - 在 Linux 上编译 Ruby 1.9.2 所需的先决条件? - 2

    我是Ruby和RoR的新手。我有一个带有Ubuntu镜像的干净Linode实例,我想从源代码编译Ruby而不是使用apt-get。我已经在谷歌上搜索了执行此操作的说明,但经过一些尝试后,当我尝试运行一些教程示例时,我不断收到有关缺少zlib和其他一些包的错误。任何人都可以给我详细的说明(或链接),教我如何在从源代码编译Ruby之前安装必要的必备包吗?我的目的是编译Ruby的最新稳定版本,然后安装Rubygems和Rails。提前感谢您的帮助!!! 最佳答案 Thisblogpost涵盖从源代码编译ruby​​所需的包和安装过程;它引

随机推荐