linux指令笔记

 bash命令行讲解

lyt :是用户名

@iZbp1i65rwtrfbmjetete2b2Z :这个是主机名

~ :这个是当前目录

$ :这个是命令行提示符

每个指令都有不同的功能,大部分指令都可以带上选项来实现不同的效果。

一般指令和选项的格式:

指令 选项 

需要注意的是,指令和选项当中一定要有空格。

指令的本质就是可执行程序,指令存储在/usr/bin目录中。

热键

tab

功能:连续摁两下tab可以将未输入完的指令补全,不过以已经输入的字符串开头的指令不止一个,则会将这些满足条件的指令全部打印出来。

ctrl c

可以中止一个进程 

ctrl r

这是一个可以搜索你用过的历史命令的热键,使用后在命令行输入字符串,会自动帮你寻找曾经使用过的符合已经输入的字符串的那些历史命令。找不到或者不想找直接ctrl c退出就行。 

ctrl d

可以进行回退,详情上网搜。 

指令

ls

ls可以查看当前目录下的文件属性

 

 这是ls不附带任何选项的功能,文件名也是文件属性的一部分,所以单独的ls的功能很显而易见,就是显示文件属性当中的文件名。

-l

用了 -l 选项后可以看出,显示的文件属性除了文件名还显示了其他属性。

-a

指令的选项是可以连起来用的,可以 ls -a -l 这样分开来 也可以 ls -al 这样两个选项连起来

加了-a选项后,可以发现多了连个文件  . 和 .. 这两个文件分别指代当前目录和上级目录,前缀是 . 开头的文件是隐藏文件,而选项 -a 的效果就是将隐藏的文件也显示出来。

 -d

这两个文件中next是目录文件,one是普通文件。

可以看到,在ls指令后面加上文件,如果是普通文件那就是单独显示该普通文件的文件属性,如果是目录文件的话,显示的是该目录里面的文件的属性。

如果想要单独显示该目录的文件属性的话,需要在选项里再加上 -d 。

可以看到现在显示的就是这个目录自己的属性了。

pwd

pwd的功能非常简单,没有别的选项,直接打在命令行上,使用就可以,它的功能是显示,当前目录的绝对路径。

绝对路径就是从根目录为起点,到当前目录的路径。

而相对路径就是以当前目录为起点。

根目录就是最左边的 / ,其他的 / 是文件分隔符。

whoami

这个指令的应用也非常简单,直接输入命令行使用就可以,不带其他的,效果是告诉你当前使用的用户是哪一个。 

这个cky就是我创建的普通用户。 

cd 

cd命令是改变当前所处的目录,也就是想从一个目录到另外一个目录去就是靠的cd命令。

可以看到,原本我们所在的目录为test,绝对路径是/home/cky/test

使用了cd命令后,目录变成了next,绝对路径变成了/home/cky/test/next。

cd命令可以用相对路径和绝对路径两个方法进行改变当前目录,相对路径就是以当前目录为起点,绝对路径就是以根目录 / 为起点,每个文件之前需要有路径分隔符

cd命令还有一些特殊的用法

cd -

 cd -效果是跳转到之前所在的目录当中去。

第一次使用cd -是跳转到test目录中,而再用一次就回到了next目录。 

cd ~

cd ~是直接跳转到家目录当中去,每一个用户都有不同的家目录。 

我现在使用的是普通用户,普通用户的家目录在/home/该用户的用户名 

改成root账号试一下,root账号的家目录的位置和普通用户是不一样的。

可以看出来root账号的家目录是直接放在根目录当中的。 

touch

touch是创建普通文件的指令。 

格式

touch 文件名

touch new之后就多了一个文件 new

mkdir

mkdir是用来创建目录文件的,使用方法和touch一样

mkdir temp 后多了一个目录文件temp

要想分辨目录文件和普通文件可以看文件的属性。

ls -l可以显示文件的大部分属性,从左边开始最开头的字符就表示这这个文件的类型,现在只知道两种类型,目录文件和普通文件

