linux的安装程序 与 文件 相关的命令

embedded/2024/9/23 10:20:55/

#Linux系统命令

软件安装卸载命令

软件包介绍

软件包中包含安装的可执行程序(binary),包含软件的说明文档,包含软件的使用的

man手册等,将这些内容打包成一个软件包,可以给用户安装使用。

(1).deb:ubuntu系统可以安装的包格式

(2).rpm:redhat系统可以安装的包格式

软件包命名格式

软件包的命名格式一般为:

包名-版本号.后缀名

例如:

gcc-4.8.2.tar.gz

dpkg命令

dpkg是一个离线安装软件包的命令,dpkg不会安装依赖的库,
前提是用户需要有安装的包。

安装

sudo dpkg -i sl_5.02-1_amd64.deb

运行

sl

卸载

sudo dpkg -r sl

-r在卸载软件包的时候会保留配置文件

完全卸载

sudo dpkg -P sl

将软件包和配置文件全部卸载掉

查看软件的安装信息

sudo dpkg -l sl

查看软件安装位置信息

sudo dpkg -L sl

apt-get命令

apt-get是一个在线安装软件包的命令,apt-get会自动安装依赖的库。

安装

sudo apt-get install sl

运行

sl

卸载

sudo apt-get remove sl

-r在卸载软件包的时候会保留配置文件

完全卸载

sudo apt-get purge sl

将软件包和配置文件全部卸载掉

更新软件包列表

sudo apt-get update

查看软件的安装信息

sudo apt-cache show sl

查看软件安装位置信息

sudo dpkg -L sl

apt-get命令

rpm是一个安装rpm包的命令,rpm包是二进制文件,可以直接运行。

安装

sudo apt-get install sl

卸载

sudo apt-get remove sl

清除软件包

sudo apt-get clean

更新软件包列表

sudo apt-get update

下载不安装

sudo apt-get download sl

下载源代码

sudo apt-get source sl

压缩和解压命令

压缩文件后缀

常见的压缩文件后缀有:

.gz:打包的tar文件,并用gzip压缩

.bz2:打包的tar文件,并用bzip2压缩

.xz:打包的tar文件,并用xz压缩

压缩命令

压缩的对象是文件,而非目录

gzip压缩用时比较短,压缩率不高。

bzip2压缩用时居中,压缩率居中。

xz压缩用时比较长,压缩率高。

gzip vmlinux #对vmlinux文件进行gzip压缩gunzip vmlinux.gz #对vmlinux.gz文件进行解压缩bzip2 vmlinux  #对vmlinux文件进行bzip2压缩bunzip2 vmlinux.bz2 #对vmlinux.bz2文件进行解压缩xz vmlinux  #对vmlinux文件进行xz压缩unxz vmlinux.xz #对vmlinux.xz文件进行解压缩

打包和解包命令

tar命令

tar命令是Linux下最常用的打包和解包命令,可以打包和解包各种类型的文件。

tar在使用的时候需要跟如下参数
-c: 建立一个新的打包文件
-v: 显示过程
-f: 指定打包后的文件名
-z: 调用gzip压缩
-j: 调用bzip2压缩
-J: 调用xz压缩
-x: 解开打包文件

tar -cvf jdk.tar.gz jdk #打包jdk目录为jdk.tar.gz文件tar -xvf jdk.tar.gz #解包jdk.tar.gz文件tar -cvzf jdk.tar.gz jdk #打包jdk目录为jdk.tar.gz文件,并用gzip压缩tar -xvf jdk.tar.gz #解包jdk.tar.gz文件,并用gzip解压缩tar -cvfj jdk.tar.bz2 jdk #打包jdk目录为jdk.tar.bz2文件,并用bzip2压缩tar -xvfj jdk.tar.bz2 #解包jdk.tar.bz2文件,并用bzip2解压缩tar -cvJf jdk.tar.xz jdk #打包jdk目录为jdk.tar.xz文件,并用xz压缩tar -xvfJ jdk.tar.xz #解包jdk.tar.xz文件,并用xz解压缩

文件分割命令

split命令

split命令可以将一个大文件分割成多个小文件。
-b: 指定每个分割文件的大小
-d: 指定分割文件后缀
-n: 指定分割文件的个数
-a: 指定文件名长度

split -b 10m linux.iso linux #将linux.iso分割为大小为10m的小文件,文件名为linuxcat linux* > linux.iso #将分割后的文件合并为一个文件

文件操作相关命令

cat命令

cat filename读取文件并打印到终端上

cat -n test.c #文件及文件的行号显示到终端上。

cat /etc/issue #查看ubuntu的版本号

          uname -r 查看ubuntu对应的linux内核的版本号

head命令

head :命令是用来查看文件的,默认显示文件的前10行

head -n 20 filename #显示文件的前20行

tail命令

tail :命令是用来查看文件的,默认显示文件的最后10行

tail -n 20 filename #显示文件的最后20行

