ubuntu入门

基础命令

  • cd

    • 切换命令
  • ls

    • 查看当前目录下所有的文件
  • cp

    • a.c b.c 拷贝a.c 到 b.c
  • touch a.c

    • 创建a.c文件
  • mkdir file

    • 创建文件夹file
  • rm file

    • 删除文件
  • rmdir 删除test文件夹

    • rmdir test/
  • mv 移动文件

    • mv a.c b.c 把a.c 替换成b.c
  • ifconfig ··查看电脑网络信息

  • rm xx 删除文件xx

  • power off 关机

  • sync 数据同步写入磁盘命令

  • find 查找文件命令

  • gedit a.c 编辑指定文件

  • ps 查看当前系统运行进程

ubuntu软件安装

1、通过APP Store安装

使用apt工具安装软件,需要sudo,也就是root权限。

2、使用APT工具安装 ( ★★★ )

使用apt包管理工具,apt可以自动下载,配置,安装。

3、deb软件包安装 ( ★★ )

使用dpkg命令安装deb软件包,命令如下:
sudo dpkg -i xxxx.deb在windows下,我们安装的是.exe文件,在Ubuntu就有一个.deb。安装网易云音乐,

4、自己下载程序源码编译安装( ★ )

Make
Make install

ubuntu 文件系统结构

/bin 	存放二进制可执行文件,这些命令在单用户模式下也能够使用。可以被root和一般的账号使用。
/boot	Ubuntu内核和启动文件,比如vmlinuz-xxx。gurb引导装载程序。
/dev		设备驱动文件
/etc		存放一些系统配置文件,比如用户账号和密码文件,各种服务的起始地址。
/home	系统默认的用户主文件夹,一般创建用户账户的时候,默认的用户主文件夹都会放到此目录下。
/lib		存放库文件
/media	此目录下放置可插拔设备,比如SD卡,或者U盘就是挂载到这个目录中。
/mnt	用户可使用的挂载点,如果要挂载一些额外的设备,那么就可以挂载到此处。
/opt		可选的文件和程序存放目录,给第三方软件放置的目录。
/root	root用户目录,也就是系统管理员目录。
/sbin	和/bin类似,也是存放一些二进制可执行文件。sbin下面的一般是系统开机过程中所需要的命令。
/srv		服务相关目录。比如网络服务。
/sys		记录内核信息,虚拟文件系统。
/tmp	临时目录
/var		存放一些变化的文件,比如日志文件
/usr		usr不是user的缩写,而是UNIX Software Resource的缩写,存放于系统用户有关的文件,会占用很大的存储空间!/proc	虚拟文件系统,数据放置到内存中,存放系统运行信息

绝对路径和相对路径

绝对路径:从根目录“/”算起的路径。
相对路径:相对于目前路径的文件名写法,比如./home/zzk。不是以“/”开头的就行。
“.”代表当前路径,也可以 用“./”表示
“..”代表上一层目录,也可以用“../”表示

ubuntu 磁盘文件

一、Ubuntu磁盘文件

/dev/sd*文件,此类文件是磁盘设备文件,并不能直接访问磁盘,必须要将磁盘挂载到某一个目录下才可以访问。
/dev/sdb和/dev/sdb1是U盘的设备文件。
/dev/sdb表示U盘,/dev/sdb1表示U盘的第一个分区。

二、磁盘和目录的容量查询命令

df:列出文件系统的整体磁盘使用量。主要查看个文件系统的使用量,
du:评估文件系统的磁盘使用量,主要查看单个文件的大小。

三、磁盘挂载与卸载,分区和格式化、

1、磁盘的挂载和卸载
mount和umount命令

2、磁盘分区
fdisk命令

3、磁盘格式化
磁盘分区创建好以后就可以格式化磁盘,使用命令mkfs。如:
mkfs -t vfat /dev/sdx

ubuntu 下压缩和解压

一、Linux下常用的压缩格式

Linux下常用的压缩扩展名有:.tar、.tar.bz2、.tar.gz。

二、Windows下7ZIP软件的安装

