Linux 复习笔记
复习、复习、复习,当个好学生。
Linux
-
开源 GNU
-
类 Unix 系统
-
多用户、多线程、多任务
-
衍生出很多发行版本,用过fedora、arch、centos、ubuntu等等,不过感觉最好的还是ubuntu,主要是网站对国内用户很友好,桌面端、服务器端、iot端都有相应的版本。仁者见仁!
-
搞过LFS, 深刻理解一切即文件
Linux 系统启动过程
-
内核引导 – BIOS, 基本输入输出系统完成硬件检测后,交由BIOS中设置的启动设备,一般即为硬盘,交给内核接管整个硬件
-
运行init – 进程的起点,也是后面进程所依赖的,此过程中得进程包含一个运行级别,级别不同,其功能效果也不同。
-
系统初始化 – 也即准备整个系统运行的初始环境吧。
-
建立终端 – 也即开发访问路径给用户。
-
用户登录 — 命令行登录、ssh登录、图形界面登录
大致知道个流程即可,如果有深入学习操作系统,再去了解吧,可能永远不会!
附带一个关机命令,虽说要保持24*7小时不间断运行,但是个人使用学习时,难免会重启,不过我也在想,那服务器更新了,一定不能重新吗?我估计也不是,估计还是会停机重启维护,这个有点偏运维了。所以说docker才是未来呀。
同步内存中的数据到硬盘,第一次知道,以前直接关。 sync
-
shutdown 关机,但是要附带参数
-
reboot 重启 等价于 shutdown -r now
-
halt 关机
Linux中的文件系统
当初搞LFS的时候,就接触了这个,Linux的文件系统遵循分层结构:LSB(Linux Standard Base),约定大于配置,国外的东西总有一种指导思想,以前mysql、nginx安装位置的时候总是摸不着头脑,现在发现大家的软件包都准循着规范,大体就能知道配置、数据、主目录所在,不会像以前,摸不着头脑,说实话,这也是一种默契的体现吧。不过感觉我所接触到的团队都没意识到这个的重要性,都喜欢写文档标注。
我就根据记忆回顾几个重要的吧。
-
/boot linux启动流程中,会有的一个重要文件夹,不能动这个文件夹的东西,会影响到整个系统的稳定。
-
/etc 配置文件
-
/mnt 挂在目录,linux中,一切都是文件
-
/bin 命令所在目录
-
/home 用户所在的主目录,里面具体分用户,root用户有根目录的 /root
-
/dev 硬盘设备文件
-
/media 媒体文件
-
/opt 软件包可选安装目录,一般用户安装用户自己的应用。
主要记录下 /usr 以及 /var
usr: universal shared, read-only data(通用共享,只读数据)
/usr/local: 一般为第三方应用安装目录,例如nginx、mysql、docker等等,所以安装的就在这里找
var: variable data files(可变数据文件),一般查日志
/var/log: 日志文件存放目录
安装自己应用在 /opt 中,查找第三方应用/usr/local, 配置文件/etc, 日志/var/log,这些常用,其他的一般用不到。
文件的基本属性
通过ls查询出来的文件列表,最前面一些列为此文件的基本属性
-
第一个字符,为d代表文件夹,为-代表文件
-
后面3个字符一组,共三组,分别是owner、group、other,感觉这个不要翻译成中文,不然反而迷惑。用户、用户所属组、其他用户所有的权限
-
3个字符,rwx, r代表可写,w代表可读,x代表可执行,如果为-,代表没权限
drwxrwxrwx 代表:这是个目录,ower,group,other都有rwx权限 -rwxrx—- 代表:这是个文件,ower有rwx权限,group以及other无任何权限
还是借用一张图片吧:

修改文件的归属以及属性
可以修改文件的所有权,使用chown,change owner,改变文件的拥有者,可以修改文件的rwx权限,使用chmod,change model
chown:
chown [-R] group:owner filename
-
-R: 如果是文件夹,-R代表递归,将其下所有文件的所有者都改为 group:owner
chmod
一次性修改owner/group/other 的权限
chmod [-R] xyz filename
xyz分别对应 ower、group、other各自的权限之和
r: 4 w: 2 x: 1
chmod 777 filename
第一个7代表owner的权限,x = 4 + 2 + 1 = r + w + x 第二个7代表group的权限,同理 第三个7代表other的权限,同理
注: 7 为权限值相加,对应修改即可
修改指定 owner 、group 、other的权限
+:代表增加权限 -:代表删除权限 =:代表赋值权限 u: 代表owner的权限 g:代表group的权限 o:代表other的权限 a:代表3个所有
filename // other 赋值x权限 chmod o=x filename
注:其他对象,其他权限,更改对应值即可。
文件的操作
-
ls(英文全拼:list files): 列出目录及文件名
-
cd(英文全拼:change directory):切换目录
-
pwd(英文全拼:print work directory):显示目前的目录
-
mkdir(英文全拼:make directory):创建一个新的目录
-
rmdir(英文全拼:remove directory):删除一个空的目录
-
cp(英文全拼:copy file): 复制文件或目录
-
rm(英文全拼:remove): 删除文件或目录
-
mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称
用户管理
用户创建修改删除
创建用户以及其主目录
useradd -d /home/username -m username
删除用户及其主目录
userdel -r username
修改用户
usermod -g groupname username
其他属性自查,一般多用于修改所属组
切换所属组:
newgrp groupname
修改密码
修改自己密码:
passwd
修改他人密码(root用户): passwd username
限制用户登录(设置密码为空,或者限制账户登录)
设置空密码 passwd -d username
锁定账号 passwd -l username
组
新增组 groupadd groupname
修改组 groupmod groupname
删除组 groupdel groupname
账号密码操作,本质是新增文件记录
-
/etc/passwd: 用户信息列表
-
/etc/group: 组信息
-
/etc/shadow: 密码
磁盘管理
-
df: disk full,查看磁盘整体情况,常用
df -h /
查看磁盘占用情况 -
du: disk use, 查看磁盘使用情况
-
fdisk: 操作磁盘,一般用于分区、格式化等等
vi/vim
三种模式:命令行模式、输入模式、底部命令行模式
命令行模式:不能对文件进行编辑,可以通过 a/i 字母命令进入输入模式 输入模式:可以修改文件内容,其中也包含很多快捷键进行文本操作 底部命令模式:通过输出:冒号,进入,可以输入命令,常见 q 退出 w 保存。
常用复制、粘贴、删除命令
dd: 删除光标所在行 yy: 复制光标所在行 p/P: 粘贴光标所在行下方/上方 u: 复原前一个动作 ctrl + r: 重做上一个动作 . : 重复上一个动作