Linux入门(二)-初识Ubuntu

本文详细介绍了Ubuntu系统的终端操作,包括软件安装的五种方法,如通过APT工具、deb包和源码编译,磁盘管理如挂载、卸载、分区和格式化,以及文件权限管理和用户管理。此外,还涵盖了文件压缩格式如gzip和bzip2,以及文本编辑器gedit和vim的使用。
摘要由CSDN通过智能技术生成

Ubuntu终端操作

Ubuntu终端

Ubuntu终端与Windows的命令行窗口相同。(鼠标右击桌面空白处,有打开终端的选项。)

Ubuntu软件安装的五种方法

一、通过APP Store安装

打开此软件,里面有好多软件。

二、使用APT工具安装(常用)

使用 APT 工具安装软件。Linux apt 命令,apt(Advanced Packaging Tool)是一个在 Debian 和 Ubuntu 中的 Shell 前端软件包管理器。apt 命令提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令。apt 命令执行需要超级管理员权限(root)。

列出所有可更新的软件清单命令:sudo apt update

升级软件包:sudo apt upgrade

列出可更新的软件包及版本信息:apt list --upgradeable

升级软件包,升级前先删除需要更新软件包:sudo apt full-upgrade

安装指定的软件命令:sudo apt install <package_name>

安装多个软件包:sudo apt install <package_1> <package_2> <package_3>

更新指定的软件命令:sudo apt update <package_name>

显示软件包具体信息,如:版本号,安装大小,依赖关系等:sudo apt show <package_name>

删除软件包命令:sudo apt remove <package_name>

清理不再使用的依赖和库文件: sudo apt autoremove

移除软件包及配置文件: sudo apt purge <package_name>

查找软件包命令: sudo apt search <keyword>

列出所有已安装的包:apt list --installed

列出所有已安装的包的版本信息:apt list --all-versions

三、deb软件包安装(常用)

dpkg-底层的包管理工具。使用dpkg命令安装deb软件包,命令:sudo dpkg -l xxxx.deb。(xxxx就是你要装的软件,后缀必须是.deb的。在Windows下,我们安装的是.exe文件,Ubuntu下是.deb)

网上下载.deb文件包,然后dpkg命令执行:安装deb软件包。

安装软件:dpkg -i xxxx. deb
查看安装目录:dpkg -L xxxx
显示版本:dpkg -l xxxx
详细信息:dpkg -s xxxx
罗列内容:dpkg -c xxxx.deb
卸载软件:dpkg -r xxxx

四、自己下载程序源码,make编译,安装。

make(编译)-->make install。

五、其他安装方法

有些软件用上面四种方法无法安装,或者相应软件的官方提供了自己的特殊的一种安装方法。

比如:QT扩展名是.run,就不能像.deb一样用dpkg命令安装。

Ubuntu文件系统结构

一、根目录 “/”

Linux下“/”就是根目录!所有的目录都是由根目录衍生出来的。(我把Ubuntu系统单独安装在一个硬盘,我这个盘是Ubuntu的根目录。)

二、Ubuntu文件系统结构

/xxx        就是根目录下的xxx文件夹。

/bin        存放二进制可执行文件(可用的命令),这些命令在单用户模式下也能够使用。可以被 root 和一般的账号使用。
/boot        Ubuntu内核和启动文件,比如 vmlinuz-xxx。gurb引导装载程序。

/cdrom        放上光盘之后里面会有光盘里存储的文件。
/dev        设备驱动文件。

/etc        存放一些系统配置文件,比如用户账号和密码文件,各种服务的起始地址。

/home        系统默认的用户主文件夹,一般创建用户账户的时候,默认的用户主文件夹都会放到此目录下。如下图:

/lib和/lib64        存放库文件。

/media        此目录下放置可插拔设备,比如 SD 卡,或者 U 盘就是挂载到这个目录中。

/mnt        用户可使用的挂载点,如果要挂载一些额外的设备,那么就可以挂载到此处。

/opt        可选的文件和程序存放目录,给第三方软件放置的目录。

/proc        存放系统的一些运行文件运行信息,它是一个虚拟的文件系统。

