本人是为了学习机器人领域知识,使用和开发ROS,因此以Ubuntu20.04为实例进行学习。本文将从Linux基本介绍、Linux目录结构、Vim编辑器、开机重启登录注销、用户管理、一些非常实用的指令以及组管理与权限管理指令这几个方面进行简单介绍,让初学者能够快速入门Ubuntu系统。
目录
前言
一、Linux基本介绍
二、Linux目录结构
三、Vim编辑器
四、开机重启登录注销
4.1 关机&重启
4.2 用户登录注销
五、用户管理
5.1 用户基本介绍
5.2 添加/删除/查询用户/修改密码
5.3 添加/删除/修改用户组
六、其他常用指令
6.1 文件目录指令
6.2 时间日期指令
6.3 搜索查找指令
6.4 压缩解压指令
6.5 帮助指令
七、组管理与权限管理
7.1 组与权限关系
7.2 组管理指令
7.3 权限基本介绍
7.4 权限管理指令
总结
Linux系统发展至今,仍生生不息,在很多领域都有着广泛的应用。在人工智能和机器人学习中,都经常使用Linux系统。对于CV领域来说,经常使用服务器来提升算力,使用XShell等远程登陆平台进行开发,经常在Linux平台上进行。对于机器人领域来说,经常使用ROS进行仿真和开发,ROS这类元操作系统主要也是依托于Linux,因此学习Linux,掌握基本的Linux指令,至关重要。
Linux系统的发行版本有很多,本人学习使用的版本是Ubuntu20.04,主要是为后续学习机器人以及OpenCV的知识做铺垫。Linux在服务器领域和嵌入式领域应用广泛,随着Ubuntu和Fedora等优秀桌面环境的兴起,Linux在个人桌面占有率不断提高。关于Linux的一些介绍,大家可以在百度或者Google等搜索引擎上搜索,都有详细的介绍。
关于Linux的文件结构,体现为“一切皆文件”。
主要的目录结构如下:
对于初学者而言,需要了解一下Linux的目录结构,在Ubuntu系统中,查看系统目录如下:
Vim编辑器是Linux系统内置的文本编辑器,具有程序编辑的能力。
Vim有三种模式,分别为正常模式、插入模式和命令行模式。
我们在终端中输入vim即可进入正常模式。按下i,I,o,O,a,A,r,R等4任何一个字母即可进入编辑模式,也就是插入模式。我们完成编辑之后,输入esc再输入:wq即可完成保存并退出,回退到命令行模式。
Linux是一个多用户多任务的操作系统,要使用系统资源的用户,必须向系统管理员申请一个账号,然后以该账号的身份进入系统。
Linux的管理员即为root用户,在root用户的管理下,可以添加其他的用户,root管理员可以给这些用户添加权限。关于用户、用户组以及管理员、普通用户的示意图如下:
上面示例说明:root用户是管理员,在下面有三个用户组,分别为group1,group2和group3,group1下面有三个普通用户,分别是小明、小红和小黑。
这部分与后面权限管理的内容有关,读者可以看到后面再回顾一下。
tar命令的选项如下:
根据上面的示意图,简要说明一下:小明创建了一个123.txt文件,在初始时,小明是该文件的创建者也是所有者(可以修改所有者,用chown指令),小明所属的组为group1,那么123.txt属于group1这个组,而123.txt与其他组及其成员无关。对于123.txt来说,小明为所有者记为u,group1为该文件的所属组记为g,其他组的成员与该文件无关,记为o。
一般来说,权限根据用户分为三部分,一个是user(缩写为u),一个是group(组内除所有者user之外的成员,缩写为g),一个是其他成员others(缩写为o),我们将对这三种类型的成员进行权限的管理(增加或删除权限)。在 7.3 和 7.4 中,本文还会详细介绍。
我们输入ll或者ls -l 指令,显示的内容如下格式:
drwxr-xr-x 4 root root 4096 7月 31 11:23 ../
0-9位说明:
第0位确定文件类型(d,1,c,b):
第1-3位确定所有者(该文件的所有者)拥有该文件的权限。——User
第4-6位确定所属组(同用户组的)拥有该文件的权限。——Group
第7-9位确定其他用户拥有该文件的权限。——Other
示例详解:
-rwxrw----这10个字符确定了不同用户能对文件干什么
第一个字符代表文件类型:- I d c b(参照上面的说明)
其余字符每3个一组读(r)写(w)执行(x)
对于上面的示例,我们也可以用数字表示为:r=4,w=2,x=。因此 rwx = 4+2+1=7,数字可以进行组合。
其他说明:
以 drwxr-xr-x 4 root root 4096 7月 31 11:23 ../ 为例
4:对于文件而言是硬连接数为4,对于目录而言是子目录数为4
第一个root:表示文件所属用户为root,即所有者为root
第二个root:表示文件所属组为root
4096:文件大小(字节);如果是文件夹,显示4096,因此该示例为文件夹
7月 31 11:23:最后修改日期
../ :文件名或文件夹名称
上面对于权限的讲解是分三种类别对象来说的,下面我们将对文件和文件夹分别进行权限的分析。
对于文件而言:
对于目录而言:
方式一:通过 +、-、= 变更权限
chmod u=rwx,g=x,o=x [文件/目录名]——设置该文件权限为所有者user具有读、写和执行的权限,组内成员具有执行的权限,其他用户具有执行的权限
chmod o+w [文件/目录名]——添加其他用户具有执行的权限
chmod a-x [文件/目录名]——减少所有人(u&g&o)执行的权限
方式二:通过数字变更权限
r = 4,w = 2,x = 1
chmod u=rwx,g=rx,o=x [文件/目录] 相当于是 chmod 751 [文件/目录]
最后,本文简要说一下Linux命令行的一些快捷键操作,如ctrl+c停止,ctrl+z暂停,tab键自动补全命令,这三个经常使用到。本文主要介绍了Linux的一些常用的指令,希望能给初学者一些帮助和启发。Linux中还有很多其他指令,需要大家动手去练习和熟悉。