shell 总结

排查端口

[root@hadoop3 hadoop]# netstat  -anp  |grep 8485
unix  3      [ ]         STREAM     CONNECTED     8485     1699/teamviewerd
[root@hadoop3 hadoop]# ps -ef |grep 1699
root      1699     1  0  2020 ?        08:45:04 /opt/teamviewer/tv_bin/teamviewerd -d
root      5499  4544  0 13:40 pts/0    00:00:00 grep --color=auto 1699

scp:
复制目录:会将目录下的所有内容复制过来
scp -r dsj root@ip:/letv/data
参考:
http://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/scp.html

scp:
从本地服务器复制到远程服务器:
scp local_file remote_username@remote_ip:remote_file
从远程服务器复制到本地服务器:
从远程复制到本地的scp命令与上面的命令雷同,只要将从本地复制到远程的命令后面2个参数互换顺序就行了。

例子:
root@ip:/letv/data/a.txt /letv/data/

参考:
http://www.cnblogs.com/peida/archive/2013/03/15/2960802.html
ftp:
http://www.cnblogs.com/weafer/archive/2011/06/13/2079509.html

脚本调用另一个脚本
http://mindream.wang.blog.163.com/blog/static/2325122220084624318692/

vim 中调用命令

:echo $JAVA_HOME

wc -l filename 就是查看文件里有多少行

得到ip并分割成数组

#!/bin/bash
ip=`/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"`
OLD_IFS="$IFS"
IFS="."
arr=($ip)
IFS="$OLD_IFS"
subip=${arr[3]}
echo $subip

查看文件夹大小
du -h *

vi 最后一行 G
参考:
http://blog.sina.com.cn/s/blog_6294ac5c0100flyg.html

vi 查找字符串
?pattern Enter
参考:
http://sucre.blog.51cto.com/1084905/270556

绕过堡垒机
将目标服务器上crontab -e

*/1  *  *  *  *  root    echo "" > /etc/hosts.deny

/etc/hosts 存放了ip和域名对应的关系

lost connection:丢失远程主机的连接有很多种原因
ssh: Could not resolve hostname THadoop9: Name or service not known
这是主机找不到
ssh_exchange_identification: Connection closed by remote host
这是被远程关闭了

for循环
http://blog.sina.com.cn/s/blog_9d074aae01012ytf.html

查看防火墙状态:
/etc/init.d/iptables status
关闭防火墙:
/etc/init.d/iptables stop

查看Linux内核版本
cat /proc/version

格式化xml
xmllint format

比较目录下文件内容不同
diff -r

vi删除
http://www.pythontab.com/html/2012/linuxkaiyuan_1222/47.html

查看ip和端口是否是通的
http://oldboy.blog.51cto.com/2561410/942530

bashrc 和 profile
https://wido.me/sunteya/understand-bashrc-and-profile

压缩
tar zvcf a.tgz a/ b/ c/
tar -xvf file.tar //解压 tar包
http://www.cnblogs.com/qq78292959/archive/2011/07/06/2099427.html

统计文件夹内文件个数,该数量不包含文件夹
ls -l |grep “^-”|wc -l
linux统计一个文件中特定字符的个数
https://blog.csdn.net/little_rabbit_baby/article/details/83506148
https://blog.csdn.net/qq544649790/article/details/84202976

挂起、恢复进程
kill -STOP
kill -CONT

显示树形目录
tree 目录

history命令

echo $HISTSIZE
HISTSIZE=50

http://www.cnblogs.com/5201351/articles/4208509.html

是定向输出到文件,如果文件不存在,就创建文件;如果文件存在,就将其清空;一般我们备份清理日志文件的时候,就是这种方法:先备份日志,再用>,将日志文件清空(文件大小变成0字节); >>是将输出内容追加到目标文件中。如果文件不存在,就创建文件;如果文件存在,则将新的内容追加到那个文件的末尾,该文件中的原有内容不受影响。

Linux查看CPU,硬盘,内存的大小
http://blog.csdn.net/pyjfoot/article/details/7989144

ubuntu中开启、关闭防火墙

1、关闭ubuntu的防火墙
ufw disable
开启防火墙
ufw enable

2、卸载了iptables
apt-get remove iptables
3、关闭ubuntu中的防火墙的其余命令
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F

LINUX开启允许对外访问的网络端口命令
LINUX通过下面的命令可以开启允许对外访问的网络端口:

/sbin/iptables -I INPUT -p tcp --dport 8000 -j ACCEPT #开启8000端口

/etc/rc.d/init.d/iptables save #保存配置

/etc/rc.d/init.d/iptables restart #重启服务

查看端口是否已经开放

/etc/init.d/iptables status

修改linux 系统编码为utf-8
vi /etc/sysconfig/i18n
LANG=“zh_CN.GBK” 修改为LANG=“zh_CN.UTF-8”.保存退出
source /etc/sysconfig/i18n
检查编码:
locale

Linux下实时查看GPU状态

nvidia-smi
  1. 周期性输出GPU使用情况
watch -n 10 nvidia-smi