/root        root用户目录,也就是系统管理员目录。

/sbin        和/bin 类似,是存放一些二进制可执行文件。sbin下面的一般是系统开机过程中所需要的命令。

/srv        服务相关目录。比如网络服务。
/sys        记录内核信息,虚拟文件系统。
/tmp        临时目录,存放一些临时文件。
/var        存放一些变化的文件,比如日志文件。

/usr        usr不是user的缩写,而是UNIX Software Resource 的缩写,存放与系统用户有关的文件,会占用很大的存储空间!
/proc        虚拟文件系统,数据放置到内存中,存放系统运行信息。

三、绝对路径和相对路径

绝对路径:从根目录“/”算起的路径。

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

Ubuntu下磁盘管理

一、Ubuntu磁盘文件

/dev/sd* 文件,此类文件是磁盘设备文件,并不能直接访问磁盘,必须要将磁盘挂载到某一个目录下才可以访问。(dev文件目录下对应的是具体的设备)

最后四行,分别是拔掉U盘和插上U盘的磁盘设备。可知,U盘对应的磁盘设备文件是sdb和sdb1。

/dev/sdb表示U盘,/dev/sdb1表示U盘的第一个分区。

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

df 命令:用于显示 Linux 系统中各文件系统的硬盘使用情况,包括文件系统所在硬盘分区的总容量、已使用的容量、剩余容量等。

du命令:用于显示目录或文件的大小。du会显示指定的目录或文件所占用的磁盘空间。

du --max-depth=<目录层数>:超过指定层数的目录后,予以忽略。

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

1、磁盘挂载与卸载

mount与umount命令

mount命令用于挂载Linux系统外的文件。

使用方法:mount  /dev/ABCD  /mnt:将 /dev/ABCD 挂在 /mnt 之下。

mount  -o  iocharset=utf8  /dev/sdb1  /media/lyp/Upan。挂载时候磁盘内容出现中文乱码的话用此命令挂载。utf8编码。

umount卸载命令需要在退出磁盘目录的情况下使用,处在磁盘目录中使用卸载命令会提示正在运行无法卸载。

2、磁盘分区

fdisk命令:用户创建、删除、调整和管理磁盘分区命令。

sudo  fdisk -l:查看所有磁盘的分区。

删除磁盘分区前需要把磁盘卸载umount命令,然后如下图执行删除分区命令。(删除sdb1分区)

添加新分区

分区大小1GB=1024*1024*1024=1073741824B。一个扇区是512B。1073741824B / 512B = 2097152个扇区。2097152+2048=2099200个扇区。(不是从0个扇区开始,而是从2048个扇区开始的。)

3、磁盘格式化

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

格式化的意思就是给每个分区装一个文件系统,比如:FAT,EXT等。

Ubuntu下的压缩与解压缩

一、Linux下常用的压缩格式

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

二、Windows下7.zip软件的安装

因为 Linux 下很多文件是.bzip2,.gz 结尾的压缩文件,因此需要在Windows下安装压缩软件。常用的有7.zip,Bandizip。

三、Ubuntu下gzip压缩工具(命令行操作)

.gzip工具负责压缩和解压缩.gz格式的压缩包:

gzip        xxx//压缩
gzip -d        xxx.gz//解压缩

gzip对文件夹进行压缩:
gzip -r xxx        //对文件夹进行压缩
gzip -rd xxx       //对文件夹进行解压缩

        gzip.虽然可以对文件夹进行压缩,但是并不能提供打包的服务,只是对文件夹中的所有文件进行了单独的压缩。(比如:创建一个a文件夹,里面有bcd三个文件,对a文件夹执行gzip -r,只会压缩里面的bcd文件成为b.gz,c.gz,d.gz,但a文件夹并未被打包为a.gz。)

四、bzip2压缩工具

和gzip类似,只是bzip2工具负责压缩和解压缩.bz2格式的压缩包。

bzip2 -z xxx        //压缩

bzip2 -d xxxgz        //解压缩

五、tar打包工具

tar 工具提供打包服务,就是将多个文件打包,比如:

