Linux学习笔记(一)

Linux简介

Linux,全称GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。使用者不仅可以直观地获取该操作系统的实现机制,而且可以根据自身的需要来修改完善Linux,使其最大化地适应用户的需要。

Linux安装

  1. 先安装VMware Workstation
  2. 通过镜像下载CentOS
  3. 创建新的虚拟机后配置好镜像即可使用

Linux系统

系统在开机时都会启动许多程序。它们在Windows叫做服务(service),在Linux上叫做守护进程(daemon)。
在使用关机指令shutdown之前,首先要运行sync命令,把内存的数据写到磁盘中。

系统目录结构

/bin:这个目录存放着最经常使用的命令。

/boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。

/dev : 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。

/etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。

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

/lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。

/lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

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

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

/opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

/proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

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

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

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

/sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。

/tmp:这个目录是用来存放一些临时文件的。

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

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

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

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

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

/run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。

常用的Linux命令

1)cd : 改变目录。
2)cd …: 回退到上一个目录,直接cd进入默认目录
3)pwd : 显示当前所在的目录路径。
4)ls(ll): 都是列出当前目录中的所有文件,只不过ll(两个ll)列出的内容更为详细。
5)touch : 新建一个文件 如 touch index.js 就会在当前目录下新建一个index.js文件。
6)rm: 删除一个文件, rm index.js 就会把index.js文件删除。
7)mkdir: 新建一个目录,就是新建一个文件夹。
8)rm -r : 删除一个文件夹, rm -r src 删除src目录
rm -rf / 切勿在Linux中尝试!删除电脑中全部文件!
9)mv :移动文件。
10)reset :重新初始化终端/清屏。
11)clear :清屏。
12)history :查看命令历史。
13)help :帮助。
14)exit: 退出。
15)#:表示注释
16)echo:输入字符串

ls参数

a :全部的文件,连同隐藏文件一起列出来
-l :长数据串列出,包含文件的属性与权限等等数据

pwd参数

-P :显示出确实的路径,而非使用连接(link) 路径。

mkdir参数

-m:配置文件的权限
-p:直接将所需要的目录递归一起创建

rmdir参数

-P(大写的P):连同上一级空的目录一起删除

cp参数

-a:相当于 -pdr 的意思

-p:连同文件的属性一起复制过去,而非使用默认属性;

-d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;

-r:递归持续复制,用于目录的复制行为;

-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;

-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)

-l:进行硬式连结(hard link)的连结档创建,而非复制文件本身。

-s:复制成为符号连结档 (symbolic link),亦即捷径文件;

-u:若 destination 比 source 旧才升级 destination !

rm参数

-f:忽略不存在的文件,不会出现警告信息
-i: 在删除前会询问用户
-r:递归删除,常用于目录的删除

mv参数

-f:若目标文件已经存在,不会询问而直接覆盖
-i:若目标文件已经存在,会询问是否覆盖
-u:若目标文件已经存在,且source比较新,才会升级

基本属性

我们可以通过ls -l命令来显示一个文件的属性以及文件所属的用户和组
Linux学习笔记(一)其中第一个字符代表这个文件是目录、文件还是链接等。
d:目录
-:文件
l:链接文档,如windows桌面的快捷方式
b:表示为装置文件里面的可供存储的接口设备。
c:表示装配文件里面的串行端口设备,例如键盘鼠标等。
在接下来的字符,由rwx三个参数为一组的组合,r代表可读,
w代表可写,x代表可执行,若没有权限,就会出现 -,第一组为属主权限,第二组为属组权限,第三组为其他用户权限。
Linux学习笔记(一)第一个root为属主,第二个root为属组。

修改文件属性

chgrp

更改文件属组:chgrp -R 属组名 文件名

chown

更改文件属主,也可以同时更改文件属组:
chown –R 属主名 文件名
chown -R 属主名:属组名 文件名

chmod

r :4
w :2
x:1
chmod x(x代表有上面三个字母代表的数字组成的) 文件或目录

文件内容查看

cat:由第一行开始显示文本内容
tac:从最后一行开始显示文本内容
nl:显示的时候,同时输出行号
more:一页一页的显示文本内容
less:与more类似,但是可以往前翻页(/代表向下查询指定字符,?代表向上指定查询字符,n可以向下搜寻下一个字符,N可以向上搜寻上一个字符)
head:只看头几行
tail:只看尾巴几行

Linux链接的概念

Linux的链接分为两种:硬链接,软链接;
硬链接:A-B,假设B是A的硬链接,那么A和B指向了同一个文件。意思就是允许一个文件有多个路径,用户可以通过这种机制建立硬链接到一些重要文件上,防止误删。
软链接:类似于windows下的快捷方式,删除源文件,快捷方式也访问不了。
创建链接 ln命令。

Vim编辑器

Vim编辑器简介

Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。

三种模式

一般vim分为三种模式,分别是命令模式、输入模式和底线命令模式。

命令模式

刚启动vim,便进入了命令模式。
常用命令:
i:切换到输入模式,输入字符
x:删除当前光标所在的字符
::切换到底线命令模式,在最底下一行输入命令

输入模式

在命令模式下输入i就进入了输入模式。
常用按键:
字符按键与shift组合:输入字符
enter:回车键,换行
backspace:删除光标前一个字符
del:删除光标后一个字符
home/end:移动光标到行首/行尾
insert:切换光标为输入/替换模式,光标变成竖线/下划线
esc:退出输入模式,切换到命令模式

底线命令模式

在命令模式下输入冒号即可进入底线命令模式。
基本命令:
q:退出程序
w:保存文件