因为Linux下很多文件是.bz2,.gz结尾的压缩文件,因此需要在windows下安装7ZIP软件。

仨、gzip压缩工具

.gzip工具负责压缩和解压缩.gz格式的压缩包。
gzip xxx //压缩
gzip -d xxx.gz //解压缩

gzip对文件夹进行压缩
gzip -r xxx		//对文件夹进行压缩
gzip -rd xxx.gz	//对文件夹进行解压缩gzip虽然可以对文件夹进行压缩,但是并不能提供打包的服务,只是对文件夹中的所有文件进行了单独的压缩。

四、bzip2压缩工具

和gzip类似,只是bzip2工具负责压缩和解压缩.bz2格式的压缩包。
bzip2 -z xxx //压缩
bzip2 -d xxx.gz //解压缩

五、tar打包工具

tar工具参数:
-f,使用归档文件或 ARCHIVE 设备
-c:创建新归档,创建压缩文件
-x:从图档中解出文件,解压缩
-j:使用bzip2压缩格式。
-z:使用gzip压缩格式
-v:打印出命令执行过程。

tar工具提供打包服务,就是将多个文件打包,比如
tar -vcf test.tar test //将test打包成test.tar
tar -vxf test.tar //解包

上面的tar命令只提供了打包和解包的功能,tar在提供打包和解包的同时使用gzip/bzip2进行压缩,实现类似windwos下winRAR软件的命令。
1、对.tar.bz2进行压缩和解压缩
tar -vxjf xxx.tar.bz2 解压缩
tar -vcjf xxx.tar.bz2 xxx 压缩

2、对.tar.gz进行压缩和解压缩
tar -vxzf	xxx.tar.gz		//解压缩
tar -vczf xxx.tar.gz xxx 	//压缩

六、其他格式的压缩和解压缩

1、.rar格式
需要先安装rar:sudo apt-get install rar
rar x xxx.rar		//解压缩
rar a xxx.rar xxx	//压缩2、.zip格式
zip格式压缩使用“zip“命令:
zip -rv xxx.zip xxx	zip格式解压缩使用“unzip”命令:
unzip -v xxx.zip

ubuntu 用户与用户组

一、Linux用户

Linux是一个多用户操作系统,不同的用户拥有不同的权限。可以查看和操作不同的文件。 Ubuntu有三种用户:
1、初次创建的用户。
2、root用户
3、普通用户。
初次创建的用户权限比普通用户多,但是没有root用户多,初次创建的用户可以创建普通用户。Linux用户记录在/etc/passwd这个文件内。
Linux用户密码记录在/etc/shadow这个文件内。
每个用户都有一个ID,叫做UID。

二、Linux用户组

为了方便管理,将用户进行分组。这样就可以设置非本组人员不能访问某些文件。每个用户可以属于多个不同的组。

用户:家里有你、弟弟、妹妹个人,每个人都有自己的房间,你们三个人都是用户,你们都不能随便的乱翻别人的房间。
用户组:你们三个都是一个家庭的,也就是属于同一个用户组,你们三个可以共用厨房,书房等空间。

因此:
用户和用户组的存在就是为了控制文件的访问权限的。
每个用户组都有一个ID,叫做GID。用户组信息存储在/etc/group文件中。

三、创建用户和用户组

1、图形化界面创建
要使用图形化界面创建用户和用户组的话就需要安装gnome-system-tools这个工具:
sudo apt-get install gnome-system-tools

2、命令创建用户和用户组
添加用户:adduser命令,adduser 用户名
用户查询:finger命令,finger 用户名
修改用户密码:passwd命令,passwd 用户名
删除用户:deluser命令,deluser 用户名

添加用户组:addgroup命令,addgroup 用户组名
显示组内用户名:groups命令,groups 用户组名
删除用户组:delgroup命令,delgroup用户组名

ubuntu文件权限

一、Ubuntu/Linux文件权限

文件权限是指不同的用户或用户组对某个文件拥有的权限,文件的权限分为三种:
r:读
w:写
x:可执行。
文件描述形式如下:
在这里插入图片描述

