ubuntu学习 您所在的位置:网站首页 home路径在哪 ubuntu学习

ubuntu学习

2024-07-18 00:21| 来源: 网络整理| 查看: 265

Liunx文件目录 home是家目录,是个人目录,建议在通常情况下个人相关的内容也是保存在该目录中,因为其它目录大都是系统相关的,使用时容易导致混乱,而且需要相关权限特别地,前面说明的家目录(个人目录)路径为“/home/用户名/”,见下图,图中的例子目录是/home/embedfire 。也就是说,在 Ubuntu 系统下,用户的个人目录都在“/home”下,并且按照用户名命名,如果系统下有多个用户 A、B、C 并且它们都有个人目录的话,那么它们的个人目录路径默认就是“/home/A”,“/home/B”,“/home/C”。如软件工具默认安装在/usr/bin 目录,软件工具的配置文件可能位于/etc 目录,甚至系统的日常使用如插入 U 盘或光盘,又发现它们不会像 Windows 有独立的盘符可以访问,而是默认挂载在/media 或/mnt 目录下。 根目录结构

整个 Linux 系统有且只有一棵从根目录开始的目录树,如下图所示 在这里插入图片描述

给电脑插入 U 盘,系统会自动把 U 盘挂载在“/media/用户名/”目录下,打开该目录即可访问 U盘进行读写

根目录的内容如下图: 在这里插入图片描述

文件类型

在Linux下一切皆文件

普通文件 如文本文件,bin 文件等可执行文件 可执行文件包括脚本和应用程序,这些文件可被系统加载运行,类似 Windows 下的 bat 脚本、exe程序文件等。链接文件分为硬链接和软链接: • 硬链接是指同一个文件的不同别名。 • 软链接文件有类似于 Windows 的快捷方式。它实际上是 一 个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。目录文件 在 Linux 下目录也是文件。设备文件 硬件设备也是文件,通过打开对应的设备文件可以初始化设备,部分设备还可以通过读写设备文 件实现对硬件的控制 文件扩展名

在 Windows 下习惯通过文件的后缀名来判断可以使用什么软件打开对应的文件,而 Linux 下没有 这样的要求,便 Linux 下为了容易区分和兼容用户使用 Windows 的习惯,我们还是会用扩展名来 表示文件类型。举例如下:

后缀.tar、.tar.gz、.tgz、.zip、.tar.bz 表示压缩文件,创建命令一般为 tar,gzip,zip 等。在压 缩文件中的后缀名来通常表示自身由什么压缩格式打包的,以便解压时方便选择要使用的 命令。.sh 表示 shell 脚本文件,通过 shell 语言开发的程序。.pl 表示 perl 语言文件,通过 perl 语言开发的程序。.py 表示 python 语言文件,通过 python 语言开发的程序。.html、.htm、.php、.jsp、.do 表示网页语言的文件。.conf 表示系统服务的配置文件。.rpm 表示 rpm 安装包文件。 用户组与文件权限 在etc文件夹下有三个重要的文件:/etc/passwd ;/etc/shadow;/etc/group/etc/passwd用于存放用户帐号信息,/etc/shadow 用于存放每个用户加密的密码,/etc/group用于 存放用户的组信息。 开机登入时,先在password上查找用户名是否正确,正确的话获取UID;然后在group文件获取gid;前两部完成后,在shadow文件下查看密码是否正确 用户及用户组 用户按照使用者分为:管理员,系统用户,普通用户在 Linux 中,每个用户都有一个特定的编号——UID,用于标识一个系统用户。Linux 将标号 0 分配给 root 用户的 uid,它可以分配给每个用户不同的权限,因此每个用户可进行的操作也不同。UID取值范围: root 0; 系统用户:1~999;普通用户1000以上每个用户可以对应多个分组 文件权限 Linux 的文件属性,可以分为读权限、写权限、执行权限。读权限以及写权限,基本上和 Windows操作系统是一样的。执行权限,是指可以加载到内存中,并由操作系统加载程序执行的文件。 在 Windows 操作系统中,我们接触最多的应该是后缀为.exe 的文件。但是对Linux 来说,它并不是通过后缀名来识别文件类型的,如果我们想要执行某个可执行文件,则需要为其添加执行权限,即勾选前面的“允许作为程序可执行文件"。关于 Linux 文件权限,还需要分三种情况:文件拥有者(owner),分组成员(groups) 以及其他分组成员(other)。我们可以通过 chmod 命令在终端快速地修改文件的权限。如果给所有人添加可执行权限:chmod a+x 文件名; 如果给文件所有者添加可执行权限:chmod u+x 文件名 r w x Linux命令行

