1、启动shell
shell提供对Linux系统的交互式访问,它是作为普通程序运行的,通常是在用户登录终端时启动,登录时系统启动的shell依赖于用户账户的配置。/etc/passwd文件记录了用户账户列表以及每个用户的基本配置信息。
每个条目有7个字段,每个字段分别是:
用户名:密码:UID:GID:文本描述(称备注字段):用户家目录:用户默认shell
注:密码并不是x,只是很多程序都会访问/etc/passwd文件获取用户信息,这是一个极大的安全隐患,所以/etc/passwd所有用户密码都被记为x。
2、ls
ls -l //产生长列表格式的输出,包含了文件的更多相关信息:
- 文件类型
- 文件权限
- 文件的硬链接总数
- 用户名
- 组名
- 大小(字节为单位)
- 最近修改时间
- 文件/目录名
(1)文件类型
符号 | 表示 |
---|---|
- | 普通文件 |
b | 块设备 |
c | 字符设备 |
d | 目录 |
l | 软连接 |
p | 管道 |
s | 套接字 |
(2)文件权限
符号 | 表示 |
---|---|
r | 读 |
w | 写 |
x | 执行 |
3、链接文件
Linux中有两种不同类型的文件链接:符号链接(软链接)、硬链接
(1)符号链接是一个实实在在的文件,指向存放在某个地方的另一个文件,这两个通过符号链接在一起的文件,内存并不相同。要为一个文件创建符号链接,原文件必须事先存在。
[root@foundation29 test]# vim file1
[root@foundation29 test]# ls -l file1
-rw-r--r--. 1 root root 29 Apr 7 16:36 file1
[root@foundation29 test]# ln -s file1 file2 //创建软链接
[root@foundation29 test]# ls -l
total 4
-rw-r--r--. 1 root root 29 Apr 7 16:36 file1
lrwxrwxrwx. 1 root root 5 Apr 7 16:37 file2 -> file1
//file2是链接到file1上的一个符号链接,二者大小并不相同,file1有29字节,而file2只有5字节,这是因为file2仅仅指向file1,但其实二者是完全不同的两个文件。
我们也可以查看inode编号,文件或目录的inode编号是用于标示的唯一数字,这个数字由内核分配给文件系统中的每一个对象。
[root@foundation29 test]# ls -i
404766829 file1 404766828 file2
//二者inode编号并不相同
(2)硬链接会创建独立的虚拟文件,包含了原始文件的信息及位置,但是从根本上而言是同一个文件,引用链接文件相当于引用了原文件。要创建硬链接,原始文件也必须事先存在.
[root@foundation29 test]# touch file1
[root@foundation29 test]# echo "hello" > file1
[root@foundation29 test]# ll
total 4
-rw-r--r--. 1 root root 6 Apr 7 16:53 file1
[root@foundation29 test]# ln file1 file2 //创建硬链接
[root@foundation29 test]# ls -li
total 8
404766828 -rw-r--r--. 2 root root 6 Apr 7 16:53 file1
404766828 -rw-r--r--. 2 root root 6 Apr 7 16:53 file2
//我们可以看到file1和file2文件大小、inode编号一样,这是因为它们终归是一个文件,还要注意的是,链接计数显示这两个文件都有两个链接。
4、查看文件内容
(1)file:查看文件类型
[root@foundation29 test]# file file1
file1: ASCII text
[root@foundation29 test]# file file2
file2: symbolic link to `file1'
[root@foundation29 dev]# pwd
/dev
[root@foundation29 dev]# file block/
block/: directory
[root@foundation29 dev]# file sda
sda: block special
[root@foundation29 dev]# file log
log: socket
(2)cat、tac
cat:由第一行开始显示内容,将所有内容输出
tac:与cat相反,从最后一行开始显示
(3)more、less
more:将文件从第一行开始,根据输出窗口的大小,适当的输出文件内容,回车翻行,空格翻页,q退出
less:与more相似,但比more功能更多,有less is more的意味,可以PgUp、PgDn前后翻页,“/字符”可查找指定字符,高亮显示
(4)tail、head
head/tail:读取文件的前/后几行
(5)nl
nl:从第一行开始输出且标行号
与cat -n不同的是,cat -n会标空白行行号,但nl不标
5、监测进程
(1)ps:显示当前控制台下的属于当前用户的进程
常见参数:
参数 | 意义 |
---|---|
a | 关于当前环境的所有进程 |
x、-A | 显示所有进程 |
f | 显示进程从属关系 |
e | 显示进程调用环境工具的详细信息 |
u | 显示进程的用户信息 |
-a | 显示shell前台运行命令的进程,但不包含shell本身 |
实例:
//-o 指定显示进程某些信息,–sort排序,+%cpu指按cpu升序,-%mem指按mem倒序
//nice表示进程优先级,范围-20~19
//ps aux可以查看内存、CPU,ps aux是BSD风格,-ef是System V风格,更重要的是aux会截断command列,而-ef不会
(2)top:实时监测进程
上半部分显示了整体系统负载情况:
- top一行:从左到右依次为当前系统时间,系统运行的时间,系统在之前1min、5min和15min内cpu的平均负载值
- Tasks一行:该行给出进程整体的统计信息,包括统计周期内进程总数、运行状态进程数、休眠状态进程数、停止状态进程数和僵死状态进程数
- Cpu(s)一行:cpu整体统计信息,包括用户态下进程、系统态下进程占用cpu时间比,nice值大于0的进程在用户态下占用cpu时间比,cpu处于idle状态、wait状态的时间比,以及处理硬中断、软中断的时间比
- Mem一行:该行提供了内存统计信息,包括物理内存总量、已用内存、空闲内存以及用作缓冲区的内存量
- Swap一行:虚存统计信息,包括交换空间总量、已用交换区大小、空闲交换区大小以及用作缓存的交换空间大小
下半部分显示了各个进程的运行情况: - PID:进程pid
- USER:拉起进程的用户
- PR: 进程的优先级,该列值加100为进程的执行优先级(动态),若优先级小于100,则该进程为实时(real-time)进程,否则为普通(normal)进程,数值越小优先级越高,实时进程的优先级更高,更容易获得cpu调度
- NI: 进程的谦让度值,nice优先级值(静态),nice值范围为-20~19,默认是0,值越小优先级越高,低nice值(高优先级)的进程抢占CPU的能力就越强
- VIRT: 进程所占虚拟内存大小(默认单位kB)
- RES: 进程当前使用的内存大小(默认单位kB)
- SHR: 进程所占共享内存大小(默认单位kB)
- S:进程的运行状态
符号 | 状态 |
---|---|
D | 可中断的休眠状态 |
R | 正在运行状态 |
S | 休眠状态 |
T | 跟踪状态或停止状态 |
Z | 僵化状态 |
- %CPU: 采样周期内进程所占cpu百分比
- %MEM:采样周期内进程所占内存百分比
- TIME+: 进程使用的cpu时间总计
- COMMAND:拉起进程的命令