-  就是普通文件。

d 就是目录文件。

mkdir也可以一次性创建多层目录结构 

-p

可以看到mkdir -p直接创建了一串目录,每个目录中间需要有文件分隔符。

tree

tree命令安装:

yum install  -y tree 

格式 tree 目录文件名

可以让该目录下的文件以树状图形式显示出来 

rm

格式:

rm 文件名

 rm可以用来删除文件,普通文件和目录文件都可以

 -r

要删除的目录当中有文件的情况下,删除时不被允许的,这时候就需要用到这个选项,rm -r删除目录文件的时候,会连带这个目录当中的所有文件一起被删除。

-f 

在一些情况下删除文件,会跳出来一个问题,询问你是否删除该文件,是在命令行输入 y,否在命令行输入 n

加上这个选项就可以避免每删除一个文件就要问一遍的情况。 

-i

加入这个选项可以让系统在你删除文件时询问你是否删除 

 *

* 这个符号是一个通配符,可以和许多指令配合使用,用rm在作例子

rm -rf  *.c  表示的是最后是以.c为结尾的文件都删掉,不关心你前面的

rm -rf test* 表示的是开头以test开始的文件都删掉,不关心后面的。

 man

man 是用来查询指令和系统调用,c语言函数等使用方法的命令

man 查找的手册分为好几部分,但是常用的只有 1,2,3这三个手册 

 man的使用方法:

man 几号手册 指令/函数/系统调用接口。(几号手册可加可不加,加了就是指定在这个手册查找,因为不同的手册可能会有同名的指令/函数/系统调用,不带几号手册,就按顺序来,从一号依次递增)。查好之后直接点击 q 就退出来了

 echo

echo 字符串 >/>>(重定向标识符) 文件名

echo指令可以把后面跟着的字符串原封不动的打印到显示器上。

同时如果加了重定向标识符和文件名则不会再打印到显示器上,而是打印到指定的文件里面,当该文件不存在时,则会创建该文件。

>一个符号代表覆盖重定向,会将该文件里原本有的内容给覆盖掉,再打印这个字符串。

>>两个符号是追加重定向,直接打印在该文件内容的后面

echo会在输出字符串后面自动换行

 cat

格式:

cat 文件名 

cat 可以显示文件的内容,里面写了什么

-n

可以对内容进行编号 

cp

格式:

cp 被拷贝的文件名 拷贝到的文件名

cp指令可以将一个文件完整的拷贝一份出来,不过需要注意的是,拷贝到的文件入果不存在,会新建一个文件,如果存在,则会被覆盖。 

如果不想拷贝到当前目录下,而是其他路径下,可以将拷贝到的文件名改成相对路径或者绝对路径。 

 -r

拷贝普通文件不需要用到这个选项,-r代表的是递归的意思,在拷贝目录文件的必须用上这个选项,不管目录里面是否有文件。

-f

这个选项可以让拷贝文件时不询问是否拷贝或者覆盖 

-i

这个文件可以让拷贝文件时询问是否拷贝或者覆盖 

需要注意的是 当 -i 和 -f 同时使用的时候,-i的优先级比较高。

 如果是root账号建立的文件,可能不会按照选项来执行,因为root建立的文件有一定的特殊性。

mv

mv指令有着重命名和剪切两个功能

使用格式:

mv 原文件/原文件名 目标文件/新文件名

mv指令如果只是在当前目录下使用,那就是只有重命名的功能

实际上原文件和目标文件这两个文件都是可以用绝对路径或者相对路径来表示的,可以将一个路径的文件放到另外一个路径下,如果在目标文件还写了文件名就成了既剪切又重命名的功能,没有文件名就是单纯的从一个路径剪切到另一个路径,文件名不变。

如果目标文件已经存在的普通文件话,那么就会覆盖该文件

如果目标文件是一个已经存在的目录,那么不会将原文件覆盖,而是会将该文件放到该目录下面。

alias