在早期的 Unix 系统与用户就是通过 Shell 进行交互的,如下图所示,Shell 对外接受用户输入的命令,对内通过“系统调用”传递给内核,内核执行操作后把输出通过 Shell 呈现给用户,也就是说,Shell 就是一个中间人。而 Shell 的英文原意“壳”,也是为了把它与内核区分开来。 在这里插入图片描述 Shell、终端(Terminal)或控制台(Console),严格来说它们实际上不是同样的东西,但只要明白,当我们说打开 Shell、终端或控制台的时候,通常就是为了使用命令行控制系统。它们的严格区分如下,了解下即可:

Shell:指命令行解释器,常见的解释器有 bash,sh,在 Ubuntu 系统默认用的是 bash 解释器,所以有时说 bash 也是指命令行。终端(Terminal):通常指用来运行 Shell 的程序,示场景的不同有不一样的名称,如 Ubuntu系统自带的叫本地终端,嵌入式开发板常常提供串口进行输入输出的串口终端,通过网络访问的 ssh 终端。控制台(Console):特指某些终端,通常是指它的物理形态,如带键盘和显示器的物理设备。

通过快捷键 Ctrl+Alt+T,可以快速打开一个命令行终端;

命令提示符

在这里插入图片描述

pwd 输出当前所在目录ls 显示当前目录所有内容每个命令都会带有一个“-h”或者“–help”的参数,可以用来打印一些帮助说明 在这里插入图片描述自动补全 按一下“Tab”键时如果只有一个匹配的内容时它会自动补全,按两下“Tab”键则会列出所有的匹配项。Tab”键除了用来补全命令名,还可以自动补全路径,如我们使用 cd 命令输入“/home”参数时,先输入“/ho”然后按下“Tab”键,它会把“/ho”自动补全为“/home”路径名 命令的退出与取消

在应用中我们有时会想要中止命令的执行,或者命令输入到一半的时候觉得输错了不想继续,这时我们都可以通过“Ctrl”+“c”的组合键来结束。

命令究竟是什么

在终端中,我们使用 which 命令可以查看指定命令的路径,如查看 ls、pwd、cd 命令: 在这里插入图片描述ls 命令实际是/bin/ls 程序,pwd 命令实际是/bin/pwd 程序,而 which cd 命令没 有输出,因为 cd 命令是 Shell 自己内部的程序

我们在 Shell 中输入 ls 命令与输入/bin/ls 的作用是一样的,当我们输入 Shell 时,它会到预定的目录下查找有没有该程序,如果有就使用命令选项及参数调用该程序执行,并把程序的输出再呈现出来。而这个预定的目录我们可以通过如下命令来查看: echo $ PATH //echo 是输出命令,而"$PATH" 是一个变量,表示输出变量内容! 在这里插入图片描述

“$ PATH”是终端使用的路径环境变量,它使用“: ”进行分隔,表示 Shell 将会在这些路径下寻找命令程序,在其中我们可以看到/bin 路径。也就是说,“$PATH”路径环境变量让我们输入命令时省去了输入完整路径的麻烦,而命令的本质大都是在文件系统中的一些应用程序。

常用命令 cd

把终端当前所在的路径切换至目标路径,比如:cd /home/embedfire/test

在这里插入图片描述

mkdir 命令

它可以在文件系统中创建一个新的目录 其命令格式如下:mkdir [-p] 目录名

命令格式中的“目录名”就是要创建的目录路径,“-p”选项可以不输入,若使用了“-p”选项,当创建的目录名包含的上级目录不存在时,它会自动创建所有不存在的目录 touch命令

touch 命令可以创建不存在的文件,或者 touch 通过参数修改目录或文件的日期时间,就是摸一下,更新它的时间。 它的命令格式如下:touch 文件名

ls命令

显示指定目录下的内容(文件及子目录) ,还可以查看文件大小,修改日期等等信息 ls 命令格式如下:ls [选项] [目录] 当“目录”参数省略时,它会列出当前目录的内容。在这里插入图片描述 在这里插入图片描述

-rw-r--r-- 1 jing jing 8980 4月 12 07:26 examples.desktop drwxr-xr-x 2 jing jing 4096 4月 12 15:29 公共的

第一字段:文件属性 文件属性共有十个字符,第一个字符代表文件的类型,字符“-”表示该文件是一个普通文件;字符“d”是 dirtectory(目录) 的首字符,表示该文件是一个目录。

后面的九个字符,每三个为一组,分别表示文件拥有者的权限、文件所属组拥有的权限以及其他用户拥有的权限。字符“r”代表的是读(read)权限,字符“w”代表的是写(write)权限,字符“x”代表的是执行(execute)权限

