【Linux命令】Linux工作中常用命令

不断的总结工作中常用的Linux命令

 

1.查看端口被哪个进程占用

 

通过这个命令可以得到占用8085端口的进程号,然后通过ps -ef|grep 进程号得到进程的详细信息

 

netstat -anp | grep 8085

 

察看进程ID对应的进程占用的端口号

 

netstat -anp | grep 进程ID

 

察看进程名称对应的进程占用的端口号

 

netstat -anp | grep 进程名称

 

Window上查看端口号被哪个进程占用:

netstat -anp 80

 

 

2. 查看本机当前端口的使用情况

 

 

netstat -tln | less

 分页列出本机当前占用了哪些端口

 

3. 在指定目录下的指定文件中查找指定字符串

 

 

find . - name "*.java" | xargs grep "main"

 本例的作用是在当前目录下的所有java文件中搜索包含main的文件

 

4.建立软连接

 

ln -s 真实文件路径 软连接

 

 

ln -s lrwxrwxrwx /usr/jdks/jdk1.7.0_67/bin/java java

 本例的作用是在当前目录下建立一个软连接文件java,它指向/usr/jdks/jdk1.7.0_67/bin/java

 

 5. SSH远程copy

 

scp /home/tom/Hello.java [email protected]:/data/sourcecode

 本例的作用是把本机的/home/tom/Hello.java远程copy至9.1.2.3的/data/sourcecode目录下。

 

scp /home/tom/*.java [email protected]:/data/sourcecode

本例的作用是把本机的/home/tom目录下的Java文件远程copy至9.1.2.3的/data/sourcecode目录下,sourcecode目录下的同名文件将被覆盖

 

 6. tar命令

 

tar -cvzf mytar.tar.gz 文件或者目录

tar -xzvf mytar.tar.gz

 

7. 显示行号

 

cat -n Hello.java

grep  -n main Hello.java

vi命令在命令下输入:set nu 

 

 8.ssh登录到另一台机器

 a.从A机器登录到B机器,那么A机器需要得到B机器的授权

 b.A机器生成ssh公钥和私钥

 c.将A的生成的公钥保存到B机器的~/.ssh/authorized_keys文件中

 d. ssh B的IP,那么登录是A使用公钥请求B的认证,因为B中的已授权Key中包含了A的公钥,授权通过

 

 9.磁盘容量相关操作

 a. 获得某个目录的磁盘容量

     du -skh

 b. 获得目录下文件和目录的大小

    du -skh * //s表示summary,也就是不会进入目录的子目录

    du -skh * --exclude=data --exclude=mnt  --max-depth=0 //排除data和mnt目录

 c. 查看分区容量情况

     df -h

 

 10.查看Linux版本

 

 cat /proc/version

 cat /etc/issue

 

 11.根据毫秒数计算时间

  date -d @时间秒数

 

12. 目录复制创建

a. cp -r dir1 dir2

说明:递归复制dir1dir2目录,如果dir2不存在,那么相当于首先创建dir2,然后把dir1下的内容复制到dir2目录下;如果dir2已存在,那么dir1将复制到dir2目录底下

 b. mkdir -p dir1/dir2/dir3

依次创建dir/dir2/dir3目录,层次关系

 

13.文本中显示每行重复数

sort data.txt | uniq -c

 

 

 14. find命令

 

a. 查找当前及其子目录下所有的以.log结尾的文件

 

find . -name  "*.log" | xargs -i ls -l {}

 

b. 查找当前及其子目录下所有的大小超过5M文件

 

find . -type f -size +50M | xargs -i ls -lh {}

 

c. 查找当前及其子目录下所有包含main的java文件

 

find . -name  "*.java" | xargs -i grep main {}

 

 15. 查看本地某个端口有几个Active的连接

 

netstat -an | sed '/^.*:11211[ ][ ]*ESTABLISHED.*/!d' | wc -l

 

 

 16.jar中查找某个类是否存在

 

find . -name "*.jar" | xargs -i jar vtf {} | grep Parquet

 

 17. 对文件进行排序

 

sort -r 文件名 | less

 

为文件中的行按照字典序排序,-r表示降序排列

 

18. 删除指定n天前的文件(如下是两天前的)

 

find .  -mtime +2 -type f | xargs rm -rf

 

 19. 下载

 

sz -b 文件
安装sz和rz:
yum search sz
yum install lrzsz

 

20. 查看CPU个数

 

物理CPU个数

cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l

逻辑CPU个数

cat /proc/cpuinfo | grep "processor" | wc -l

每个物理CPU的内核数

cat /proc/cpuinfo | grep "cpu cores" | wc -l

 

21.内存容量

 

命令:

free -m

 

结果:

             total       used       free     shared    buffers     cached
Mem:         31883       1631      30251          0        160        727
-/+ buffers/cache:        744      31138
Swap:         4095          0       4095

 

22. 查看内存总容量以及空闲容量

 

grep MemTotal /proc/meminfo | awk '{print $2}'
grep MemFree /proc/meminfo | awk '{print $2}'

 

 23. 域名与所有绑定的IP的映射

 

 

nslookup 域名

 

 

你可能感兴趣的:(linux命令)