Linux Shell (1)-基础、文件、监控进程
- 脚本文件
# 为注释行shell不处理,但第一行#!/bin/bash为特例,标示着采用何种shell运行
`` 将内部命令行的执行结果赋值
> 输出重定向,覆盖
>> 输出重定向,追加
< 输入重定向
<< 指定一个结束符,并以此结束符结束输入
| 管道符
exit 退出状态
0 命令完成
1 未知错误
127 无法找到命令
130 Ctrl+C终止
- shell
提示符由变量PS1、PS2控制,通过格式符可以进行定制:PS1="\h\t\w$"
Ubuntu中的sh默认指向为dash而非bash,这个需要注意。
- ls
-R 文件以及文件夹缩略信息
-l 文件类型+权限+硬链接数+所属用户+所属组+大小+修改时间+名字
dr--r--r--:
1:文件类型 d目录、-文件、c字符设备、b块设备、l链接、n网络设备
rwx分别为读、写、执行权限
2-4: 针对文件所有者
5-7: 针对用户组成员
8-10:针对其他任何人
-i 显示文件索引号
-S 按大小排序、ls -X按扩展名排序
- touch
除了新建文件还可以修改文件信息,比如时间戳
- cp
-r 递归复制文件
-R 递归复制文件夹
-p 保留文件属性
-l 在同一挂载点下创建硬连接(索引号一致)
-s 创建软连接
- mv
会保留原有文件索引号和时间戳信息
- rm
慎重!慎重!使用
- stat
查看文件的详细信息(索引号、大小、权限、时间戳)
- file
确定文件类型
- more
f 向下翻屏
b 向上翻屏
= 显示行号、字节位置
- ps
-ef 显示所有进程的完整列表
UID 启动进程的用户ID
PID 进程ID
PPID 父进程ID
STIME 进程启动时的系统时间
TTY 进程的启动终端
TIME 运行所需的累计CPU时间
CMD 启动程序名称
-l 显示进程的更多信息
F 内核分配的进程标记
S 进程状态
O-在处理上运行
S-睡眠
R-可运行,等待运行
Z-死进程,进程已终止,但父进程不可用
T-进程已停止
PRI 进程优先级(越大越低,20 ~ -20)
NI 判断优先级用
ADDR 进程内存地址
SZ 换出进程需要的交换空间
WCHAN 进程睡眠时所在内核函数的地址
-H 显示进程的层级关系
- top
第一行: 系统运行时间、登录用户数、系统平均负载(1分钟、5分钟、15分钟)第二行: 进程总数、(运行、睡眠、停止、僵尸)进程数第三行: CPU利用率???第四行: 物理内存(总、已使用、空闲、缓冲区)容量第五行: SWAP(总、已使用、空闲、缓冲区)容量
PID: 进程IDUSER: 进程所有者PR: 进程优先级NI: 进程Nice valueVIRT: 进程所用的虚拟内存总量RES: 进程正在使用的物理内存量SHR: 与其他进程共享的内存量
S: 进程状态D-可中断睡眠R-运行中S-睡眠T-已跟踪或已停止Z-僵死
%CPU: 正在使用的CPU时间份额%MEM: 正在使用的物理内存份额TIME+: 已使用的总CPU时间COMMAND:命令名称