0. 背景
最近在看刘遄的<Linux 就该这么学>Linux 就该这么学,记下笔记.完整笔记在我github的repo里 https://github.com/mizuhokaga/rewrite
第2章 新手必须掌握的Linux
1.常用系统命令
- ps
- 查看进程状态,ps可以允许参数不加减号
ps h
- -a 所有进程
- -u 用户以及详细作用
- -x 显示没有控制终端的进程
- 一般使用
ps aux |grep 进程名
来根据进程名查询 pid ,虽然ps aux --sort=-%cpu | head
orps aux --sort=-%mem | head
查询最高占用cpu/memory 的进程,不过由于ps是静态的,我一般选择top命令
- 查看进程状态,ps可以允许参数不加减号
- top
- top命令用于动态地监视进程活动及系统负载等信息
- 前5行是系统整体统计info
- 第一行: 系统时间,运行时间,用户终端书,系统负载(从左到右 1 min ,5min ,15min,越小即负载越低)
- 第二行:进程总数,运行中的进程数,睡眠进程数,停止进程数,僵尸进程数
- 第三行:占用cpu百分比:用户/系统/改过用户优先级/空闲资源(id)等
- 第四/五行: 内存/交换区:总量,空闲,已使用,buff/cache /avail
常用排序
- M 切换为内存排序
- P 切换为 CPU 占用百分比排序
2. 系统状态检测命令
- uptime
- 查看系统的负载信息,本质上就是top第一行信息
- free
- 查询内存信息,参考文章 https://blog.csdn.net/qq_44831907/article/details/127788950
free -h
常用命令,以方便人类可读的格式打印信息
- netstat
- 显示如网络连接、路由表、接口状态等的网络相关信息
- -a 显示所有连接中 socket
-p 显示正在使用的socket
-t 显示 tcp协议
-u 显示udp协议
netstat -anp | grep 端口号
我常用于已知端口号查询pid
3.查找定位文件命令
- cd
- 改变工作目录,太熟了
cd -
换上一次所处的目录cd ~
切回当前用户的家目录
- ls : 显示目录中的文件信息
- ls -a` 看到全部文件(包括隐藏文件)
ls -l
-l参数可以查看文件的属性、大小等详细信息
- tree :展示文件树
tree -L 2
最大递归层数为2 - find
第三章/第四章
第3章 管道符、重定向与环境变量 :介绍了
第4章 Vim编辑器与Shell命令脚本 :介绍了vim 和shell最基本的操作
第五章 用户身份与文件权限
- useradd :useradd命令用于创建新的用户账户,语法格式为“useradd [参数]用户名”
- -g :指定用户基本组 (必须提前存在如wheel)
- -s:指定shell
- -m 创建家目录
- -M 不要创建家目录
- userdel :userdel命令用于删除已有的用户账户 语法格式为“userdel [参数]用户名”。
- -r:删除用户及用户家目录
- groupadd :groupadd命令用于创建新的用户组,语法格式为“groupadd [参数]群组名
- usermod
- chowon
- chmod
- passwd :语法格式为“passwd [参数]用户名”
- -l :锁定用户禁止登录
- -u : 解锁用户
文件权限 除开常见的777,rwx外,还有几个特殊的:
- suid : 当用户执行具有SUID标志的可执行文件时,该程序将以文件所有者的身份运行,而不是当前用户的身份
- 设置/去除SUID标志:
chmod u+s filename
/chmod u-s filename
- 设置后 rwx------ 会变成 rw
s
------
- 设置/去除SUID标志:
- sgid:类似suid ,只不过是以文件所有组的身份运行
- 设置/去除SGID标志:
chmod g+s filename
/chmod g-s filename
- 设置后 rwxrwx— 会变成 rwxrw
s
—
- 设置/去除SGID标志:
- sbit(Sticky Bit) : 翻译粘滞位,用于在目录上设置特殊的权限,通常,它应用于目录,而不是文件。 Sticky Bit 被设置在一个目录上时,只有文件所有者才能删除自己的文件。
- 设置/去除sbit标志:
chmod o+t
/tmp ,chmod o-t /tmp - 设置后 : rwxrwxrwx 会变成你 rwxrwxrw
t
- 例子就是 /tmp 目录,确保所有用户都能够在其中创建临时文件,但只有文件所有者才能删除自己的文件
- 也意味着文件能否被删除并不取决于自身的权限,而是看其所在目录是否有写入权限
- 设置/去除sbit标志:
文件还可以使用命令设置隐藏权限,chattr
的例子如下:
chattr+a text.txt
:设置text.txt 仅运行append内容 ,无法删除文件
chattr+i xxx
:设置xxx 无法被修改;若对象为目录,则仅可以修改子文件内容但不能新建或删除文件
查看隐藏权限:lsattr
另外提一嘴基于acl(访问控制列表)的权限控制相关命令:setfacl
(set file acl) getfacl
命令,当文件权限最后一位是+号时,说明设置acl
第6章 存储结构与磁盘划分
核心是关于硬盘相关概念如挂载:当用户需要使用硬盘设备或分区中的数据时,需要先将其与一个已存在的目录文件进行关联,而这个关联动作就是“挂载”
- mount /unmount
- fdisk
- df
- du