Linux常见指令

news2024/11/25 18:49:02

Linux常见指令

  • 引言
  • Linux常见指令
    • 查指令——man
    • 文件管理相关指令
      • ls
      • pwd
      • cd
      • touch
      • mkdir
      • rmdir与rm
        • rmdir
        • rm
      • cp
      • mv
      • find
    • 文件查看类
      • cat
      • more
      • less
      • head 与 tail
        • head
        • tail
        • 使用管道显示某段内容
      • grep
    • 打包压缩相关指令
      • zip/unzip
      • tar
  • 总结

引言

Linux与我们熟悉的Window都是操作系统,我们经常在Window操作系统的图形化界面中进行操作。其中基本的比如创建一个文件夹、在文件夹中放置文件、修改文件名、向文件中写数据、移动文件的位置、查看文件的信息、删除文件等,我们也可以打包压缩文件、解压缩文件。只是在Linux的命令行中,我们需要通过指令来实现这些操作。
在本篇文章中就来介绍这些基本指令:

【在学习Liunx之前,我们需要有一个Linux环境,具体的环境搭建在这里就不说明了。我所使用的环境是centos 7.6的云服务器】

Linux常见指令

指令的本质就是放在系统的特定路径下的,编写好的程序或脚本。
我们输入指令其实就是输入字符串,我们输入的字符串会被命令行解释器翻译给核心处理,同时将核心的处理结果翻译给使用者。对于我们的非法输入或请求,命令行解释器会直接拦截以保护操作系统。

查指令——man

man是访问Linux首页册的指令,它可以查找Linux的命令以及其所有的参数。(查看完毕后,按q退出)

手册分为8章:
1是普通的命令;
2是系统调用,如open,write之类;
3是库函数,如printf,fread;
4是特殊文件,也就是/dev下的各种设备文件;
5是指文件的格式,比如passwd,就会说明这个文中各个字段的含义;
6是给游戏留的,由各个游戏自己定义;
7是附件还有一些变量,比如向environ这种全局变量在这里就有说明;
8是系统管理用的命令,这些命令只能由root使用,如ifconfig;

man指令也有自己的参数:

  1. -k 根据关键词搜索联机帮助
    在这里插入图片描述
  2. num 只在num章中搜索
    在这里插入图片描述
    在这里插入图片描述
  3. -a 显示在所有章节中的搜索结果(否则找到后就会停止)
    在这里插入图片描述
    加上-a后,当按下q后,会继续向后搜索,而不是退出。

文件管理相关指令

ls

ls [选项] [文件或目录]
对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息
在这里插入图片描述
(这里ls后的.表示当前目录。如果不加,默认为当前目录)

常用选项

  1. -a表示列出改目录下所有文件,包括隐藏文件(文件名前有...为隐藏文件):
    在这里插入图片描述
  2. -d 将目录像文件一样显示,而不是显示其下的文件:
    在这里插入图片描述
  3. -i 输出文件的 i 节点的索引信息:
  4. -l 列出文件的详细信息(可以简写为ll指令):
    在这里插入图片描述
  5. -n 用数字的 UID,GID 代替名称(UID与GID即用户ID与组ID):
    在这里插入图片描述
  6. -F 在每个文件名后附上一个字符以说明该文件的类型(*表示可执行的普通文件,/表示目录,@表示符号链接,|表示FIFOs,=表示套接字(sockets)):
    在这里插入图片描述
  7. -r 对目录反向排序:
    在这里插入图片描述
  8. -t 以时间排序:
    在这里插入图片描述
  9. -s 在文件名前输出该文件的大小:
    在这里插入图片描述
  10. -R 列出所有子目录下的文件(递归):
    在这里插入图片描述
  11. -1 一行只输出一个文件:
    在这里插入图片描述
    当然,指令的选项可以叠加使用,例如ls -als .
    在这里插入图片描述

pwd

pwd
用于显示用户当前工作目录

在这里插入图片描述
当进入另一个目录后,当前目录就会变化:
在这里插入图片描述

cd

cd [目录]
用于改变工作目录,将当前工作目录改变到指定的目录下。

在这里插入图片描述
..也是表示目录路径的符号,表示上级目录)