more命令

more :命令是用来分页显示文件内容的,每次显示一屏的内容,按空格键向下翻页,按q键退出。

less命令

less :命令是用来分页显示文件内容的,每次显示一屏的内容,按空格键向下翻页,按q键退出。

管道命令

| :管道命令,将前一个命令的输出作为后一个命令的输入。

head -20 /etc/passwd | tail -5 #查看/etc/passwd文件的前20行,并输出最后5行

wc 命令

wc 命令是用来统计文件中行数、字数、字节数的命令。

-l:统计行数
-w:统计字数
-c:统计字节数

wc -l /etc/passwd #统计/etc/passwd文件有多少行wc -w /etc/passwd #统计/etc/passwd文件有多少字wc -c /etc/passwd #统计/etc/passwd文件有多少字节

grep 命令

grep 命令是用来搜索文本中匹配的字符串的命令。

-i:忽略大小写
-n:显示行号
-v:显示不匹配的行
-w:只显示全词匹配的行
-x:只显示完全匹配的行
-R:递归搜索目录

-^root:搜索以root开头的行
-root$:搜索以root结尾的行

grep -i "root" /etc/passwd #搜索/etc/passwd文件中包含root的行,忽略大小写grep -n "root" /etc/passwd #搜索/etc/passwd文件中包含root的行,并显示行号grep -v "root" /etc/passwd #搜索/etc/passwd文件中不包含root的行grep -w "root" /etc/passwd #搜索/etc/passwd文件中只包含一个完整的root的行 和-i类似grep -x "root" /etc/passwd #搜索/etc/passwd文件中只包含root的行grep -R "root" /etc/ #递归搜索/etc/目录下所有文件包含root的行

root : x : 0 : 0 : root : /root : /bin/bash

用户名: 密码占位符:UID:GID:开机看到的用户名:用户的家目录:命令行解析器

find 命令

linux_find+exec.md

cut 命令

cut 命令用来从文件中提取指定部分,并输出到标准输出设备上。

-d:指定分隔符
-f:指定提取哪个域

cut -d: -f1 /etc/passwd #提取/etc/passwd文件中第一个域cut -d: -f1,3 /etc/passwd #提取/etc/passwd文件中第一个和第三个域cut -d: -f1-3 /etc/passwd #提取/etc/passwd文件中前三个域

sort 命令

sort 命令用来对文件内容进行排序。

-n:按数字排序
-r:反向排序
-u:排序后,相同的行只显示一次

sort /etc/passwd #对/etc/passwd文件进行排序sort -n /etc/passwd #对/etc/passwd文件进行数字排序sort -r /etc/passwd #对/etc/passwd文件进行反向排序sort -u /etc/passwd #对/etc/passwd文件进行排序,相同的行只显示一次

uniq 命令

uniq 命令用来删除文件中重复的行。

-c:显示每行重复出现的次数
-u:只显示唯一的行

uniq /etc/passwd #删除/etc/passwd文件中重复的行uniq -c /etc/passwd #显示/etc/passwd文件中每行重复出现的次数uniq -u /etc/passwd #只显示/etc/passwd文件中唯一的行

diff 命令

diff 命令用来比较两个文件的内容差异。

-i:忽略大小写
-w:忽略空格和制表符的不同
-b:忽略空格的不同

diff /etc/passwd /etc/shadow #比较/etc/passwd和/etc/shadow文件的内容差异diff -i /etc/passwd /etc/shadow #比较/etc/passwd和/etc/shadow文件的内容差异,忽略大小写

文件属性命令

-rw-rw-r-- 1 gopher gopher 1519 Jun 24 19:21 main.c

chmod命令

chmod命令用来修改文件或目录的权限。

rw-rw-r–

通过八进制数值方式修改权限

r : 4

w:2

x:1

-:无权限0

rw-rw-r–对应权限的八进制值是:0664

chmod 0777 main.c #修改main.c的权限为rwxrwxrwx

+:添加权限

-:去权限

r:读权限

w:写权限

x:执行权限

u:仅修改文件或目录的用户权限

g:仅修改文件或目录的组权限

o:仅修改文件或目录的其他用户权限

a+x:添加文件所有用户都有执行权限

chmod 777 file #将file文件权限修改为777chmod u=rwx,g=rw,o=r file #将file文件权限修改为所有用户都有读写执行权限,组用户有读写权限,其他用户有只读权限chmod u+x,g-x,o=r file #将file文件权限修改为所有用户都有执行权限,组用户没有执行权限,其他用户有只读权限chmod u=rwx,g=rw,o=r dir #将dir目录权限修改为所有用户都有读写执行权限,组用户有读写权限,其他用户有只读权限

chown命令

chown命令用来修改文件或目录的拥有者和群组。

-R:递归修改文件或目录的拥有者和群组

