What's Linux?
Linux 是一种操作系统(Operating System,OS)。
区别于windows的图形界面,Linux的操作需要命令行执行。
可实现多用户同时使用,互不干扰,常用于服务器(supercomputer)。
无分盘,执行目录结构。
Why we need Linux?
Linux 是开源,免费,无图形界面,可最大限度调用计算机性能用于计算。
命令行模式可支持批量文件操作,满足海量数据处理需求。
How we can conduct Linux?
- win10 内置Linux,去windows APP store下载安装
- 安装Linux系统(不推荐)
- win7安装虚拟机,git bash
- Mac 自带terminal
- 本地服务器
- 云服务器 (putty)
Linux 命令
练习作业
- ls输出的是横向的列表,怎样输出长格式列表
ls -l 可输出长格式列表 - 如何查看长格式列表中文件的大小?
ls -lk 可查看长格式列表中文件的大小 - 查看Linux系统版本、内存与硬盘空间?
查看Linux系统版本
lsb_release -a,即可列出所有版本信息
cat /etc/redhat-release,这种方法只适合Redhat系的Linux
cat /etc/issue,此命令也适用于所有的Linux发行版。
查看Linux系统内存
1.top (Ref:https://blog.csdn.net/u014311799/article/details/78775175 )
PID:当前运行进程的ID
USER:进程属主
PR:每个进程的优先级别
NInice:反应一个进程“优先级”状态的值,其取值范围是-20至19,一
共40个级别。这个值越小,表示进程”优先级”越高,而值越
大“优先级”越低。一般会把nice值叫做静态优先级
VIRT:进程占用的虚拟内存
RES:进程占用的物理内存
SHR:进程使用的共享内存
S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示
该进程优先值为负数
%CPU:进程占用CPU的使用率
%MEM:进程使用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
COMMAND:进程启动命令名称
2.free
total : 总计物理内存的大小。
used : 已使用多大。
free : 可用有多少。
Shared : 多个进程共享的内存总额。
Buffers/cached : 磁盘缓存的大小。
-/+ buffers/cached) :
used:已使用多大;
free:可用有多少。
注意:
(mem)的used/free与(-/+ buffers/cache) used/free的区别:
这两者的区别在于使用的角度来看,前者是从OS(Operating Sys)的角度来看,因为对于OS,buffers/cached 都是属于被使用,所以他的可用内存是11737644KB,已用内存是54215352KB,
后者所指的是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。
所以从应用程序的角度来说,可用内存=系统free memory+buffers+cached。
3.cat /proc/meminfo
查看RAM使用情况最简单的方法是通过命令:cat /proc/meminfo;
这个动态更新的虚拟文件实际上是许多其他内存相关工具(如:free / ps / top)等的组合显示。
/proc/meminfo列出了所有你想了解的内存的使用情况。
进程的内存使用信息也可以通过命令:cat /proc//statm 、 cat /proc//status 来查看。
4.ps aux –sort -rss
ps aux: 列出目前所有的正在内存当中的程序。
a显示终端上地所有进程,包括其他用户地进程(有的进程没有终端)。
-a 显示所有终端机下执行的进程,除了阶段作业领导者之外。
u 以用户为主的格式来显示进程状况。
x 显示所有进程,不以终端机来区分。
a会包括其他用户(否则只有用户本身); x会包括其他终端;
aux就可以包括内存所有;
USER:该 process 属于那个使用者账号的
PID :该 process 的号码
%CPU:该 process 使用掉的 CPU 资源百分比
%MEM:该 process 所占用的物理内存百分比
VSZ :该 process 使用掉的虚拟内存量 (Kbytes)
RSS :该 process 占用的固定的内存量 (Kbytes)
TTY :该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
STAT:该程序目前的状态,主要的状态有
R :该程序目前正在运作,或者是可被运作
S :该程序目前正在睡眠当中 (可说是 idle 状态),但可被某些讯号 (signal) 唤醒。
T :该程序目前正在侦测或者是停止了
Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态
START:该 process 被触发启动的时间
TIME :该 process 实际使用 CPU 运作的时间
COMMAND:该程序的实际指令
5.vmstat -s
vmstat命令显示实时的和平均的统计,覆盖CPU、内存、I/O等内容。例如内存情况,不仅显示物理内存,也统计虚拟内存。
6.gnome-shell-system-monitor-applet
Gnome-shell系统监视器gnome-shell-system-monitor-applet,是一个Gnome-shell 面板小程序,此程序用户监视CPU占用百分比、内存使用和SWAP使用情况,如图通过顶部栏显示和关闭。
- 怎样建立类似/tmp/tmp1/tmp1.1 这样的层级目录?
- mkcd tmp/tmp1/tmp1.1
- mkdir -p tmp/tmp1/tmp1.1
- 怎样删除这些层级目录?
rm -rf tmp/tmp1/tmp1.1