alias可以取别名

例子

alias tmp =‘ls -a -l’

这样tmp就等同于 ls -a -l 了

ll 就是取别名来的。 

 more

more适用于大文本,查看文件时,默认最多打印一屏幕的内容,摁回车键可以往下继续翻。

less

less可以说是more的上级,拥有less所有的功能,并且可以进行上翻和查找

格式:

less 目标文件 

使用方法:

?数字 是往上查找

/  数字 是往下查找

上翻和下翻分别上朝上的箭头和朝下的箭头

q 直接退出  

 head

head可以查找一个文件前n行的内容:

格式:

head -n 目标文件

n也可以不输入,默认显示前n行的内容。

 tail

tail可以查找一个文件倒数前n行的内容:

格式

tail -n 目标文件

n也可以不输入,默认显示倒数前n行的内容。

data

data是一个用来查看时间的指令

使用方法

data +%s 查看时间戳 

data -d@时间戳 查看这个时间戳对应的日期

时间戳是 一个单项递增的时间,从1970年一月一日开始计数,各个地区由于时差的原因会有些许差别。

find

find -name可以用来在目录下查找指定文件。

格式:

find 目录文件 -name 需要查找的目标文件

find查找也可以用通配符 * 来查找以某些字符开头或结尾的文件。

同时,find命令也会受权限的约束,只有在自己的家目录下才能不受约束的查找,或者用root账号。如果用普通用户去查找其他用户的家目录就会出现 permisssion denied。

之后可以通过修改权限的方式来取得查找的权限。

whitch

格式:

whitch 指令

whitch可以查找指令的路径

 grep

grep是一个行文本过滤,用来过滤文件的内容

效果:

可以指定一个文件搜索一个字符串,只要文件里面的行包含这个字符串,就把那些行打印在屏幕上

格式:

grep 【选项】字符串 目标文件

目标文件可以有多个,当有多个目标文件的时候,输出时还会把文件名一起打印出来

grep也可以和管道一起用,用了管道就不再需要目标文件了。 

 -v

这个选项可以将grep原本的功能反过来,也就是打印那些不包含这个字符串的行。

-n 

这个选项可以在输出到屏幕上的时候同时打印行号

-i

这个选项让那个字符可以忽略大小写

-R

使得目标文件可以是目录,查找该目录里面的所有文件 

 zip/unzip

zip是压缩文件的指令,unzip是解压缩文件的指令

格式:

zip 压缩后的文件名.zip 目标文件

如果不加选项的话,zip默认只压缩目标一个文件,如果目标文件是目录且目录里面有文件,就会遗漏下里面的文件

zip -r 压缩后的文件名.zip 目标文件

带上这个选项后就可以压缩目录里的文件里

unzip 压缩文件

不加任何选项的话默认解压缩到当前文件。

unzip 压缩文件 -d 路径

这样就可以解压缩到指定路径了。

 zip/unzip的安装方法

yum install -y zip unzip

tar

tar的用法太多,就只举例三个

tar czf 压缩后的文件名.tgz 目标文件  可以压缩文件

tar fzf  压缩文件   可以预览压缩包里的文件

tar xzf 压缩文件  -C 指定路径 可以解压缩文件到指定路径,不带C和路径默认解压缩到当前路径

选项的缩写都有各自的含义

c 建立一个压缩文件的参数指令(creat的意思)

x 解开一个压缩文件的参数指令

t 查看压缩文件里的文件

z 具有gzip的属性,用gzip来压缩

f  给压缩文件命名,这个参数一定要加在最后面,直接接压缩文件名。

bc

直接输入这个指令就可以打开linux自带的计算器

使用quit退出

也可以重定向数字字符串到管道,再交给bc

例:

echo : ”1+2+3“ | bc

会直接将运算结果打印在屏幕上。

uname

uname可以获取电脑和操作系统的相关信息,详情往上查就行

 history

记录最近使用的1000条命令

chmod

文件的修改需要用到一个指令chmod 