tar -vcf  test.tar  test        //将 test 打包成 test.tar

tar -vxf  test.tar        //解包(这种多选项命令,f要放在最后面)

tar -f         //指定tar命令的归档文件

tar -c        //创建新归档,创建压缩文件

tar -cf   <归档之后的文件名>  <要归档的文件或目录>

//将指定的文件或目录归档到一个新的归档文件中。-c表示创建一个归档文件, -f后跟归档文件名。归档文件名通常以.tar为后缀,但也可选择其他后缀,比如:.tar.gz表示gzip压缩的归档文件。

tar -x        //从图档中解出文件,解压缩

tar -j         //使用bzip2压缩格式

tar -z        //使用gzip压缩格式

tar -v        //打印出命令执行过程

压缩文件 非打包

# touch a.c
# tar -czvf  test.tar.gz  a.c //压缩 a.c文件为test.tar.gz

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

1、对tar.bz2进行压缩和解压缩
tar  -yxif  xxx.tar.bz2        //解压缩
tar  -vgif  xxx.tar.bz2  xxx         //压缩
2、对tar.gz进行压缩和解压缩
tar  -vxzf xxx.tar.gz        //解压缩
tar  -yczf  xxx.tar.gz xxx        //压缩

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

.rar格式
需要先安装rar:sudo  apt-get  install  rar
rar x  xxx.rar://解压缩
rar a  xxx.rar  xxx://压缩

.zip 格式
zip -rv  xxx.zip  xxx://压缩使用“zip“命令
unzip  -v  xxx.zip://解压缩使用“unzip”命令

Ubuntu的用户和用户组

一、Linux用户

Linux 是一个多用户操作系统,不同的用户拥有不同的权限。可以查看和操作不同的文件。Ubuntu 有三种用户:
1、初次创建的用户。
2、root 用户
3、普通用户。
初次创建的用户权限比普通用户多,但是没有 root 用户多,初次创建的用户可以创建普通用户。

Linux 用户记录在/etc/passwd 这个文件内。

Linux 用户密码记录在/etc/shadow 这个文件内。

每个用户都有一个ID,叫做UID。

vi命令用来进入vi文本编辑器,vi文本编辑器是所有Unix及Linux系统下标准的编辑器。

sudo  vi  /etc/passwd:在vi文本编译器下打开/etc/passwd文件。

二、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文件权限

        在使用 Windows 的时候我们很少接触到用户权限,最多就是打开某个软件出问题的时候会选择以“管理员身份”打开。Ubuntu下我们会常跟用户权限打交道,权限就是用户对于系统资源的使用限制情况,root 用户拥有最大的权限,装系统的时候创建的用户拥有root用户的部分权限,普通用户的权限最低。做嵌入式开发一般不关注用户的权限问题,因为嵌入式基本是单用户,做嵌入式开发重点关注的是文件的权限问题。

对于一个文件通常有三种权限:读(r)、写(w)和执行(x),使用命令“ls -l”可以查看某个目录下所有文件的权限信息。

注:对于目录来说,读许可权和执行许可权的意义不同。读许可权允许读目录,获得该目录中所有文件名的列表。要在一个目录中创建新文件,则必须对该目录具有写许可权和执行许可权。同样,删除一个文件,需要对目录具有写许可权和执行许可权。

-rw-rw-r--:就是文件权限。

第一位的一个 “-” 代表文件类型。具体来说,有以下几种可能的文件类型:

  • “-” 表示常规文件 (regular file)。
  • “d” 表示目录 (directory)。
  • “l” 表示符号链接 (symbolic link)。
  • “b” 表示块设备文件 (block device file)。
  • “c” 表示字符设备文件 (character device file)。
  • “s” 表示套接字文件 (socket file)。
  • “p” 表示命名管道 (named pipe)。

-rw-rw-r--除第一位以外,剩下的每三位表示一组权限:

  • 拥有者权限rw-:读写;
  • 拥有者所在组权限rw-:读写;
  • 其他用户权限r--:只能读。
数字表达权限

