linux常用命令
Posted 银灯玉箫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux常用命令相关的知识,希望对你有一定的参考价值。
常用命令
top
那么首先需要获取这个进程的PID:
ps -ef|grep [process name]
获取某个进程名的进程号
-
ps -ef |grep mesos | grep -v grep | awk ‘print $2’
-
ps -ef |grep YarnChild | awk ‘print $2’| xargs kill -9
然后查看该进程的CPU:
top -p [PID]
查看这个进程的各个线程的CPU:
top -H -p [PID]
CPU,内存,虚拟内存占用最多的前10个进程
-
ps auxw|head -1;
-
ps auxw|sort -rn -k3|head -10
该命令组合实际上是下面两句命令: -
ps aux|head -1
ps aux|grep -v PID|sort -rn -k +3|head -
内存占用最多
ps auxw|head -1;ps auxw|sort -rn -k4|head -10 -
虚拟内存占用最多
ps auxw|head -1;ps auxw|sort -rn -k5|head -10 -
接下来的grep -v PID是将ps aux命令得到的标题去掉,即grep不包含PID这三个字母组合的行,再将其中结果使用sort排序。
sort -rn -k +3该命令中的-rn的r表示是结果倒序排列,n为以数值大小排序,而-k +3则是针对第3列的内容进行排序,再使用head命令获取默认前10行数据。(其中的|表示管道操作)
dstat
- sudo apt-get install dstat
vmstat
- sudo apt-get install sysstat
pidstat
- pidstat -w -p 38264 -t 1
w: context switches, p:pid, t:thread context switches 1: 1 second interval u: CPU utilization - pidstat -w -u
count the total number of processes and threads
- process:
- ps axu | wc -l
- threads:
- ps -eo nlwp | tail -n +2 | awk ‘ num_threads += $1 END print num_threads ’
ssh -v -p port username@ip
ssh 10.0.250.3 -p 80
wget telnet
用法: telnet ip port
用法: wget ip:port
1)连接不存在的端口
?
1
2
3
[root@localhost ~] # wget …:
---- ::-- http: // …/
Connecting to …:… failed: Connection refused.
————————————————
scp
2、获取远程服务器上的目录
scp -P 2424 -r name@ip:/home/name/aaa/ /home/name/
-r 参数表示递归复制(即复制该目录下面的文件和目录);
name@ip:/home/name/aaa/ 表示将远程服务器上用户家目录下的aaa文件夹的内容复制到本地加目录下;
/home/name/ 表示保存在本地上的路径;
3、将本地文件上传到服务器上
scp -P 2424 ~/aaa.tar.gz name@ip:/home/user/
表示将本地用户家目录的文件上传至远程服务器上用户的家目录下;
4、将本地目录上传到服务器上
scp -P 2424 -r ~/aaa/ name@ip:/home/user/bbb/
表示将本地家目录aaa的文件夹的文件全部传至远程服务用户家目录下的bbb文件夹里;
5、可能有用的几个参数:
-P 端口;
-p 表示保持文件权限;
-r 表示递归复制;
-v 和大多数 linux 命令中的 -v 意思一样,用来显示进度,可以用来查看连接、认证或是配置错误;
-C 使能压缩选项;
-4 强行使用 IPV4 地址;
-6 强行使用 IPV6 地址;
grep
-
grep “ExecutorDriver” -nr ./* --exclude-dir=“tests” --exclude-dir=“python” --exclude=“.py" --exclude=".in” --exclude=“*.am” --exclude-dir=“java”
-
只在目录中所有的.php和.html文件中递归搜索字符"main()"
grep “main()” . -r --include *.php,html
grep and or
-E -i “uah|ee”
grep sed 大批量替换字符串
-
sed -i s/slave0/slave4/g
grep "slave0" -rl ./*
将当前目录下的所有.c、.h文件中的str1字符串替换为str2字符串。 -
sed -i s/“spark.eventLog.compress True”/“spark.eventLog.compress False”/g
grep "spark.eventLog.compress True" -rl ./*
-
参数解释:
sed:
-i 表示操作的是文件,``括起来的grep命令,表示将grep命令的的结果作为操作文件
s/“str1”/“str2”/表示查找str1并替换为str2,后面跟g表示一行中有多个str1的时候,都替换,而不是仅替换第一个 -
grep:
-r表示查找当前目录以及所有子目录
-l表示仅列出符合条件的文件名,传给sed命令做替换操作
–include=“*.[ch]” 表示仅查找.c、.h文件
sed
-
sed -i s/“str1”/“str2”/g ./*.[ch]
注:如果不需要查找子目录,仅需要在当前目录替换,可直接用sed命令: -
其中第一句主要是为了获取标题(USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND)。
ps auxw --sort=rss
ps auxw --sort=%cpu
找出消耗资源最高的线程
- top -H -p 1114 可以不用第一步,直接执行命令 top -H ,就可以查看到消耗资源最高的线程
dstat -tcdngmy --output ./test_word_count_182cores.csv 1 120
hadoop
- hadoop fs -mkdir /user/lemaker/logs
- hadoop fs -mkdir -p /user/lemaker/flink/completed-jobs/
hadoop shell 命令
https://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html
hadoop dfsadmin -report 命令详解
查看这个线程所有系统调用
- strace -p 1228 或 strace -cp 1228
ssh
- ssh-copy-id -i ~/.ssh/id_rsa.pub lemaker@p10
sudo 免密码
-
lemaker ALL=NOPASSWD: ALL
-
ssh-keygen -R 172.20.110.213
tar
-
tar -C /usr/local -xzf go1.14.6.linux-amd64.tar.gz 解压文件到到某个目录
-
tar -zcvf file.tar.gz file1 file2 压缩若干个文件
-
tar -zcvf test.tar.gz --exclude=test/1 test 压缩文件但并不包含其中某个目录
zstd
- sudo apt install -y zstd && zstd --version
- 压缩 zstd a.sql
- 解压 zstd -d a.sql.zst
- tar解压 tar -I zstd -xvf a.zst
- tar解压(tar-1.31及以上版本) tar xvf s.tar.zst
vim
- 全局替换
- 1,$ s/172.20.110.53/localhost
- :%s/abc/ew/g
find
-
find /home -name “*.txt” 在某个目录下查找名为txt后缀的文件
-
find . -maxdepth 3 -type f
-find -name ‘.php’|xargs grep ‘include’//在当前目录及其子目录的php文件中查找include字符串
- find . -name '.php’ -exec grep -i -nH “include” ;//同上 -
find . -name “.git” | xargs rm -Rf 查找对应文件并删除
du 文件大小倒序排序
-
du -sh * | sort -nr
-
du -s * | sort -nr
-
sudo du -h --max-depth=1
kill
-
kill -9
ps -ef|grep "pycharm" |grep -v grep|awk 'print $2'
-
kill -9
ps -ef|grep "slave" |grep -v grep|awk 'print $2'
-
ps -ef |grep master |awk ‘print $2’|xargs kill -9
-
ps -ef |grep clion |awk ‘print $2’|xargs kill -9
-
ps -ef |grep zookeeper |awk ‘print $2’|xargs kill -9
-
ps -ef |grep sunlo |awk ‘print $2’|xargs kill -9
-
ps -ef |grep “mesos-master --wor” |awk ‘print $2’| xargs kill -9
-
ps -ef |grep “mesos-master --work” | grep -v grep | awk ‘print $2’ | xargs top -p
-
kill -9
ps -ef|grep "wps" |grep -v grep|awk 'print $2'
netstat
- netstat -lntp |grep 8082
rsync
-
将dirA的所有文件同步到dirB,但是在dirB内除了fileB3.txt这个文件不删之外,其他的都删除。
-
rsync -avz --delete --exclude “fileB3.txt” dirA/ dirB/
-
rsync -avz --delete Hibench
-
rsync -avz Chameleon --delete --exclude “work_dir” lemaker@ccrfox247:~/open-source/
-
rsync -avz Chameleon lemaker@ccrfox247:~/open-source/
- rsync -avz --delete --exclude "hadoop-env.sh" ~/open-source/hadoop-2.7.7/etc/hadoop lemaker@$item:~/open-source/hadoop-2.7.7/etc/
ftp
安装vsftpd
- sudo apt-get install vsftpd (安装)
- sudo service vsftpd start (启动)
压缩
ubuntu 下rar解压工具安装方法:
压缩功能
安装 sudo apt-get install rar
卸载 sudo apt-get remove rar
解压功能
安装 sudo apt-get install unrar
卸载 sudo apt-get remove unrar
ubuntu解压命令全览
.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
注:tar是打包,不是压缩!
.............................
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
.............................
.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
.............................
.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName
.............................
.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
.............................
.bz
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
压缩:未知
.tar.bz
解压:tar jxvf FileName.tar.bz
压缩:未知
.............................
.Z
解压:uncompress FileName.Z
压缩:compress FileName
.tar.Z
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName
.............................
.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
.............................
.rar
解压:rar x FileName.rar
压缩:rar a FileName.rar DirName
rar请到:http://www.rarsoft.com/download.htm 下载!
解压到当前目录
unrar e xxx.rar
解压到指定目录
unrar x xxx.rar destpath
ctrl-z
ctrl-z 可以将一个正在前台执行的命令放到后台,并且处于暂停状态,不可执行
jobs
查看当前有多少在后台运行的命令
fg
将后台中的命令调至前台继续运行
如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
bg
将一个在后台暂停的命令,变成继续执行 (在后台执行)
如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
将任务转移到后台运行:
先ctrl + z;再bg,这样进程就被移到后台运行,终端还能继续接受命令。
jobs
kill %1
fg
linux ctrl z进程状态,Linux后台进程管理以及ctrl+z(挂起)、ctrl+c(中断)、ctrl+\\(退出)和ctrl+d(EOF)
https://blog.csdn.net/weixin_31208627/article/details/116680965
网络带宽
查看带宽大小:sudo ethtool eth0
查看服务器网络端口 ifconfig
查看实时带宽 sudo apt-get install nload
nload eth1
同时查看多个网卡的流量情况
nload -m
Linux查看实时带宽流量情况 iftop
以上是关于linux常用命令的主要内容,如果未能解决你的问题,请参考以下文章