-rw-rw-r—就是文件权限,第一位表示文件类型,剩下的每三位表示一组权限。分别对应拥有者权限、拥有者所在组权限、其他用户权限。
可以使用二进制表示文件权限。
r=4
w=2
x=1

a.c文件信息:
  • rw- rw- r–,a.c所属用户拥有读写权限无可执行权限。组内其他用户拥有读写权限无可执行权限,其他用户仅有可读权限。

二、Ubuntu/Linux文件权限修改

1、修改文件权限命令
chmod命令

2、修改文件所属用户
chown命令

linux 连接文件

一、Linux连接文件

Linux:有两种连接文件:符号连接(软连接)和硬链接,符号链接类似Windows下的快捷方式。硬链接通过文件系统的inode连接来产生新文件名,而不是产生新文件。
inode:记录文件属性,一个文件一个inode。inode相当于文件ID,查找文件的时候要先找到inode,然后才能读出文件的内容。

二、ln命令

ln命令用于创建连接文件:

ln [选项] 源文件 目标文件
选项:-s 创建符号链接(软连接)
-f 强制创建连接文件,如果目标存在,那么先删除掉目标文件,然后再建立连接文件。

三、硬连接

硬链接是多个文件都指向同一个inode,硬链接知识点:
①、具有相同inode的多个文件互为硬链接文件,创建硬链接相当于文件实体多了入口。
②、对于硬链接文件,只有删除了源文件以及对应的所有硬连接文件,文件实体才会被删除。
③、根据硬链接文件的特点,我们可以通过给文件创建硬连接的方式来防止文件误删除。
④、不论修改源文件还是连接文件,另一个文件的数据都会被改变。
⑤、硬连接不能跨文件系统。
⑥、硬连接不能连接到目录。

因为以上这些限制,硬链接其实不常用。

四、符号连接(软连接)

符号连接类似Windows下的快捷方式,符号链接也叫做软连接,软连接要用的多。符号连接相当于创建了一个独立的文件,这个文件会让数据读取指向它连接的哪个文件的文件名。软连接的特点:
①、可以连接到目录。
②、可以跨文件系统。
③、删除源文件以后,软连接文件也就“打不开了”。
④、符号连接文件通过->来指示具体的连接文件。
⑤、符号连接要使用绝对路径,否则连接出问题。

VIM编译器

Linux系统都会自带vi编辑器,但是vi编辑器太难用了!所以建议大家安装vim编辑器,安装命令:

sudo apt-get install vim

保存退出
当文件编辑好以后,输入:wq来保存退出。:q退出,:q!不保存退出,:w保存。

其他操作方式
1、按下键盘上的上下左右键来控制光标。

一般模式下:

1、dd,删除光标所在行,ndd,删除光标所在行及其下n行。
2、u,撤销,恢复上一步。
3、. ,重复前一个操作。
4、yy,复制光标所在行
5,nyy,复制光标所在向下n行,比如10yy就是复制光标下10行。
6,p和P,p为复制到光标下一行,P复制到光标上一行。

linux C编程

编写C程序

vi a.c
生成a.c 文件并进入编辑模式
gcc a.c -o a
将a.c 编译生成.o 文件
./a
将a可执行文件进行运行

make工具和Makefile文件

make:一般说GNU Make,是一个软件,用于将源代码文件编译为可执行的二进制文件,make工具主要用于完成自动化编译。make工具编译的时候需要Makefile文件提供编译文件。

Makefile:make工具所使用的文件,Makefile指明了编译规则。

下面是makefile 规则:

在这里插入图片描述

解析: main 生成的目标
目标依赖: main.o input.o calcu.o
如果上述.o 文件存在,就根据gcc -o main main.o input.o calcu.o 链接出一个main

使用make命令进行编译:
在这里插入图片描述

假设现在有3个文件,而你只修改了其中一个文件,在使用make 进行编译的时候,只会对修改的文件进行编译生成.o 目标文件,其他的不会进行操作。

然后编译器再进行链接

Makefile入门(超详细一文读懂)

