GNU/Linux初步
文章目录
写给对 GNU/Linux 操作系统有初步需求的人使用.
1. 基本概念——路径
路径是Linux用户最基础的概念,但也是令很多新手最头疼的概念。因为Windows中尽其所能弱化了这个概念,但对Linux却十分关键。
Linux中文件以目录树(见下面的示意图)的结构来存储文件,以反斜杠"/“来区分不同的目录等级.
请在下面的目录结构中找到: /home/user_name/Desktop
|
|
1.1 特殊的路径符号
符号 | 含义 | 举例 |
---|---|---|
/ | 单个反斜杠 特指 根目录,其它反斜杠是目录层级的分隔符 | / |
~ | 波浪号 特指 用户的家目录,即 ~ = /home/user_name |
~/Downloads |
. | 单个点号 特指 当前目录,可用pwd(Full: Present Work Directory)命令查看 | ./bin/mg5 |
.. | 两个点号 特指 上一级目录,如当前目录为/home/user_name ,则../ = /home/ |
../../ |
1.2 绝对路径与相对路径
绝对路径 | 从根目录出发的路径,以/ 或 ~ 开头 |
/home/user_name = ~ |
相对路径 | 以” . or .. “开始的路径称为相对路径 | ./file.txt |
2. 三个初级命令 ls|cd|vi
Linux中的命令运行永远都是一个操作 , 跟(或者不跟)被操作的对象. 被操作的对象可以没有,也可以有多个.
如: ls './' "/home/user_name"
可以同时列出当前目录和家目录中的文件. 列出就是这里的操作,后面两个目录就是被操作的对象. 这里的引号是为了区分两个目录, 也可以省去.
2.1 查看文件
|
|
备注:中括号代表可选参数,可以有,也可以没有
ls:(Full: List)是Linux中最常用命令,没有之一。用于列出目录下的文件。
- 用法:直接使用 | 加参数 | 加路径
- ls: 显示当前目录下的文件
- ls -a -l: -l = –long 的作用是完整显示文件信息; -a = –all 显示包含隐藏文件的信息
- ls /home: 列出 “/home” 目录下的文件
2.2 更改工作目录
|
|
cd: (Full: Change Directory)改变当前工作目录(pwd)
用法:
cd /home/user_name = cd ~
: 都是进入用户的家目录(绝对路径与相对路径)
2.3 编辑文件
|
|
vi 是一款功能与性能都十分出色的文本编辑器,其快捷键可以实现纯键盘操作,熟练以后就可以体会到无鼠标编辑的速度及乐趣。
另一个重要的特性是,当使用ssh登录远程主机时,vi的稳定性及轻量化成为远程编辑文件的首选工具。vim 是vi编辑器的功能增强版,支持不同语言的高亮显示等特性。
如果想要学习vi,可以从官方教程开始(当然,这里面的东西学会就足够了)。在命令行中运行 vimtutor ,就可以开始学习了。
当然,vi 的熟练并非一朝一夕之事,开始时需要有意识地去使用vi。
2.4 扩充命令
|
|
3. 基本概念——文件属性
Linux下面一切皆是文件的思想可以自行百度其强大之处。文件作为一个Object, 自然有其属性. 文件属性就如同粒子的量子数般,我们通过这些属性来区分它们,并且这些属性也支配着它们的行为。
文件的属性有:文件名 | 权限 | 所属用户 | 所属用户组 | 大小 | 修改时间
这些信息可以用ls -al
来查看。
3.1 文件权限
这里重点说一下权限。用上面的命令查看到的权限由10列组成,如drwxrwxrwx
其中第一列表示文件类型,- = plain text file | d=directory | l=link
后9列三三组成三组,分别表示所有者权限,所属用户组权限,其它人权限。
每个人的权限又分成 r=read | w=write | x=execute
读写不用说了,可执行权限决定了这个文件是否可以成为一个命令,
以./file.py
的形式去执行它。
3.2 修改权限
权限大小的定义:r=4 | w=2 | x = 1
|
|
4. Linux远程登录
4.1 什么是远程主机
远程主机,就是一台需要通过网络连接的电脑。从硬件上说,就是从你当前所使用电脑的网线出发,中间不管经历了什么设备,但总是可以连接到的另一台电脑。硬件的连通是远程登录的必要条件,但还不充分,还需要软件的支持。
4.2 远程登录协议
远程登录的软件需要遵循国际通用的一些协议来实现通讯。
常用的远程登录服务协议有:ssh | ftp | sftp
所谓协议,就是两台电脑,以及中间网络设备之间通信的规则,大家商量好,以后都按照这个规则来传输信息。Linux的命令行具有网络传输量小,延迟低,稳定性高等特性,是远程登录的必选良方。
ssh协议是最常用的远程登录协议,其默认使用22端口,但是为了安全起见,学院服务器的端口设成了1362,所以我在这里多说一句。使用方法如下(例子就是我们学院服务器的登录方法):
|
|
ftp协议主要用于文件传输,而sftp是ftp与ssh两个协议的结合版,目前学院的服务器只能使用sftp协议传输文件(另外还有scp命令)。
|
|
以上命令注意大小写(ssh是小写p,sftp是大写P)。
Sftp登录完成以后,可以使用 ls | cd | get | put
四个命令来完成上传与下载。
ls and cd 我就不再说了。
|
|