Linux随记
前言
此为 Linux 的小笔记
正文
Linux 系统文件结构
Linux 系统不像 Windows 系统那样拥有注册表对系统进行统一的管理,而是由一个庞大树状结构的文件目录所组成,分散管理,以”/“开始,称为根目录。可以说 在 Linux 中都是文件。
那么,该系统文件结构具体是什么样的呢?
注意:Linux 中的目录结构并不像 Windows 中的那样具有包含关系,Linux 中的目录只是一个引索点而已,不存在包含关系。
1级目录 | 存放的数据 |
---|---|
/bin/ | 存放普通用户和 root 都可以执行的系统命令 |
/boot/ | 系统启动引导目录,存放跟系统启动相关的文件 |
/dev/ | 设备文件保存目录 |
/etc/ | 配置文件保存目录 |
/home/ | 普通用户家目录 |
/lib/ | 库文件保存目录,一些应用的零件 |
/media/ | 挂载目录。可以用来挂载媒体设备,如软盘和光盘 |
/mnt/ | 挂载目录。如 U 盘、移动硬盘和其他操作系统的分区 |
/misc/ | 挂载目录。可以用来挂载 NFS 服务的共享目录。虽然系统准备了三个默认挂载目录 /media/、/mnt/、/misc/,但是到底在哪个目录中挂载什么设备可以由自己决定 |
/opt/ | 第三方安装的软件保存位置。这个目录是放置和安装其他软件的位置,手工安装的源码包软件都可以安装到这个目录中。 |
/root/ | root 的主目录。普通用户主目录在 /home/ 下,root 主目录直接在“/”下 |
/sbin/ | root 能使用的系统命令 |
/srv/ | 服务数据保存目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据 |
/tmp/ | 临时文件目录。系统存放临时文件的目录,在该目录下,所有用户都可以访问和写入。解压缩,机器之间拷贝文件都要用到该目录 |
/usr/ | 第三方安装的东西可以放在这里,如自己装的软件等等,首先选此目录,其次选择 /opt/ 目录,目录下还可以在细分其他目录 |
/svr/ | 一些服务 |
文件目录命名规则
首先 Linux 是区分大小写的,比如 aaa 文件或目录与 AAA 文件或目录是两个不同的文件或目录。
另外,Linux 对文件扩展名(后缀)是不区分的,也就是说,一张 a.jpg 的图片在 Linux 中即使不加 .jpg 也能正常显示,文件内容该是什么打开后就是什么。
shell
Shell是系统的用户界面,显示为一个命令行,它提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行
Linux 简单命令
在 Linux 下我们会使用到很多的命令,有内部命令和外部命令的区别。内部命令是随 shell 一起加载好的,可以直接用,外部命令需要找到命令所在位置才可以使用,或者添加到环境变变量中去。
Linux 环境变量
环境变量是指在操作系统中用来指定操作系统运行的一些参数:也就是说,操作系统通过环境变量来找到运行时的一些资源。在 Windows 中大家很熟悉。Linux 使用 env 命令来查看到 Linux 系统中所有的环境变量。
我们先来认识一下 Linux 命令的基本格式:
1 | Linux命令= 命令 -【选项】 【参数】 |
并不是所有的都需要以上三个部分,后两部分不是必须。
【选项】是命令的一些操作的指令,实现命令的某些功能。- 后一般接单个字母,– 后一般接单词
【参数】通常是被命令操作的对象,例如文件,目录等
1 | xxx --help 给一些小tips |
系统服务控制命令
针对服务的控制的命令,常用的就是 systemctl ,语法:
1 | systemctl [控制命令] [服务名称] |
[控制命令] 有:
start 启动
stop 停止
restart 重启 (先关闭,再启动)
reload 重新加载 (不关闭当前服务的重启)
status 查看服务状态 (运行中还是关闭状态)
cd 命令
它是用来切换工作目录的,根据后面所接的符号,路径等进行跳转
符号 | 意义 |
---|---|
~ | 家目录 |
.. | 上一级目录 |
. | 当前目录 |
- | 上次的目录 |
1 | [mtrleed@localhost /]$ cd opt |
ls 命令
此命令全名为 list ,用来罗列出文件等信息,它同样有着很多的【选项】
选项 | 功能 |
---|---|
-a | 显示全部的文件,包括隐藏文件(隐藏文件通常为 . 开头) |
-d | 仅列出目录本身,而不是列出目录内的文件数据 |
-F | 在文件或目录名后加上文件类型的指示符号,例如,* 代表可运行文件,/ 代表目录,= 代表 socket 文件,| 代表 FIFO 文件 |
-h | 以人们易读的方式显示文件或目录大小,如 1KB、234MB、2GB 等 |
-i | 显示 inode 节点信息,与磁盘有关 |
-l | 使用长格式列出文件和目录信息,就是详细信息 |
-R | 连同子目录内容一起列出来,将该目录下的所有文件都显示出来 |
-S | 以文件容量大小排序 |
-t | 以时间排序 |
1 | [mtrleed@localhost /]$ ls |
注意,只有文件的大小是能确定的,目录的大小是引索的大小,而不是目录下的数据的大小
pwd 命令
此命令用来显示当前的工作目录
1 | [mtrleed@localhost /]$ cd opt |
mkdir 命令
该命令用来创建目录,通常目录跟随着访问权限,我们要用到 -m ,在需要创建自定义多级目录的情况下需要用到 -p ,否则是无法创建的
1 | [root@localhost opt]# mkdir test |
touch 命令
该命令用于创建文件
1 | [root@localhost opt]# cd test |
rm 命令
该命令用于删除目录或文件,具有破坏性,谨慎
选项 | 功能 |
---|---|
-f | 强制删除,递归删除时按需用,否则需多次 y (慎用) |
-i | 提示是否确定删除 |
-r | 递归删除,删除目录时要用到 |
1 | [root@localhost opt]# rm -r test |
cp 命令
该命令用于复制文件或目录
1 | cp [选项] [源文件] [目标文件] |
选项 | 功能 |
---|---|
-i | 询问,若存在询问是否覆盖 |
-p | 保留源文件的属性,包括所有者、所属组和时间 |
-r | 递归复制,用于复制目录 |
mv 命令
该命令用于移动文件或目录,具有破坏性,谨慎
1 | mv [选项] [源文件] [目标文件] |
选项 | 功能 |
---|---|
-f | 强制移动覆盖 |
-i | 询问,如果目标文件已经存在,则询问用户是否覆盖(默认选项) |
如果源文件和目标文件在同一目录中,就会改名为 [目标文件]
1 | [root@localhost ~]# mv test test1 //test 文件改名为 test1 |
su 命令
该命令用于临时切换用户
1 | [root@localhost /]# whoami |
sudo 命令
该命令用于临时使用 root 权限来执行某些命令,在需要执行的命令前添加即可