Linux 自动化构建工具(make/Makefile)


Makefile 基本规则

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

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

相关文章

虹科Pico汽车示波器 | 免拆诊断案例 | 起动机免拆诊断故障 2 例

电磁开关、换向器烧蚀及炭刷磨损均会导致起动机偶尔不工作,使发动机偶尔无法起动。由于故障是偶发的,且没有故障代码,这往往会让维修人员无从下手,而用Pico示波器测量起动电流,就会让这些“亚健康状态”一目了然。 案例…

MongoDB磁盘空间占满,导致数据库被锁定,如何清理数据和磁盘空间

一、问题 1、我在实际项目中,遇到一个问题,随着数据每天的不断增加,导致mongodb的磁盘空间站满了,数据库被锁了,无法使用。 2、故障表现 部署的应用程序突然无法将数据写入数据库,但是可以正常读取数据。…

与 Apollo 共创生态:观看7周年大会的心路历程

前言 在科技飞速发展的今天,自动驾驶技术已然成为行业创新的热点之一。作为一名长期关注自动驾驶领域的技术人员,我有幸见证了Apollo平台的成长与壮大。七年前,Apollo的诞生为我们带来了无尽的想象与期待;七年后的今天&#xff0…

1天搞定uniApp+Vue3+vite+Element UI或者Element Plus开发学习,使用vite构建管理项目,HBuilderX做为开发者工具

我们通常给小程序或者app开发后台时,不可避免的要用到可视化的数据管理后台,而vue和Element是我们目前比较主流的开发管理后台的主流搭配。所以今天石头哥就带大家来一起学习下vue3和Element plus的开发。 准备工作 1,下载HBuilderX 开发者…

STL——stackqueue

stack stack即为栈&#xff0c;先进后出是其特点 栈只有栈顶元素能被外界使用&#xff0c;故不存在遍历行为 栈中常用接口 构造函数 stack<T> stk; //默认构造方式 stack(const stack &stk); //拷贝构造 赋值操作 stack& operator(const stack &stk); …

Linux服务器安全基础 - 查看入侵痕迹

1. 常见系统日志 /var/log/cron 记录了系统定时任务相关的日志 /var/log/dmesg 记录了系统在开机时内核自检的信息&#xff0c;也可以使用dmesg命令直接查看内核自检信息 /var/log/secure:记录登录系统存取数据的文件;例如:pop3,ssh,telnet,ftp等都会记录在此. /var/log/btmp:记…

Flask教程1:flask框架基础入门,路由、模板、装饰器

文章目录 一、 简介二、 概要 一、 简介 Flask是一个非常小的Python Web框架&#xff0c;被称为微型框架&#xff1b;只提供了一个稳健的核心&#xff0c;其他功能全部是通过扩展实现的&#xff1b;意思就是我们可以根据项目的需要量身定制&#xff0c;也意味着我们需要学习各…

(7)快速调优

文章目录 前言 1 安装脚本 2 运行 QuikTune 3 高级配置 前言 VTOL QuikTune Lua 脚本简化了为多旋翼飞行器的姿态控制参数寻找最佳调整的过程。 脚本会缓慢增加相关增益&#xff0c;直到检测到振荡。然后&#xff0c;它将增益降低 60%&#xff0c;并进入下一个增益。所有增…

VScode 无法连接云服务器

试了很多方法&#xff0c;比如更换VScode版本&#xff0c;卸载重装&#xff0c;删除配置文件 重启电脑&#xff0c;都无法成功。最后重置电脑后才连接上&#xff0c;但是重启服务器后又出现该问题。 方法一&#xff1a;修改环境 方法二&#xff1a;把vscode卸载干净重下

JVM支持的可配置参数查看和分类

JVM参数大致可以分为三类: 标注指令:-开头。 这些是所有的HotSpot都支持的参数。可以用java-help 打印出来。 非标准指令: -X开头。 这些指令通常是跟特定的HotSpot版本对应的。可以用java -X打印出来。 不稳定参数: -XX 开头。 这一类参数是跟特定HotSpot版本对应的&#x…

