【Linux】-基本指令(上)

  🔑🔑博客主页:阿客不是客

🍓🍓系列专栏:深入代码世界,了解掌握 Linux

欢迎来到泊舟小课堂

😘博客制作不易欢迎各位👍点赞+⭐收藏+➕关注

Windows环境不同,我们在linux环境下需要通过指令进行各操作,今天要学习得就是一些常见的操作指令

注:上下键可以找到历史命令

命令1:ls 指令

1.1 基本语法

1.基本语法:ls 选项 目录或文件

2.功能:对于目录,列出目录下有关信息

1.2 选项

  1. -a:列出当前目录下所有文件,包括以.开头的隐藏文件。
  2. -d:将目录像文件一样显示,而不是显示其下的文件。
  3. -i:输出文件的 i 节点的索引信息。
  4. -k:以 k 字节的形式表示文件的大小。
  5. -l:列出文件的详细信息。
  6. -n:用数字的 UID、GID 代替名称。
    • UID(User ID)即用户标识号,用于唯一标识系统中的用户。
    • GID(Group ID)即组标识号,用于唯一标识系统中的用户组。
  7. -F:在每个文件名后附上一个字符以说明该文件的类型,*表示可执行的普通文件;/表示目录;@表示符号链接;|表示 FIFOs;=表示套接字(sockets)。
  8. -r:对目录反向排序。
  9. -t:以时间排序。
  10. -s:在文件名后输出该文件的大小,可用于大小排序,以便找到目录下最大的文件。
  11. -R:列出所有子目录下的文件。
  12. -1:一行只输出一个文件。

1.3 常用选项使用方法

1.3.1 ls

直接使用ls:显示当前所处目录或文件中的文件与目录名。

1.3.2 ls [目录或文件]

作用为显示当前目录下指定目录里面的文件或者目录名

注:ls / 是显示根目录

1.3.3 ls -l

ls -l [文件或目录]:列出文件的详细信息。当[文件或目录]为空时,列出当前所处文件或目录中所有文件或目录的详细信息,同时 ls -l可以简写成:ll

1.3.4 ls -a

ls -a: 列出目录下的所有文件,包括以 . 开头的隐含文件(在linux中,以 . 开头的文件为隐藏文件)。

如图所示,进入我新创建得113-1文件夹进行指令操作

1.3.5 同时指令得选项可叠加(叠加指令不分前后顺序)

命令2: pwd 指令

pwd 指令:显示用户当前所在的目录

命令3:cd 指令

语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下。 

在linux系统中,我们知道以  .  开头的为隐藏文件,以 .. 开头的为隐藏文件夹,那么在 ls -a指令中单独出现的 . 和 .. 指的是什么呢?

, 代表的是当前目录, .. 代表的是上一级目录,这在linux系统中的任意目录下都是自动生成的。

知道了上述概念,为了更好理解cd指令的操作,我们还需要了解,Linux中的文件是如何存放的。
Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件,且每一个目录中的文件或目录不能重名,因为只有这样才能保证每个目录都有一个唯一且确定的位置。

示例如下所示:

因为路径具有唯一性,所以我们可以通过两种方式来描述文件的位置: 

  • 绝对路径:我们把这种从根目录开始,定位文件的路径称为绝对路径,比如:/home/bob
  • 相对路径:相对于当前所处路径去定位某个文件的路径,比如:当前路径为:/home/bob,然后我们可以通过../eve来进入eve文件。

在这里我们可以与Windows系统类比,在Linux中也存在着绝对路径与相对路径。 在上图中我们可以看到每一个子目录或文件只有一个父目录,因此对于每一个文件或目录的绝对路径是唯一的。同时也因为在同意目录下,每一个文件和目录都不能重名,也是我们在使用相对路径是,也可以准确的找到想要找到的文件。

因此在使用cd指令是的路径,可以是绝对路径,也可以是相对路径。

指令示例如下:

1. cd .. :返回上一级目录

2. cd 绝对路径:使用绝对路径改变当前工作目录。

3. cd 相对路径:使用相对路径改变当前工作目录。

  1. cd ~:进入主工作目录,也就是家目录。其中对于root用户主工作目录就是/root,而对于普通用户就是/home/xxx
  2. cd -:返回上一次访问目录。

中需要注意的是:如果一直用 cd ..回到上级目录,如果回到根目录就无法回退了,其中Linux下根目录为/。并且,/也可以作为路径分隔符,比如/home/beidi_113/113;而值得一提的是Window环境下的路径分割符为\

命令4:touch 指令

4.1 基本语法

  1. 语法:touch 选项 文件
  2. 功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。

