DAY17 LinuxC高级

文章目录

shell中的特殊字符

管道 |

前一个命令的输出作为后一个命令输入
cat hello.c | wc -l —> 将 cat 输出到终端的内容作为 wc -l 的输入,计算行数
补充:wc -l 文件名:文件行数
wc -c 文件名:文件字符个数
wc -m 文件名:计算文件字节大小
wc -w 文件名:文件单词个数

输入输出重定向

命令 > file:将file 作为输出源,file 文件不存在创建
命令 >> file:如果文件不存在则创建,如果文件中存在内容则会追加
命令 &> file 或者 命令 2> file:将由命令产生的错误输入到 file
在这里插入图片描述

命令置换符 ``

将一个命令的输出作为另一个命令的参数
在这里插入图片描述

系统维护命令

1.man man:查看 man 手册
1 Executable programs or shell commands : shell命令
2 System calls (functions provided by the kernel):系统调用
3 Library calls (functions within program libraries):C库
2.sudo passwd 用户名:修改用户密码
3.su:切换用户
su:默认切换到 root
sudo su 用户名
exit:退出切换的用户
4.echo “输出内容”:向终端输出内容,默认换行
echo -n “输出内容” -----> 输出不换行
5.date 查看当前系统的日期
date -s 年/月/日
date -s 时:分:秒
6.clear:清屏
7.df -Th / df -h:查看磁盘空间
在这里插入图片描述

用户管理命令

sudo adduser 用户名:添加用户
在这里插入图片描述
给用户添加sudo权限:

切换到超级管理员身份:sudo su
给用户添加 sudo 权限:sudo vi /etc/sudoers
添加:用户名 ALL=(ALL:ALL) ALL

sudo deluser --remove-home 用户名:删除用户
sudo userdel -f 用户名:强制删除用户

进程管理命令

进程:是程序的一次运行过程,是动态的
程序:存放在磁盘空间上的可执行文件,是静态的

1.ps 查看进程的状态

ps -aux

USER(用户) PID(进程id) %CPU %MEM VSZ RSS TTY(终端 ?:不依赖终端) STAT(状态) START TIME COMMAND
PID:是唯一标识进程的id号
ps -ef:查看父进程(PPID)
ps -ajx:PPID PID PGID(组 id) SID(会话id)

通过 man ps 查看关于进程状态的信息

