Linux基础学习笔记二

Linux基础学习笔记二

  • Linux操作基础
    • Shell 和命令基础
    • 文件及目录结构
      • 普通文件的常见后缀
      • 硬链接和符号链接(软连接)
      • 设备文件
      • 套接字和命名管道
      • 熟悉Linux的目录结构

Linux操作基础

Shell 和命令基础

Shell 是系统的用户揭秘那,提供了用户与内核进行交互操作的一种接口(命令解释器)。
分类:

  1. Linux命令:存放在/bin、/sbin目录下的命令
  2. 内置命令:出于效率的考虑,将一些常用命令的解释程序构造在Shell内部
  3. 使用命令:存放在/usr/bin、/usr/sbin、/usr/local/bin、/usr/local/sbin等目录下的实用程序
  4. 用户程序:用户程序经过编译生成可执行文件后可作为Shell命令运行
  5. Shell脚本:由Shell语言编写的批处理文件

过程:

Created with Raphaël 2.2.0 用户输入命令 提交给Shell 是否为内置命令 内核中的系统功能调用 在系统中查找该命令的文件并调入内存执行 yes no

bash是大多数Linux系统默认的Shell。

Shell元字符

元字符 含义
* 代表任意字符串
? 代表任意字符
/ 根目录或目录间隔
\ 转义字符
\ 续行符
$ 变量值置换
'…'中间的字符会被当作文字处理
" "…"中间的值会被当做文字处理并允许变量值置换
< 输入重定向字符
> 输出重定向字符
` 命令替换,置换`…`中的命令执行的结果
| 管道字符
& 后台执行字符
; 分割顺序执行的多个命令
~ 自家目录

通配符

通配符 说明
* 匹配任何字符和任何数目的字符
? 匹配任何单字符
[…] 匹配任何包含在括号里的单字符
[!..] 匹配任何不包含早括号里的单字符

文件及目录结构

文件类型包括:

  • 普通文件(-)
  • 目录(d)
  • 符号链接(l)
  • 字符设备文件(c)
  • 块设备文件(b)
  • 套接字(s)
  • 命令管道(p)

普通文件的常见后缀

后缀 说明
*.txt 文本文件
*.conf 配置文件
*.html *.xml *.yml *.sql html xml yml sql 文件
*.c *.cpp c c++源文件
*.so *.ko *.lib 模块文件 库文件
*.sh *.php *.py *.pl *.rb shell php python ruby脚本文件
*.tar tar存档文件
*.rpm rpm包文件
*.gz *.bz2 *.xz 由gzip bzip2 xz生成的压缩文件
*.tar.gz *.tgz *tar.bz2 *.tbz *.tar.xz *.txz 压缩后的tar文件
*.lock 用于表示某个程序或某种服务正在运行的锁文件
*~ 备份文件

硬链接和符号链接(软连接)

硬链接:文件指向源文件的磁盘空间,删除源文件不影响硬链接文件
软链接:文件指向源文件,再由源文件指向磁盘空间,删除源文件,会变成死链接

设备文件

在Linux下,为了屏蔽用户对设备访问的复杂性,采用了设备文件,每个硬件设备至少与一个设备文件相关联。所有的设备文件存放在/dev目录下

常用设备文件

设备文件 说明
/dev/sd* scsi sas pata sata usb 硬盘设备,sda1 表示第1块硬盘的第1个分区;sdb2表示第2块硬盘的第2个分区
/dev/console 系统控制台
/dev/tty* 本地终端设备
/dev/pts/* 伪终端设备
/dev/sr0 光驱设备

套接字和命名管道

套接字和命名管道是Linux环境下实现进程间通信的机制
命名管道(FIFO)文件允许运行在同一台计算机上的两个进程间进行通信。
套接字(socket)允许运行在不同计算机上的进程之间的互相通信。

套接字和命名管道通常是在进程运行时创建或删除的,一般无需管理员干预。

熟悉Linux的目录结构

目录名 内容说明
bin 存放二进制的可执行文件
boot 存放用于系统引导时使用的各种文件
dev 用于存放设备文件,用户可以通过这些文件访问外部设备
etc 存放系统的配置文件
home 每个普通用户默认的家目录
lib/lib64 存放根文件系统中的程序运行所需要的共享库和内核模块
lost+found 存放一些系统检查结果,发现不合法的文件或数据都放在这里,通常此目录是空的
mnt 临时文件系统的挂载点目录
media 即插即用型设备的挂载点自动在这个目录下创建
opt 第三方软件的存放目录
proc 是一个虚拟文件系统,存放当前内存的映射,主要在于不重启机器的情况下管理内核
root 超级用户目录
sbin
srv 系统对外提供服务的目录
tmp 用于放置各种临时文件
usr 用于存放系统应用程序
var 用于存放需要随时改变的文件,如系统日志、脱机目录等

你可能感兴趣的:(Linux基础,Linux基础)