Linux与shell命令行学习

文章目录

  • 走进shell
  • 基本的bash shell命令
    • 2.1 遍历目录 cd
    • 2.2 查看文件和目录列表 ls
    • 2.3 创建文件 touch
    • 2.4 复制文件 cp
    • 2.5 自动补全 tab
    • 2.6 链接文件 ln
    • 2.7 文件重命名 mv
    • 2.8 删除文件 rm
    • 2.9 创建目录 mkdir
    • 2.10 删除目录 rmdir
    • 2.11 查看文件类型 file
    • 2.12 查看整个文件 cat、more、less
    • 2.13 查看部分文件 tail、head
  • 更多的bash shell命令
    • 3.1监测程序 ps、top、kill
      • 探查进程 ps
      • 实时监测进程 top
      • 结束进程 kill、killall
    • 3.2监测磁盘空间
      • 3.2.1挂载存储媒体 mount
      • 3.2.2 卸载 umount
      • 3.2.3 df命令
      • 3.2.4 du命令
    • 3.3处理数据文件
      • 3.3.1 排序数据 sort
      • 3.3.3搜索数据 grep
      • 3.3.4压缩数据 gzip
      • 3.3.5归档数据 tar
  • Linux环境变量

走进shell

快捷键描述
Ctrl+Shift+加号放大终端的字体
Ctrl+减号缩小终端的字体
Ctrl+Shift+C复制
Ctrl+Shift+V粘贴
Ctrl+Shift+F打开find功能,提供文本查找
Ctrl+Shift+N启动一个新的shell会话
Ctrl+Shift+Q/W终止当前会话

基本的bash shell命令

常见的Linux目录名称:
image.png

2.1 遍历目录 cd

使用 cd 后面既可以跟文件名,也可以跟路径名。
路径参数有两种:
(1)绝对文件路径
绝对文件路径以“/”作为起始,指明虚拟文件系统的根目录。因此,如果要指 向usr目录所包含的bin目录下的用户二进制文件,可以使用如下绝对文件路径:/usr/bin

  • 显示当前会话的目录:pwd
  • 从任意目录跳回主目录:cd 或 cd~

(2)相对文件路径
相对文件路径不以代表根目录的正斜线(/)开头,而是以目录名(如果用户准备切换到当前工作目录下的一个目录)或是 一个特殊字符开始。
有两个特殊字符可用于相对文件路径中:

  • 单点符(.),表示当前目录;
  • 双点符(…),表示当前目录的父目录,也就是上级目录。

2.2 查看文件和目录列表 ls

  • 显示当前目录的文件和列表: ls
  • 可用带-F参数的ls命令轻松区分文件和目录,文件夹后面会有“/”ls -F
  • 显示隐藏文件,文件名以“.”开头:ls -a
  • 列出当前目录下包含的子目录中的文件:ls -F -R
  • 显示了目录中每个文件的更多相关信息:ls -l
  • 用过滤器来决定应该在输出中显示哪些文件或目录:ls -l my_script
    • 问号(?)代表一个字符;
    • 星号(*)代表零个或多个字符。

2.3 创建文件 touch

创建空文件:touch file

2.4 复制文件 cp

对系统管理员来说,在文件系统中将文件和目录从一个位置复制到另一个位置可谓家常便饭。cp命令可以完成这个任务。

  • cp命令需要两个参数——源对象和目标对象:cp _source destination_。当source和destination参数都是文件名时,cp命令将源文件复制成一个新文件,并且以destination命名。新文件就像全新的文件一样,有新的修改时间。
  • 加上-i选项,强制shell询问是否需要覆盖已有文件:cp -i test_one test_two
  • 同样可以使用绝对路径和相对路径进行复制:
    • cp -i test_one /home/test/doc
    • cp -i test_one doc/
  • 如果需要将一个带有很长的源对象名的文件复制到当前工作目录中时,单点符能够简化该任务:
    • cp -i /etc/NetworkManager/NetworkManager.conf .
  • 在一条命令中递归地复制整个目录的内容:cp -R Scripts/ Mod_Scripts
  • 可以在cp命令中使用通配符,将所有以script结尾的文件复制到Mod_Scripts目录中:
    • cp *script Mod_Scripts/

2.5 自动补全 tab

在使用命令行时,很容易输错命令、目录名或文件名。实际上,对长目录名或文件名来说,输错的几率还是蛮高的。这正是制表键自动补全挺身而出的时候。制表键自动补全允许你在输入文件名或目录名时按一下制表键,让shell帮忙将内容补充完整。

2.6 链接文件 ln

