目录
Linux
Linux是一种自由和开放源码的类UNIX操作系统。该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布,在加上用户空间的应用程序之后,成为Linux操作系统。Linux也是自由软件和开放源代码软件发展中最著名的例子。只要遵循GNU 通用公共许可证(GPL),任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。大多数Linux系统还包括像提供GUI的X Window之类的程序。除了一部分专家之外,大多数人都是直接使用Linux 发行版(比如国产Linux发行版Deepin,国外的Debian,Unbuntu等等),而不是自己选择每一样组件或自行设置。
Linux严格来说是单指操作系统的内核,因操作系统中包含了许多用户图形接口和其他实用工具。如今Linux常用来指基于Linux的完整操作系统,内核则改以Linux内核称之。
Linux是一种开源的操作系统,它可以在各种不同的硬件平台上运行,包括使用RISC-V指令集的处理器。
历史
- 1991年8月芬兰赫尔辛基大学的年轻人Linus自己书写了一个保护模式下的操作系统,这就是Linux的原型;
- 1991年10月5日,发布了Linux的第一个正式版本:0.02版;
- 1994年的3月14日发布了Linux的1.0版;
- 1994年11月,Hurd的第一个雏形发表;
- 1997年6月发布Hurd的0.2版本。
Linux的版本号
- 内核 vs. 发行版
- 内核版本号:x.y.z 其中y为偶数是稳定版,为奇数是测试版。
- 如:2.6.6
- 内核通常存于:/usr/src/linux
- 发行版是内核是其他软件的打包,方便使用者安装。
文件目录结构
在 Linux 或 Unix 操作系统中,所有的文件和目录都被组织成以一个根节点开始的倒置的树状结构。
文件系统的最顶层是由根目录开始的,系统使用 / 来表示根目录。在根目录之下的既可以是目录,也可以是文件,而每一个目录中又可以包含子目录文件。如此反复就可以构成一个庞大的文件系统。
在Linux文件系统中有两个特殊的目录,一个用户所在的工作目录,也叫当前目录,可以使用一个点 . 来表示;另一个是当前目录的上一级目录,也叫父目录,可以使用两个点 .. 来表示。
. :代表当前的目录,也可以使用 ./ 来表示; .. :代表上一层目录,也可以 ../ 来代表。
如果一个目录或文件名以一个点 . 开始,表示这个目录或文件是一个隐藏目录或文件(如:.bashrc)。即以默认方式查找时,不显示该目录或文件。
系统启动必须:
/boot:存放的启动Linux 时使用的内核文件,包括连接文件以及镜像文件。
/etc:存放所有的系统需要的配置文件和子目录列表,更改目录下的文件可能会导致系统不能启动。
/lib:存放基本代码库(比如c++库),其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中
指令集合:
/bin:存放着最常用的程序和指令
/sbin:只有系统管理员能使用的程序和指令。
外部文件管理:
/dev :Device(设备)的缩写, 存放的是Linux的外部设备。注意:在Linux中访问设备和访问文件的方式是相同的。
/media:类windows的其他设备,例如U盘、光驱等等,识别后linux会把设备放到这个目录下。
/mnt:临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
临时文件:
/run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
/lost+found:一般情况下为空的,系统非法关机后,这里就存放一些文件。
/tmp:这个目录是用来存放一些临时文件的。
账户:
/root:系统管理员的用户主目录。
/home:用户的主目录,以用户的账号命名的。
/usr:用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
/usr/bin:系统用户使用的应用程序与指令。
/usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src:内核源代码默认的放置目录。
运行过程中要用:
/var:存放经常修改的数据,比如程序运行的日志文件(/var/log 目录下)。
/proc:管理内存空间!虚拟的目录,是系统内存的映射,我们可以直接访问这个目录来,获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件来做修改。
扩展用的:
/opt:默认是空的,我们安装额外软件可以放在这个里面。
/srv:存放服务启动后需要提取的数据(不用服务器就是空)
常用命令
Linux中的命令格式一般为:
命令名 选项 参数
例如:ls -l /home
如果有多个选项,既可以连在一起写,如ls -al
,也可以分开写,如ls -a -l
。
1 文件管理
ls命令 – 显示指定工作目录下的内容及属性信息 cp命令 – 复制文件或目录 mkdir命令 – 创建目录 mv命令 – 移动或改名文件 pwd命令 – 显示当前路径
2 文档编辑
cat命令 – 在终端设备上显示文件内容 echo命令 – 输出字符串或提取Shell变量的值 rm命令 – 移除文件或目录 tail命令 – 查看文件尾部内容 grep命令 – 强大的文本搜索工具
3 系统管理
rpm命令 – RPM软件包管理器 find命令 – 查找和搜索文件 startx命令 – 初始化X-windows uname命令 – 显示系统信息 resize2fs命令 – 调整文件系统大小
4 磁盘管理
df命令 – 显示磁盘空间使用情况 fdisk命令 – 磁盘分区 lsblk命令 – 查看系统的磁盘 hdparm命令 – 显示与设定硬盘参数 vgextend命令 – 扩展卷组
5 文件传输
tftp命令 – 上传及下载文件 curl命令 – 文件传输工具 fsck命令 – 检查并修复Linux文件系统 ftpwho命令 – 显示ftp会话信息 lprm命令 – 删除打印队列中的打印任务
6 网络通讯
ssh命令 – 安全连接客户端 netstat命令 – 显示网络状态 dhclient命令 – 动态获取或释放IP地址 ping命令 – 测试主机间网络连通性 ifconfig命令 – 显示或设置网络设备
7 设备管理
mount命令 – 文件系统挂载 MAKEDEV命令 – 建立设备 lspci命令 – 显示当前设备所有PCI总线信息 sensors命令 – 检测服务器内部温度及电压 setleds命令 – 设定键盘上方三个 LED 的状态
8 备份压缩
zip命令 – 压缩文件 unzip命令 – 解压缩zip文件 gzip命令 – 压缩和解压文件 zipinfo命令 – 查看压缩文件信息 gunzip命令 – 解压文件