Linux Shell 介绍及常用命令汇总

news2024/11/26 20:41:29

文章目录

  • Part.I shell 简介
    • Chap.I 概念汇编
    • Chap.II 命令概览
  • Part.II shell 常用命令大全
    • Chap.I 关于文件和目录
    • Chap.II 关于磁盘和内存
    • Chap.III 关于进程调度
  • Reference

Part.I shell 简介

在这里插入图片描述

Chap.I 概念汇编

下面是一些概念

  • shell 与 bash 的区别与联系:bash 是 borne again shell 的缩写,它是 shell 的一种,Linux 上默认采用的是 Bash。

  • Linux 终端也称为虚拟控制台。一台计算机的输入输出设备就是一个物理的控制台。

  • 如果在一台计算机上用软件的方法实现了多个互不干扰独立工作的控制台界面,就是实现了多个虚拟控制台。

  • Linux 终端的工作方式是字符命令行方式,用户通过键盘输入命令进行操作,可以通过Linux终端对系统进行控制。

  • Shell 是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解释器) 。它接收用户输入的命令并把它送入内核去执行。起着协调用户与系统的一致性和在用户与系统之间进行交互的作用。

  • Shell 在 Linux 系统上具有极其重要的地位

  • Shell 的重要功能:命令行解释、命令的多种执行顺序、通配符(wild-card characters)、命令补全、别名机制、命令历史、I/O重定向(Input/output redirection)、管道(pipes)、命令替换(~下面那个符号或者$())、shell编程语言(Shell Stript)

  • Shell的种类:Bash(Bourne Again Shell)、Ksh(Korn Shell)、tcsh(csh 的扩展)。Shell命令的基本格式:命令名 [选项] <参数1> <参数2> ......区分大小写、注意空格!!

  • 文件与文件类型:文件是Linux用来存储信息的基本结构,它是被命名的存储在某种介质上的一组信息的集合。
    Linux系统中有三种基本的文件类型。
    普通文件:又分为文本文件和二进制文件。
    目录文件:目录文件存储了一组相关文件的位置、大小等与文件有关的信息。
    设备文件: Linux系统把每一个I/O设备都看成一个文件,与普通文件一样处理,这样可以使文件与设备的操作尽可能统一 。

  • 目录:Linux系统以目录的方式来组织和管理系统中的所有文件。
    将所有文件的说明信息采用树型结构组织起来整个文件系统有一个“根”( root),然后在根上分“杈”( directory),任何一个分杈上都可以再分杈,杈上也可以长出“叶子”。 “根”和“杈”称为“目录”或“文件夹”。而“叶子”则是一个个的文件。
    Linux系统通过目录将系统中所有的文件分级、分层组织在一起,形成了Linux文件系统的树型层次结构。以根目录“ /”为起点,所有其他的目录都由根目录派生而来。
    特殊目录:“ .”代表该目录自己, “ ..”代表该目录的父目录,对于根目录,“ .”和“ ..”都代表其自己。

  • 工作目录: 用户登录到Linux系统后,每时每刻都处在某个目录之中,此目录被称为“工作目录” 或“当前目录”。

  • 用户主目录(Home Directory): 是系统管理员在增加用户时为该用户建立起来的目录,每个用户都有自己的主目录。 使用符号~表示。

  • 路径是指从树型目录结构中的某个目录到某个文件的一条道路。此路径的主要构成是目录名称,中间用“ /”分开。
    – 绝对路径是指从“根”开始的路径,也称为完全路径;
    – 相对路径是指从用户工作目录开始的路径。

Chap.II 命令概览

命令解释过程

在这里插入图片描述


Linux 的元字符:在 Shell 中有一些具有特殊的意义字符,称为 Shell 元字符( shell metacharacters)。若不以特殊方式(使用转义字符)指明, Shell并不会把它们当做普通文字符使用。

字符含义字符含义
'强引用*、?、!通配符
"弱引用<、 >、 >>重定向
\转义字符选项标志
$变量引用注释符
;命令分离符空格、换行符命令分隔符

通配符
– 通配符: *
– 通配符:?
– 字符组模式:通配符“ [”、“ ]”、“ ‐”用于构成
字符组模式
– 转义字符: \


Linux 常用命令一览

clear which whereis file
whatis pwd echo
cd ls cat more less mkdir rmdir
touch rm cp mv find ln head tail sort

下面是它们的大致功能