如需要在系统上维护同一文件的两份或多份副本,除了保存多份单独的物理文件副本之外,还可以采用保存一份物理文件副本和多个虚拟副本的方法。这种虚拟的副本就称为链接。链接是目录中指向文件真实位置的占位符。在Linux中有两种不同类型的文件链接:符号链接、硬链接。
(1)符号链接
符号链接就是一个实实在在的文件,它指向存放在虚拟目录结构中某个地方的另一个文件。这两个通过符号链接在一起的文件,彼此的内容并不相同。
ln -s data_file sl_data_file
image.png
(2)硬链接
硬链接会创建独立的虚拟文件,其中包含了原始文件的信息及位置。但是它们从根本上而言是同一个文件。引用硬链接文件等同于引用了源文件。要创建硬链接,原始文件也必须事先存在,只不过这次使用ln命令时不再需要加入额外的参数了。
ln code_file hl_code_file
image.png
说明:**只能对处于同一存储媒体的文件创建硬链接。要想在不同存储媒体的文件之间创建链接, **
只能使用符号链接。

2.7 文件重命名 mv

mv指令不仅可以对文件进行重命名,还可以用来移动文件的位置。
移动文件会将文件名从fall更改为fzll,但inode编号和时间戳保持不变。这是因为mv只影响文件名
image.png
使用mv命令把文件fzll从/home/christine移动到了/home/christine/Pirctures。和刚才一样,这个操作并没有改变文件的inode编号或时间戳。
image.png
说明:和cp命令类似,也可以在mv命令中使用-i参数。这样在命令试图覆盖已有的文件时,就会得到提示。

2.8 删除文件 rm

bash shell中没有回收站或垃圾箱,文件 一旦删除,就无法再找回。因此,在使用rm命令时,要养成总是加入-i参数的好习惯
image.png
rm命令的另外一个特性是,如果要删除很多文件且不受提示符的打扰,可以用 **-f **参数强制删除。

2.9 创建目录 mkdir

在Linux中创建目录很简单,用mkdir命令即可。
image.png
要想同时创建多个目录和子目录,需要加入 -p 参数。
image.png

2.10 删除目录 rmdir

默认情况下,rmdir命令只删除空目录。因为我们在New_Dir目录下创建了一个文件my_file,所以rmdir命令拒绝删除目录。要解决这一问题,得先把目录中的文件删掉,然后才能在空目录上使用rmdir命令
image.png
rmdir并没有-i选项来询问是否要删除目录。可以在整个非空目录上使用rm命令。使用 -r 选项使得命令可以向下进入目录,删除其中的文件,然后再删除目录本身。当需要删除大量目录和文件时,这一点尤为有效。
image.png
这种方法虽然可行,但很难用。一口气删除目录及其所有内容的终极大法就是使用带有
-r参数和-f参数
的rm命令。
image.png

2.11 查看文件类型 file

image.png

2.12 查看整个文件 cat、more、less

(1)cat
只显示文本内容,没有行号显示。
image.png
-n 参数会给所有的行加上行号。
image.png
如果只想给有文本的行加上行号,可以用 -b 参数,也就是说空行不用显示。
image.png
如果不想让制表符出现,可以用 **-T **参数。
image.png

(2)more
cat命令的主要缺陷是:一旦运行,你就无法控制后面的操作,cat命令有点繁琐。文件的文本会在显示器上一晃而过。
more命令会显示文本文件的内容,但会在显示每页数据之后停下来。
image.png
可以通过按空格键或回车键以逐行向前的方式浏览文 本文件。浏览完之后,按q键退出。
(3)less
less提供了一些极为实用的特性,能够实 现在文本文件中前后翻动,而且还有一些高级搜索功能。
less命令的操作和more命令基本一样,一次显示一屏的文件文本。除了支持和more命令相 同的命令集,它还包括更多的选项。

2.13 查看部分文件 tail、head

(1)tail命令
使用tail命令浏览文件最后10行的效果。
tail log_file
通过加入-n 2使 tail命令只显示文件的最后两行。
tail -n 2 log_file
(2)head命令
显示文件前10行的文本。
head log_file
类似于tail命令,它也支持-n参数,这样就可以指定想要显示的内容了
head -5 log_file

更多的bash shell命令

3.1监测程序 ps、top、kill

探查进程 ps

image.png
image.png

实时监测进程 top

ps命令虽然在收集运行在系统上的进程信息时非常有用,但也有不足之处:它只能显示某个特定时间点的信息。如果想观察那些频繁换进换出的内存的进程趋势,用ps命令就不方便了。而top命令刚好适用这种情况。top命令跟ps命令相似,能够显示进程信息,但它是实时显示的。

