(ROS学习笔记 1 )Linux简单入门

一、Linux简介

Linux内核最初只是由芬兰人李纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户多任务支持多线程和多CPU的操作系统。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linux的发行版说简单点就是将Linux内核与应用软件做一个打包。 目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debain、Fedora、SuSE、OpenSUSE、TurboLinux、BluePoint、RedFlag、Xterm、SlackWare等。ROS亦是安装再ubuntu之上的。

Linux的应用领域:

今天各种场合都有使用各种Linux发行版,从嵌入式设备到超级计算机,并且在服务器领域确定了地位,通常服务器使用LAMP(Linux + Apache + MySQL + PHP)或LNMP(Linux + Nginx+ MySQL + PHP)组合。

目前Linux不仅在家庭与企业中使用,并且在政府中也很受欢迎。巴西联邦政府由于支持Linux而世界闻名。有新闻报道俄罗斯军队自己制造的Linux发布版的,做为G.H.ost项目已经取得成果.印度的Kerala联邦计划在向全联邦的高中推广使用Linux。中华人民共和国为取得技术独立,在龙芯过程中排他性地使用Linux。在西班牙的一些地区开发了自己的Linux发布版,并且在政府与教育领域广泛使用,如Extremadura地区的gnuLinEx和Andalusia地区的Guadalinex。葡萄牙同样使用自己的Linux发布版Caixa Magica,用于Magalhes笔记本电脑和e-escola政府软件。法国和德国同样开始逐步采用Linux。

关于Ubuntu系统的安装方法在此不做说明。

二、目录结构

