常用的bash shell命令(ls、链接文件、查看文件内容、监测进程)

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:拉起进程的命令
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值