Linux系统操作基础
Linux系统是每个程序员在部署自己项目时都必然会使用到的操作系统,因为九成以上的服务器都是Linux系统的。掌握一些最基础的Linux指令非常必要。
Linux系统的核心特征:万物皆文件
Linux为树状目录结构,Linux的一切资源都挂载在这个 / 根节点下。

以下是对这些目录的解释:
这些目录纷繁复杂,难以记忆,在实际开发中可能会经常修改或者用到的目录都标注了重要,重点记住这8个就行(包括etc、home、opt、root、tmp、usr、var、www),其他的目录最好别动别碰,以免系统崩了。
-
/bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。
-
/boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。(不要动)
-
/dev : dev是Device(设备)的缩写, 存放的是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:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。
-
==/www:存放服务器网站相关的资源、环境、网站的项目(使用云服务器才可能有的文件夹,不一定每个人都有此文件夹)。==(重要)
Linux系统中最基础的操作指令
最基础的操作命令,也就是处理目录的常用命令:
| 命令 | 英文原文 | 中文翻译 |
|---|---|---|
ls | list | 列出目录内容 |
cd | change directory /daɪˈrektəri/ | 切换目录 |
pwd | print working directory | 显示当前工作目录 |
mkdir | make directory | 创建新目录 |
rmdir | remove directory | 删除空目录 |
cp | copy | 复制文件或目录 |
rm | remove | 删除文件或目录 |
mv | move | 移动或重命名文件/目录 |
最常用的一些参数如下,就是加到命令的后面用的。例如ls -ll就是展示当前文件夹下所有文件详情:
| 选项 | 英文原文 | 音标(IPA) | 中文解释 |
|---|---|---|---|
-a | archive | /ˈɑːr.kaɪv/ | 归档模式,相当于 -pdr(保留属性、递归复制、保留链接) |
-p | preserve | /prɪˈzɜːrv/ | 保留文件原始属性(权限、时间戳等) |
-d | no-dereference | /ˌnoʊ ˈdɛr.ə.fri.əns/ | 保留链接文件的属性(不追踪原文件) |
-r | recursive | /rɪˈkɜːr.sɪv/ | 递归复制(用于目录) |
-f | force | /fɔːrs/ | 强制覆盖目标文件(不提示) |
-i | interactive | /ˌɪn.tərˈæk.tɪv/ | 覆盖前询问用户确认 |
-l | link | /lɪŋk/ | 创建硬链接(而非复制文件) |
-s | symbolic-link | /sɪmˈbɒl.ɪk lɪŋk/ | 创建符号链接(即“快捷方式”) |
-u | update | /ˈʌp.deɪt/ | 仅当目标文件比源文件旧时更新 |
查看文件详情
输入ls -ll就是展示当前文件夹下所有文件详情

最前面的是个字符的含义:
-
第一个字母的含义:
d表示文件夹(directory);
l表示为链接文档 ( link file ),就像WIndows电脑桌面上那些图标都指向某个具体文件那样;
b 表示为装置文件里面的可供储存的接口设备 ( 可随机存取装置 );
c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标 ( 一次性读取装置 )
-
后九个字母的含义
三三分组,第一个rwx表示属主权限用户即root用户(最高等级用户)对该文件的操作权限;中间三个表示属组权限用户对该文件的操作权限;最后三个表示其他用户对该文件的操作权限。
什么是属主、属组?
以上面的文件详情界面为例,下面这个句子中,第一个root表示属主,就是当前名叫
root的这个用户;第二个root表示属组,就是说当前这个root用户属于一个名叫root的组。
drwxr-xr-x. 2 root root 4096 Mar 18 2020 binfmt.d
rwx分别表示读(read)、写(write)、执行(execute)的权限。- 减号小短杠表示无权限。

修改文件权限
chmod:更改文件的9个权限
如前所述,文件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的!我们可以使用数字来代表各个权限,各权限的分数对照表如下:
| 字母 | 数字 |
|---|---|
| r | 4 |
| w | 2 |
| x | 1 |
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为:[-rwxrwx---] 分数则是:
-
owner = rwx = 4+2+1 = 7
-
group = rwx = 4+2+1 = 7
-
others= --- = 0+0+0 = 0
chmod 770 filename
服务器部署时最常用的指令
最终使用Linux系统还是为了在服务器上部署自己的程序,因此,实际部署阶段最常用的命令才最重要。
-
关于防火墙的指令最常用,因为每次部署一个应用就要去打开端口。所以最重要的是这个打开端口的命令:
firewall-cmd --zone=public --add-port=80/tcp --permanent,以及打开之后务必重启sudo firewall-cmd --reload# 查看firewall服务状态 systemctl status firewalld # 开启、重启、关闭、firewalld.service服务 # 开启 service firewalld start # 重启 service firewalld restart # 关闭 service firewalld stop # 查看防火墙规则 firewall-cmd --list-all # 查看全部信息 firewall-cmd --list-ports # 只看端口信息 # 开启端口 开端口命令:firewall-cmd --zone=public --add-port=80/tcp --permanent 重启防火墙:systemctl restart firewalld.service 命令含义: --zone #作用域 --add-port=80/tcp #添加端口,格式为:端口/通讯协议 --permanent #永久生效,没有此参数重启后失效

被折叠的 条评论
为什么被折叠?