格式 chomd 修改权限 目标文件

chmod修该权限有两种方法

例1:

chmod u+rwx,g+rwx,o+rwx 目标文件

chmod a+rwx 目标文件

u表示拥有者的权限,g表示所属组的权限,o表示其他人的权限。

+ 表示加上权限

- 表示减去权限

a 是all 一次性修改拥有者,所属组和其他人的权限。

例2:

chmod 777 目标文件

这三个数是八进制数

第一个数代表着拥有者的权限

第二个数代表着所属组的权限

第三个数代表着其他人的权限

将一个7的八进制数分解为二进制:

111

可以看到是三个二进制,刚好可以对应三个权限。第一个二进制是读权限,第二个二进制是写权限,第三个二进制数是执行权限,1表示的就是拥有对应的权限,也就是说,拥有者和所属组以及其他人的权限也可以这样对应,所有就可以用三个八进制数来控制对应的权限。

 

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

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

相关文章

ClickHouse 3节点集群安装

ClickHouse 简介 ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。 官方网站:https://clickhouse.com/ 项目地址:https://github.com/ClickHouse/ClickHouse 横向扩展集群介绍 此示例架构旨在提供可扩展性。它包括三个节点&#xff…

【undefined reference to xxx】zookeeper库编译和安装 / sylar项目ubuntu20系统编译

最近学习sylar项目,编译项目时遇到链接库不匹配的问题,记录下自己解决问题过程,虽然过程很艰难,但还是解决了,以下内容供大家参考! undefined reference to 问题分析 项目编译报错 /usr/bin/ld: ../lib/lib…

【密码学】全同态加密张量运算库解读 —— TenSEAL

项目地址:https://github.com/OpenMined/TenSEAL 论文地址:https://arxiv.org/pdf/2104.03152v2 TenSEAL 是一个在微软 SEAL 基础上构建的用于对张量进行同态加密操作的开源Python库,用于在保持数据加密的状态下进行机器学习和数据分析。 Ten…

聊一聊 C#中有趣的 SourceGenerator生成器

一:背景 1. 讲故事 前些天在看 AOT的时候关注了下 源生成器,挺有意思的一个东西,今天写一篇文章简单的分享下。 二:源生成器探究之旅 1. 源生成器是什么 简单来说,源生成器是Roslyn编译器给程序员开的一道口子&#xf…

单体架构VS微服务架构

单体架构:一个包含有所有功能的应用程序 优点:架构简单、开发部署简单缺点:复杂性高、业务功能多、部署慢、扩展差、技术升级困难 如上示意图,应用前端页面,后台所有模块功能都放在一个应用程序中,并部署在…

Safari 中 filter: blur() 高斯模糊引发的性能问题及解决方案

目录 引言问题背景:filter: blur() 引发的问题产生问题的原因分析解决方案:开启硬件加速实际应用示例性能优化建议常见的调试工具与分析方法 引言 在前端开发中,CSS滤镜(如filter: blur())的广泛使用为页面带来了各种…

使用上下文管理器和 `yield` 实现基于 Redis 的任务锁定机制

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storm…

预训练 BERT 使用 Hugging Face 和 PyTorch 在 AMD GPU 上

Pre-training BERT using Hugging Face & PyTorch on an AMD GPU — ROCm Blogs 2024年1月26日,作者:Vara Lakshmi Bayanagari. 这篇博客解释了如何从头开始使用 Hugging Face 库和 PyTorch 后端在 AMD GPU 上为英文语料(WikiText-103-raw-v1)预训练…

Qgis 开发初级 《ToolBox》

Qgis 有个ToolBox 的,在Processing->ToolBox 菜单里面,界面如下。 理论上Qgis这里面的工具都是可以用脚本或者C 代码调用的。界面以Vector overlay 为例子简单介绍下使用方式。Vector overlay 的意思是矢量叠置分析,和arcgis软件类似的。点…

[大模型学习推理]资料

