【Linux 应用开发】Linux系统 Shell 高级命令(which, whereis, ps, dd)

1.查看命令的文件位置: which & whereis

Linux下有两个命令可以查看命令或者文件所在的位置。

1. which
which 用来查看当前要执行的命令所在的路径。

which命令的原理:在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

 

2. whereis
whereis 用来查看一个命令或者文件所在的路径。whereis 会搜索出所有的名字中带有 python 的文件或者文件夹

whereis命令原理:只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。

 

总结:

  • which只能搜索系统命令,不能搜索普通文件
  • whereis可以列出命令、源文件和帮助文档的位置

 

 

2. 打印进程:ps命令

参考文章:《linux ps命令详解

ps [options]

options表示命令参数,详细的参数列表如下:

-A 显示所有进程(等价于-e)
-a 显示一个终端的所有进程,除了会话引线
-e 显示所有进程(等价于-A)
-N 忽略选择
-d 显示所有进程,但省略所有的会话引线
-x 显示没有控制终端的进程,同时显示各个命令的具体路径。dx不可合用
-p pid 进程使用cpu的时间
-u uid or username 选择有效的用户id或者是用户名
-g gid or groupname 显示组的所有进程
U username 显示该用户下的所有进程,且显示各个命令的详细路径,如:ps U admin;ps -fU root
-f  全部列出,通常和其他选项联用
-l  长格式(有F,wchan,C 等字段)
-j  作业格式
-o 用户自定义格式
v   以虚拟存储器格式显示
s   以信号格式显示
-m 显示所有的线程
-H 显示进程的层次(和其它的命令合用,如:ps -Ha)
e   命令之后显示环境
h   不显示第一行
--lines<行数> 每页显示的行数
--width<字符数> 每页显示的字符数
--help 显示帮助信息
--version 显示版本信息

针对STAT(进程当前状态)的描述如下:

D  无法中断的休眠状态(通常 IO 的进程)
R  正在运行可中在队列中可过行的
S  处于休眠状态
T  停止或被追踪
W 进入内存交换 (从内核2.6开始无效)
X  死掉的进程 (基本很少见)
Z  僵尸进程
<  优先级高的进程
N  优先级较低的进程
L 有些页被锁进内存
s  进程的领导者(在它之下有子进程)
l  多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads)
+  位于后台的进程组

如果查看指定的进程,如java进程,可以通过管道符和grep命令进行过滤,命令如下:

ps -aux|grep java

获取java进程号,如55555,通过kill命令关闭进程(-9表示强制关闭)

kill -9 55555

 

 

3. 创建全0文件: dd命令和 /dev/zero 详解

转载自:文章

FrameBuffer 是出现在 2.2.xx 内核当中的一种驱动程序接口。这种接口将显示设备抽象为帧缓冲区。用户可以将它看成是显示内存的一个映像,将其映射到进程地址空间之后,就可以直接进行读写操作,而写操作可以立即反应在屏幕上。该驱动程序的设备文件一般是 /dev/fb0、/dev/fb1 等等。比如,假设现在的显示模式是 1024x768-8 位色,则可以通过如下的命令清空屏幕:

$ dd if=/dev/zero of=/dev/fb0 bs=1024 count=768

dd if=/dev/zero of=,這個/dev/zero代表什么東西?


从网上找到:

有一些特殊的设备文件。例如/dev/zero文件代表一个永远输出 0的设备文件,使用它作输入可以得到全为空的文件。因此可用来创建新文件和以覆盖的方式清除旧文件。下面使用dd命令将从zero设备中创建一个10K大小(bs决定每次读写1024字节,count定义读写次数为10次),但内容全为0的文件。

# dd if=/dev/zero of=file count=10 bs=1024
  
10+0 records in
10+0 records out
10240 bytes transferred in 0.001408 secs (7267903 b ytes/sec)

 

posted @ 2023-08-02 17:26  FBshark  阅读(111)  评论(0编辑  收藏  举报