第二字段:链接占用的节点/子目录的个数 第二字段的含义,主要取决该文件的类型,如果是文件的话,则表示该文件所具有的硬连接数。某个文件的第二字段如果等于 1 的话,代表没有其他指向该文件的硬连接。 在这里插入图片描述

第三字段和第四字段:文件拥有者和文件所在的组

第五字段:文件所占用的空间 (以字节为单位) 第五字段表示文件大小,在 Linux 中,目录是一个特殊的文件。

第六字段:最近访问(修改)时间

第五字段表示文件最近访问的时间,使用 touch 命令,可以修改文件的第六字段。

cat命令

cat 命令是 concatenate 的简写,译为串联,即它可以把两个内容串联起来,我们通常使用它在终端下输出文件的内容进行查看。cat不能查看目录 命令格式为:cat 文件名

echo命令

echo 命令的功能是在终端上打印一段文字,也可以把终端的变量内容打印出来 其命令格式如下:

echo " 字符串"echo 字符串echo $ 变量名

使用 echo 命令时,带双引号和不带双引号的效果是一样的,使用引号时,要注意用英文符号

输出重定向到文件

把命令执行的结果保存到文件进行分析,这时我们可以使用输出重定向到文件的控制符“>”或“»”,其中“>”会直接用输出覆盖原文件,而“»”则把输出追加到原文件的末尾。 使用格式如下:

命令 > 文件名命令 >> 文件名 重定向时文件不存在会自动创建。 rmdir 命令

rmdir 命令是 remove directory 的简写,它的功能是删除空的目录。

命令格式如下:rmdir [-p] 目录名 -p 可以用来递归删除目录,如果子目录删除后其父目录为空时,也一同被 rmdir 命令只能够用来删除空目录 rm 命令

rm 命令是 remove 的简写,它的功能是删除一个或多个文件或目录。

其命令格式如下:rm [选项] 一个或多个文件/文件夹名 使用 rm 命令删除内容时,文件是会被直接永久删除的,它并不会放到回收站中再确认 它支持的选项如下: • -i:删除文件或文件夹前,终端会逐一询问确认 • -r:将目录及其包含的子目录或文件全部删除 • -f:忽略不存在的文件,无需逐一确认 mkdir -p ABC/test //创建 ABC/test 目录 rm a.txt b.txt //直接删除 a.txt b.txt 3 rm –i c.txt d.txt //询问式删除 c.txt d.txt

当带有参数 i 时,则会有询问是否删除文件,如果是,输入 y;反之,则输入 n。

前面提到 rmdir 命令不能删除非空的目录,我们可以使用 rm 命令配合“-r”选项来完成:rm –r ABC/ sudo

sudo 命令是 switch user do 的简写,意思是切换用户去做某件事情 有时我们在执行命令时忘记添加 sudo 前缀,执行失败提示时才想起要加 sudo,这时可以使用 “sudo !!”的方式使用 sudo 权限重新执行上一条命令

cd /home # 切换至/home 目录 touch test.txt # 提示没有权限 sudo !! # sudo 加两个感叹号,重新使用 sudo 权限执行上一条命令 reboot/poweroff 命令

在终端上,reboot/poweroff 命令来控制系统的重启与关机

man命令

可用于查看 Linux 系统自带的参考手册,该手册包含非常丰富的内容,甚至在我们进行编程开发时还可以使用它来查看函数的接口 man 命令格式:man [要查询的内容] 在命令行中输入:man man #即使用man来查询man 下面截取了一段 在这里插入图片描述 在命令行中输入 man printf 在这里插入图片描述输出的PRINTF(1),表示是man的第一章的printf 如果查第三章中库调用需要在终端输入:

man -s 3 printfman 3 printf -s可以省略

在这里插入图片描述

apt 及 yum 包管理工具 deb 包、dpkg 及 apt

在 Linux 操作系统中,最常见的两种包分别是 deb 和 rpm。 在 Debian、Ubuntu 等 Linux 发行版中,通常使用 deb(debian)形式的软件包 包提供了操作系统的基本组件,以及共享的库、应用程序、服务和文档,当用户需要时,可以运行特定的指令来安装。

对于下载到本地和已经安装的软件包可以使用dpkg命令 sudo dpkg -i xxxx.deb apt 能够自动从互联网的软件仓库中搜索、安装、升级、卸载软件,它会咨询软件仓库,并能安装软件时的模块及依赖问题。 sudo apt-get install 软件名 概括起来可以这么理解,deb 是软件包,dpkg 是手动安装工具,apt 是自动安装工具。 rpm 包、rpm 及 yum