https://juejin.cn/post/7353963878541361192 lancedb是个不错的数据库,有很多学习资料 https://github.com/lancedb/vectordb-recipes/tree/main/tutorials/Multi-Head-RAG-from-Scratch 博主讲了很多讲解,可以参考 https://juejin.cn/post/7362789…

JMeter详细介绍和相关概念

JMeter是一款开源的、强大的、用于进行性能测试和功能测试的Java应用程序。 本篇承接上一篇 JMeter快速入门示例 , 对该篇中出现的相关概念进行详细介绍。 JMeter测试计划 测试计划名称和注释:整个测试脚本保存的名称,以及对该测试计划的注…

【原创】统信UOS如何安装最新版Node.js(20.x)

注意直接使用sudo apt install nodejs命令安装十有八九会预装10.x的老旧版本Node.js,如果已经安装的建议删除后安装如下方法重装。 在统信UOS系统中更新Node.js可以通过以下步骤进行: 1. 卸载当前版本的Node.js 首先,如果系统中已经安装了N…

4.1.2 网页设计技术

文章目录 1. 万维网(WWW)的诞生2. 移动互联网的崛起3. 网页三剑客:HTML、CSS和JavaScriptHTML:网页的骨架CSS:网页的外衣JavaScript:网页的活力 4. 前端框架的演变基于CSS的框架基于JavaScript的框架基于MV…

【Django】继承框架中用户模型基类AbstractUser扩展系统用户表字段

Django项目新建好app之后,通常情况下需要首要考虑的就是可以认为最重要的用户表,即users对应的model,它对于系统来说可以说是最基础的依赖。 实际上,我们在初始进行migration的时候已经同步生成了相应的user表,如下&am…

spygalss cdc 检测的bug(二)

当allow_qualifier_merge设置为strict的时候,sg是要检查门的极性的。 如果qualifier和src经过与门汇聚,在同另一个src1信号或门汇聚,sg是报unsync的。 假设当qualifier为0时,0&&src||src1src1,src1无法被gat…

xss-labs靶场第十七关测试报告

目录 一、测试环境 1、系统环境 2、使用工具/软件 二、测试目的 三、操作过程 1、注入点寻找 2、使用hackbar进行payload测试 3、绕过结果 四、源代码分析 五、结论 一、测试环境 1、系统环境 渗透机:本机(127.0.0.1) 靶 机:本机(127.0.0.…

Jenkins发布vue项目,版本不一致导致build错误

问题一 yarn.lock文件的存在导致在自动化的时候,频频失败问题二 仓库下载的资源与项目资源版本不一致 本地跑好久的一个项目,现在需要部署在Jenkins上面进行自动化打包部署;想着部署后今后可以省下好多时间,遂兴高采烈地去部署&am…

提升数据处理效率:TDengine S3 的最佳实践与应用

在当今数据驱动的时代,如何高效地存储与处理海量数据成为了企业面临的一大挑战。为了解决这一问题,我们在 TDengine 3.2.2.0 首次发布了企业级功能 S3 存储。这一功能经历多个版本的迭代与完善后,逐渐发展成为一个全面和高效的解决方案。 S3…

python 实现一个简单的浏览器引擎

1. 浏览器引擎工作原理 浏览器引擎是用来处理、渲染和显示网页内容的核心组件。其主要任务是将用户输入的URL所代表的网页资源加载并呈现出来,通常包括HTML、CSS、JavaScript以及各种多媒体内容。浏览器引擎的工作原理可以分为以下几个主要步骤: 1.1 U…

软件系统建设方案书(word参考模板)

1 引言 1.1 编写目的 1.2 项目概述 1.3 名词解释 2 项目背景 3 业务分析 3.1 业务需求 3.2 业务需求分析与解决思路 3.3 数据需求分析【可选】 4 项目建设总体规划【可选】 4.1 系统定位【可选】 4.2 系统建设规划 5 建设目标 5.1 总体目标 5.2 分阶段目标【可选】 5.2.1 业务目…