在系统中,磁盘上的文件和目录可以组成一颗树,我们可以通过tree指令来以树的形式显示当前目录下的文件与目录(tree指令需要下载,可以在root用户下执行yum install tree来下载)
在这里插入图片描述

touch

touch [选项] 文件名
可更改文档或目录的日期时间,包括存取时间和更改时间(更改为当前时间),或者新建一个不存在的文件

在这里插入图片描述
常用选项

  1. -a--time=atime--time=access或--time=use只更改存取时间:
    在这里插入图片描述
    在这里插入图片描述
    Access:最后一次访问时间;Modify:最后一次修改文件内容时间;Change:最后一次修改文件属性时间)

  2. -c--no-create 不建立任何文档:
    在这里插入图片描述

  3. -d--date=STRING使用指定的日期时间,而非现在的时间:
    在这里插入图片描述

  4. -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题:
    在这里插入图片描述

  5. -m--time=mtime--time=modify 只更改变动时间:
    在这里插入图片描述

  6. -r--reference=FILE 将文档或目录的日期时间,设成与参考文档或目录的日期时间相同的时间:
    在这里插入图片描述

  7. -t 使用指定的日期时间,而非现在的时间(格式为[[CC]YY]MMDDhhmm[.ss]):
    在这里插入图片描述

mkdir

mkdir [选项] [dirname]...
用于在当前目录下创建一个名为dirname的目录

在这里插入图片描述
当然,默认是在当前目录下创建,输入多个文件名时也是都创建在当前目录中
在这里插入图片描述
使用-p--parents选项,可以递归地创建多个目录(多个目录用/隔开):
在这里插入图片描述

rmdir与rm

rmdir

rmdir [选项] [dirname]
用于删除空目录

在这里插入图片描述
在这里插入图片描述
使用-p选项可以递归的删除空目录,即当子目录删除后若父目录为空,则一并删除
在这里插入图片描述

rm

rm [选项] 文件名
文件或目录 用于删除文件或目录,但是默认不会删除目录

在这里插入图片描述
常用选项

  1. -f直接删除,从不提示(即使要删除的目录或文件不存在)
    在这里插入图片描述
  2. -i 删除前逐一询问确认
    在这里插入图片描述
  3. -r 删除目录及其下所有文件
    在这里插入图片描述

cp

cp [选项] [源头文件或目录] [目标文件或目录]
用于将文件或目录拷贝(复制粘贴)到目标目录中。

若目标目录或文件不存在,将创建一个新文件并将内容拷贝。拷贝时会拷贝文件内容,但不会默认拷贝目录。若为目标文件,则会用源头文件的内容覆盖目标文件的内容。
在这里插入图片描述
echo加重定向>可以在文件中写内容;cat可以在屏幕上打印文件内容)

常用选项

  1. -i--interactive 覆盖文件之前先询问用户:
    在这里插入图片描述
  2. -r-R--recursive递归处理,将指定目录下的文件与子目录一并处理:
    在这里插入图片描述

mv

mv [选项] [源头文件或目录]... [目标文件或目录]
用于将源头文件或目录移动(不是复制粘贴)位置或文件改名

当最后一个参数的类型是文件时(不存在的名称默认为文件),mv命令完成文件重命名。 此时,源头文件只能有一个(也可以是源头目录名),它将所给的源头文件或目录重命名为给定的目标文件名;
当最后一个参数是已存在的目录名称时,源文件或目录参数可以有多个。mv命令将各参数指定的源文件均移至目标目录中。
在这里插入图片描述
常用选项

  1. -f--force 如果目标文件已经存在,不会询问而直接覆盖(其实不加-f也不会询问)
    在这里插入图片描述

  2. -i 若目标文件 (destination) 已经存在时,就会询问是否覆盖
    3.

find

find [选项] [文件或目录名]
用于在目录结构下查找文件

在这里插入图片描述
使用-name选项可以只查找目录或文件名(否则如上是查找带此字符的路径):
在这里插入图片描述

文件查看类

cat

