Linux 学习笔记(一): 基本概念

109 阅读6分钟

简介

Linux是一套免费使用和 自由传播的类 UNIX操作系统,主要运行在基于Intelx86系列 CPU 的计算机上。创建初衷,是建立一个不受任何商品化软件 版权制约的,全世界都能自由使用的 UNIX 兼容产品。Linux是一个自由的、遵循 GNU 通用公共许可证(GPL)的类于UNIX操作系统。

特点

开放性、多用户、多任务、良好的用户界面、设备独立性、可靠的系统安全、良好的可移植性, 并且遵循 GNU/GPL,提供了丰富的网络功能。

Linux可以运行在多种硬件平台上,如 x86、x64(AMD64)、ARM、SPARC 和 Alpha等 处理器的平台。此外,Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游 戏机上。2001年1月发布的 Linux2.4版内核,已经能够完全支持Intel64位芯片架构。同时,Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。

版本

Linux的版本号分为 内核版本 和 发行版本 两部分。

  1. 内核版本:

内核的主要作用包括进程调度,内存管理,配置管理虚拟文件系统,提供网络接口 以及支持进程间通信。

  1. 发行版本:

一个完整的操作系统不仅只有内核,还包括一系列为用户提供各种服务的外围程序。 所以,许多个人、组织和企业开发了基于 GNU/Linux的 Linux发行版,他们将 Linux系统 的内核与外围应用软件和文档包装起来,并提供一些系统安装界面以及系统设置与管理工具,这样就构成了一个发行版本

Linux目录

image.png

  • /:根目录,一般根目录下只存放目录,在Linux下有且只有一个根目录。所有的东西都是从这里开始。当你在终端里输入“/home”,你其实是在告诉电脑,先从/(根目录)开始,再进入到home目录。

  • /bin: /usr/bin: 可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。

  • /boot:放置linux系统启动时用到的一些文件,如Linux的内核文件:/boot/vmlinuz,系统引导管理器:/boot/grub。

  • /dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱 mount /dev/cdrom /mnt。

  • /etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有 /etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d。

  • /home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,表示当前用户的家目录,edu 表示用户 edu 的家目录。

  • /lib: /usr/lib: /usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助。

  • /lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下。

  • /mnt: /media:光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载。

  • /opt:给主机额外安装软件所摆放的目录。

  • /proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等。

  • /root:系统管理员root的家目录。

  • /sbin: /usr/sbin: /usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount 等。与 /bin 不同的是,这几个目录是给系统管理员 root使用的命令,一般用户只能"查看"而不能设置和使用。

  • /tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下。

  • /srv:服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内。

  • /usr:应用程序存放目录,/usr/bin 存放应用程序,/usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local: 存放软件升级包。/usr/share/doc: 系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录。

  • /var:放置系统执行过程中经常变化的文件,如随时更改的日志文件 /var/log,/var/log/message:所有的登录文件存放目录,/var/spool/mail:邮件存放的目录,/var/run:程序或服务启动后,其PID存放在该目录下。

命令行基本操作

命令使用方法

Linux命令格式:

command [-options] [parameter1] ...

command: 命令名字;

[-options]: 选项,可对命令进行控制,可省略;

[parameter1]: 传给命令的参数,可以是多个,可省略;

查看帮助文档

help: 一般是linux命令自带的帮助信息

例子:

ls --help

man(manual):man 是 linux提供的手册,包含绝大部分的命令、函数说明;

该手册分成很多章节(section),使用man时可以指定不同章节,

例子:

man ls; man 2 printf

man中各个section含义:

  1. Standard commands(标准命令)
  2. System calls(系统调用,如open,write)
  3. Library functions(库函数,如printf,fopen)
  4. Special devices(设备文件的说明,/dev下各种设备)
  5. File formats(文件格式,如passwd)
  6. Games and toys(游戏和娱乐)
  7. Miscellaneous(杂项、惯例与协定等,例如Linux档案系统、网络协定、ASCII 码;environ全局变量)
  8. Administrative Commands(管理员命令,如ifconfig)
功能键功能
空格下一屏
Entr滚动一行
b回滚一屏
f前滚一屏
q退出man命令
h列出所有功能
/word搜索word字符串

Tab键自动补全

敲出命令的前几个字母,按Tab键会自动补全

History 浏览历史

history 保留了最近执行的命令记录,(默认保留1000)

常见命令:

history N // 显示最近N条命令
history -c // 清除所有历史记录
history -w xxx.txt // 保存历史记录到文本 xxx.txt

ctrl 组合键命令

  • Ctrl+c 结束正在运行的程序
  • Ctrl+d 结束输入或退出shell
  • Ctrl+s 暂停屏幕输出【锁住终端】
  • Ctrl+q 恢复屏幕输出【解锁终端】
  • Ctrl+l 清屏,【是字母L的小写】等同于Clear
  • 当前光标到行首:ctrl+a
  • 当前光标到行尾:ctrl+e
  • 删除当前光标到行首:ctrl+u
  • 删除当前光标到行尾:ctrl+k
  • Ctrl+y 在光标处粘贴剪切的内容
  • Ctrl+r 查找历史命令【输入关键字,就能调出以前执行过的命令】
  • Ctrl+t 调换光标所在处与其之前字符位置,并把光标移到下个字符
  • Ctrl+x+u 撤销操作
  • Ctrl+z 转入后台运行