4.2 选项

  1. -a或 --time=atime 或 --time=access 或 --time=use 只更改存取时间。
  2. -c 或 --no-create不建立任何文档。
  3. -d 使用指定的日期时间,而非现在的时间。
  4. -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
  5. -m 或 --time=mtime 或–time=modify 只更改变动时间。
  6. -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
  7. -t 使用指定的日期时间,而非现在的时间。

命令5 mkdir 指令

  1. 语法:mkdir 选项 dirname
  2. 功能: 在当前目录下创建一个名为dirname的目录。

mkdir -p dirname可以是一个路径名称,此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。

命令6 rmdir 指令和 rm 指令

rmdir 命令:

由于rmdir指令只能删除对应的空目录,所以局限性很大,一般我们比较常用的是下面的rm指令。

6.1 基本语法

  1. 语法:rm 选项 dirname。
  2. 功能:删除文件或目录。

6.2 选项

-i 删除前逐一询问确认(y为确定删除,n为不删除)。

-f 即使文件属性为只读(即写保护),亦直接删除。

-r 删除目录及其下所有文件(递归式删除)。

当我们想删除当前目录下的所有文件时,可以使用通配符*rm ./*就能删除当前目录下的所有文件。如果我们想指定删除某种类型的文件,比如说我们想删除后缀为.c的文件,可以这样使用rm ./*.c

命令7 man 指令

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是man
语法: man [选项] 命令

解释一下,面手册分为8章

  1. 是普通的命令
  2. 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
  3. 是库函数,如printf,fread
  4. 是特殊文件,也就是/dev下的各种设备文件
  5. 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
  6. 是给游戏留的,由各个游戏自己定义
  7. 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
  8. 是系统管理用的命令,这些命令只能由root使用,如ifconfig

常用选项:

-k 根据关键字搜索联机帮助
num 只在第num章节找
-a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按 下q退出,他会继续往后面搜索,直到所有章节都搜索完毕

注:如果man后面直接跟指令时,它会从手册的第一章开始,依次往下找,直到找到为止。

man is:

man 3 printf:

注:使用q推出手册

命令8 cp 指令

8.1 语法:

cp [选项] 源文件或目录 目标文件或目录 (注:同意目录下,每一个文件或目录名都是唯一的!!!)
功能: 复制文件或目录
说明:cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。 若同时指定多个文件或目录,而最后的目的地并非一个已存 在的目录,则会出现错误信息

直接使用cp 可拷贝任意文件和空文件夹

使用方式:

拷贝到当前路径下,并修改成新的名字:

 直接拷贝到指定路径下:

 修改名称拷贝到指定路径下:

 

常用选项:
-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i 或 --interactive 覆盖文件之前先询问用户
-r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链 接,则一律视为普通文件处理
-R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理

 

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

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

相关文章

【算法】动态规划—最长公共子序列

最长公共子序列问题就是求出两个字符串的LCS长度,是一道非常经典的面试题目,因为它的解法是典型的二维动态规划。 比如输入 str1 "babcde", str2 "acbe",算法应该输出3,因为 str1 和 str2 的最长公共子序列…

视频格式转为mp4(使用ffmpeg)

1、首先安装ffmpeg,下载链接如下 https://www.gyan.dev/ffmpeg/builds/packages/ffmpeg-6.1.1-full_build.7z 安装后确保ffmpeg程序加到PATH路径里,cmd执行ffmpeg -version出现下图内容表示安装成功。 2、粘贴下面的脚本到文本文件中,文件后缀…

基于对数变换的图像美白增强,Matlab实现

博主简介:matlab图像处理(QQ:3249726188) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本次案例是基于对数变换的图像美白增强,用matlab实现。 一、案例背景和算法介绍 这次案例是美白算法&…

re题(20)BUUCTF [GWCTF 2019]pyre

BUUCTF在线评测 (buuoj.cn) Python解包及反编译: PyInstaller Extractoruncompyle6 - 知乎 (zhihu.com) python撤消: Pycharm撤销操作和代码跳转后退回操作以及消除波浪线操作快捷键_pycharm怎么反撤销-CSDN博客 把.pyc文件变成py文件 把.py文件用记事本打开 cod…

每日OJ_牛客_BC64 牛牛的快递

目录 牛客_BC64 牛牛的快递(简单模拟) 解析代码1 解析代码2 牛客_BC64 牛牛的快递(简单模拟) 牛牛的快递_牛客题霸_牛客网 描述 牛牛正在寄快递,他了解到快递在 1kg 以内的按起步价 20 元计算,超出部…

Qt ORM模块使用说明

附源码:QxOrm是一个C库资源-CSDN文库 使用说明 把QyOrm文件夹拷贝到自己的工程项目下, 在自己项目里的Pro文件里添加include($$PWD/QyOrm/QyOrm.pri)就能使用了 示例test_qyorm.h写了表的定义,Test_QyOrm_Main.cpp中写了所有支持的功能的例子: 通过自动表单添加…

【代码随想录Day14】二叉树Part02

226.翻转二叉树 题目链接/文章讲解/视频讲解:代码随想录 遍历二叉树,交换每个节点的左右子树。 class Solution {public TreeNode invertTree(TreeNode root) {preorder(root);return root;}public static void preorder(TreeNode root) {if (root nu…

基于微信小程序的学生公寓电费信息管理系统+ssm(lw+演示+源码+运行)

基于微信小程序的学生公寓电费信息管理系统 摘 要 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,微信小程序被…

服务器上PFC配置丢失问题排查与解决方案

现象 基于nccl的多轨通信算力中心出现交换机端口出入方向丢包 分析 机间通信使用RoCE网络,为了避免因丢包导致大量重传报文影响训练性能,我们基于PFC和ECN在交换机和服务器配置搭建了无损网络,理论上是不允许丢包的,现在出现交…

TryHackMe 第1天 | Introduction to Cyber Security

偶然之间了解到了TryHackMe这个网站,尝试跟着其中的学习路径进行学习,发现还是挺适合入门网络安全这一领域的。但是这个网站包含了很多内容,如果不用一些东西记录下来,那么很容易忘记,所以打算在此记录一下学习过程。 …

JUC学习笔记(三)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 八、共享模型之工具--JUC8.1 AQS 原理1. 概述2 实现不可重入锁自定义同步器自定义锁 3.心得起源目标设计1) state 设计2)阻塞恢复设计3)队列…

linux 操作系统下date 命令介绍和使用案例

linux 操作系统下date 命令介绍和使用案例 在 Linux 操作系统中,date 命令是一个用于显示和设置系统日期和时间的基本工具。它不仅可以显示当前的日期和时间,还允许用户以不同的格式输出日期,并进行日期计算 1. date 命令简介 date 命令用…

神经网络_使用tensorflow对fashion mnist衣服数据集分类

from tensorflow import keras import matplotlib.pyplot as plt1.数据预处理 1.1 下载数据集 fashion_mnist keras.datasets.fashion_mnist #下载 fashion mnist数据集 (train_images, train_labels),(test_images, test_labels) fashion_mnist.load_data()print("t…

C++广义表的介绍及创建方法-附C语言实现代码

1. 简介 数组可以存储不允许再分割的数据元素,如字符’X’,数字11,当然它也可以存储数组,二维数组就是一个例子,你可以理解二维数组的每一行的元素是一列中的对应元素的组合。 广义表是一种线性表,或者说…

JVM HotSpot 虚拟机: 对象的创建, 内存布局和访问定位

目录 前言 对象的创建 对象的内存布局 对象的访问定位 前言 了解JVM的内存区域划分之后, 也大致了解了java程序的内存分布模型, 也了解它里面的内存区域里面的类型和各个类型的作用, 接下来我们进一步从对象创建到访问的角度, 来看看这些内存区域之间是怎么关联起来的. …

2023高教社杯全国大学生数学建模竞赛C题 Python代码演示

目录 问题一1.1 蔬菜类商品不同品类或不同单品之间可能存在一定的关联关系,请分析蔬菜各品类及单品销售量的分布规律及相互关系。数据预处理数据合并提取年、月、日信息对蔬菜的各品类按月求销量均值 季节性时间序列分解STL分解加法分解乘法分解 ARIMALSTM import p…

什么是代理IP_如何建立代理IP池?

什么是代理IP_如何建立代理IP池? 1. 概述1.1 什么是代理IP?1.2 代理IP的工作原理1.3 爬虫的应用场景1.3.1 搜索引擎,最大的爬虫1.3.2 数据采集,市场分析利器1.3.3 舆情监控,品牌营销手段1.3.4 价格监测,全网…

时序差分法

一、时序差分法 时序差分是一种用来估计一个策略的价值函数的方法,它结合了蒙特卡洛和动态规划算法的思想。时序差分方法和蒙特卡洛的相似之处在于可以从样本数据中学习,不需要事先知道环境;和动态 规划的相似之处在于根据贝尔曼方程的思想&…

外网(公网)访问VMware workstation 虚拟机内web网站的配置方法---端口转发总是不成功的原因

问题背景:客户提供的服务器操作系统配置web程序时,总是显示莫名其妙的问题,发现是高版本操作系统的.net库已经对低版本.net库进行了大范围修订,导致在安全检测上、软件代码规范上更加苛刻,最终导致部署不成功。于是想到…