1、FHS
Filesystem Hierarchy Standard(文件系统层次化标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理。

2、Linux下的文件系统的树形结构,入口为/ (根目录)树形结构下的文件目录: 无论哪个版本的Linux系统,都有这些目录,这些目录是标准的。各个Linux发行版本会存在一些小小的差异,但总体来说,还是大体相近的。

3、ls /
登录linux系统后,点击鼠标右键,open Terminal(打开终端),或通过快捷键 ctrl+alt+t

在当前命令窗口下输入命令:ls / (ls 指令是list单词的缩写,/ 类似于windows的磁盘符,ls / 相当于再windows下打开C盘等盘符)

ls /

可以看到如下所示的目录结构:在这里插入图片描述

4、Linux树状目录结构:
在这里插入图片描述
5、/bin
是Binary的缩写, 这个目录存放着最经常使用的命令。例:type ls 、 type cp 、 type tar
在这里插入图片描述
6、/boot
这里存放的是启动Linux时使用的一些核心文件,包括连接文件以及镜像文件。

7、/dev
dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。

例如:通过命令:

ls –l /dev/

dvd这个设备就可以通过文件访问
在这里插入图片描述
8、/etc
这个目录用来存放所有的系统管理所需要的配置文件子目录。例: /etc/passwd

9、/home
用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

10、/lib
这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。

在这里插入图片描述
11、/lost+found
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
主要用于文件丢失并找回的作用。

12、/media
linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

13、/mnt
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

14、/opt
这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
15、/proc
这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

16、/sys
在这里插入图片描述
17、/root
该目录为系统管理员,也称作超级权限者的用户主目录。

18、/sbin
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

19、/srv
该目录存放一些服务启动之后需要提取的数据

20、/tmp
这个目录是用来存放一些临时文件的
在这里插入图片描述

21、/usr
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。

22、/root
该目录为系统管理员,也称作超级权限者的用户主目录。

23、 /usr/bin
系统用户使用的应用程序。

24、/usr/sbin
超级用户使用的比较高级的管理程序和系统守护程序。

25、/usr/src
内核源代码默认的放置目录。

26、/var
这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

注意
在linux系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。

(1)/etc: 系统配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。

(2)/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。 值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。

(3)/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下。

三、用户管理

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
每个用户账号都拥有一个惟一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。

1、查看用户列表
打开终端,通过命令:

$ cat /etc/passwd

可以看到以下信息:

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
silver:x:500:500::/home/silver:/bin/bash
......(省略)

2、查看用户组
打开终端,通过命令:

$ cat /etc/group

可以看到以下信息:

root:x:0:
bin:x:1:bin,daemon
postdrop:x:90:
postfix:x:89:
fuse:x:499:
sshd:x:74:
silver:x:500:
......(省略)

3、相关说明:
(1) /etc/group/etc/passwd 文件都是有关于系统管理员对用户或用户组管理时的相关文件。
(2) /etc/group 是用户管理员对用户或用户组管理的文件。Linux用户组的信息都存在 /etc/group 中。具有某些共有特征的用户集合起来就是用户组(group)。
(3) 用户组的配置文件主要有 /etc/group 和 /etc/gshadow,其 /etc/gshadow 是 /etc/group 的加密信息文件。

4、创建用户账号
useradd 用户名
passwd 用户名密码
注意:创建用户账号必须再root账户下进行,设置完密码后才可以切换用户(su 用户名)
在这里插入图片描述
5、删除用户账号:
如果一个用户的账号不再使用,可以从系统中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。
删除一个已有的用户账号使用 userdel 命令,其格式如下:
userdel 选项 用户名
常用的选项是-r,它的作用是把用户的主目录一起删除。例如:我们删除echo用户:

$ userdel -r echo

(1)查看用户列表:查看用户列表
(2)存在echo:
在这里插入图片描述
(3)使用删除指令:
在这里插入图片描述
(4)显然,echo不见了:
在这里插入图片描述
在这里插入图片描述

四、文件管理

Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。

1、查看文件属性:
在Linux中我们可以使用 ll 或者 ls –l 命令来显示一个文件的属性以及文件所属的用户和组,如:
在这里插入图片描述
实例:
在这里插入图片描述
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等。

1-文件类型:

	-:普通文件 (f)
	d: 目录文件
	b: 块设备文件 (block)
	c: 字符设备文件 (character)
	l: 符号链接文件(symbolic link file)
	p: 命令管道文件(pipe)
	s: 套接字文件(socket)

2-文件权限:9位,每3位一组,每一组:r w x(读,写,执行)
3-文件硬链接的次数
4-文件的属主(owner)
5-文件的属组(group)
6-文件大小(size),单位是字节

7-时间戳(timestamp):最近一次被修改的时间

		访问:access
		修改:modify
		改变:change

在这里插入图片描述

2、文件属性
接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。

对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。而在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。文件所有者以外的用户又可以分为文件所有者的同组用户其他用户。因此,Linux系统按照文件所有者、文件所有者同组用户和其他用户规定了不同的文件访问权限。

3、修改文件权限
Linux文件属性有两种设置方法,一种是数字,一种是符号。
Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。

文件的权限字符为:『-rwx-rwx-rwx』, 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照如下:

       r:4                 w:2                 x:1

每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为:
[-rwx-r-x—x ] 分数则是?
答案:

owner = rwx = 4+2+1 = 7
group = r-x = 4+0+1 = 5
others= --x = 0+0+1 = 1

如果设定权限的变更时,该文件的权限数字就是751了!

4、修改权限的 chmod:

chmod [-R] xyz 文件或目录
(-R,–recursive可递归遍历子目录,把修改应用到目录下所有文件和子目录)

选项与参数:
xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更。

5、另一种修改权限方法:
我们已经了解到,基本的九个权限是:user、group、others分别对应的[rwx]
可以通过下图说明 chmod 的表达方式:
在这里插入图片描述
注意:
u, g, o 来代表三种身份的权限!
a 则代表 all,即全部的身份。
读写的权限可以写成 r, w, x。

五、目录管理

我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 / ,其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。
格式:

command    options...  arguments...
  命令        选项        参数
              长选项
              短选项

1、常用命令:

ls: 列出目录
cd:切换目录
pwd:显示目前的目录
mkdir:创建一个新的目录
rmdir:删除一个空的目录
cp: 复制文件或目录
rm: 移除文件或目录

2、ls: 列出目录:

ls  查看当前目录包含哪里些内容
ll   详细方式列出目录中的内容
ls -al  以长格式列出目录中所有的内容,包括隐藏文件

3、cd (切换目录)Change Directory的缩写,这是用来变换工作目录的命令。

cd     路径
cd ..   回到上一级目录
cd /    跳到根目录
cd ~   回到家目录

4、pwd (显示目前所在的目录)
pwd是Print Working Directory的缩写,也就是显示目前所在目录的命令。

5、mkdir (创建新目录)
如果想要创建新的目录的话,就使用mkdir (make directory)。

语法:
mkdir [-mp] 目录名称

选项与参数:
-m :直接配置文件的权限(否则系统默认配置权限)
-p :创建多级目录

6、rmdir (删除空的目录)
如果想要删除一个空的目录,就使用rmdir (rmove directory)。

语法:
rmdir [-p] 目录名称

7、touch (创建文件)
如果想创建一个新的文件,可以使用touch命令,

语法:
touch 文件名称

8、cp (复制文件或目录)
如果要对文件进行复制,可以使用cp命令,

语法:
cp [-adfilprsu] 来源档(source) 目标档(destination)

9、rm (删除文件或目录)
如果要对文件进行删除操作,可以使用rm命令,该命令包含两个选项:

rm -i 删除前提示用户进行确认
rm -rf 强制删除目录

10、mv (移动文件与目录,或修改名称)
移动文件
修改名称

11、文件内容查看指令:

cat     由第一行开始显示文件内容(常用)
tac     从最后一行开始显示,可以看出 tac 是 cat 的倒著写!
nl      显示的时候,顺道输出行号!
more    一页一页的显示文件内容
less    与 more 类似,但是比 more 更好的是,他可以往前翻页

12、cat 查看文件内容
查看文件
利用cat快速复制

13、du查看文件大小

du -sh            查看文件总大小
du -sh 文件名     查看单个文件大小
du -sh *          列出所有文件大小( * 在linux中代表所有的意思)
df-h              查看磁盘分区大小

14、echo重定向与追加
重定向
追加

多用在脚本中。
在这里插入图片描述

六、打包操作

1、压缩:
压缩有两个明显的好处,一是可以减少存储空间二是通过网络传输文件时,可以减少传输的时间。在linux中,我们使用标准压缩工具 gzip 以及 tar 包操作。
2、tar :
使用tar命令打包文件格式如下:

tar -cvf 打包文件名 源文件
    -c 打包
    -v 显示过程
    -f 指定打包后的文件名

打包压缩:
tar -zcvf 压缩包名.tar.gz 源文件

解包解压缩:
tar -zxvf 压缩包名.tar.gz
tar -zxvf 压缩包名.tar.gz -C 新目录

七、文本编辑

1、什么是 vim :
vi(vim)是上Linux 非常常用的编辑器,很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。vi是 “visual interface”的缩写,vim是vi IMproved(增强版的vi)。vim是从vi发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。vim的使用包含vim的基本介绍、使用模式、文件的打开关闭保存、插入文本或新建行、移动光标、删除、恢复字符或行、搜索等等。

2、Vim 的三种模式 :

♦ 插入模式:在此模式下可以输入字符,按ESC将回到命令模式。
♦ 命令模式:可以移动光标、删除字符等。
♦ 底行模式:可以保存文件、退出vi、设置vi、查找等功能。

3、vim 的使用方法:
例如我们要通过vim编辑器来编写一个脚本 hello.sh,通过命令行输入:

$ vim install.sh

在这里插入图片描述
注意:
如果文件系统中之前存在install.sh文件 ,那么执行vim install.sh这条指令时,系统将默认打开原有install.sh进行修改,否则将直接创建install.sh脚本文件。
键入有效代码后,下一步需要对脚本进行保存,首先,按键ESC将回到命令模式,其次按键Shift + :(冒号)进入底行模式,在底行模式下输入wq,即可保存退出。

wq :保存退出
q :退出
q! :强制退出

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
感谢阅读,若有错误,欢迎批评指正!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值