文件的权限有三种:读(r)、写(w)和执行(x),除了用 r、 w 和 x 表示以外,也可以使用二进制数表示,三种权限就可以使用 3 位二进制数来表示,一种权限对应一个二进制位,如果该位为 1 就表示具备此权限,如果该位为 0 就表示不具备此权限。

将三种权限 r、 w 和 x进行不同的组合,即可得到不同的二进制数和八进制数, 3 位权限可以组出 8 种不同的权限组合。

二、Ubuntu/Linux文件权限管理

权限管理命令:我们也可以使用 Shell 来操作文件的权限管理,主要用到“chmod”和“chown”这两个命令。

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

命令“chmod”用于修改文件或者文件夹的权限,权限可以使用上面提到的数字表示也可以使用字母表示

命令格式:chmod  [参数]  [文件名/目录名]

主要参数:chmod  -v:显示指令的执行过程。

chmod  -c:效果类似“-v”参数,但仅回显更改的部分。

chmod  -R:递归处理,指定目录下的所有文件及其子目录一起处理。

2、文件归属者修改命令:chown

chown命令用于更改文件或目录的所有者,即改变文件/目录的用户属性。在Linux系统中,只有超级用户(root)或文件的所有者可以使用 chown命令。

命令格式:chown  [选项]  用户.组  文件名/目录名

主要参数:chown -R:递归地更改目录及其下所有文件和子目录的所有者。

chown -v:显示详细的操作信息。

chown -c:只显示发生了更改的文件,如果没有更改则不显示。

如下图:将lyp用户组改为root;再将lyp用户改为root;最后将用户和用户组都改回lyp。

.root:改用户组。root:改用户。root.root:同时改用户和用户组。

Linux连接文件

一、Linux连接文件

Linux中有两种类型的链接:硬链接和软链接(符号链接)。符号连接类似Windows下的快捷方式。而硬连接通过文件系统的 inode 连接来产生新文件名,而不是产生新文件。

inode:记录文件属性,一个文件一个inode。inode 相当于文件ID,查找文件的时候要先找到inode,然后才能读出文件的内容。

二、ln命令与ll -i命令

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

ln  [选项]  源文件  目标文件

选项:ln -s 创建符号链接(软连接)。默认是创建硬连接。

ln -f 强制创建连接文件,如果目标存在,那么先删除掉目标文件,然后再建立连接文件。

ll -i命令:文件列表命令,以长格式显示文件和目录,并显示它们的inode号码。每个文件和目录在文件系统中都有一个唯一的inode号码,它用来标识文件和目录。此命令可以帮助用户查看文件和目录的详细信息,包括文件权限、所有者、大小、创建日期和时间等。通过inode号码,用户可以更具体地操作文件,如删除或重命名。(下面有具体使用实例)

三、硬连接

硬链接是多个文件都指向同一个 inode,硬链接知识点:

1.具有相同inode的多个文件互为硬链接文件,创建硬链接相当于文件实体多了入口。

2.对于硬链接文件,只有删除了源文件以及对应的所有硬连接文件,文件实体才会被删除。

3.根据硬链接文件的特点,我们可以通过给文件创建硬连接的方式来防止文件误删除。

4.不论修改源文件还是连接文件,另一个文件的数据都会被改变。

5.硬连接不能跨文件系统。

6.硬连接不能连接到目录。

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

上图这三个hello,hello1,hello2是同一个inode。

执行hello,hello1,hello2,执行结果相同。

四、符号连接(软连接)

符号连接类似 Windows 下的快捷方式,符号链接也叫做软连接,软连接要用的多。符号连接相当于创建了一个独立的文件,这个文件会让数据读取指向它连接的哪个文件的文件名。软连接的特点:

1.可以连接到目录。

2.可以跨文件系统。

3.删除源文件以后,软连接文件也就"打不开了”。类似Windows把源文件删除后,快捷方式就没用了。

4.符号连接文件通过 -> 来指示具体的连接文件。

5.符号连接源文件要使用绝对路径,否则连接出问题。(不使用绝对路径的话,拷贝的时候会出现问题)

