跳转至

Linux 学习笔记 - 基础知识

连接远程主机

使用 ssh:

ssh user@IP

根目录结构

目录 目录放置的内容
bin binary 二进制文件,存放系统命令,如 cat,cp,mkdir
boot 存放开机启动过程所需的内容,如开机管理程序 grub2
dev 所有设备文件的目录(如声卡、硬盘、光驱)
etc etcetera,存放系统的主要配置文件
home 用户家目录数据的存放目录
lib library,存放 sbin 和 bin 目录下命令所需的库文件,避免重复
lib32/lib64 存放二进制函数库,支持 32/64 位
lost+found 在 EXT3/4 系统中,当系统意外崩溃或意外关机时,会产生一些碎片文件在这个目录下面,系统启动 fcsk 工具会检查这个目录,并修复已损坏的文件。
media 用于挂载光盘,软盘和 DVD 等设备
mnt mount,同 media 作用一样,用于临时挂载存储设备
opt 第三方软件安装存放目录。
proc 进程及内核信息存放目录,不占用硬盘空间。
root root 用户的家目录
run 是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。
sbin system bin,存放 root 用户使用的命令,如格式化命令 mkfs
srv 一些网络服务所需要的数据文件
sys 同 proc 目录,用于记录 CPU 与系统硬件的相关信息
tmp 存放程序运行时产生的临时文件
usr 系统存放程序的目录,类似于在 windows 下的文件夹 programefiles
var 存放内容常变动的文件目录,如系统日志文件

文件类型

在 Linux 下,一切皆文件。

常见的文件拓展名如下:

  • 后缀.tar、.tar.gz、.tgz、.zip、.tar.bz 表示压缩文件,创建命令一般为 tar,gzip,zip 等。在压缩文件中的后缀名来通常表示自身由什么压缩格式打包的,以便解压时方便选择要使用的命令。
  • .sh 表示 shell 脚本文件,通过 shell 语言开发的程序。
  • .pl 表示 perl 语言文件,通过 perl 语言开发的程序。
  • .py 表示 python 语言文件,通过 python 语言开发的程序。
  • .html、.htm、.php、.jsp、.do 表示网页语言的文件。
  • .conf 表示系统服务的配置文件。
  • .rpm 表示 rpm 安装包文件。

文件主要有以下类型:

普通文件

文本文件,bin 文件等。

可执行文件

包括脚本和应用程序,这些文件可被系统加载运行,类似 Windows 下的 bat 脚本、exe 程序文件等。

链接文件

链接文件分为硬链接和软链接:

  • 硬链接是指同一个文件的不同别名。
  • 软链接类似于 Windows 的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

目录文件

在 Linux 下,目录也是文件。

设备文件

硬件设备也是文件,通过打开对应的设备文件可以初始化设备,部分设备还可以通过读写设备文件实现对硬件的控制。

用户与文件权限

用户权限

Linux 是多用户操作系统,其中具有管理其他用户和计算机的全部资源的用户,称为 root 账户。在 Linux 中,每个用户都有一个特定的编号 —— UID,用于标识一个系统用户。root 账户的 UID 是标号 0。我们可以用命令 id 以查看当前用户的 UID 值。一个用户可以归属于多个 GID(组),以获得不同的文件权限。

文件权限

Linux 的文件属性,分为读权限、写权限、执行权限(可以加载到内存中,并由操作系统加载程序执行的文件)。

可以通过 chmod 命令修改文件权限。

命令行

终端提示符

当我们打开终端的时候,会出现一串提示符如:

power@Linuxbook:~$

这代表当前的用户是 power,运行的主机名称是 Linuxbook~ 表示当前的目录是家目录(即 /home/power),而 $ 为命令提示符,代表这是个普通用户,如果是超级用户则为 #

命令

命令的基本格式(其中后两项代表非必须):

command [-options] [argument]

可使用 Tab 键进行自动补全,在命令行执行中可以用 Ctrl + C 终止运行。

  • command:命令名,如 cdls 等。
  • -options:命令的附加选项,如 ls -l。命令会根据具体的选项执行不同的操作。
  • argument:命令参数,比如 cd /home 中,/home 作为参数名。

常用的命令有:

  • ls:列出目录及文件名
    • -a:显示隐藏文件(文件名前带 .
    • -l:将文件型态、权限、拥有者、文件大小等信息详细列出
    • -t:将文件依建立时间之先后次序列出
    • -A:同 -a,但不列出 ...(当前目录与父目录)
    • -R:若目录下有文件,则该目录下的文件也会列出,即递归显示
  • cd:切换目录
    • 特殊路径
      • ~:当前用户的 home 目录
      • /:根目录
      • .:当前目录
      • ..:上层目录
      • -:切换上一次 cd 的目录
  • pwd:显示目前的目录
  • mkdir:创建目录
    • -p 可创建不存在的目录下的目录
  • rmdir:删除一个空的目录
  • touch:创建文件
  • cp:复制文件或目录
  • rm:移除文件或目录
    • -r:将目录包含的子目录和文件全部删除
    • -f:强制删除
  • mv:移动文件与目录,或修改文件与目录的名称
  • cat:查看文件
  • echo:将内容输出到终端
  • 输出重定向到文件:将命令执行结果保存到文件
    • 命令 > 文件名 ,如文件不存在则会创建,如重复则覆盖
    • 命令 >> 文件名 ,如文件不存在则会创建,如重复则追加到末尾
  • sudo:switch user do,在需要 root 权限的命令前添加 sudo,从而使当前用户获得 root 权限, 并执行其后的命令。如果在普通用户下没权限执行失败,那么可以用 sudo !! 重新加权执行上一条命令。
  • clear:清屏
  • reboot/poweroff:重启 / 关机

包管理

包管理简单来说就是使用命令来安装软件。在 Linux 操作系统中,最常见的两种包分别是 deb 和 rpm。

参考与致谢

原文地址:https://wiki-power.com/
本篇文章受 CC BY-NC-SA 4.0 协议保护,转载请注明出处。