less
less命令的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。
-N 显示每行的行号
空格键 滚动一行
回车键 滚动一页
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
G :移动到最后一行
g :移动到第一行
Q :退出
F :类似tail -f,实时刷新
b d 貌似不同的系统不太一样,有的是半页有的一页,有的b向后有的向前
ls
ls命令用来显示目标列表
-a,-all:显示所有的文件,包括.开头的隐藏文件
-A:同-a但不列出.(当前目录),..(当前目录的上级)
-C,-l:-C多列输出,默认选项;-l单列输出【ls -l等效于ll】,即一个文件一行输出
-t :用文件和目录更改时间排序
-h --human-readable:以容易理解的格式列出文件大小
mv
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files)
-b :若需覆盖文件,则覆盖前先行备份
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件已经存在时,就会询问是否覆盖,y,n
-u :当源文件比目标文件新或者目标文件不存在时,才执行移动操作
-v:显示详细的进行步骤信息
-n:不覆盖已存在的文件
移动多个文件:mv test.log test1.log newTestLogDir/
ps
ps(Process Status)命令用于查看系统当前进程状态。ps 命令查看的进程信息是当前的一个快照,实时动态地查看进程信息,可以使用Top命令。
-a:显示所有终端机下执行的程序,除了阶段作业领导者之外。
a:显示现行终端机下的所有程序,包括其他用户的程序。
-A:显示所有程序。
c:列出程序时,显示每个程序真正的指令名称,而不包含路径,选项或常驻服务的标示。
-C<指令名称>:指定执行指令的名称,并列出该指令的程序的状况。
-d:显示所有程序,但不包括阶段作业领导者的程序。
-e:此选项的效果和指定"A"选项相同。
e:列出程序时,显示每个程序所使用的环境变量。
-f:显示UID,PPIP,C与STIME栏位。
f:用ASCII字符显示树状结构,表达程序间的相互关系。
-j或j:采用工作控制的格式显示程序状况。
-l或l:采用详细的格式来显示程序状况。
-p<程序识别码>:指定程序识别码,并列出该程序的状况。
p<程序识别码>:此选项的效果和指定"-p"选项相同,只在列表格式方面稍有差异。
r:只列出现行终端机正在执行中的程序。
-s<阶段作业>:指定阶段作业的程序识别码,并列出隶属该阶段作业的程序的状况。
s:采用程序信号的格式显示程序状况。
S:列出程序时,包括已中断的子程序资料。
-t<终端机编号>:指定终端机编号,并列出属于该终端机的程序的状况。
t<终端机编号>:此选项的效果和指定"-t"选项相同,只在列表格式方面稍有差异。
-T:显示现行终端机下的所有程序。
-u<用户识别码>:此选项的效果和指定"-U"选项相同。
u:以用户为主的格式来显示程序状况。
-U<用户识别码>:列出属于该用户的程序的状况,也可使用用户名称来指定。
U<用户名称>:列出属于该用户的程序的状况。
常见组合
ps aux
输出格式
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
解释:
- USER: 行程拥有者
- PID: pid
- %CPU: 占用的 CPU 使用率
- %MEM: 占用的记忆体使用率
- VSZ: 占用的虚拟记忆体大小
- RSS: 占用的记忆体大小
- TTY: 终端的次要装置号码 (minor device number of tty)
STAT: 该行程的状态:
- D: 无法中断的休眠状态 (通常 IO 的进程)
- R: 正在执行中
- S: 静止状态
- T: 暂停执行
- Z: 不存在但暂时无法消除
- W: 没有足够的记忆体分页可分配
- <: 高优先序的行程
- N: 低优先序的行程
- L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
- START: 行程开始时间
- TIME: 执行的时间
- COMMAND:所执行的指令
ps -ef
UID PID PPID C STIME TTY TIME CMD
ps -elf
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
- F:代表这个程序的旗标 (flag), 4 代表使用者为 super user
- S:代表这个程序的状态 (STAT),关于各 STAT 的意义将在内文介绍
- UID:程序被该 UID 所拥有
- PID:就是这个程序的 ID
- PPID:则是其上级父程序的ID
- C:CPU 使用的资源百分比
- PRI:这个是 Priority (优先执行序) 的缩写,详细后面介绍
- NI:这个是 Nice 值,在下一小节我们会持续介绍
- ADDR:这个是 kernel function,指出该程序在内存的那个部分。如果是个 running的程序,一般就是 "-"
- SZ:使用掉的内存大小
- WCHAN:目前这个程序是否正在运作当中,若为 - 表示正在运作
- TTY:登入者的终端机位置
- TIME:使用掉的 CPU 时间。
- CMD:所下达的指令为何
ps axo pid,comm,pcpu # 查看进程的PID、名称以及CPU 占用率
ps aux | sort -rnk 4 # 按内存资源的使用量对进程进行排序
ps aux | sort -nk 3 # 按 CPU 资源的使用量对进程进行排序
ps -A # 显示所有进程信息
ps -u root # 显示指定用户信息
ps -efL # 查看线程数
ps -e -o "%C : %p :%z : %a"|sort -k5 -nr # 查看进程并按内存使用大小排列
ps -ef # 显示所有进程信息,连同命令行
ps -ef | grep ssh # ps 与grep 常用组合用法,查找特定进程
ps -C nginx # 通过名字或命令搜索进程
ps aux --sort=-pcpu,+pmem # CPU或者内存进行排序,-降序,+升序
ps -f --forest -C nginx # 用树的风格显示进程的层次关系
ps -o pid,uname,comm -C nginx # 显示一个父进程的子进程
ps -e -o pid,uname=USERNAME,pcpu=CPU_USAGE,pmem,comm # 重定义标签
ps -e -o pid,comm,etime # 显示进程运行的时间
ps -aux | grep named # 查看named进程详细信息
ps -o command -p 91730 | sed -n 2p # 通过进程id获取服务名称
把所有进程显示出来,并输出到ps001.txt文件
ps -aux > ps001.txt
ps -elf与ps aux区别
ps aux 是最常用的 BSD 风格选项组合,其中的 a 简单的说,表示所有关联到终端的进程,如果同时使用 x 则代表所有进程;u 表示列出进程的用户。此外,由于一些ps版本的原因,也支持了 ps -aux
ps -elf 的 -e 代表列出所有进程,-l 代表长格式,-f 代表完整的格式,有时候也用 -F 代表超完整的格式。 不过,不同操作系统(如 Linux、BSD)的 ps 的版本和参数有很大差异,具体还是要以自己的手册而定。
参考:https://www.jianshu.com/p/e548b0ffe2b3
du
估算文件磁盘空间使用,可以用于排查磁盘空间满的情况。
-h 易读格式显示(K M G)
-s 只显示总大小
--max depth=< 目录层数 >,超过层数的目录忽略
--exclude=file 排除文件或目录
--time 显示大小和创建时间
# du -sh /etc //查看目录大小
# du -sh --exclude=test /etc/hal //排除目录某个文件
# du -h --max-depth=1 查看目录层数的空间使用
命令
cp
cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。
cp [-adfilprsu] 来源文件(source) 目标文件(destination)
-a 此参数的效果和同时指定"-dpr"参数相同
-b 覆盖已存在的文件目标前将目标文件备份
-d 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-f 强制复制文件或目录,不论目标文件或目录是否已存在
-i 覆盖文件之前先询问用户
-r 递归复制目录
-p 保留原有文件或目录属性
-u 当源文件比目的文件修改时间新时才复制
-v 显示复制信息
示例:
cp -rf test /opt
cp ~/.bashrc ~/.bash_history /tmp # 可以将多个文件复制到同一个目录,末尾为目标目录
more
more命令是以全屏幕的方式按页显示文本文件的内容。
按Space键:显示文本的下一页内容。
按Enter键:只显示文本的下一行内容。
按 / :接着输入一个模式,可以在文本中寻找下一个相匹配的模式。
:f :立刻显示出文件名以及目前显示的行数。
按h键:显示帮助屏,该屏上有相关的帮助信息。
按b键:显示上一屏内容。
按q键:退出more命令。