进程状态:
  D    uninterruptible sleep (usually IO)不可中断睡眠态
  R    running or runnable (on run queue)运行态
  S    interruptible sleep (waiting for an event to complete)可中断睡眠态
  T    stopped by job control signal停止态
  t    stopped by debugger during the tracing调试器打断
  X    dead (should never be seen)死亡态
  Z    defunct ("zombie") process, terminated but not reaped by its
       parent僵尸态
       
 <    high-priority (not nice to other users)高优先级
 N    low-priority (nice to other users)低优先级
 L    has pages locked into memory (for real-time and custom I
      锁定到内存中
 s    is a session leader 会话组组长
 l    is multi-threaded (using CLONE_THREAD, like NPTL pthread
      do)线程
 +    is in the foreground process group前台进程

./a.out &:将a.out 在后台运行
fg 数字:将后台运行起来的进程拉到前台运行

ctrl z(快捷键):将前台运行起来的进程暂停同时放到后台
bg 数字:(这里的数字是你按Ctrl + z 的时候返回的中括号中的数字)将后台暂停的进程在后台跑起来

2.top 动态显示进程状态

在进程管理中,NI通常表示进程的Nice值(Nice Value)。Nice值是用来调整进程优先级的参数,它可以影响进程在系统中的调度顺序
Nice值通常是一个整数,在大多数操作系统中,它的范围通常是-20到+19。较小的Nice值表示进程的优先级较高,而较大的Nice值表示进程的优先级较低

NI:优先级   +19  ~  -20  值越小,优先级越高
PR:20 + NI

在进程管理中,PR通常表示进程的优先级(Priority)。进程优先级是操作系统用来管理和调度进程的一种机制。每个进程都有一个与之相关联的优先级,用于确定进程在系统中的调度顺序。

3.renice:修改正在运行的进程的优先级

sudo renice -n num PID
num:要修改的优先级的值
PID:要修改进程优先级的PID

4.nice 定义运行的进程优先级

sudo nice -n num ./可执行文件

5.kill 发送一个信号

kill -l:查看linux下的信号
  1. SIGINT ctrl+c 结束进程
  2. SIGQUIT 程序正常退出
  3. SIGILL 结束进程
  4. SIGKILL 强制杀死进程 不可忽略信号 无条件终止指定进程
  5. SIGUSR1 未定义功能
  6. SIGUSR2 未定义功能
  7. SIGPIPE 管道破裂信号
  8. SIGALRM 时钟信号
  9. SIGCHLD 子进程状态发生改变会给父进程发送
  10. SIGSTOP 停止 不可忽略信号

kill num PID:给指定进程发送 num 号的信号
killall 文件名:杀死所有为该文件名的进程

文件系统命令

磁盘文件系统:指本地主机中实际可以访问到的文件系统,包括硬盘、CD-ROM、DVD、USB存储器、磁盘阵列等。常见文件系统格式有:autofs、coda、Ext(Extended File sytem,扩展文件系统)、Ext2、Ext3、VFAT、ISO9660(通常是CD-ROM)、UFS(Unix File System,Unix文件系统)、ReiserFS、XFS、JFS、FAT(File Allocation Table,文件分配表)、FAT16、FAT32、NTFS(New Technology File System)等;
网络文件系统:是可以远程访问的文件系统,这种文件系统在服务器端仍是本地的磁盘文件系统,客户机通过网络远程访问数据。常见文件系统格式有:NFS(Network File System,网络文件系统)、Samba(SMB/CIFS)、AFP(Apple Filling Protocol,Apple文件归档协议)和WebDAV等;
专有/虚拟文件系统:不驻留在磁盘上的文件系统。常见格式有:TMPFS(临时文件系统)、PROCFS(Process File System,进程文件系统)和LOOPBACKFS(Loopback File ## 2.top 动态显示进程状态

linux 文件系统

目录名 描述
/ Linux文件系统根目录
/bin 存放系统中最常用的可执行文件(二进制)
/boot 存放Linux内核和系统启动文件,包括Grub、lilo启动器程序
/dev 存放所有设备文件,包括硬盘、分区、键盘、鼠标、USB、tty等
/etc 存放系统的所有配置文件,例如passwd存放用户账户信息,hostname存放主机名等
/home 用户主目录的默认位置
/initrd 存放启动时挂载initrd.img映像文件的目录,以及载入所需设备模块的目录。
/lib 存放共享的库文件,包含许多被/bin和/sbin中程序使用的库文件
/lost+found 存放由fsck放置的零散文件
/media Ubuntu系统自动挂载CD-ROM、软驱、USB存储器后,存放临时读入的文件
/mnt 该目录通常用于作为被挂载的文件系统的挂载点
/opt 作为可选文件和程序的存放目录,主要被第三方开发者用来简易地安装和卸装他们的软件包
/proc 存放所有标志为文件的进程,它们是通过进程号或其他的系统动态信息进行标识,例如cpuinfo文件存放CPU当前工作状态的数据
/root 根用户(超级用户)的主目录
/sbin 存放更多的可执行文件(二进制),包括系统管理、目录查询等关键命令文件
/srv 系统提供的特定数据
/sys 虚拟文件系统
/tmp 存放用户和程序的临时文件,所有用户对该目录都有读写权限

/usr 用于存放与系统用户直接有关的文件和目录,例如应用程序及支持它们的库文件。以下罗列了/usr中部分重要的目录。
/usr/X11R6: X Window系统
/usr/bin 用户和管理员的标准命令
/usr/include c/c++等各种开发语言环境的
标准include文件
/usr/lib 应用程序及程序包的连接库
/usr/local 系统管理员安装的应用程序目录
/usr/local/share 系统管理员安装的共享文件
/usr/sbin 用户和管理员的标准命令
/usr/share 存放使用手册等共享文件的目录
/usr/share/dict 存放词表的目录
/usr/share/man 系统使用手册
/usr/share/misc 一般数据
/usr/share/sgml SGML数据
/usr/share/xml XML数据
/var 通常用于存放长度可变的文件,例如日志文件和打印机文件。以下罗列了/var其中部分重要的目录。
/var/cache 应用程序缓存目录
/var/crash 系统错误信息
/var/games 游戏数据
/var/lib 各种状态数据
/var/lock 文件锁定纪录
/var/log 日志记录
/var/mail 电子邮件
/var/opt /opt目录的变量数据
/var/run 进程的标示数据
/var/spool 存放电子邮件,打印任务等的队列目录。
/var/tmp 临时文件目录

文件操作相关命令

1.file 文件名:查找文件属性信息
2.rm -f 文件名:强制删除,文件存不存在都会删除
rm -rf 文件夹名:强制删除文件夹,文件夹存不存在都会删除
3.cat 文件名:将文件内容输出到终端
cat -n 文件名:将文件内容及行号输出到终端
4.head 文件名:默认输出文件内容的前10行
head -num 文件名:将文件内容的前num行输出到终端
5.tail 文件名:默认输出文件内容的后10行
tail -num 文件名:将文件内容的后num行输出到终端
head -35 文件名 | tail -5
6.find 查找文件
格式:find 路径 -name “文件名”:在这个路径下查找文件
7.grep 查找指定字符串
grep “字符串” 文件名:在一个文件中查找
grep “字符串” 路径 -nR:从这个路径开始往后查找,找到所有用到了这个字符串的文件

补充:
1.lscpu:显示CPU信息
2.free -g:显示内存使用情况
total used free shared buff/cache available
Mem: 1 0 0 0 0 0
Swap: 0 0 0
第一列:
Mem:内存的使用信息
Swap:交换空间的使用信息
第一行:
total:系统总的可用物理内存大小
used:已被使用的物理内存大小
free:还有多少物理内存可用
shared:被共享使用的物理内存大小
buff/cach:被 buffer 和 cache 使用的物理内存大小
available:还可以被应用程序使用的物理内存大小

硬链接和软连接(符号链接)

硬链接

ln 根据linux系统分配给文件inode(ls -li)进行建立,没办法跨越文件系统
格式:ln 被链接的文件(源文件) 生成的链接文件(目标文件)
1)硬链接的属性 - 相当于生成一个副本 起别名
2)修改内容都变化
3)源文件删除链接文件依然存在
4)不能链接目录