clear   	#清除屏幕终端
which xx  	#用来查找xx命令在哪里
whereis xx  #用来查找某个命令的位置,类似于上面
file    	#用来查看文件类型
whatis  	#输出作为参数的命令的简单信息
pwd     	#打印当前路径
man pwd 	#查看pwd帮助手册,按q退
echo    	#用于显示文本的每一行
cd      	#切换目录

Part.II shell 常用命令大全

这部分暂时记录的可能不够详细,会随着笔者不断的积累而更新!下面是之前总结的笔记

  • Linux 中 awk 与 sed 操作
  • Linux grep之正则表达式
  • Linux 进程调度

Chap.I 关于文件和目录

cp 命令 用于将源文件复制至目标文件,或将多个源文件复制至目标目录。

注意:命令行复制,如果目标文件已经存在会提示是否覆盖,而在 shell 脚本中,如果不加 -i 参数,则不会提示,而是直接覆盖!

  • -i 提示
  • -r 复制目录及目录内所有项目
  • -a 复制的文件与原文件时间一样

实例:

(1)复制 a.txt 到 test 目录下,保持原文件时间,如果原文件存在提示是否覆盖。

cp -ai a.txt test

(2)为 a.txt 建议一个链接(快捷方式)

cp -s a.txt link_a.txt

scp 命令 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。其语法结构为:

scp [options] file_source file_target 
#example
scp usr1@IP1:dir/a.sh ./   #file
scp ./a.sh usr1@IP1:dir/   #file
scp -r usr1@IP1:dir/ ./    #dir

关于file_source

[[user@]host1:]file1

关于file_target

[[user@]host2:]file2

关于file_sourcefile_target间的空格:可加...,也可不加

关于options

[-1246BCpqrv] 
[-c cipher] 
[-F ssh_config] 
[-i identity_file]
[-l limit] 
[-o ssh_option] 
[-P port] 
[-S program]

参数说明:

  • -1: 强制scp命令使用协议ssh1
  • -2: 强制scp命令使用协议ssh2
  • -4: 强制scp命令只使用IPv4寻址
  • -6: 强制scp命令只使用IPv6寻址
  • -B: 使用批处理模式(传输过程中不询问传输口令或短语)
  • -C: 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
  • -p:保留原文件的修改时间,访问时间和访问权限。
  • -q: 不显示传输进度条。
  • -r: 递归复制整个目录。
  • -v:详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
  • -c cipher: 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
  • -F ssh_config: 指定一个替代的ssh配置文件,此参数直接传递给ssh。
  • -i identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
  • -l limit: 限定用户所能使用的带宽,以Kbit/s为单位。
  • -o ssh_option: 如果习惯于使用ssh_config(5)中的参数传递方式,
  • -P port:注意是大写的P, port是指定数据传输用到的端口号
  • -S program: 指定加密传输时所使用的程序。此程序必须能够理解 ssh(1) 的选项。

mkdir 命令 用于创建文件夹。

可用选项:

  • -m: 对新建目录设置存取权限,也可以用 chmod 命令设置;
  • -p: 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不在的目录,即一次可以建立多个目录。

实例:
(1)当前工作目录下创建名为 t的文件夹

mkdir t

(2)在 tmp 目录下创建路径为 test/t1/t 的目录,若不存在,则创建:

mkdir -p /tmp/test/t1/t

Chap.II 关于磁盘和内存

df 命令:显示磁盘空间使用情况。获取硬盘被占用了多少空间,目前还剩下多少空间等信息,如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。默认情况下,磁盘空间将以 1KB 为单位进行显示,除非环境变量 POSIXLY_CORRECT 被指定,那样将以 512 字节为单位进行显示:

  • -a 全部文件系统列表
  • -h 以方便阅读的方式显示信息
  • -i 显示inode信息
  • -k 区块为1024字节
  • -l 只显示本地磁盘
  • -T 列出文件系统类型

实例:
(1)显示磁盘使用情况

df -l

(2)以易读方式列出所有文件系统及其类型

df -haT

du 命令 也是查看使用空间的,但是与 df 命令不同的是 Linux du 命令是对文件和目录磁盘使用的空间的查看:

命令格式:du [选项] [文件]
常用参数:

  • -a 显示目录中所有文件大小
  • -k 以 KB 为单位显示文件大小
  • -m 以 MB 为单位显示文件大小
  • -g 以 GB 为单位显示文件大小
  • -h 以易读方式显示文件大小
  • -s 仅显示总计
  • -c 或 --total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和

