linux学习笔记 超详细 0基础(下)shell

news2024/9/21 19:51:42

shell是一个命令解释器,为我们提供了交互式的文本控制台界面,我们可以通过终端控制台来输入命令,由shell解释并交给linux内核执行。

Shell是一个解释器,Unix下的Bourne Shell命令解释器的加强版Bourne Again Shell ,bash shell是其中一个发行版解释器,还有debian下的dash,在bin目录下有很多sh的命令,要根据操作的类型去进行学习。

帮助命令:man

man 命令:查看命令的具体操作

man ls:查看ls的基本使用方法

还有一些基础功能的系统内置命令,例如cd exit 这些是随着shell直接加载到常驻系统内存的(使用help查看),其他的一些命令被称为外部命令。可以使用type 命令来判断是什么命令。显示是shell...就是内嵌命令,显示其他的就是外部命令。

外部命令也可以用“命令 --help”来看信息

常用命令:ctrl+c 停止进程

Ctrl+L 清屏

文件目录类

pwd:打印工作目录,显示当前所在的绝对路径

cd :切换路径

cd- :在两个路径之间跳转

ls :列举当前目录下的全部内容 -a 列举全部文件包括隐藏文件等等 -l 列举文件的属性权限 大小等

创建删除文件夹

mkdir a:创建文件夹名字是a

mkdir a b c :创建文件夹a 和b 和c

mkdir a a/b :创建文件夹a 在文件夹a下创建文件夹b

mkdir -p a/b :创建文件夹a 在文件夹a下创建文件夹b

rmdir a : 删除a文件夹 a为空文件夹

复制文件或文件夹

touch a : 创建一个文件

cp source dest :复制source到dest目录下

cp source dest/b :复制source文件到dest路径下的b文件 直接覆盖b文件

cp -r source dest :复制source文件夹到dest目录下

删除文件夹或目录

rm -f deleteFile:直接删除文件a

rm -rf a/ :删除文件夹a下的所有文件