在 RedHat,Fedora,Centos 等派系的 Linux 发行版中,通常使用 rpm(RedHat PackageManager) 形式的软件包

rpm 与 dpkg 的功能类似,同样是主要用于对已下载到本地和已经安装的软件包进行管理。 rpm -ivh xxxx.rpm yum(Yellow dog Updater, Modified)包管理工具,功能与 apt 工具类似,它会咨 询软件仓库,并能安装软件时的模块及依赖问题。 yum install 软件名

在这里插入图片描述

apt 工具的使用 apt-get 工具:主要负责软件包的的安装、卸载以及更新等事务。apt-cache 工具:用于查询软件包的相关信息。apt-config 工具:用于配置所有 apt 工具。 apt-get 安装与删除软件包

apt-get 工具安装程序,具体的命令语法:sudo apt-get install 软件包名

apt-get install 会扫描本地存放的软件包更新列表/var/lib/apt/lists/,找到最新版本的软件包,然后检查软件包依赖关系,找到支持该软件正常运行的所有软件包,并从镜像源地址中下载所需的软件包,最后解压软件包,自动完成应用程序的安装和配置。 apt-get remove

具体的命令语法如下:sudo apt-get remove 软件包名

apt-cache 查询软件包信息

apt-cache 工具配合对应的子命令,可以实现查找,显示软件包信息及包依赖关系等功能 在这里插入图片描述 例如,可通过如下命令搜索支持 ifconfig 命令的软件包:apt-cache search ifconfig

直接使用 apt 命令

在 Ubuntu 16.04 中就引入了 apt 命令,apt 是集 apt-get、apt-cache 和 apt-config 各工具之所长的工具在这里插入图片描述 apt 命令比 APT(上面的apt-get等) 包管理工具更加精简

sudo apt install vim #安装Vim

Ctrl”+“z”强制退出vim编辑器。

软件源及其修改

• 清华大学镜像源:https://mirrors.tuna.tsinghua.edu.cn • 中国科技大学镜像源:https://mirrors.ustc.edu.cn • 阿里云镜像源:https://opsx.alibaba.com/mirror 在 Ubunut 下, 软 件 源 的 配 置 是 记 录 在 文件/etc/apt/sources.list 中的 在这里插入图片描述在这里插入图片描述

Vim vi 文件名 #若文件存在则打开,文件不存在则创建vim 文件名字 #若文件存在则打开,文件不存在则创建 退出

注意若开启了输入法,要先把输入法设置成英文:

“Ctrl”+“z”直接强制退出。按下退出键“Esc”,Vim 会进入到“一般模式”。输入英文冒号“:”,Vim 会进入到“命令行模式”。输入强制退出命令“q!”,即字母“q”及英文叹号“!”。按回车执行命令,会退出 Vim,返回到终端。 输入内容 按下退出键“Esc”进入“一般模式”。输入一般命令“i”,即直接按字母“i”,进入“插入模式”,如下图所示。随意输入一些内容。按下退出键“Esc”再次进入“一般模式”。输入英文冒号“:”,Vim 会进入到“命令行”模式。输入保存退出命令“wq”。按回车执行命令,会退出 Vim,返回到终端。 Vim 的三种模式 一般模式(normal mode):一般模式用来浏览文本,查找内容,但是不可以编辑,在该模式下的键盘输入会被当成快捷键,如复制粘贴等。打开 Vim 时,默认是工作在一般模式。插入模式(insert mode):插入模式下具有普通编辑器的功能,该模式下的键盘输入会被当成文本内容。命令行模式(command-line mode):命令行模式支持保存、退出、替换等命令,以及 Vim 的高级功能。 插入模式

在这里插入图片描述

一般模式

在这里插入图片描述

命令行模式

按下键盘的冒号键“:”就可以进入命令行模式 在这里插入图片描述

磁盘管理

df命令可以查看所有的存储设备以及其挂载点

du命令可以查看当前文件夹下所有文件的使用量

# 直接使用du命令的话,会把所有的文件等列出来,比较多,可以使--max-depth=a层数来限制 #加入-h显示的是,k,G等容量 $ du --max-depth=1 #只显示一层目录 16 ./笔记 5700836 ./linux 5700856 . $ du -h --max-depth=1 16K ./笔记 5.5G ./linux 5.5G .

新加入的硬盘设备在dev目录下,u盘这种移动设备在根目录下的media文件夹下,media文件夹下的内容会自动挂载

如果对u盘进行类似分区的操作,需要先挂载u盘时,一般直接挂载分区,而不会是前面的sd*

比如挂载sda时,应挂载其下的分区sda1和sda2

在这里插入图片描述

在这里插入图片描述" 9 exit 0 10 else 11 echo "



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有