实例:
(1)以易读方式显示文件夹内及子文件夹大小

du -h scf/

(2)以易读方式显示文件夹内所有文件大小

du -ah scf/

(3)显示几个文件或目录各自占用磁盘空间的大小,还统计它们的总和

du -hc test/ scf/

(4)输出当前目录下各个子目录所使用的空间

du -hc --max-depth=1 scf/

Chap.III 关于进程调度

可看上面的链接

Reference

  1. www.runoob.com
  2. Linux常用命令大全

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

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

相关文章

2023五一杯B题:快递需求分析问题

题目 网络购物作为一种重要的消费方式&#xff0c;带动着快递服务需求飞速增长&#xff0c;为我国经济发展做出了重要贡献。准确地预测快递运输需求数量对于快递公司布局仓库站点、节约存储成本、规划运输线路等具有重要的意义。附件1、附件2、附件3为国内某快递公司记录的部分…

从力的角度再次比较9-2分布和8-3分布

( A, B )---1*30*2---( 1, 0 )( 0, 1 ) 让网络的输入只有1个节点&#xff0c;AB各由11张二值化的图片组成&#xff0c;让A中有3个0&#xff0c;8个1.B中全是0&#xff0c;排列组合A的所有可能&#xff0c;统计迭代次数的顺序。在前面实验中得到了8-3分布的数据 A-B 迭代次数 …

孔乙己文学,满街长衫,为谁而穿?解构孔乙己文学

鲁迅先生创作《孔乙己》的背景是20世纪初期的中国社会。那时&#xff0c;中国正处于民国的初期&#xff0c;社会动荡不安&#xff0c;人民生活贫困。在这个背景下&#xff0c;鲁迅开始写作并发表了一系列揭露社会黑暗面的作品。《孔乙己》是其中之一&#xff0c;它讲述了一个被…

利用snpEff对基因型VCF文件进行变异注释的详细方法

利用snpEff对VCF文件进行变异注释 群体遗传研究中&#xff0c;在获得SNP位点后,我们需要对SNP位点进行注释&#xff0c;对这些SNP位点进行更深的了解。 snpEff是一个用于对基因组单核苷酸多态性(SNP)进行注释的软件&#xff0c;snpEff软件可以用于对VCF文件进行变异注释&#x…

VC++ | VS2017编译报错-20230428

VC | VS2017编译报错-20230428 文章目录 VC | VS2017编译报错-202304281.报错1-1.解决办法 2.报错2-1.解决办法2-1-1.做如下设置2-1-2.代码调整 1.报错 1>------ 已启动生成: 项目: NvtUSBTool, 配置: Debug Win32 ------ 1>NvtUSBTool.cpp 1>$(PRJ_ROOT_DIR)nvtusbt…

Linux文件系统权限

目录标题 文件权限文件和目录的一般权限文件的权限针对三类对象进行定义文件和目录中&#xff0c;r、w、x的作用 设置文件和目录的一般权限修改文件或目录的权限—chmod(change mode)命令权限值的表示方法—使用3位八进制数表示权限值的表示方法—使用字符串表示修改文件或目录…

视频转gif如何做?三步教你视频转gif制作

如何将视频做成gif表情包呢&#xff1f;想要把视频中的精彩画面截取出来做成gif动画表情&#xff0c;却又不想下载软件的时候&#xff0c;该怎么办呢&#xff1f;有没有简单实用的工具呢&#xff1f; 一、什么工具能够截取视频做gif呢&#xff1f; GIF中文网作为一款专业的在…

react之按钮鉴权

使用HOC来完成 HOC&#xff1a;高阶组件&#xff0c;是React中复用组件逻辑的一种高级技巧。HOC自身不是React API的一部分&#xff0c;他是一种基于React的组合特性而形成的设计模式。 作用&#xff1a;用于复用组件的业务逻辑 VUE mixinReact Hoc 用户数据渲染带操作按钮渲…

C#手术麻醉临床信息系统源码,实现体征数据自动采集绘制

手麻系统源码&#xff0c;自动生成电子单据 基于C# 前端框架&#xff1a;Winform后端框架&#xff1a;WCF 数据库&#xff1a;sqlserver 开发的手术麻醉临床信息系统源码&#xff0c;应用于医院手术室、麻醉科室的计算机软件系统。该系统针对整个围术期&#xff0c;对病人进…