软连接

ln -s(符号链接) 利用文件的路径名来建立的,最好从绝对路径开始
格式:ln -s 被链接的文件(源文件) 生成的链接文件(目标文件)
1)软连接的文件属性 l 相当于快捷方式
2)源文件删除,链接断开,建立w源文件之后重新链接
3)软连接可以链接目录
4)修改内容都变化

硬链接和软连接的区别

首先,从使用的角度讲,两者没有任何区别,都与正常文件访问方式一样,支持读写,如果是可执行文件的话也可以直接执行
区别在底层原理上
在这里插入图片描述

本质区别:

硬链接:本质上是同一个文件
软连接:本质上不是同一个文件

跨设备区别:
硬链接:不支持
软连接:支持

inode区别:

硬链接:相同
软连接:不同

连接数:

硬链接:创建新的硬链接,连接数会增加,删除硬链接,链接数减少
软连接:创建或删除,链接数不会变化

文件夹:

硬链接:不支持
软连接:支持

解压和压缩

gzip 和 gunzip

特点:只能对单个的普通文件进行压缩
不能进行归档,压缩或解压后的源文件都不存在
压缩后所生成的压缩格式是 .gz 格式
压缩:gzip 文件名 ----> 默认生成:文件名.gz 的压缩文件
解压:gunzip 文件名 ----> 默认解压为:文件名
在这里插入图片描述

bzip2 和 bunzip2(特点和gzip相似)

压缩后生成压缩格式是:.bz2 格式
压缩:bzip2 文件名      ----> 默认生成:文件名.bz2 的压缩文件
解压:bunzip2 文件名  ----> 默认解压为:文件名

xz 和 unxz(特点和gzip相似)

压缩后生成压缩格式是:.xz 格式
压缩:xz 文件名      ----> 默认生成:文件名.xz 的压缩文件
解压:unxz 文件名  ----> 默认解压为:文件名

