Linux 学习第一篇

时间:2021-08-16 17:42:06

Linux简介

  • Linux是一套免费使用和*传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。
  • Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。
  • Linux 是一个类似 Unix 的操作系统,Unix 是闭源收费的,Linux 是开源免费的,Unix 要早于 Linux,所以 Linux 的开发者也模仿了 Unix(但并没有包括Unix源码),使得Linux在外观和操作上与 Unix 非常相似

Linux文件系统

Linux中所有的数据都保存在文件中,所有的文件都保存在不同的目录中

普通文件

普通文件是以字节为单位的数据流,包括文本文件、源码文件、可执行文件等。文本和二进制对Linux来说并无区别,对普通文件的解释由处理该文件的应用程序进行

目录文件

目录可以包含普通文件和特殊文件,目录相当于Windows和Mac OS中的文件夹。

设备文件

Linux与外部通讯是通过一个被称为设备文件来通讯的,Linux 输入输出到外部设备的方式和输入输出到一个文件的方式是相同的。Linux 和一个外部设备通讯之前,这个设备必须首先要有一个设备文件存

例如,每一个终端都有自己的设备文件来供 Linux 写数据(出现在终端屏幕上)和读取数据(用户通过键盘输入)。

命令查看文件:比较基础的命令这里只会列举一部分

  • 查看当前目录的文件

    $ls
  • 查看更多文件信息ls -l

    sh-3.2# ls -l
    total 24
    -rw-r--r--@ 1 tongkun staff 21 12 4 23:35 Makefile
    -rw-r--r--@ 1 tongkun staff 3443 12 4 23:35 README.md
    drwxr-xr-x@ 5 tongkun staff 170 12 4 23:35 charsets
    drwxr-xr-x@ 9 tongkun staff 306 12 4 23:35 docs
    -rw-r--r-- 1 root staff 89 12 5 23:46 dump.rdb
    drwxr-xr-x@ 48 tongkun staff 1632 12 4 23:35 examples
    drwxr-xr-x@ 8 tongkun staff 272 12 4 23:35 include
    drwxr-xr-x@ 11 tongkun staff 374 12 4 23:35 masks
    drwxr-xr-x@ 3 tongkun staff 102 12 5 23:20 obj
    drwxr-xr-x@ 25 tongkun staff 850 12 4 23:35 rules
    drwxr-xr-x@ 4 tongkun staff 136 12 4 23:35 salts
    drwxr-xr-x@ 22 tongkun staff 748 12 4 23:35 src
    drwxr-xr-x@ 8 tongkun staff 272 12 4 23:35 tables
    drwxr-xr-x@ 11 tongkun staff 374 12 4 23:35 tools

    每一列的文件说明:

    1. 第一列:文件类型
      • - 普通文件。如文本文件、二进制可执行文件、源代码等。
      • b 块设备文件。硬盘可以使用块设备文件。
      • c 字符设备文件。硬盘也可以使用字符设备文件。
      • d 目录文件。目录可以包含文件和其他目录。
      • l 符号链接(软链接)。可以链接任何普通文件,类似于 Windows 中的快捷方式。
      • p 具名管道。管道是进程间的一种通信机制。
        s 用于进程间通信的套接字。
    2. 第二列:表示文件个数。如果是文件,那么就是1;如果是目录,那么就是该目录中文件的数目
    3. 第三列:文件的所有者,即文件的创建者。
    4. 第四列:文件所有者所在的用户组。在Linux中,每个用户都隶属于一个用户组
    5. 第五列:文件大小(以字节计)。
    6. 第六列:文件被创建或上次被修改的时间。
    7. 第七列:文件名或目录名。

文件权限和访问模式

为了安全存储,Linux为不同的文件赋予不同的权限,每个用户都有下列三个权限:

  • 所有者权限:文件所有者能够操作
  • 组织权:文件所属用户组能够进行操作
  • 外部权限:其他用户可以进行操作
查看文件权限
sh-3.2# pwd
/Users/tongkun/Documents/Hexo
sh-3.2# ls -l
total 176
-rw-r--r--@ 1 tongkun staff 8196 12 2 08:05 .DS_Store
drwxr-xr-x 13 root staff 442 12 5 22:38 .deploy_git
-rw-r--r-- 1 root staff 65 11 29 21:11 .gitignore
-rw-r--r-- 1 root staff 2485 12 5 22:33 _config.yml
-rw-r--r-- 1 root staff 59402 12 5 23:21 db.json
-rw-r--r-- 1 root staff 18 12 3 13:02 dump.rdb
drwxr-xr-x 14 tongkun staff 476 12 2 08:21 node_modules
-rw-r--r-- 1 root staff 482 12 2 08:21 package.json
drwxr-xr-x 12 root staff 408 12 5 22:38 public
drwxr-xr-x 5 root staff 170 11 30 08:22 scaffolds
drwxrwxrwx 7 root staff 238 12 1 10:50 source
drwxr-xr-x 7 root staff 238 12 1 10:26 themes

第一列的字符可以分为三组,每一组有三个,每个字符都代表不同的权限,分别为读取(r)、写入(w)和执行(x)

  • 第一组字符(2-4)表示文件所有者的权限,-rwxr-xr– 表示所有者拥有读取(r)、写入(w)和执行(x)的权限。
  • 第二组字符(5-7)表示文件所属用户组的权限,-rwxr-xr– 表示该组拥有读取(r)和执行(x)的权限,但没有写入权限。
  • 第三组字符(8-10)表示所有其他用户的权限,rwxr-xr– 表示其他用户只能读取(r)文件
改变权限

可以使用chmod(change mode)命令来改变文件或者目录的访问权限,权限可以使用符号或者数字来表示

Linux网络通讯工具

ping命令

ping 命令的语法是:

ps:ping hostname or ipaddress
$ping www.baidu.com
ftp工具

ftp是File Transation protocol,称为文件传输协议,通过ftp工具,能够将文件传输到远程服务器,也可以从远程服务器上下载文件。

ftp有自己的命令:

$ftp hostname or ip-address

接下来会提示输入用户名和密码,验证成功后进入目录,然后就可以使用ftp工具的命令进行操作。

ftp命令 说明
put file 将本地文件上传到主机
getfile 将远程文件下载到本地
prompt off 关闭文件提示
prompt on 打开文件提示
dir 列出远程主机上的所有文件
quit 退出目录

注意,所有的上传和下载都是针对本地主机和远程主机的当前目录,如果你希望上传指定目录下的文件,首先要 cd 到该目录,然后才能上传

未完待续。。。