Linux与shell命令行学习

news2024/9/22 8:27:02

文章目录

  • 走进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.coloradmin.cn/o/986971.html

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

相关文章

flume1.11.0安装部署

1、准备安装包apache-flume-1.11.0-bin.tar.gz; 上传; 2、安装flume-1.11.0; 解压; tar -zxvf apache-flume-1.11.0-bin.tar.gz -C /opt/server 进入conf目录,修改flume-env.sh,配置JAVA_HOME&#xff1b…

docker 生成镜像的几个问题

docker 生成镜像的几个问题 根据jdk8.tar.gz 打包Jdk8 镜像失败运行镜像报错差不多是网络ip错误,在网上说重启docker即可解决运行mysql5.7.25 镜像失败向daemon.json文件添加内容导致docker重启失败docker run 命令常用参数根据jdk8.tar.gz 打包Jdk8 镜像失败 首选做准备工作…

有向图和无向图的表示方式(邻接矩阵,邻接表)

目录 一.邻接矩阵 1.无向图​编辑 2.有向图 补充:网(有权图)的邻接矩阵表示法 二.邻接表 1.无向图 2.有向图 三.邻接矩阵与邻接表的关系 一.邻接矩阵 1.无向图 (1)对角线上是每一个顶点与自身之间的关系&…

智慧能源方案:TSINGSEE青犀AI算法中台在能源行业的应用

一、方案背景 互联网、物联网、人工智能等新一代信息技术引领新一轮产业革命,加快能源革命步伐。尤其是随着人工智能技术的不断发展,AI智能检测与识别技术在能源行业的应用也越来越广泛。与此同时,国家出台多项政策,将智慧能源纳…

【HTML5高级第三篇】drag拖拽、音频视频、defer/async属性、dialog应用

文章目录 一、拖拽事件1.1 拖拽事件1.2 案例:拖拽丢弃图片 二、音频和视频三、defer 与 async 属性3.1 概述3.2 示例一:3.3 示例二: 四、dialog 元素 一、拖拽事件 原生JavaScipt案例合集 JavaScript DOM基础 JavaScript 基础到高级 Canvas…

LabVIEW利用局部放电分析高压电气设备状态诊断

LabVIEW利用局部放电分析高压电气设备状态诊断 目前,高压电气设备状态的监控系统解决了早期故障检测的问题。局部放电起源于电力电气装置的绝缘。局部放电会导致绝缘层逐渐磨损和加速老化,因此可能导致绝缘完全击穿。因此,局部放电检测及其特…

gitLab(git)误提交命令

1.先使用下面命令查看一下分支上已提交的信息 git log 2.回退到之前的版本 git reset —hard 你要删除的提交哈希码(一般是离这个命令最近的一串数字) 3.覆盖掉远端的版本信息,使远端的仓库也回退到相应的版本 注意:切换到你提…

安装K8s基础环境软件(二)

所有节点执行 1、安装docker sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.reposudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin systemctl…

解决报错之org.aspectj.lang不存在

一、IDEA在使用时,可能会遇到maven依赖包明明存在,但是build或者启动时,报找不存在。 解决办法:第一时间检查Setting->Maven-Runner红圈中的√有没有选上。 二、有时候,明明依赖包存在,但是Maven页签中…

SI3262 低功耗 SOC +13.56mhz刷卡+触摸三合一芯片,适用于智能锁方案

Si3262 是一款高度集成的低功耗 SOC 芯片,其集成了基于 RISC-V 核的低功耗MCU 和工作在 13.56MHz 的非接触式读写器模块。 MCU 模块具有低功耗、Low Pin Count、宽电压工作范围,集成了13/14/15/16 位精度的 ADC、LVD、UART、SPI、I2C、TIMER、WUP、IWDG、…

【FAQ】安防视频监控/视频汇聚平台EasyCVR服务重启,海康SDK设备无法上线的原因排查

TSINGSEE青犀视频监控汇聚平台EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。旭帆科技平台既具备传统安防视频监控…

将目标检测项目移植到linux上出现OSERROR

在windows上运行项目正常,但是在centos9上运行出现找到资源,第一次遇到这个问题,通过代码回找,一步一步发现,读取数据没问题,但是在预测的时候无法读取,查到的资料 说明显示字体问题&#xff0c…

Maven中导入jQuery,前端页面中引用jQuery

第一步pom文件中,配置maven坐标。 第二步,在前端页面中引用jQuery 注:该前端页面需要在web根目录即webapp目录下。可认为在maven中导入jQuery后,jquery.min.js文件放在目录webapp/webjars/jquery/3.3.1下。

大模型扫盲之小白入门手记

本篇内容来自小米集团数据科学部负责人刘汉武老师的数据特训营笔记。不涉及深入的知识,仅在扫盲。 首先一个问题:大模型和大语言模型的区别是什么? 有人说大模型像是连接数据的星辰,能给我们提供前所未有的见解和洞察。现有的大模…

【精读Uboot】its文件语法

前面我们分析了SPL汇编的执行过程,在SPL之后就要进入另一个loader加载镜像了。在正式分析跳转流程之前,我们需要搞清楚在我们平时下载的imx-boot-xxx这个镜像是如何组成的。 在编译完Uboot、optee和ATF之后,会产生u-boot-spl.bin&#xff0c…

element-plus 踩的坑

原来node版本是16.17.0,装element-plus死活装不上,结果要把node版本升级到18以上,真坑呀,也没人告诉我要这么干

如何调用Zabbix API获取主机信息

自Zabbix 1.8版本被引进以后,Zabbix API开始扮演着越来越重要的角色,它可以为批量操作、第三方软件集成以及其他应用提供可编程接口。 在运维实践中,Zabbix API还有更多巧妙的应用。 面对规模庞大的监控设备,可能会出现某台机器发…

Python接口自动化测试 —— logging日志

logging模块的日志级别:日志级别一共有5个从低到高如下, 作用是在当你给python函数赋予日志器时, 需要自己标记日志级别(后面会用到) debug(调试级别):严重程度最低级别&#xff0c…

2.6 PE结构:导出表详细解析

导出表(Export Table)是Windows可执行文件中的一个结构,记录了可执行文件中某些函数或变量的名称和地址,这些名称和地址可以供其他程序调用或使用。当PE文件执行时Windows装载器将文件装入内存并将导入表中登记的DLL文件一并装入&…

三显智能氮气柜温度、湿度和氧含量控制介绍

三显智能氮气柜是用来存放易氧化物料,利用氮气达到防潮防氧化目的的柜体,通过多种技术实现温度、湿度和氧含量的显示和控制。 一、温度控制:智能氮气柜一般配备温度传感器和恒温控制装置。温度传感器会实时监测柜内温度,并将数据反…