rm -rf /* :删除根目录下所有的文件内容,不要尝试!!! 、、

mv 移动文件与目录或者重命名

mv /temp/movefile /target : 移动movefile文件到/target下

mv /temp/movefile /target/newmovefile :移动movefile文件到/target下 并重命名文件为newmovefile

mv name newName :重命名name变成newName

cat

cat 文件名字: 查看文件内容 适合查看文件内容不多的文件

cat -n 文件名字:查看文件内容并显示行号

more 文件内容分屏查看器

more 指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本的文件内容,指令中设置了若干快捷键

space 翻页

Enter 下一行

b 向前翻页

= 查看当前在第几行

less 用来分屏查看文件内容,功能与more类似但是比more更加强大,支持各种显示终端,在显示文本内容时并不是全部加载进来而是根据显示需要加载内容

Shift+G 到结尾

g :到开头

/关键字 :搜索 n 向下查找 N 向上查找

?关键字:搜索 n 向上查找 N 向下查找

q: 离开less

echo :输出内容到控制台

-e :支持反斜线控制的字符转换

输入输出重定向

ls -l > a.txt 列表的内容写入到a.txt中去(覆盖)

ls -al >> a.txt 列表的内容写入到a.txt中去(追加)

head 文件名 :显示文件前10行内容

head -n5 文件名 :显示文件前5行内容

tail 文件名 : 显示文件后10行内容

tail -n5 文件名 :显示文件后5行内容

tail -f 文件 :实时追踪该文档的所有更新 (ctrl+s暂停监控 ctrl+q恢复监控 ctrl+c结束监控)

ln :软链接,也称为符号链接,类似于windows里的快捷方式,有自己的数据块,主要存放了链接其他文件的路径

ln -s [原文件或目录] 软链接名

histoty :查看执行过的命令

histoty n :查看最近执行过的n条命令

histoty -c :清空历史命令

时间日期类

date :显示当前时间

date +%Y :显示当前年份

date +%m :显示当前月份

date +%d :显示当前是哪一天

date “+%Y-%m-%d:%H:%M:%S” :显示当前年月日时分秒

date +%s:显示时间戳(1970年到现在的秒数)

date -d ‘1 days ago’:一天前的时间

date -d ‘-1 days ago’:一天后的时间

date -s ‘时间’:设置系统当前的时间

ntpdate : 获取当前系统的正确时间

cal 查看日历

cal 年份:查看一年的日历

用户权限类

useradd 用户名:添加新用户

useradd -g 组名 用户名

passwd 用户名 :更改用户密码

可以通过“id 用户名”来查看用户是否创建成功

userdel -r 用户名:删除用户

cat /etc/passwd:查看创建了哪些用户

who:查看自己在哪个用户下

whoami:查看自己在哪个用户下

udo :设置普通用户具有root权限,在etc/sudoers里进行用户的添加

usermod -g 组名 用户名 :修改用户属于哪个组

userdel 用户名 :删除用户名

groupmod -n 新组名 原组名 :修改用户属于哪个组

groupdel 组名:删除组名

文件权限:

Linux是典型的多用户系统,不同的用户拥有不同的地位,文件的拥有权限也不一样。

ll 或者ls -l: 查看文件属性

-代表文件,d代表目录,l代表链接文档

chown 更改后用户 文件名:改变文件或者文件夹所有者

chown -R 更改的用户 文件名: 改变文件夹所有者

chgrp 更改后的用户组 文件或目录:改变所属组

搜索查找类:

find :将从指定的目录向下递归遍历其各个子目录,将满足条件的文件显示在终端

find [搜索范围] [选项] :搜索范围是文件夹 不指定默认从当前文件夹开始

例如:find /root -size +10M:找到root目录下10M以上的文件

locate :快速定位文件路径,利用事先建立的系统中所有的文件名称以及路径的locate数据库实现快速定位给定的文件,该指令无需遍历整个文件系统,查询速度快,为了确保查询结果的准确,管理员必须定期更新locate时刻。

locate 文件名字:快速搜索文件

该数据库是每天更新一次的,为了保证查找的准确性,第一次运行前,要更新,更新命令是:

updatedb

which 命令 :查找命令的路径

whereis 命令:查找命令的具体目录

grep 过滤查找以及“|”管道符

|:表示前一个命令的处理结果输出传递给后面的命令处理

grep 选项 查找内容 源文件

例如:ls grep -n test file.cfg :查找file文件里test在第几行出现过 然后显示出来

压缩解压类

gzip /gunzip

gzip 文件:压缩文件只压缩*.gz文件,

gunzip 文件.gz:解压缩文件命令

总结:只能压缩文件不能压缩目录,压缩文件不能保留原来的文件,同时压缩多个文件会产生多个压缩文件不会打包

zip/unzip

zip *.zip:file:压缩file文件为*.zip

zip -r *.zip:file:压缩file目录为*.zip

unzip -d<目录> *.zip:解压缩*.zip文件指定放到-d后的目录下

总结:可以保留原来的文件和目录,可以打包

tar 打包

tar [选项] XXX.tar.gz 将要打包进去的内容

打包且压缩:tar -zcvf file.tar.gz 1.txt 2 3.cfg:将1 2 3文件或者目录打包并压缩到file.tar.gz中

解包:tar -zxvf file.tar.gz -C /tmp :解压 file.tar.gz到/tmp

磁盘管理类

du (disk usage):磁盘占用情况

du 目录/文件:显示子文件的磁盘使用情况

df:查看磁盘空间的使用情况

df [选项] :列出文件系统的整体磁盘使用情况,检查文件系统的磁盘空间占用情况

选项:-h:以易于阅读的方式展示

lsblk -f:查看详细的设备挂载情况,显示文件系统信息

进程管理类

计算机中一个正在执行的程序或者命令被叫做进程

启动之后一直存在常驻的进程被叫做服务

分为前台显示进程和后台服务进程

ps :查看系统中的进程

ps aux|grep xxx :查看系统中的所有进程

ps -ef|grep xxx :查看子父进程之间的关系

ps aux详细信息:

想要查看进程的CPU占用率和内存占用率 可以使用aux

查看进程的父进程id 可以使用ef

kill:终止进程

kill [选项] 进程号:通过进程号杀死进程 (选项 :-g 强迫进程立即停止)

killall 进程名称:通过进程名称杀死进程

pstree:查看进程树

-p :显示进程的PID

-u :显示进程的所属用户

top:实时监控系统进程状态

top [选项]:

网络状态

netstat:显示网络状态和端口占用信息

netsat -anp | grep 进程号:查看该进程网络信息

netsat -nlp | grep 端口号:查看网络端口的占用情况

crontab:系统定时任务

crontab [选项]

重启crond服务:systemctl restart crond

然后设置定时任务

进入crontab编辑页面,会打开vim编辑定时任务:*****执行的任务

例如:

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

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

相关文章

甘特图:项目管理工具,轻松简化工作流程

项目规模越大&#xff0c;管理就越复杂&#xff0c;有时候甚至一个项目经理需要管理多个项目&#xff0c;当多个项目、多条任务同时进行&#xff0c;项目所涉及的范围广&#xff0c;内容越来越复杂&#xff0c;使得项目越难以把控&#xff0c;好的管理工具&#xff0c;可以提升…

2023美赛C题:Wordle筛选算法

Wordle 规则介绍 Wordle 每天会更新一个5个字母的单词&#xff0c;在6次尝试中猜出单词就算成功。每个猜测必须是一个有效的单词&#xff08;不能是不能组成单词的字母排列&#xff09;。 每次猜测后&#xff0c;字母块的颜色会改变&#xff0c;颜色含义如下&#xff1a; 程…

Unity导出WebGL工程,并部署本地web服务器

WebGL打包 设置修改 在Build Settings->PlayerSettings->Other Settings->Rendering 将Color Space 设置为Gamma 将Lightmap Encoding 设置为NormalQuality 在Build Settings->PlayerSettings->Publishing Settings 勾选Decompression Fallback 打包 完成配…

有这几个表现可能是认知障碍前兆

我国目前对于认知障碍的认知率、就诊率、诊断率很低&#xff0c;然而认知障碍如果能在早期发现&#xff0c;并及时治疗&#xff0c;生活质量会有效提高&#xff0c;缓解家属的精神和经济负担。所以&#xff0c;认知障碍的前兆一定要了解。1.记忆力减退&#xff0c;一周内的重要…

【Spring】@Value注入配置文件 application.yml 中的值失败怎么办

本期目录一、 问题背景二、 问题原因三、 解决方法一、 问题背景 今天碰到的问题是用 Value 注解无法注入配置文件 application.yml 中的配置值。 检查过该类已经交给 Spring 容器管理了&#xff0c;即已经在类上加了 Configuration 和 ConfigurationProperties(prefix &quo…

UnityEditor编辑器扩展自己实现了一遍SceneView的镜头移动

基本实现由于最近一个星期都比较魔怔《天际线》&#xff0c;突然开始要工作了&#xff0c;用Editor好像突然没了按键反而不习惯就是要实现一个点击AWSD&#xff0c;能方便编辑地图的功能其实大可不必自己写代码本身Unity自带的&#xff0c;飞跃模式已经包含&#xff08;按鼠标右…

抽象工厂模式(Abstract Factory Pattern)

1.抽象工厂模式定义: 抽象工厂模式提供了一个创建一系列相关或者相互依赖对象的接口&#xff0c;无需指定它们具体的类 2.抽象工厂模式适用场景: 客户端(应用层)不依赖于产品类实例如何被创建、实现等细节强调一系列相关的产品对象(属于同一产品族)一起使用创建对象需要大量…

ONLYOFFICE中的chatGPT是怎样提升工作效率的

几乎一夜之间chatGPT火遍国内外网络&#xff0c;作为一个总是努力提高工作效率并在一天内完成更多工作的人&#xff0c;我很高兴发现 ONLYOFFICE添加了ChatGPT — 一个人工智能驱动的聊天机器人&#xff0c;可以帮助您管理时间、设定目标并改善您的个人和职业生活。 ONLOYOFFIC…

Allegro172版本无法低亮颜色的原因和解决办法

Allegro172版本无法低亮颜色的原因和解决办法 用Allegro版本做PCB设计的时候,高亮是使用非常频繁的功能,低亮已经高亮的对象也是使用较为频繁的。 在用172版本时会出现无法低亮的情况,如下图 使用Dehilight命令无法低亮器件,如何解决,具体操作步骤如下 点击Display选择De…

Python:每日一题之剪邮票(BFS全排列)

如【图1.jpg】, 有12张连在一起的12生肖的邮票。 现在你要从中剪下 5 张来&#xff0c;要求必须是连着的。 &#xff08;仅仅连接一个角不算相连&#xff09; 比如&#xff0c;【图2.jpg】&#xff0c;【图3.jpg】中&#xff0c;粉红色所示部分就是合格的剪取。 请你计算&…

redis的安装步骤及前台,后台redis服务启动

redis的安装步骤1. 官网下载安装包2. 使用Xftp将安装包传输到Linux的opt目录下3. 使用Xshell连接Linux主机进行redis的安装安装目录说明4. redis 服务启动的两种方式4.1 前台启动4.2 后台启动1. 官网下载安装包 首先&#xff0c;我们进入到redis的官网: https://redis.io/down…

代码随想录算法训练营第三十一天 | 贪心专题-理论基础,455.分发饼干,376. 摆动序列,53. 最大子序和

一、参考资料理论基础https://programmercarl.com/%E8%B4%AA%E5%BF%83%E7%AE%97%E6%B3%95%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 分发饼干https://programmercarl.com/0455.%E5%88%86%E5%8F%91%E9%A5%BC%E5%B9%B2.html 摆动序列https://programmercarl.com/0376.%E6%91%86…

数据库存储

RAID DSL &#xff1a; Domain Spesic Language 专用领域语言 单机存储 一切皆Key-Value 本地文件系统 一切皆文件 Ceph - 分布式存储 关系型数据库通用组件 Query Engine &#xff1a;解析query&#xff0c;生成查询计划Txn Manager &#xff1a;事务并发管理Lock Man…

知识汇总:Python办公自动化应该学习哪些内容

当前python自动化越来越受到欢迎&#xff0c;python一度成为了加班族的福音。还有大部分人想利用python自动化来简化工作&#xff0c;不知道从何处下手&#xff0c;所以&#xff0c;这里整理了一下python自动化过程中的各种办公场景以及需要用到的python知识点。 Excel办公自动…

【C++】类和对象(第二篇)

文章目录1. 类的6个默认成员函数2. 构造函数2.1 构造函数的引出2.2 构造函数的特性3. 析构函数3.1 析构函数的引出3.2 析构函数的特性4. 拷贝构造函数4.1 概念4.2 特性5.赋值运算符重载5.1 运算符重载概念注意练习5.2 赋值重载实现赋值重载的特性6. const成员函数7. 取地址及co…

传统图机器学习的特征工程

视频资料同济子豪兄中文精讲视频&#xff1a;节点特征工程&#xff1a;https://www.bilibili.com/video/BV1HK411175s连接特征工程&#xff1a;https://www.bilibili.com/video/BV1r3411m7sD全图特征工程&#xff1a;https://www.bilibili.com/video/BV14W4y1V7gg斯坦福原版视频…

spring的事物控制

1.调用这个方法的对象是否是spring的代理对象&#xff08;$CGLIB结尾的&#xff09; 2.这个方法是否是加了Transactional注释 都符合才可以被事物控制 如果调用方法的对象没有被事物控制&#xff0c;那么被调用的方法即便是加了Transactional也是没用的 一个非事务方法调同类…

13.hadoop系列之MapReduce排序实践

本文我们学习MapReduce的全排序、二次排序以及区内排序 1.MapReduce概述 MapTask和ReduceTask均会对数据按照key进行排序。该操作属于hadoop的默认行为。任何应用程序中的数据均会被排序&#xff0c;而不管逻辑上是否需要默认排序是按照字典顺序排序&#xff0c;通过快速排序…

【蓝桥杯嵌入式】第十三届蓝桥杯嵌入式国赛程序设计试题以及详细题解

文章目录原题展示原题分析详细题解LED模块按键模块串口LCD模块模拟电压读取(ADC)脉冲输入输出文章福利原题展示 原题分析 本届国赛试题主要包含LCD、LED、按键、EEPROM、串口、模拟电压输入、脉冲输入输出七大部分&#xff0c;其中前面三个部分是蓝桥杯嵌入式的“亲儿子”(必考…

SpringBoot 集成 Kafka

SpringBoot 集成 Kafka1 安装 Kafka2 创建 Topic3 Java 创建 Topic4 SpringBoot 项目4.1 pom.xml4.2 application.yml4.3 KafkaApplication.java4.4 CustomizePartitioner.java4.5 KafkaInitialConfig.java4.6 SendMessageController.java5 测试1 安装 Kafka Docker 安装 Kafk…