Linux_Redhat8—常用命令: ls、ll、vim、ps、top、grep
一、ls(list):查看目录下的文件
ls:仅罗列出当前文件名或目录名。
ll:罗列出当前文件或目录的详细信息,包括上次修改时间、读写权限、大小等。
- 可以理解为 ll 和 ls -l 的功能是相同的,即:ll 是 ls -l 的别名,相当于Windows里的快捷方式。
ls -l
以长列表方式列出 =ll
ls -r
逆序列出
ls -h
显示目录或文件大小
ls -d
查看当前目录
ls -ld
长列表列出当前目录的详细信息 =ll -d
ls -lh
显示目录或文件大小=ll =h
ls -a
列出隐藏文件,包括.和…
ls -A
列出隐藏文件,不包括.和…
ls –k
用kb显示文件的大小单位
ls -i
显示文件索引节点号(inode)
一个索引节点代表一个文件,在linux中保存 在磁盘分区中的文件都给它分配一个编号,称为索引节点号inode。
二、ll(ls -l): 以长列表方式列出当前路径下所有文件或子目录的详细信息
例:drwxr-xr-x 2 root root 6 Mar 27 18:49 20220327
- 第一栏,第1个字母表示文件类型
“-”:普通文件,类似于Windows的记事本
“d”:目录文件,类似于文件夹
“c”:字符设备文件,串行端口设备,顺序读写,键盘
“b”:块设备文件,可供存储的接口设备,随机读写,硬盘
“p”:管道文件,用于进程间的通信
“s”:套接字文件,通常用于网络上的通信
“l”:链接文件(link) - 第一栏,第2~10个字母表示权限
3*3个字符分3组,表示对于所属者(owner)、所属组(group)、其他(others)而言,此文件的读r、写w、执行x 权限 - 第二栏,表示文件个数。文件是1,目录的数目是该目录中的文件个数。
- 第三栏,表示该文件或目录的拥有者。若使用者目前处于自己的Home,那这一栏大概都是它的账号名称。
- 第四栏,表示所属的组(group)。每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组。
- 第五栏,表示文件大小。文件大小用byte来表示,而空目录一般都是1024byte。(使用ls –k可用kb来显示一个文件的大小单位)
- 第六栏,表示最后一次修改时间。以“月,日,时间”的格式表示。
- 第七栏,表示文件名。可用ls –a显示隐藏的文件名
三、vim(文本编辑器)
-
一般模式(命令模式):按esc键可回到命令模式
dd
删除当前行,=剪切(或2d)
cc
剪切
行数cc
剪切当前行开始的几行
yy
复制光标所在行
2 yy
复制光标所在行和光标下一行
p(小写)
粘贴到光标下一行
P(大写)
粘贴到光标上一行
ctrl+r
重做上一个操作
u
撤销当前操作
n[enter]
n为数字,光标向下移动n行
gg
跳转到文档首部行首
G
跳转到文档尾部行首
^
行首
$
行尾
H
跳转到当前屏幕输出的最上面一行
L
跳转到当前屏幕输出的最下面一行
M
跳转到当前屏幕输出的中间那一行 -
插入模式(可编辑文档)
i
在光标前插入
I
在光标所在行第一个非空格符前插入
a
在光标后插入
A
在光标所在行末尾插入
s
删除光标所在位置字符并插入
S
删除光标所在行并插入
o
在光标所在行下一行插入
O
在光标所在行上一行插入 -
命令行模式(末行模式):
:wq
保存退出
:q
退出(未修改文件内容才可以退出)
:wq!
强制保存退出
:q!
强制退出,不保存
:set nu
显示行号
set nonu
不显示行号
:行号
跳转到指定行号
:n,m d
删除n-m行
:%s/1/2
将1替换为2
:%s/1/2/g
将1替换为2,全局修改
/word
向下寻找一个字符串为word的字符串
?word
向上寻找一个字符串名称为word的字符串
:w 文件名1
另存为文件名1
:r 文件名1
读出文件1的内容到当前文件里
n
重复前一个查找的操作
N
反向进行前一个查找的操作
ZZ
若文件无改动则离开,若文件已被改动则保存后离开
四、ps(Process Status)查看进程
ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,若要动态的显示进程信息,则使用top命令。
-
linux上进程有5种状态:
运行(正在运行或在运行队列中等待)
中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行) -
其中最常用的就是
ps -auxf | grep **
:查看进程信息
ps -ef
:显示所有进程信息,连同命令行
ps -ef | grep ssh
:ps与grep常用组合用法,查找特定进程
(COMMADN列如果过长,aux会截断显示,而ef不会)
(如果想查看进程的CPU占用率和内存占用率,可使用aux)
(如果想查看进程的父进程ID和完整的COMMAND命令,可使用ef)
ps -A
: 显示所有进程信息
ps -u root
:显示指定用户的信息
ps -l
:将目前属于您自己这次登入的PID与相关信息列出来kill -9
:杀掉进程
五、top
top命令常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况,例如CUP、内存的使用情况。
-
top的使用方式 top [-d number] | top [-bnp]
-d
:number代表秒数,表示top命令显示的页面更新一次的间隔,默认是5秒
-b
:以批次的方式执行top
-n
:与-b配合使用,表示需要进行几次top命令的输出结果
-p
:指定特定的pid进程号进行观察 -
top命令显示的页面还可以输入以下按键执行相应的功能(注意大小写区分的)
?
:显示在top当中可以输入的命令
P(大写)
:以CPU的使用资源排序显示
M
:以内存的使用资源排序显示
N
:以pid排序显示
T
:由进程使用的时间累计排序显示
k(小写)
:给某一个pid一个信号。可以用来杀死进程
r
:给某个pid重新定制一个nice值(即优先级)
q
:退出top(用ctrl+c也可以退出top)。
六、grep(文本过滤显示)
- grep可以根据特定的字符串,对指定文件的每一行进行搜索,如果找到了这个字符串,就将含有这些内容的行输出。
grep h 文件名
:查找文件里有字符h的字符串
grep -w 单词
:文件名匹配整个单词
grep ^[q] 文件名
:匹配以q开始的行
grep q$ 文件名
:匹配以q结束的行
grep ^[0-9] 文件名
:匹配以数字开头的行
grep ^[qf] 文件名
:匹配以q或者f开头的行
grep ^[^qf] 文件名
:不匹配以q或者f开头的行
grep [^gf]oo 文件名
:匹配oo前面不是f或者g的字符串
grep ^#
:匹配以#号开头的行
grep ^$
:过滤空白行
grep -r h ./*
:如果要明确搜索子目录
grep -d skip h ./*
:忽略子目录
-l 和 -L
:查询多文件时只输出包含“匹配/不匹配”字符的文件名
grep -i
:搜索时忽略大小写
grep -v
:搜索时显示没有匹配到的行
grep -A 2
:搜索时显示匹配到的那一行以及下2行
grep -B 2
:搜索时显示匹配到的那一行以及上2行
grep -C 2
:搜索时显示匹配到的那一行以及上下2行