硬链接和软链接的不同之处在于,源文件删除后,软链接无法定位到源文件,所以会显示没有文件;硬链接类似于复制,删除源文件,硬链接依然可以访问。假如删除源文件后,重新创建一个同名文件,软链接将恢复;硬链接则不再有效。因为文件的 i 节点已经改变。

注意:修改硬链接的目标文件名,硬链接依然有效;修改软链接的目标文件名,软链接将断开;对一个已存在的链接文件执行移动或删除操作,有可能导致链接的断开。

Ubuntu下文本编辑

一、gedit编辑器

        进行文本编辑是最常用的操作,Windows 下我们会使用记事本来完成,或者其它一些优秀的文本编辑器,比如:notepad++, Ubuntu 下也有一个自带的文本编辑器,那就是 gedit。gedit 是一个窗口式的编辑器。gedit是基于图形界面的,但大多数做嵌入式Linux开发时候是没有图形界面的,都是终端命令行操作。

二、vi/vim编辑器

一、vim编辑器三种工作模式

        我们如果要在终端模式下进行文本编辑或者修改文件就可以使用 VI/VIM 编辑器,Ubuntu自带了 VI 编辑器,但是 VI 编辑器对于习惯了 Windows 下进行开发的人来说不方便,比如:不能使用键盘上的上下左右键调整光标位置。因此使用 VIM 编辑器,VIM 编辑器是 VI 编辑器升级版本, VI/VIM 编辑器都是一种基于指令式的编辑器,不需要鼠标,也没有菜单,仅仅使用键盘来完成所有的编辑工作。

我们需要先安装 VIM 编辑器,命令:sudo  apt-get  install  vim

二、vim编辑器三种工作模式

vi  xxx:使用vi编辑器打开文件。

/xxx:表示在文件中查找xxx

  • 一般模式(指令模式):默认模式,用vi打开一个软件以后自动进入到此模式。
  • 编辑模式:一般模式中无法编辑文件,要编辑文件就要进入编辑模式,按下“i、l、a、A、o、O、s、r"等就会进入到编辑模式。一般按下"a"进入编辑模式。按下ESC键可退出编辑模式。
  • 命令行模式(底行模式):先进入到一般模式,然后输入  : 、/ 、? 这三个中的任意一个就可以进入到命令行模式。

VIM默认是以只读模式打开的文档,因此我们要切换到输入模式,切换到输入模式的命令如下:

i:在当前光标所在字符的前面,转为输入模式。

l:在当前光标所在行的行首转换为输入模式。
a:在当前光标所在字符的后面,转为输入模式。
A:在光标所在行的行尾,转换为输入模式。
o:在当前光标所在行的下方,新建一行,并转为输入模式。
O:在当前光标所在行的上方,新建一行,并转为输入模式。
s:删除光标所在字符。
r:替换光标处字符。

最常用的就是“a”,按下键盘上的“a”键,这时候终端左下角会提示“插入”字样,表示我们进入到了输入模式。

按Esc:会退出到指令模式(一般模式)。

三、保存退出

保存文档的命令是在底行模式中,我们要先进入到指令模式,进入底行模式的方式是先进入指令模式下,然后在指令模式下输入“:”进入底行模式。

当进入底行模式以后会在终端的左下角就会出现符号“:”,我们可以在“:”后面输入命令,常用的命令如下:

x:保存当前文档并且退出。

q:退出

w:保存文档

q!:退出vi/vim不保存文档。

如果我们要退出并保存文本的话需要在“:”底行模式下输入“wq”

四、其它操作方式

按下键盘上的上下左右键来控制光标。

按Esc处于一般模式下操作:
1、dd,删除光标所在行。ndd,删除光标所在行及其下n行。
2、u,撤销,恢复上一步。
3、.  ,重复前一个操作。
4、y,复制光标所在行。nyy,复制光标所在向下n 行,比如 10yy 就是复制光标下 10行。

5、p和P,p为复制(粘贴)到光标下一行,P 复制(粘贴)到光标上一行。

五、vim编辑器创建.c程序并编译

写在最后:希望本文可以帮助到各位读者,文章如有不足,欢迎大家指出,如果文章帮到你了,请一定帮忙点个赞哦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值