Linux攀登之路-山脚篇day3教程
一.操作系统
敲命令之前记住三点
1.我是谁? whoami
2.我在哪? pwd
3.我要⼲什么?
4.操作系统的⽬录结构
Linux的⽬录结构:
“/”表示根⽬录,根⽬录是Linux⽬录结构中的最顶级的⽬录,类似于windows的C:\ D:\
/boot⽬录:存放的是系统的启动配置⽂件和内核⽂件
/dev⽬录:存放的是Linux的设备⽂件
/etc⽬录:存放的是Linux的配置⽂件
/home⽬录:存放的是Linux普通⽤户的家⽬录
/media⽬录:挂载点⽬录
/mnt⽬录:挂载点⽬录
/run⽬录:挂载点⽬录
/opt⽬录:存放软件⽂件的⽬录
/proc⽬录:存放的是进程⽂件
/srv⽬录:存放⼀些资源⽂件
/sys⽬录:存放⼀些资源⽂件(系统资源)
/tmp⽬录:存放的是⼀些临时⽂件(⾮常重要)
/usr⽬录:Linux软件默认安装的⽬录
/var⽬录:存放log⽇志⽂件的⽬录
/bin->/usr/bin :存放的是普通⽤户能执⾏的命令
/lib->/usr/lib:存放的是32位的函数⽂件
/lib64->/usr/lib64:存放的是64位的函数⽂件
/sbin->/usr/sbin:存放的是超级⽤户能执⾏的命令
/root:是root⽤户的家⽬录
su切换⽤户
普通⽤户切换到任何⽤户都需要输⼊密码
root⽤户切换到任何⽤户都不需要输⼊密码
语法su - username
二.文件管理与目录管理
⽂件的增删改查
文件属性的查看ls
ls -l查看文件的详细信息
-a参数表示显示以"."开头的⽂件,在Linux中,以"."开头的⽂件是隐藏⽂件
-d表示显示⽬录本身的属性,⽽不是⽬录下的内容的属性
-h参数易读
⽂件内容的查看
⽂本⽂件内容的查看
cat ⽂本⽂件的路径1 ⽂本⽂件的路径2
head ⽂本⽂件的路径 ,显示⽂件的前10⾏内容
head -n 5 ⽂本⽂件的路径 , 显示⽂件的前5⾏内容
head -5 等于 head -n 5
tail ⽂本⽂件的路径, 显示⽂件的后10⾏内容
tail -n 5 ⽂本⽂件的路径, 显示⽂件的后5⾏内容
tail -f ⽂本⽂件的路径 , 不断的查看⽂件的后10⾏内容
more 当⽂件内容⾮常多的时候,cat命令会⼀次性将所有的内容输出到屏幕上,假如说有1万⾏。
对于⽂本内容较多的⽂件,more命令可以分⻚显示这些内容。
假如⼀个⽂件有⼀万⾏,100⾏⼀⻚,那么more命令就能将这1万⾏内容分成100⻚
回⻋:可以让你看下⼀⾏内容
空格:可以让你看下⼀⻚的内容
q:可以退出more的状态
more命令不⽀持向前翻⻚
less和more差不多,less的好处是可以向前翻⻚
文件的创建
touch 文件路径1 文件路径2 创建文本文件
mkdir 文件路径1 文件路径2 创建目录文件
文件的删除
rm命令 文件路径1 文件路径2
-i参数能提示是否删除⼀个⽂件
-f参数,强制删除,不提醒
-r参数能赋予rm删除⽬录的能⼒
常用命令rm-rf极其危险的命令
ll=ls -l
rm= rm -i,通过alias命令设置别名。
rmdir只能删除空目录
文件的修改
cp(copy)
mv(move)
指定多⽂件拷⻉
cp 源⽂件1 源⽂件2 .... ⽬的⽬录path
cp如果最后⼀个⽂件是⼀个存在的⽬录,就将cp指定的⽂件拷⻉到⽬标⽬录
拷⻉且改名(备份)
cp 源⽂件 ⽬的⽬录
cp如果最后⼀个⽂件并不是⼀个存在的⽬录,就将cp指定的⽂件拷⻉到⽬标名字的上层⽬录,并且将名字更改为⽬标
名字
cp -r可以拷⻉⽬录
cp -a 可以保留⽂件的原有属性
管道
①管道的左边和右边都有命令
②管道左边的命令会产⽣输出结果,输出结果经过了管道之后,就会变成输
⼊。
③管道右边的命令,总是接收输⼊的命令
grep (抓) 过滤⽂件中的内容,如果过滤的内容存在,就将改⾏显示出来
grep 内容 普通⽂本⽂件
-i 不区分⼤⼩写
-v 反向抓取(我抓取的内容是123,加上-v,就是除了123,都抓取)
-A 向前抓取
-B 向后抓取
-n 显示⾏号
-E expression 正则表达式
通配符
?就是通配符的一个,"?"表示一个非空的任意字符
\表示转移字符,能让特殊字符失去原有的功能
[ ]表示匹配"[]"包含的其中的一个字符
*表示匹配任意数量的字符
正则表达式
^ 表示以什么什么开头
$ 表示以什么什么结尾
. 表示匹配任意⼀个⾮空字符
.* 表示匹配任意⾮空字符串
.* 表示有1~n个.
.? 表示匹配任意两个⾮空字符
? 表示可以重复前⾯指定的字符1次或0次
三. 用户用户组管理
用户的增删改查
增useradd
删userdel
改usermod
查id,grep username /etc/passwd
用户组的增删改查
增groupadd
删groupdel
改groupmod
查grep 组名 /etc/group
主要组(指定用户组) 私有组(没有指定用户组时自动创建与用户同名的用户组)
添加附加组(attached group),⼀个⽤户只可以属于⼀个primary
group,但是可以同时属于多个attached group
useradd -g 指定的是添加⽤户该⽤户的primary group,-G 指定的是
添加该⽤户的attached group。
创建⽤户的时候指定⽤户组
grep hzz /etc/passwd
用户密码管理
设置密码
passwd 用户名
⽤户的密码信息存放在/etc/shadow中
grep 用户名 /etc/shadow
-d 参数可以删除⼀个⽤户的密码
使⽤passwd命令控制⽤户的密码信息
passwd -n 3 -x 10 -w 5 -i 2 tgb
passwd的账号失效⽇期-e,直接加⽤户名,能将该⽤户的密码直接设置过
期 passwd -e tgb
锁定⽤户的密码
passwd -l tgb
-u 解锁密码
使⽤chage(change age)来修改⽤户的密码信息
chage -d 1300 -m 2 -M 20 -W 10 -I 4 -E 2021-1-1 tgb
用户组密码信息gpasswd 用户组
newgrp groupname,能让⼀个⽤户临时的切换到另外⼀个组,那么切换成
功之后,该⽤户创建的⽂件就都属于切换后的组。
touch /etc/nologin 除了root之外的所有⽤户都进制登录。
rm -rf /etc/nologin 解除⽤户登录限制
四. 权限
r=read读 4
w=write写 2
x=execute执行 1
chgrp修改用户组权限
chown修改拥有人与用户组权限
chmod设置文件权限
SET UID特殊权限应用于可执行的普通文件,当一个文件被设置SET UID特殊权限时,任何人一旦执行 该文件,都会临时获得文件拥有人的权限。
SET GID特殊权限应用于目录文件,当一个目录被设置SET GID特殊权限时,任何用户在该目录下创建 文件, 文件的所属组都会变成被设置SET GID那个目录的所属组。
系统缺省权限设置umask
创建目录的最终权限,就是目录777减去umask的后3位 创建普通文件的最终权限,就是666减去umask的后3位
五. 进程
进程管理
- 进程概念-运⾏中的程序
进程是正在执⾏的⼀个程序或命令,每⼀个进程都是⼀个运⾏的实体,都有⾃⼰的地址空间,并占⽤⼀定的系统资源。程序消耗的是磁盘资源,进程消耗的是内存和CPU资源
- 进程管理
进程管理的作⽤
(1)判断服务器健康状态
(2)查看系统中所有进程
(3)“杀死”进程