结束进程 kill、killall

kill命令可通过进程ID(PID)给进程发信号。默认情况下,kill命令会向命令行中列出的全部PID发送一个TERM信号。遗憾的是,你只能用进程的PID而不能用命令名,所以kill命令有时并不好用。
image.png
killall命令非常强大,它支持通过进程名而不是PID来结束进程。killall命令也支持通配符,这在系统因负载过大而变得很慢时很有用。
image.png

3.2监测磁盘空间

3.2.1挂载存储媒体 mount

挂载的意义:Linux文件系统将所有的磁盘都并入一个虚拟目录下。在使用新的存储媒体之前,需要把它放到虚拟目录下。这项工作称为挂载(mounting)。
默认情况下,mount命令会输出当前系统上挂载的设备列表。
image.pngimage.png
手动将U盘/dev/sdb1挂载到/media/disk,可用下面的命令:
mount -t vfat /dev/sdb1 /media/disk
image.png
image.png
image.png

3.2.2 卸载 umount

image.png
image.png
上例中,命令行提示符仍然在挂载设备的文件系统目录中,所以umount命令无法卸载该镜像文件**。一旦命令提示符移出该镜像文件的文件系统,umount命令就能卸载该镜像文件。**

3.2.3 df命令

image.png
image.png

3.2.4 du命令

image.png
image.png

3.3处理数据文件

3.3.1 排序数据 sort

如果你本期望这些数字能按值排序,就要失望了。默认情况下,sort命令会把数字当做字 符来执行标准的字符排序,产生的输出可能根本就不是你要的。解决这个问题可用-n参数,它会告诉sort命令把数字识别成数字而不是字符,并且按值排序。
image.png
另一个常用的参数是-M,按月排序。Linux的日志文件经常会在每行的起始位置有一个时间戳,用来表明事件是什么时候发生的。
image.png
image.png

3.3.3搜索数据 grep

image.png
image.png
image.png

3.3.4压缩数据 gzip

image.png
image.png

3.3.5归档数据 tar

image.png
image.png
image.png

Linux环境变量

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

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

相关文章

ABAP BAPI_ACC_DOCUMENT_POST 中 EXTENSION1的用法

BAPI_ACC_DOCUMENT_POST 在过账会计凭证时候,经常会发现一些标准字段在参数中并没有 可以通过CMOD/SMOD增强出口--》ACBAPI01--》EXIT_SAPLACC4_001--》ZXACCU15 示例代码: DATA: wa_extension TYPE bapiextc,it_extension TYPE STANDARD TABLE OF ba…

软件工程概述

软件工程概述 软件工程指的是应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程,目的是提高软件生产效率、提高软件质量、降低软件成本。 1. 计算机软件 计算机软件指的是计算机系统中的程序及其文档。程序是计算任务的…

圆圈加数字的css