cat [选项] [文件名]
用于查看文件内容
,这一点在前面的内容中想必大家已经了解了:
在这里插入图片描述
常用选项

  1. -n 对输出的所有行编号(我们可以通过vim输入一些数据来测试)
    在这里插入图片描述
  2. -b 对输出的非空行编号
    在这里插入图片描述
  3. -s 不输出多行空行(多行空行只输出一行)
    在这里插入图片描述

但是,这样的查看在面对很大的文件时,查看起来就会很不方便,所以就有了如下的各种查看文件的指令

more

more [选项] [文件名]
用于查看文件内容

按回车向下展开,按q退出more。
在这里插入图片描述
但是这个指令还不是非常方便

less

less [选项] [文件]
用于查看文件,功能机极其强大!

可以使用pageup与pagedown上下翻;支持向上或向下搜索,而且less在浏览之前不会加载整个文件。

常用选项与用法

  1. -N显示每行的行号(可以作为选项,也可以在进入less界面后输入N)
    在这里插入图片描述

  2. -i 忽略搜索时的大小写

  3. /字符串:向下搜索“字符串”的功能
    在这里插入图片描述

  4. ?字符串:向上搜索“字符串”的功能
    在这里插入图片描述

  5. n重复前一个搜索(与 / 或 ? 有关)

  6. N反向重复前一个搜索(与 / 或 ? 有关)

head 与 tail

head

head [选项] [文件]
用于从头查看文件

使用-n<num>可以查看前num行的内容(默认打印前10行):
在这里插入图片描述

tail

tail [选项] [文件]
用于从尾查看文件

  1. 使用-n<num>可以打印末尾num行的内容(默认打印后10行):
    在这里插入图片描述
  2. 使用 -f 可以在屏幕上持续更新后10行的内容。

使用管道显示某段内容

如果我们需要显示一个文件中第35行到50行的内容,除了使用临时文件外,还可以使用管道|

管道是linux中很重要的一种通信方式,它把前一条指令的输出连接到后一条指令的输入
使用管道打印第35行到50行的内容,即先执行head前50行内容,再将结果链接给tail取后15行内容:
在这里插入图片描述
在这里插入图片描述

grep

grep [选项] [要搜索的字符串] [文件]
用于在文件中搜索字符串,并将找到的行打印出来

在这里插入图片描述
常用选项

  1. -i忽略大小写的不同
    在这里插入图片描述
  2. -n顺便输出行号
    在这里插入图片描述
  3. -v反向选择,即显示出没有字符串内容的那一行
    在这里插入图片描述

另外,可以通过管道与wc指令来统计有某字符串的行数(wc指令可以统计文件的行数):
在这里插入图片描述

打包压缩相关指令

zip/unzip