zip 和 unzip

zip命令用于将一个文件或多个文件压缩成单一的文件 .zip
注意:
1.具有归档功能,并进行压缩
2.可以压缩文件夹,后缀 .zip ,压缩文件夹时需要加 -r 选项
3.压缩或解压后源文件依然存在
压缩格式:zip 压缩文件名 要压缩文件列表
解压格式:unzip 要解压的压缩文件
在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Postman接口测试高阶——精通Mock Server模拟服务器的创建及使用等

文章目录 一、什么是Mock Server二、为什么使用Mock Server四、Mock Server使用场景五、创建Mock Server模拟服务器1.创建Mock Server2.配置Mock Server3.创建Mock Server模拟服务器成功 六、使用Mock Server模拟服务器七、修改Mock Server模拟服务器配置 一、什么是Mock Serve…

makefile里面的变量使用,系统变量

文章目录 makefile里面的变量使用 makefile里面的变量使用 calc:add.o sub.o multi.ogcc add.o sub.o multi.o calc.cpp -o calcadd.o:add.cppgcc -c add.cpp -o add.osub.o:sub.cppgcc -c sub.cpp -o sub.omulti.o:multi.cppgcc -c multi.cpp -o multi.oclean:rm -rf *.o cal…

tui.calender日历创建、删除、编辑事件、自定义样式

全是坑&#x1f573;&#xff01;全是坑&#x1f573;&#xff01;全是坑&#x1f573;&#xff01;能不用就不用&#xff01; 官方文档&#xff1a;https://github.com/nhn/tui.calendar/blob/main/docs/en/apis/calendar.md 实例的一些方法&#xff0c;比如创建、删除、修改、…

react中数据不可变

先看官网 一、不可变数据的概念 不可变数据意味着数据一旦创建&#xff0c;就不能被更改。在React中&#xff0c;每次对数据的修改都会返回一个新的数据副本&#xff0c;而不会改变原始数据。这种方式确保了数据的稳定性和一致性。 二、Props中的不可变数据 在React中&#xf…

TS报错:未使用的局部变量

1.问题 2&#xff0c;解决 2.1可以根据快速修复&#xff0c;进行修改 2.2也可以去到TS的配置文件&#xff0c;找到如下&#xff0c;改成false即可 // 报告未使用的局部变量 "noUnusedLocals": true, // 报告未使用的函数参数 "noUnusedParameters": true,…

如何为不同品牌的笔记本电脑设置充电限制,这里提供详细步骤

笔记本电脑的电池健康状况至关重要。延长电池寿命可以帮你省下不少钱。对于长时间充电的Windows 11笔记本电脑用户来说,将电池电量限制在80%是很重要的。 虽然操作系统没有提供设置自定义电池充电限制的内置方法,但仍有一些方法可以在Windows 11中配置电池设置,并将其限制在…

自己是如何使用单元测试

前言 自己是如何使用单元测试 进行单元测试能够让我们在编写方法的具体实现代码后&#xff0c;能清晰地看到其是否能实现预期的功能&#xff0c;有助于我们及时修正自己方法中存在的bug&#xff0c;以免在后续使用到某方法时出现意想不到的错误。 一、引入单元测试所使用的依赖…

第11章 GUI Page507 步骤三十五:处理应用退出事件

为wxFrame&#xff0c;生成一个EVT_CLOSE事件响应函数&#xff1a; 实现如下&#xff1a; 运行效果&#xff1a;关闭时&#xff0c;会弹出对话框询问是否保存

springboot知识04

1、集成swaggershiro放行 &#xff08;1&#xff09;导包 &#xff08;2&#xff09;SwaggerConfig&#xff08;公共&#xff09; package com.smart.community.common.swagger.config;import io.swagger.annotations.ApiOperation; import org.springframework.beans.facto…

手把手教你薅熊链Berachain测试网空投

Berachain&#xff0c;这名字响当当&#xff01;是基于流动性证明的高性能区块链&#xff0c;结合了Tendermint和流动性共识证明&#xff0c;还采用了Celestia作为DA层。这速度快、成本低、确定性高&#xff0c;简直就是未来的大热门&#xff01;你知道吗&#xff1f;这家公司可…

