进入单用户找回root身份
编辑/etc/passwd,vim /etc/passwd
将root:x:变成root::
文件基本权限(不适用于root)
对于文件:
r读 w写 x执行
对于目录:
r读(看到目录里面有什么)
w建文件、删除、移动
x进入
修改权限命令
chmod
作用:修改文件权限
u + r
g - w
o = x
a + x a表示所有(u、g、o)
修改文件夹权限
使用数字表示权限
rwx
r-- | -w- | --x |
---|---|---|
100 | 010 | 001 |
r=4 | w=2 | x=1 |
rw-的值是6 ,rwx r-x r-x的值是755
chmod a=rwx a.txt
等于 chmod 777 a.txt
chown
作用:修改文件拥有者和所属组
语法:
chown USER:GROUP 对象
chown USER 对象
chown :GROUP 对象
-R 递归(目录下的所有内容全部更改,否则只修改目录)
设置文件默认权限的补码:
系统用户:#umask 022
普通用户:#umask 002
计算方法:
文件默认权限=666 - umask值 666-022=644
目录默认权限=777 - umask值
注意:这是一个好的记忆方法,但不严谨。
umask掩码为033. 666 - 033=633 结果为:644
110110110(666)与111100100(033的反码)相与得到110100100(644)
特殊权限
SUID SGID Stickybit
s对应的数值为:4 s,2 t,1
SUID:
限定:只能设置在二进制可执行程序上面。对目录文本设置无效。
功能:程序运行时的权限从执行者变更成程序的所有者。
SGID:
限定:既可以给二进制可执行程序设置,也可以给目录设置。
功能:在设置了SGID权限的目录下建立文件是,新创建的文件的所属组会继承上级目录的所属组。
Stickybit:
限定:只作用于目录
功能:目录下创建的文件只有root、文件创建者、目录所有者才能删除。
一个让root都无法删除的文件
chattr lsattr
+a 只能追加内容
+i 不能被修改
tar命令
作用:打包、压缩文件
c create 创建
v 详细
f filename
file命令
作用:查看文件类型
用法:file 文件路劲
注意:Linux系统不根据后缀名识别文件类型
不解包,查看tar中的内容:
tar -tvf a.tar
解包:
tar -xvf a.tar
指定解压路径:
tar -xf a.tar -C /home
tar归档+压缩
格式(后缀名):.tar.gz 或 .tgz
语法:tar cvzf newfile.tar.gz SOUPCE
tar -zxf a.tar -C /home
bz2 归档+压缩
tar -cjvf a.tar.bz2 /root
解压:tar jxf a.tar.bz2 -C /root/a
zip软件包解压缩命令
zip是压缩程序,unzip是解压程序。
压缩文件:
zip a.zip /etc/passwd
压缩目录:
zip -r a.zip /root
解压缩:
unzip a.zip
unzip a.zip -d /home
进程管理
查看进程树:
pstree树型结构显示系统进程信息
-p显示进程号
ps命令
USER:运行此进程的用户名
PID:该process的号码
%CPU:该进程使用掉的CPU资源百分比
%MEM:该进程所占用的物理内存百分比
VSZ:该进程使用掉的虚拟内存量(kbytes)
RSS:该进程占用的固定的内存量(kbytes)
TTY:该进程是在哪个终端上面运作,若与终端机无关,则显示?,另外,tty1~tty6市本级上面的登入者程序,若为pts/0等等的,则表示为由网络连接进主机的程序。
STAT:该进程目前的状态,Linux进程有5种基本状态:
R:(正在运行或在运行队列中等待);
S:该程序目前正在睡眠中,但是可被某些讯号(signal)唤醒。
T:该程序目前暂停了;
Z:该程序应该已经终止,但是其父程序却无法正常的终止它,造成zombie(僵尸)程序的状态;
D:不可中断状态;
ctrl + c是发送SIGINT信号,终止一个进程
ctrl + z是发送SIGSTOP信号,挂起一个进程。
< | 高优先级的 |
---|---|
N | 低优先级的 |
L | 有内存分页但是带锁 |
s | 包含子进程 |
I | 多线程 |
+ | 前台程序() |
START:该进程被触发启动的时间
TIME:该进程实际使用CPU运作的时间
COMMAND:该进程的实际指令
ps -aux是用BSD的格式来显示进程
ps -ef是用标准的格式显示进程
top命令
作用:动态查看进程
统计信息区前五行是系统整体的统计信息
1.第一行是任务队列信息,同uptime
命令的执行结果相同
14:35:50 | 当前时间 |
---|---|
up 3:25 | 系统运行时间,格式为时:分 |
2 users | 当前登录用户数 |
load average: 0.08, 0.03, 0.05 | 系统负载,即任务队列的平均长度。三个值分别为1分钟、5分钟、15分钟前到现在的平均值。 |
2.第二、三行为进程和CPU的信息
Tasks: 198 total | 进程总数 |
---|---|
1 running | 正在运行的进程数 |
197 sleeping | 睡眠进程数 |
0 stopped | 停止进程数 |
0 zombie | 僵尸进程数 |
%Cpu(s): 1.3 us | 系统用户进程使用CPU百分比 |
0.3 sy | 内核空间占用CPU百分比 |
0.0 ni | 用户进程空间内改变过优先级的进程占用CPU百分比 |
98.3 id | 空闲CPU百分比 |
3.第四、五行为内存信息
KiB Mem : 997956 total | 物理内存总量 |
---|---|
62328 free | 空闲内存总量 |
739828 used | 使用的物理内存总量 |
195800 buff/cache | 用作内核缓存的内存量和free -k一个意思 |
KiB Swap: 2097148 total | 交换区总量 |
1914364 free | 空闲交换区总量 |
182784 used | 使用的交换区总量 |
57860 avail Mem | 缓冲的交换区总量 |
进程信息
PID | 进程id |
---|---|
USER | 进程所有者的用户名 |
NI | 进程优先级,nice值。负值表示高优先级,正值表示低优先级 |
RES | 实际使用内存大小 |
top快捷键:
默认3s刷新一次
空格:立即刷新
q退出
M按内存排序
P按CPU排序
kill命令
kill -9 pid
killall或plill 通过程序的名字,直接杀死所有进程
文件查找方法
which:查看可执行文件的位置
whereis:查看可执行文件的位置及相关文件
locate:配合数据库缓存,快速查看文件位置
find:实际搜寻硬盘查询文件名称
grep:过滤
find搜索文件系统、实时搜索
find [目录] [条件] [动作]
不输入代表当前目录
类型:-type(f 文件,d 目录,I 链接,p 管道,c 字符文件,b 快文件,s socket文件)
名字:-name
大小:-size +NM大于兆 -NG小NGB
时间: -mtime -atime -ctime
查看命令
cat -s多个空行合并成一个空行显示
cat -b加行号显示
nl 加行号
cp 源文件路径 目的路径 -i
覆盖时交互提示:
touch创建一个已经存在的文件时,只更新时间戳