(这两条指令可能需要使用root用户安装:yum install zip unzip

zip [选项] [生成的压缩文件] [文件或目录]
用于文件或目录的打包压缩

生成的压缩文件的后缀应为.zip
在这里插入图片描述
默认压缩目录时,只会对目录文件打包压缩,使用-r可以递归打包压缩目录及其中的文件
在这里插入图片描述

unzip [压缩包]
用于解包解压一个.zip的压缩包

在这里插入图片描述
默认解包解压到当前路径,解压到指定路径需要unzip [压缩包] -d [目标路径]
在这里插入图片描述

tar

tar [选项(] [文件或目录]
用于打包或解包;不打开只查看等操作

选项:

  1. -c 建立一个压缩文件的参数指令(create 的意思);
  2. -x 解开一个压缩文件的参数指令!
  3. -t 查看 tarfile 里面的文件!
  4. -z 是否同时具有 gzip 的属性?即是否需要用 gzip 压缩?
  5. -j 是否同时具有 bzip2 的属性?即是否需要用 bzip2 压缩?
  6. -v 压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
  7. -f 使用档名,请留意,在 f 之后要立即接档名,不要再加参数!
  8. -C 解压到指定目录

例如:
在这里插入图片描述
在这里插入图片描述

总结

到此,关于Linux的一些基本的指令就介绍完了
在这个专栏中将持续更新Linux的知识,欢迎大家持续关注哦

如果大家认为我对某一部分没有介绍清楚或者某一部分出了问题,欢迎大家在评论区提出

如果本文对你有帮助,希望一键三连哦

希望与大家共同进步哦

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/651776.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言之指针详解(6)

目录 本章重点 1. 字符指针 2. 数组指针 3. 指针数组 4. 数组传参和指针传参 5. 函数指针 6. 函数指针数组 7. 指向函数指针数组的指针 8. 回调函数 9. 指针和数组面试题的解析 指向函数指针数组的指针 指向函数指针数组的指针是一个指针指针指向一个数组 &#xff0…

【Shiro】第三章 Shiro入门

目录 1、身份认证 2、Realm 3、编码、散列算法 4、Realm使用散列算法 1、身份认证 【1】基本流程 流程如下: 1、Shiro把用户的数据封装成标识token,token一般封装着用户名&

《C++程序设计原理与实践》笔记 第19章 向量、模板和异常

本章将完成最常见、最有用的STL容器vector的设计与实现。我们将展示如何实现元素数量可变的容器&#xff0c;如何以参数形式指定容器的元素类型&#xff0c;以及如何处理越界错误。本章使用的技术依赖模板和异常&#xff0c;因此我们将介绍如何定义模板&#xff0c;并给出资源管…

糖化学试剂:4594-52-9,1,3,5-三乙酰基-2-脱氧-D-赤式戊呋喃糖,试剂用途说明

基础产品数据&#xff08;Basic Product Data&#xff09;&#xff1a; CAS号&#xff1a;4594-52-9 中文名&#xff1a;1,3,5-三乙酰基-2-脱氧-D-赤式戊呋喃糖 英文名&#xff1a;1,3,5-Tri-O-acetyl-2-deoxy-D-erythro-pentofuranose 沸点 &#xff1a;329.342.0 C at 760 m…

vue2、vue3分别配置echarts多图表的同步缩放

文章目录 ⭐前言⭐使用dataZoom api实现echart的同步缩放&#x1f496; vue2实现echarts多图表同步缩放&#x1f496; vue3实现echarts多图表同步缩放 ⭐结束 ⭐前言 大家好&#xff01;我是yma16&#xff0c;本文分享在vue2和vue3中配置echarts的多图表同步缩放 背景&#xf…

进程描述+PCB+fork用法介绍

进程控制块PCB 进程id&#xff1a;系统中每个进程有唯一的id,在c语言中用pid_t 表示&#xff0c;其实就是非负整数进程的状态&#xff1a;就绪&#xff0c;运行&#xff0c;挂起&#xff0c;停止&#xff0c;僵尸等状态进程切换是需要保存和恢复的一些cpu寄存器描述虚拟地址空…

微调Hugging Face中图像分类模型

前言 本文主要针对Hugging Face平台中的图像分类模型&#xff0c;在自己数据集上进行微调&#xff0c;预训练模型为Google的vit-base-patch16-224模型&#xff0c;模型简介页面。代码运行于kaggle平台上&#xff0c;使用平台免费GPU&#xff0c;型号P100&#xff0c;笔记本地址…

【惯性导航】隧道、高架桥、高楼林立弱信号环境室外定位_惯导模块

汽车行驶在路上&#xff0c;视野可能会受到周边的树木、同行的卡车、城市楼群的遮挡&#xff0c;卫星导航系统容易受到周围环境的影响&#xff0c;例如树木楼房等&#xff0c;造成多路径效应&#xff0c;使得定位结果精度降低甚至丢失&#xff0c;尤其是在隧道或者室内环境中&a…

树莓派开Samba协议和Windows电脑共享资料

文章目录 1. 前言2. 树莓派安装和配置Samba2.1. 更新源2.2. 安装Samba软件2.3. 修改Samba配置文件2.4. 重启Samba服务2.5. 添加用户到Samba 3. Windows访问共享目录3.1. 查看树莓派的地址3.2. 打开这个IP地址 4. 报错4.1. 用户名或者密码不正确 1. 前言 虽然出门派很方便&…

C++算法————二分查找

又是鸽了三千万年 马上要打csp了&#xff0c;开始回流学j组的知识了&#xff0c;浅说一下二分吧&#xff08;&#xff09; --------------------------------------------------------------------------------------------------------------------------------- 二分查找 …

tsx写法

1.安装插件 npm install vitejs/plugin-vue-jsx -D vite.config.ts 配置 import { defineConfig } from vite import vue from vitejs/plugin-vue import vueJsx from vitejs/plugin-vue-jsx; // https://vitejs.dev/config/ export default defineConfig({plugins: [vue(),v…

TC15WProteus仿真DS18B20温度采集报警控制系统STC15W4K32S4

STC15WProteus仿真DS18B20温度采集报警控制系统STC15W4K32S4 Proteus仿真小实验&#xff1a; STC15WProteus仿真DS18B20温度采集报警控制系统STC15W4K32S4 功能&#xff1a; 硬件组成&#xff1a;STC15W4K32S4单片机 LCD1602显示器DS18B20温度传感器蜂鸣器 1.单片机读取DS18…

数据链路层(MAC)、网络层(IP)、传输层(TCP/UDP)抓包分析

目录 OSI七层模型数据包逐层封装头部抓包分析数据包概况数据链路层抓包网络层抓包&#xff08;IP协议抓包&#xff09;UDP抓包数据负载抓包 Linux cooked-mode capture OSI七层模型 OSI模型&#xff08;OSI model&#xff09;&#xff0c;开放式系统互联通信参考模型&#xff…

【读书笔记】《小王子》- [法] 安托万•德•圣埃克苏佩里 / [法国] 安东尼·德·圣-埃克苏佩里

文章目录 Chapter 01Chapter 02Chapter 03Chapter 04Chapter 05Chapter 06Chapter 07Chapter 08Chapter 09 Chapter 01 Chapter 02 “因为我住的地方非常小…” 想起了陀思妥耶夫斯基书中的一句话&#xff0c;“要爱具体的人&#xff0c;不要爱抽象的人&#xff1b;要爱生活本…

给开发者的ChatGPT提示词工程指南

ChatGPT Prompt Engineering for Development 基本大语言模型和指令精调大语言模型的区别&#xff1a; 指令精调大语言模型经过遵从指令的训练&#xff0c;即通过RLHF&#xff08;基于人类反馈的强化学习&#xff09;方式在指令上精调过&#xff0c;因而更加有帮助&#xff0…

OverLeaf(LaTeX在线编辑器)制作项目周报

目录 注册及登录 1、登录官网 2、设置语言 制作周报 1、新建项目 2、整体预览 3、分段解析 3.1 页面大小/页边距 3.2 页眉页脚 3.3 标题样式 3.4 内容分栏显示 3.5 调整行间距 3.6 插入图片 3.7 图片和文字排版 3.8 分页 3.9 标题和内容 4、编译和导出 4.1 编…

hutool poi、apache poi实现导入导出以及解析excel

一、前言 看了例子之后后续需要更加深入学习或者更多理解其他API的话&#xff0c;建议看官方文档。hutool项目是中国人维护的&#xff0c;有中文文档&#xff0c;阅读起来很方便。apache poi比较底层一点&#xff0c;可以更加自由去二次开发自己所需的功能。 hutool官方文档 …

zkML零知识机器学习介绍

1. 引言 零知识证明技术的2大基石为&#xff1a; 1&#xff09;succinctness&#xff1a;相比于直接运行整个计算本身&#xff0c;验证该计算完整性证明要简单很多。2&#xff09;zero-knowledge&#xff1a;可在不泄露计算隐私的情况下&#xff0c;证明计算的完整性。 生成…

【Java入门】-- Java基础详解之 [数组、冒泡排序]

目录 1.为什么需要数组&#xff1f; 2.数组的介绍 3.数组的快速入门 4.数组的使用 5.动态初始化 6.静态初始化 7.数组的细节 8.数组的赋值机制 9.数组拷贝 10.数组反转 11.二维数组 12.冒泡排序 1.为什么需要数组&#xff1f; 有五个学生&#xff0c;他们英语成绩…

探索不同学习率对训练精度和Loss的影响

验证精度、验证Loss的影响 1 问题 在探索mnist数据集过程中&#xff0c;学习率的不同&#xff0c;对我们的实验结果&#xff0c;各种参数数值的改变有何变化&#xff0c;有何不同。 学习率对精度和损失的影响研究。训练周期100学习率 [0.1, 0.01, 0.001, 0.0001](1) 不同学习率…