Java Maven 编译资源文件拷贝错误 dirCompressed.zip failed with MalformedInputException:

完整的错误信息为&#xff1a; [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.3.1:resources (default-resources) on project core-java-io: filtering C:\WorkDir\Repository\iSharkfly-Docs\java-tutorials\core-java-modules\core-ja…

VitePress 构建的博客如何部署到 Netlify 平台?

VitePress 构建的博客如何部署到 Netlify 平台&#xff1f; 前言 之前写了篇文章【使用 Vitepress 构建博客并部署到 github 平台】&#xff0c;有个老哥说 github page 访问太慢了&#xff0c;希望放到 Netlify 平台上面。 咱也没部署过&#xff0c;就试了一下&#xff0c;发…

【计算智能】基本遗传算法在优化问题中的应用与实验【理论到程序】

文章目录 1. 引言&#xff1a;遗传算法简介2. 基本遗传算法&#xff08;SGA&#xff09;2.1 基本遗传算法的构成要素1. 染色体编码2. 适应度函数3. 遗传算子 2.2 实验设计与方法1. 算法流程2. 伪代码3. python实现1. 导入模块2. 目标函数 f(x)3 初始化种群4. 计算适应度5. 选择…

再谈有效地访问Github

文章目录 1. 知识回顾2. 问题描述3. 问题解决3.1 Mac系统3.2 Windows系统4. 内容总结1. 知识回顾 我们在之前的内容中介绍过如何有效地访问Github。如果大家忘记的话可以点击这里查看。之前的内容主要偏重于问题的分析和解决的思路,有些朋友看了后还是不清楚如何解决问题。 …

设计模式之工厂模式FactoryPattern(二)

一、简单工厂 package com.xu.demo.factoryPattern;/*** 简单工厂模式类*/ public class SimpleFactoryPattern {public static Phone create(String name) {//根据输入对象名称判断返回相匹配的对象if("IPhone".equals(name)) {//返回对象return new IPhone();}else…

【补充】图神经网络前传——图论

本文作为对图神经网络的补充。主要内容是看书。 仅包含Introduction to Graph Theory前五章以及其他相关书籍的相关内容&#xff08;如果后续在实践中发现前五章不够&#xff0c;会补上剩余内容&#xff09; 引入 什么是图&#xff1f; 如上图所示的路线图和电路图都可以使用…

国家开放大学2024年春《Matlab语言及其应用》实验一熟悉Matlab 操作环境参考答案

实验报告 姓名&#xff1a; 学号&#xff1a; 实验一名称&#xff1a;熟悉 Matlab 操作环境 实验目标&#xff1a;通过简单变量和矩阵的录入、计算和查看相关信息&#xff0c;了解 Matlab 操作界面 及各子窗口使用方法。熟悉一系列便于使用的 Matlab 函数和文件的工具。 实…

复旦 北大 | 从头训练中文大模型:CT-LLM

引言 当前&#xff0c;绝大多数大模型&#xff08;LLMs&#xff09;基本上都是以英文语料库训练得到的&#xff0c;然后经过SFT来匹配不同的语种。然而&#xff0c;今天给大家分享的这篇文章旨在从头开始训练中文大模型&#xff0c;在训练过程中「主要纳入中文文本数据」&…

qt5-入门-2D绘图-Graphics View 架构

参考&#xff1a; Qt Graphics View Framework_w3cschool https://www.w3cschool.cn/learnroadqt/4mvj1j53.html C GUI Programming with Qt 4, Second Edition 本地环境&#xff1a; win10专业版&#xff0c;64位&#xff0c;Qt 5.12 基础知识 QPainter比较适合少量绘图的情…

10个使用NumPy就可以进行的图像处理步骤

图像处理是一种数学计算。数字图像由称为像素的彩色小点组成。每个像素由红、绿、蓝(RGB)三个独立的颜色组成。每个像素中的主色由每个RGB分量的数值决定。 本文将介绍10个使用使用NumPy就可以进行的图像处理步骤&#xff0c;虽然有更强大的图像处理库&#xff0c;但是这些简单…