竞赛保研 机器学习股票大数据量化分析与预测系统 - python 竞赛保研

文章目录 0 前言1 课题背景2 实现效果UI界面设计web预测界面RSRS选股界面 3 软件架构4 工具介绍Flask框架MySQL数据库LSTM 5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 机器学习股票大数据量化分析与预测系统 该项目较为新颖&am…

【设计模式】腾讯二面:自动贩卖机/音频播放器使用了什么设计模式?

状态模式是什么&#xff1f; 状态模式&#xff0c;也被称作状态对象模式&#xff0c;是一种行为设计模式。 当一个对象的内在状态改变时&#xff0c;允许改变其行为&#xff0c;这个对象看起来像是改变了其类。 它让对象在其内部状态改变时改变自己的行为。外部调用者无需了…

学习笔记应用——创建用户账户并且拥有自己的信息

一、创建用户账户 将建立一个用户注册和身份验证系统&#xff0c;让用户能够注册账户&#xff0c;进而登录和注销。我们将创建一个新的应用程序&#xff0c;其中包含与处理用户账户相关的所有功能。 创建user 我们首先使用命令 startapp 来创建一个名为 users 的应用程序&…

爬虫之Cookie获取:利用浏览器模拟一个cookie出来、面对反爬虫、加密的cookie的应对方法

爬虫之Cookie获取&#xff1a;利用浏览器模拟一个cookie出来、面对反爬虫、加密的cookie的应对方法 在爬虫或模拟请求时&#xff0c;特别是获取验证码的时候&#xff0c;反爬虫的网站的cookie或定期失效&#xff0c;复制出来使用是不行的为了应对这种方式&#xff0c;我们可能…

(Bean实例化的基本流程 )学习Spring的第六天

Bean实例化的基本流程 其实可以解释为三个过程: 1 . 有关Bean的信息被封装成一个map集合 : DeanDefinitionMap . key为Bean的名称 , value为有关<bena>标签的信息 2 . Spring框架对这个存储Bean信息的Map进行遍历 , 进行创建对象 , 把创建好的对象存储到另一个Map集合里…

【华为 ICT HCIA eNSP 习题汇总】——题目集4

1、&#xff08;多选&#xff09;网络中出现故障后&#xff0c;管理员通过排查发现某台路由器的配置被修改了&#xff0c;那么管理员应该采取哪些措施来避免这种状况再次发生&#xff1f; A、管理员应该通过配置 ACL 来扩展只有管理员能够登录设备 B、管理员应该在路由的管理端…

【项目管理】CMMI-原因分析与解决过程(CAR)

概述&#xff1a; “原因分析与解决”通过预防缺陷或者问题的引入以及识别并适当纳入优秀过程性能的原因&#xff0c;改进质量与生产率。 目录 1、文档结构 2、原因分析与解决过程域包括如下活动 3、选择需要加以分析的结果(启动条件) 4、过程活动与实践对照表 5、实例 1、…

前端打同一个包可以从测试晋升到生产的配置方案

前端打同一个包从测试晋升到生产环境的方案&#xff0c;是一种高效、可靠且易于维护的部署方式。在这种方案中&#xff0c;前端代码在开发完成后&#xff0c;经过测试验证无误后&#xff0c;可以直接打包部署到生产环境&#xff0c;无需进行额外的配置或修改。这样可以减少部署…

虹科分享 | 汽车技术的未来:Netropy如何测试和确保汽车以太网的性能

文章速览&#xff1a; 什么是汽车以太网&#xff1f;汽车以太网的用途是什么&#xff1f;汽车以太网的测试要求是什么&#xff1f;流量生成如何帮助测试汽车以太网&#xff1f; 如今汽车不再是单纯的代步工具&#xff0c;把人从A点带到B点&#xff0c;同时还配备了车载信息娱乐…

pytest文档内置fixture的request详情

前言 request 是 pytest 的内置 fixture &#xff0c; "为请求对象提供对请求测试上下文的访问权&#xff0c;并且在fixture被间接参数化的情况下具有可选的“param”属性。"这是官方文档对request的描述&#xff0c;可参考的文档不多。 一、FixtureRequest Fixtur…