方式一 .circle { width: 50px; height: 50px; border-radius: 50%; background-color: #f00; color: #fff; text-align: center; line-height: 50px; } .circle::before { content: attr(data-number); display: block; } <div class"circle" data-number"…

C++学习笔记--函数重载(2)

文章目录 1.3、Function Templates Handling1.3.1、Template Argument Deduction1.3.2、Template Argument Substitution 1.4、Overload Resolution1.4.1、Candidate functions1.4.2、Viable functions1.4.3、Tiebreakers 1.5、走一遍完整的流程1.6、Name Mangling1.7、总结 1.…

深度ESP32 PWM教程如何在ESP32 中使用PWM

关于ESP32PWM的简要说明 ESP32 SoC 满载了非常有用的外设&#xff0c;PWM 就是其中之一。是的。ESP32 的芯片中有一个专用的 PWM 硬件模块。脉宽调制或简称PWM是一种成熟且广泛使用的供电技术。 您可以使用 ESP32 的 PWM 来驱动 LED、电机&#xff08;普通直流电机和无刷电机…

qt文件操作

对话框练习 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//字体按钮 void Widget::on_ztbtn_clicked() {//调用QFontDia…

01_Flutter之下拉刷新和上拉加载

一.创建页面 由于我们需要请求网络&#xff0c;并将返回的数据渲染到页面上&#xff0c;所以需要继承StatefulWidget&#xff0c;本文涉及的接口&#xff0c;取自鸿神的玩android开放API class ProjectListPage extends StatefulWidget {overrideState<StatefulWidget>…

js摄像头动态检测

利用摄像头每一秒截图一次图像。然后计算2次图像之间的相似度。 如果相似度低于98%就会报警。 var video document.getElementsByClassName(inputvideo)[0]; video.innerHTML "<video classinput_video idcamera autoplay width640px height380px></video>…

windows10使用wheel安装tensorflow2.13.0/2.10.0

安装过程 安装虚拟环境安装virtualenv安装满足要求的python版本使用virtualenv创建指定python版本的虚拟环境 安装tensorflow2.13.0安装tensorflow-docs直接下载使用wheel下载 在VSCode编辑器中使用虚拟环境下的包 安装虚拟环境 这里笔者使用的是 virtualenv进行虚拟环境搭建的…

VIRTIO-BLK代码分析(2)VIRTIO驱动分析

QEMU模拟的VIRTIO设备同时也是PCIE设备&#xff0c;Guest中VIRTIO PCIE驱动与之匹配&#xff0c;根据设备驱动模型&#xff0c;最终触发probe函数virtio_pci_probe()。该probe函数使能PCIE设备&#xff0c;并注册VIRTIO设备&#xff0c;并与VIRTIO-BLK匹配&#xff0c;触发VIRT…

通俗易懂讲解大模型:Tokenizer

Tokenizer Tokenizer 是 NLP pipeline 的核心组件之一。Tokenizer 的目标是&#xff1a;将文本转换为模型可以处理的数据。模型只能处理数字&#xff0c;因此 Tokenizer 需要将文本输入转换为数字输入。 通常而言有三种类型的 Tokenizer &#xff1a;Word-based Tokenizer、Cha…

2023国赛数学建模A题思路分析 - 定日镜场的优化设计

# 1 赛题 A 题 定日镜场的优化设计 构建以新能源为主体的新型电力系统&#xff0c; 是我国实现“碳达峰”“碳中和”目标的一项重要 措施。塔式太阳能光热发电是一种低碳环保的新型清洁能源技术[1]。 定日镜是塔式太阳能光热发电站(以下简称塔式电站)收集太阳能的基本组件&…

校园二手物品交易系统微信小程序设计

系统简介 本网最大的特点就功能全面&#xff0c;结构简单&#xff0c;角色功能明确。其不同角色实现以下基本功能。 服务端 后台首页&#xff1a;可以直接跳转到后台首页。 用户信息管理&#xff1a;管理所有申请通过的用户。 商品信息管理&#xff1a;管理校园二手物品中…

华为云使用脚本初始化Linux数据盘

初始化新挂载的磁盘 登录云服务器&#xff0c;执行以下命令获取自动初始化磁盘脚本。 wget https://ecs-instance-driver.obs.cn-north-1.myhuaweicloud.com/datadisk/LinuxVMDataDiskAutoInitialize.sh 说明&#xff1a; 若回显异常&#xff0c;请检查云服务器是否绑定弹性公…

029:vue项目,勾选后今天不再弹窗提示

第029个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下&#xff0c;本专栏提供行之有效的源代码示例和信息点介绍&#xff0c;做到灵活运用。 &#xff08;1&#xff09;提供vue2的一些基本操作&#xff1a;安装、引用&#xff0c;模板使…

豪华卧室怎么装?快来看看吧

一阵轻松的叹息&#xff0c;由柔软的质地、新鲜的空气和扎实的设计带来。只需稍微借鉴这些豪华卧室的创意&#xff0c;这一切都可以成为你的。 用华丽的四柱床提升 四柱床的柱子为床框增添了另一种维度&#xff0c;同时保持通风。长长的线条提高了房间的高度&#xff0c;吸引…

MySQL的故事——MySQL架构与历史

MySQL架构与历史 文章目录 MySQL架构与历史一、MySQL逻辑架构二、并发控制三、事务四、多版本并发控制(MVCC) 一、MySQL逻辑架构 第一层&#xff1a;连接处理、授权认证、安全等等 第二层&#xff1a;查询解析、分析、优化、缓存以及所有的内置函数。包含跨存储引擎的功能&…

Matlab图像处理-

有些时候&#xff0c;直接利用图像的灰度直方图选择阈值不是非常直观&#xff0c;这时&#xff0c;可以利用图像三个通道的直方图来进行图像分割&#xff0c;操作步骤如上文所示&#xff0c;下图为原始图片。 下图为三通道直方图。 下图将三个通道的直方图会绘制到一个图表上&a…

【完整代码】2023数学建模国赛C题代码--蔬菜类商品的自动定价与补货决策

C 题 蔬菜类商品的自动定价与补货决策 在生鲜商超中&#xff0c;一般蔬菜类商品的保鲜期都比较短&#xff0c;且品相随销售时间的增加而变差&#xff0c; 大部分品种如当日未售出&#xff0c;隔日就无法再售。因此&#xff0c;商超通常会根据各商品的历史销售和需 求情况每天进…