Linux补(二)

进入单用户找回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创建一个已经存在的文件时,只更新时间戳

你可能感兴趣的:(Linux补(二))