本地安装kibana kibana设置中文汉化

一、Kibana简介 Kibana是一个开源的基于浏览器的分析和可视化平台&#xff0c;可以用于搜索&#xff0c;查看&#xff0c;删除Elasticsearch索引并与存储在Elasticsearch索引中的数据进行交互。可以执行高级数据分析&#xff0c;并且以各种图标、表格和地图的形式可视化数据。…

【hello Linux】进程信号

目录 1. 进程信号的引出及整体概况 2. 信号的产生 1. 键盘产生 2. 进程异常 3. 系统调用 4. 软件条件 3. 信号的保存 1. 信号相关的常见概念 2. sigset_t 3. 信号集操作函数 4. sigprocmask&#xff1a;对block位图的操作 5. sigpending&#xff1a;对pending位图的操作 6. 捕捉…

三分钟看懂Python分支循环规范:if elif for while

人生苦短&#xff0c;我用python 分支与循环 条件是分支与循环中最为核心的点&#xff0c; 解决的问题场景是不同的问题有不同的处理逻辑。 当满足单个或者多个条件或者不满足条件进入分支和循环&#xff0c; 这里也就说明这个对相同问题处理执行逻辑依据具体参数动态变化&…

智慧医疗服务平台有哪些优势?

对于引用了智慧医疗服务平台的机构来说&#xff0c;其优势体现在哪些方面呢&#xff1f; 一、提高医疗资源利用效率。 在传统的医疗模式中&#xff0c;医生需要耗费大量的时间和精力去处理病人的病历、诊断、治疗等问题。而在智慧医疗服务平台的支持下&#xff0…

稳定排序和不稳定排序

稳定排序和不稳定排序 稳定排序 插入排序、冒泡排序、归并排序、基数排序 其时间复杂度 直接插入排序 最好情况:初始有序,为O(n); 最坏情况:初始逆序,为O(n) 平均时间复杂度T(n) O(n) 折半插入排序 时间复杂度为O(n) 冒泡排序 最好时&#xff0c;基本有序&#xff0c;…

Python 科研绘图可视化(后处理)Matplotlib - 2D彩图

Introduction 科研可视化是将数据和信息转化为可视化形式的过程&#xff0c;旨在通过图形化展示数据和信息&#xff0c;使得科研工作者能够更好地理解和分析数据&#xff0c;并从中发现新的知识和洞见。科研可视化可以应用于各种领域&#xff0c;如生物学、物理学、计算机科学…

制造策略 ETO、MTO、ATO、MTS

ETO 按交货周期跨度从长到短来讲&#xff0c;首先就是 ETO&#xff0c;Engineer To Order – 面向订单设计、定制生产或特殊生产。 就是客户给的订单&#xff0c;你要生产的话&#xff0c;你之前的原产品改动很大&#xff0c;或者基本上用不上&#xff0c;要完全按照客户的要求…

虚机制

一、虚机制的引入 利用动态编联实现——虚函数来解决上述问题 二、虚函数 必须是实例方法&#xff0c;不能是类方法。 若基类中析构函数为虚函数&#xff0c;则派生类中的析构函数不论写不写virtual关键字都是虚函数。派生类中新的虚函数应尽量避免与基类中的虚函数重名。 三、…

java基础知识——24.泛型

这篇文章我们来讲一下java的泛型 目录 1.什么是泛型 1.1 泛型的概念 1.2 泛型的好处 1.3 粗看泛型集合的源码 2.泛型类 2.1 泛型类的定义 2.2 从泛型类派生子类 3.泛型接口 4.泛型方法 5.类型通配符 5.1类型通配符上限 5.2 类型通配符的下限 6.类型擦除 6.1无限…

HTML(三) -- 表单设计

目录 1. 基本语法 2. 表单控件 2.1 input控件 input 常用属性&#xff1a; input type的表单项&#xff1a; 2.2 select 控件 2.3 textarea控件 2.4 label 控件 为什么需要表单&#xff1f; 在我们网页中&#xff0c; 无论是提交搜索的信息&#xff0c;还是网上注…

线程池核心线程是如何保持住的?

概述 本文尝试回答以下几个问题&#xff1a; 1、核心线程池是如何保持住的&#xff1f; 2、当没有任务时&#xff0c;超过核心线程数的线程是如何回收的&#xff1f; 3、线程队列为什么必须是BlockingQueue&#xff0c;普通队列行不行&#xff1f; 背景知识 以下是一些背景知…