A. linux 没有lsof 怎么办
任何命令CMD 假若没有。
1) yum provides *bin/CMD //查看安装包名字
2) yum install [name] // name 是步骤1查出来的名字
B. linux操作系统lsof good.txt命令不显示进程
因为你编辑的并不是good.txt。而是你vi 的那个当前目录下隐藏的.good.txt.swp文件。
vi 并不会直接修改当前文件,而是先生成一个临时文件让你编辑,当你编辑完以后
比如输入:w 才会写回good.txt文件。
C. Linux下用 lsof 命令查找指定端口被哪个进程占用
1)使用lsof命令lsof是一个非常强大的linux工具,她被用来查找哪些程序使用了那些文件。在linux系统下,基本上所有的东西都可以被当作文件来用。socket当然也是一种文件了。所以lsof可以用来查找谁用了某一个端口。具体方法:
lsof -i :port_number |grep "(LISTEN)"
-i是用来查找和网络相关的文件,":"号是必须的,它是标志你查找的是一个端口。port_number就是你要查找的端口号,譬如你要查找是否 有程序占用了oracle的监听端口1521,就可以使用lsof -i :1521 |grep "(LISTEN)"。如果有程序已经占用了,那么下面打印的第二个字段就是该程序的进程id,第一个字段是进程的名字。
如果只有losf -i :port_number可能会查到很多应用程序,但这些程序实际并没有占用你指定的端口,这些端口只是连接到本机器或者别的机器的该端口。所以要grep "(LISTEN)“,因为一个端口只可能被一个程序占用的,所以这种方法是可靠的。
2)使用netstat 命令
大家一定对这个命令比较熟悉了,可能你从没有想到用到来查找哪一个程序的占用了指定的端口。但是netstat -an 的确提供了这种功能。所以有问题了一定要想到先去查找man手册,不过说实话,某些man手册写得让中国人看不懂,那没有办法了,就googe或者 一下吧。
执行man netstat命令,你会发现netstat 提供了'-p'的选项,这个选项的功能是告诉你哪个程序占用了该端口,但是她提供的形式比较古怪是以pid/process_name提供的。pid当然 是进程id了,process_name是进程的命令,中间以'/'号分隔。
和上面的原因一样,我们只查找listen的端口,netstat 给我们提供了-l的选项,这个选项不是默认的选项。
下面以1521端口来看怎么查找到该程序,我们使用下面的命令:
netstat -lnp|awk 'BEGIN{prt=":1521$"}{if ($4 ~ prt) print $0}'
在这里使用awk来匹配第4个字段的模式是为了避免误判。
D. linux常用的命令有哪些
Linux所能提供的功能通常是通过繁多的各类命令来实现的,每个命令又会有很多细分功能的选项,而每个命令后接的作用对象参数也有所不同,因此有必要详细阐述一下Linux命令的常见分类方式。
常见的命令分类方式包括:1、按照命令所在系统中的位置,2、按照命令所能提供的功能。
按照命令所在系统中的位置,Linux命令可以分为内部命令和外部命令。内部命令是在磁盘目录中找不到的命令是shell解释器的一部分,当用户连接登录系统时就会运行系统与用户的交互程序shell,我们常用的命令如:cd、pwd、jobs、kill等几十个内部命令就会调入到内存中供登录用户使用;而外部命令是放置于磁盘中的命令,如果一个命令能在磁盘中找到其存放路径,该命令就是外部命令。
按照命令所能提供的功能,Linux常用命令可以分为目录操作命令、文件操作命令、文件内容查看命令、登录用户查看命令、归档压缩命令、系统管理命令等等。例如常见的目录操作命令有cd、pwd、ls、mkdir、rmdir等;常见的文件操作命令有touch、cp、mv、rm等;文件内容查看命令有cat、tac、more、less、head、tail等,也包括查看文件属性信息的file和stat等命令;常见的登录用户查看命令有w和who;常见的归档压缩命令有zip、unzip、tar、gzip、gunzip、bzip2、bunzip2等;系统管理命令常见有关机命令shutdown、系统重启命令reboot等。
E. Linux查看进程打开多少文件描述符命令
可用lsof命令,可以列出被进程所打开的文件的信息。被打开的文件可以是:
1普通的文件,2.目录 3.网络文件系统的文件,4.字符设备文件 5.(函数)共享库 6.管道,命名管道 7.符号链接 8.底层的socket字流,网络socket,unix域名socket 各个命令的详细介绍可看下“Linux命令大全”
F. 怎么用命令查看linux上本机的某个端口是否被占用
linux系统下,查看端口占用情况的命令:lsof -i
1 [root@www ~]# lsof -i
2
3 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
4 nginx 2333 root 6u IPv4 6242 TCP *:http (LISTEN)
5 nginx 2334 www 6u IPv4 6242 TCP *:http (LISTEN)
6 sshd 2349 root 3u IPv6 6283 TCP *:ndmp (LISTEN)
7 sshd 2349 root 4u IPv6 6286 TCP *:ssh (LISTEN)
这里返回了Linux当前所有打开端口的占用情况。第一段是进程,最后一列是侦听的协议、侦听的IP与端口号、状态。如果端口号是已知的常用服务(如80、21等),则会直接显示协议名称,如http、ftp、ssh等。
查看某一端口的占用情况: lsof -i:端口号
1 [root@www ~]# lsof -i:21
2
3 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
4 pure-ftpd 2651 root 4u IPv4 7047 TCP *:ftp (LISTEN)
5 pure-ftpd 2651 root 5u IPv6 7048 TCP *:ftp (LISTEN)
这里显示出21号端口正在被pure-ftpd使用,状态是listen。
结束占用端口的进程:killall 进程名
虽然我们不建议用这种本末倒置的方法来解决冲突问题,但某些情况下还是可以直接结束掉占用进程的(比如重启Apache时进程没有完全退出,导致重启失败)
1 [root@www ~]# killall pure-ftpd
这样,所有的pure-ftpd进程都会被结束掉。
G. 利用lsof去查看Unix/Linux进程打开了哪些文件
# lsof -p 11737
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 11737 mysql cwd DIR 202,1 4096 1078036 /usr/local/mysql/var
mysqld 11737 mysql rtd DIR 202,1 4096 2 /
mysqld 11737 mysql txt REG 202,1 47766471 1071606 /usr/local/mysql/bin/mysqld
mysqld 11737 mysql mem REG 202,1 93320 262198 /lib64/libgcc_s-4.4.7-20120601.so.1
mysqld 11737 mysql mem REG 202,1 989840 1057166 /usr/lib64/libstdc++.so.6.0.13
H. 关于LINUX最基本的一些命令
Linux常用命令大全
系统信息
arch 显示机器的处理器架构(1)
uname -m 显示机器的处理器架构(2)
uname -r 显示正在使用的内核版本
dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)
hdparm -i /dev/hda 罗列一个磁盘的架构特性
hdparm -tT /dev/sda 在磁盘上执行测试性读取操作
cat /proc/cpuinfo 显示CPU info的信息
cat /proc/interrupts 显示中断
cat /proc/meminfo 校验内存使用
cat /proc/swaps 显示哪些swap被使用
cat /proc/version 显示内核的版本
cat /proc/net/dev 显示网络适配器及统计
cat /proc/mounts 显示已加载的文件系统
lspci -tv 罗列 PCI 设备
lsusb -tv 显示 USB 设备
date 显示系统日期
cal 2007 显示2007年的日历表
date 041217002007.00 设置日期和时间 - 月日时分年.秒
clock -w 将时间修改保存到 BIOS
关机 (系统的关机、重启以及登出 )
shutdown -h now 关闭系统(1)
init 0 关闭系统(2)
telinit 0 关闭系统(3)
shutdown -h hours:minutes & 按预定时间关闭系统
shutdown -c 取消按预定时间关闭系统
shutdown -r now 重启(1)
reboot 重启(2)
logout 注销
文件和目录
cd /home 进入 '/ home' 目录'
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd 进入个人的主目录
cd ~user1 进入个人的主目录
cd - 返回上次所在的目录
pwd 显示工作路径
ls 查看目录中的文件
ls -F 查看目录中的文件
ls -l 显示文件和目录的详细资料
ls -a 显示隐藏文件
ls *[0-9]* 显示包含数字的文件名和目录名
tree 显示文件和目录由根目录开始的树形结构(1)
lstree 显示文件和目录由根目录开始的树形结构(2)
mkdir dir1 创建一个叫做 'dir1' 的目录'
mkdir dir1 dir2 同时创建两个目录
mkdir -p /tmp/dir1/dir2 创建一个目录树
rm -f file1 删除一个叫做 'file1' 的文件'
rmdir dir1 删除一个叫做 'dir1' 的目录'
rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容
rm -rf dir1 dir2 同时删除两个目录及它们的内容
mv dir1 new_dir 重命名/移动 一个目录
cp file1 file2 复制一个文件
cp dir/* . 复制一个目录下的所有文件到当前工作目录
cp -a /tmp/dir1 . 复制一个目录到当前工作目录
cp -a dir1 dir2 复制一个目录
ln -s file1 lnk1 创建一个指向文件或目录的软链接
ln file1 lnk1 创建一个指向文件或目录的物理链接
I. 关于linux lsof命令
这是很自然的,
jar“文件”是linux操作系统里面的概念
class则是jvm虚拟机的概念
要查看应用加载的class你应该用jvisualvm(在jdk的bin目录下)
J. linux 查看进程 lsof 哪个硬盘
查看那个进程占用了xxx端口 lsof -i:xxx 查看进程号为xxx的进程在哪里 ps -ef|grep xxx 个人建议你去看一下linux基础资料-- 先掌握一些常用的命令,多学些总归是好的! 希望能帮到你!