Linux Shell (1)-基础、文件、监控进程

  1. 脚本文件

#      为注释行shell不处理,但第一行#!/bin/bash为特例,标示着采用何种shell运行

`` 将内部命令行的执行结果赋值

>       输出重定向,覆盖

>>     输出重定向,追加

<       输入重定向

<<     指定一个结束符,并以此结束符结束输入

|         管道符

exit 退出状态

0              命令完成

1              未知错误

127          无法找到命令

130           Ctrl+C终止

  1. shell

提示符由变量PS1、PS2控制,通过格式符可以进行定制:PS1="\h\t\w$"

Ubuntu中的sh默认指向为dash而非bash,这个需要注意。

  1. ls

-R 文件以及文件夹缩略信息

-l  文件类型+权限+硬链接数+所属用户+所属组+大小+修改时间+名字

dr--r--r--:

1:文件类型 d目录、-文件、c字符设备、b块设备、l链接、n网络设备

rwx分别为读、写、执行权限

2-4:  针对文件所有者

5-7:  针对用户组成员

8-10:针对其他任何人

-i  显示文件索引号

-S 按大小排序、ls -X按扩展名排序

  1. touch

除了新建文件还可以修改文件信息,比如时间戳

  1. cp

-r 递归复制文件

-R 递归复制文件夹

-p 保留文件属性

-l 在同一挂载点下创建硬连接(索引号一致)

-s 创建软连接

  1. mv

会保留原有文件索引号和时间戳信息

  1. rm

慎重!慎重!使用

  1. stat

查看文件的详细信息(索引号、大小、权限、时间戳)

  1. file

确定文件类型

  1. more

f 向下翻屏

b 向上翻屏

= 显示行号、字节位置

  1. 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 显示进程的层级关系

  1. 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:命令名称