chown gopher file #将file文件拥有者修改为gopherchown gopher:root file #将file文件拥有者和群组修改为gopher和rootchown -R gopher dir #将dir目录拥有者和群组修改为gopher

chgrp命令

chgrp命令用来修改文件或目录的群组。

-R:递归修改文件或目录的群组

chgrp root file #将file文件群组修改为rootchgrp -R root dir #将dir目录群组修改为root

ln命令

ln命令用来创建链接文件或目录。

硬链接

ln 源文件 硬链接文件名
-f:强制创建

硬链接的特点

硬链接文件被创建硬链接数会+1
删除源文件后,硬链接文件依然可以使用
硬链接文件和源文件的inode号是相同的,说明两者占用同一块硬盘空间
当硬链接数减为0的时候文件才从文件系统上被移除掉了
硬链接只能链接文件,不能链接目录

ln addr.txt www.txt #创建硬链接,名为www.txt,指向addr.txt
软链接

ln -s 源文件 软链接文件名
-s:创建软链接
-f:强制创建

软链接的特点

软链接类似于windows上的快捷方式
软链接可以链接文件也可以链接目录
软链接文件的类型是l
当删除源文件后链接就断开了,当源文件恢复了软链接文件又可以使用了
当创建软链接后硬链接数是不会增加的

ln -s addr.txt www.txt #创建软链接,名为www.txt,指向addr.txt

源文件 硬链接文件名
-f:强制创建

硬链接的特点

硬链接文件被创建硬链接数会+1
删除源文件后,硬链接文件依然可以使用
硬链接文件和源文件的inode号是相同的,说明两者占用同一块硬盘空间
当硬链接数减为0的时候文件才从文件系统上被移除掉了
硬链接只能链接文件,不能链接目录

ln addr.txt www.txt #创建硬链接,名为www.txt,指向addr.txt
软链接

ln -s 源文件 软链接文件名
-s:创建软链接
-f:强制创建

软链接的特点

软链接类似于windows上的快捷方式
软链接可以链接文件也可以链接目录
软链接文件的类型是l
当删除源文件后链接就断开了,当源文件恢复了软链接文件又可以使用了
当创建软链接后硬链接数是不会增加的

ln -s addr.txt www.txt #创建软链接,名为www.txt,指向addr.txt

http://www.ppmy.cn/embedded/52754.html

相关文章

基于STM32+ESP8266打造智能家居温湿度监控系统(附源码接线图)

摘要: 本文将介绍如何使用STM32单片机、ESP8266 Wi-Fi模块和Python Flask框架构建一个完整的物联网系统,实现传感器数据采集、无线传输、云端存储及Web可视化展示。 关键词: STM32, ESP8266, 传感器, Flask, 物联网, 云平台, 数据可视化 1. 系统概述 本系统以STM…

vector和array在C++中的区别以及如何在C++中定义array类型

在C中,vector和array的主要区别体现在以下几个方面: 内存分配和大小调整: vector是一个动态数组容器,其内存空间大小是能够改变的。当需要添加新元素而当前内存空间不足时,vector会自动申请更大的内存空间&#xff08…

课堂笔记——cs与msf权限传递,以及mimikatz抓取win2012明文密码

CS(Cobalt Strike)和MSF(Metasploit Framework)是两个广泛使用的渗透测试工具,它们可以相互配合,实现权限传递,扩大攻击范围。 Cobalt Strike采用客户端/服务端架构,允许多人进行团队协作,特别适合模拟高级持续性威胁&…

3浏览器安全

上一篇👉: 浏览器渲染原理 浏览器安全涉及多方面的威胁与防护,其中XSS(跨站脚本攻击)与CSRF(跨站请求伪造)是最常见的两类安全问题,而中间人攻击与网络劫持也是不容忽视的安全隐患。下面是对这…

基于Java微信小程序小说阅读系统设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟感兴趣的可以先收藏起来,还…

深入探究:Kylin Cube构建时间的影响因素与优化策略

引言 Apache Kylin是一个开源的分布式分析引擎,旨在为Hadoop和Spark平台上的大数据提供快速的SQL查询能力。Kylin通过预计算技术,将数据预先聚合并存储在HBase中,从而实现对大数据集的亚秒级查询响应。Cube是Kylin中的核心概念,它…

【微服务网关——Go令牌桶限流】

1. time/rate限速器使用 令牌桶限流算法rate.NewLimiter(limit,burst)产生一个新的限速器 limit表示每秒产生token数、burst表示最多存token数 Allow判断当前是否可以取到tokenWait阻塞等待直到取到tokenReverse返回等待时间(预估的等待时间)&#xff0…

Docker 部署SpringBoot应用JAR包部署 构建镜像 DockerFile

环境 java8.0 拉取JDK镜像 docker pull openjdk:8基础镜像Dockerfile FROM openjdk:8 #配置java8ENV TZAsia/Shanghai #设置中国时间RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezoneCOPY demo.jar /app.jar #复制到容器ENTRY…