http://blog.csdn.net/yao_yao_2015/article/details/53404389

Linux查看物理CPU个数、核数、逻辑CPU个数
总核数 = 物理CPU个数 X 每颗物理CPU的核数
总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数

逻辑cpu数:简单来说,它可使处理器中的1颗内核,如2颗内核那样在操作系统中发挥作用。

多核超线程,每个核有两个逻辑的处理单元,两个线程共同分享一个核的资源

查看物理CPU个数

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

查看每个物理CPU中core的个数(即核数)

cat /proc/cpuinfo| grep 'cpu cores'| uniq

查看逻辑CPU的个数

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

sort 排序 uniq唯一的,wc -l统计行数

find 20200327/ -name "*.csv" |xargs cat|wc -l

Linux下统计当前文件夹下的文件个数、目录个数
https://www.cnblogs.com/zeze/p/6839230.html

linux查看端口占用情况
https://www.cnblogs.com/wangtao1993/p/6144183.html

查看用户所在的组

id vpetest.cripac
uid=1001(vpetest.cripac) gid=1001(vpetest.cripac) groups=1001(vpetest.cripac)

修改用户对某目录的权限

chown -R vpetest.cripac:vpetest.cripac /data1/

【Linux使用及问题解决】用户登录时显示 -bash-4.2$ 问题
https://blog.csdn.net/xiaoyiaoyou/article/details/78871561
https://blog.csdn.net/testcs_dn/article/details/70482468

查看内存
https://jingyan.baidu.com/article/ea24bc39e6e090da62b33191.html

cat /proc/meminfo

释放内存
https://blog.csdn.net/moshenglv/article/details/52788667

rpm命令
http://man.linuxde.net/rpm

在 Linux 上给用户赋予指定目录的读写权限
https://linux.cn/article-8487-1.html

Linux统计文件夹、文件数量的命令

ls -lR|grep "^-"| wc -l

https://www.cnblogs.com/uzipi/p/6100790.html

软连接

[oracle@Linux]$ vi test.log                         #创建一个测试文件f1
[oracle@Linux]$ ln test.log test1.log           #创建f1的一个硬连接文件test1.log
[oracle@Linux]$ ln -s test.log test2.log       #创建f1的一个符号连接文件test2.log
[oracle@Linux]$ ls -li                                 # -i参数显示文件的inode节点信息

添加
ln -s /usr/jboss4.0.5.GA/ jboss

删除
rm jboss

创建软链接即用 ln -s 原始文件或文件夹 目标文件或文件夹

举例:

当前目录是/local,而我经常要访问/usr/local/linux/work

那么我就可以使用在local下建立一个文件linkwork,

然后sudo ln -s /usr/local/linux/work /local/linkwork

即建立两者之间的链接。

当删除链接文件时,如果不小心会把原始文件删掉
例:
ln -s /home/user/bak /var/bak
rm /var/bak/ 会提示bak是一个文件夹无法删除这时千万不要用 rm -rf /var/bak/ 来删除 否则你删除的并不是链接文件 而是真正的 /home/user/bak 文件夹

想要删除链接文件要用以下命令 rm /var/bak 只是少了一个“ / ” 删除的 就是链接文件, 也就是在文件的最后不要加上/

结论:
在删除文件时要小心
在删除软链接文件时,小心使用

linux添加用户或给用户添加root权限
https://blog.csdn.net/yajie_china/article/details/80636783

测试远程端口是否开启
1、用telnet 测试TCP端口是否开启

[root@Zabbix93 ~]# telnet 192.168.0.1 80
Trying 192.168.0.1...
Connected to 192.168.0.1.
Escape character is '^]'.

2、这个是通的,表示该端口为开启状态。

用nc来进行UDP端口测试
1、安装nc
yum install -y nc


[root@Zabbix93 ~]# nc -vuz 192.168.0.1 139
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 192.168.0.1:139.
Ncat: Connection refused.
 
 
[root@Zabbix93 ~]# nc -vuz 192.168.0.1 69
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 192.168.0.1:69.
Ncat: UDP packet sent successfully
Ncat: 1 bytes sent, 0 bytes received in 2.03 seconds.

很明显,139端口是没有开放的,但是69端口是开放的。

Linux下查看公网iP

curl ipinfo.io/ip

查找执行文件的及其路径
(1)根据pid查找 lsof -p PID
(2)which 查看可执行文件的位置
(3)whereis 查看文件的位置
(4)locate 配 合数据库查看文件位置
(5)find 实际搜寻硬盘查询文件名称

https://www.cnblogs.com/kex1n/p/5233821.html

netcat
安装:yum install -y netcat
或者
yum install -y nc

server:nc -l 端口
client:nc ip 端口

su root和root账户登录不一样,su root是用root权限执行本账户下的一些命令,但是root进的是root账户,不能操作集群

su、sudo、sudo su、sudo -i的用法和区别

修改用户组,所有者
chgrp 用户名 文件名 -R

chown 用户名 文件名 -R

-R表示递归目录下所有文件

修改主机名

/etc/hostname
/etc/hosts
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值