linux常用命令介绍

时间:2020-12-17 01:17:25


1、无分类

//删除文件夹下所有文件
rm -rf *


//查看文件有多少行
wc -l /bigdata/coc/xl/hive/data.txt

//解压jar包到指定目录
unzip ??.jar -d /bigdata/coc/xl/hive/

//删除非空文件夹
rm -rf dir1

//文件名模糊匹配
ls aa*.txt

//查看隐藏文件
ls -a

//修改文件权限,-r表示递归
chmod -r xyz 文件或目录

//永久修改主机名
hostnamectl set-hostname master

//压缩文件夹
tar -zcvf 打包后生成的文件名全路径 要打包的目录
tar -zcvf /coc/loc_deploy.tar.gz /coc/loc_deploy

//解压tar.gz文件
tar -zxvf java.tar.gz

解压到指定的文件夹
tar -zxvf java.tar.gz  -C /usr/java


查找目录:find /(查找范围) -name '查找关键字' -type d
查找文件:find /(查找范围) -name 查找关键字 -print

while true ;do grep --color "报表指标血缘分析完成" info.log; sleep 5; done;

2、vim命令

//将文件所有的mon替换为monday
:%s/mon/monday/g
// 统计字符串出现次数
:%s/word/&/gn 

//清空文件内容
:1,$d

//搜索
/字符   从头搜索
?字符   从尾搜索
n搜下一个,N搜上一个

3、查看日志文件

//查看实时日志文件输出
tail -f loc.log

//
less loc.log
g 移动到第一行
G 移动到最后一行
q 退出
j 向前移动一行
k 向后移动一行
ctrl+b 向前翻一屏
空格键 向后翻一屏

4、sed文本编辑命令

//文件内容替换
sed -i 's/buhao/hao/g' /bigdata/coc/xl/cc/aa.txt

//文件内容替换-去掉行首前n个字符(.匹配一个字符,*匹配前面0或多个任意字符)
sed  's/^[0-9]*,//' hello.txt 

//删除文件中的空行
sed -i '/^$/d' /bigdata/coc/xl/hive/data.txt

5、grep

//从单个或多个文件中查找字符串 
grep '标签入库URL为' labelmap_1.log labelmap_2.log 

//现有一个文件,文件内容有n行,每一行都是一个手机号,通过执行以下命令,找出不符规则(共11位,每一位都是数字0到9)的手机号有几个
grep -v -c '^[0-9]\{11\}$' hello.txt

// 从日志文件中过滤出11219
grep --color '11219' info_20211222*

cat *.log | grep "25972317-dace-4051-a0ea-b35ae764e251" -A 20 -B 20  -C 10 > 25972317.log

6、进程

//杀死进程
kill -s 9 进程id

//根据进程id查看进程
ps -aux |grep -v grep|grep 8698

//linux如何查看端口被哪个进程占用的方法:
lsof -i:端口号
lsof -ti:端口号  //只显示进程号
netstat -tunlp|grep 端口号

//模糊查询进程
ps -ef|grep tmall.jar

//模糊查询
netstat -nap | grep 进程pid或端口号

7、网络

#查看网页
curl http://10.1.245.176:8443/labelmap/services/G2PLableDataResultService?wsdl

//查看iptables状态,如果是Active: active (exited)则已激活
systemctl status iptables.service 
systemctl stop iptables.service

//关闭SELINUX,要重启计算机才能生效
vi /etc/selinux/config
SELINUX=disabled
//临时关闭selinux
setenforce 0
//临时开启SELinux
setenforce 1
//查看当前状态命令
getenforce


//查看firewalld状态,出现Active: active (running)且高亮显示则表示是启动状态。
//出现 Active: inactive (dead)灰色表示停止
systemctl status firewalld
//永久关闭防火墙
systemctl disablefirewalld

8、硬件

//查看发行版本信息:【】
cat /etc/issue

//查看cpu型号
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

//查看物理cpu个数
cat /proc/cpuinfo | grep "physical id" | sort | uniq|wc -l

//查看逻辑cpu个数
cat /proc/cpuinfo | grep "processor" |wc -l

//查看cpu是几核,即每个物理cpu有几个核心数
cat /proc/cpuinfo | grep "cores"|uniq

//查看超线程是否打开:如果"siblings"和"cpu cores"一致,则说明不支持超线程,或者超线程未打开
cat /proc/cpuinfo |grep "sibling"|uniq


//查看磁盘使用情况,单位是KB而不是B
df
df -h
df -h /data/
//查看哪个目录占用率大
du -sh * 



//实时查看进程,动态刷新
top
//查看内存使用情况
free
free -h

CPU总核数 = 物理CPU个数 * 每颗物理CPU的核数
总逻辑CPU数 = 物理CPU个数 * 每颗物理CPU的核数 * 超线程数

如图1,物理cpu个数为2,通过总线相连

如图2,该物理cpu有两个核心,每个核心又对应2个超线程

linux常用命令介绍

图1

linux常用命令介绍

图2

9、用户和用户组

1、删除账号

userdel -r 用户名

2、创建账号并赋予root权限
adduser bobo
passwd bobo
修改 /etc/sudoers 文件,找到下面一行,把前面的注释(#)去掉
## Allows people in group wheel to run all commands
%wheel    ALL=(ALL)    ALL
然后修改用户,使其属于root组(wheel),命令如下:
#usermod -g root xulong

显示当前登录用户信息:

w
who
whoami

用户列表文件:/etc/passwd
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
用户组列表文件:/etc/group

查看系统中有哪些用户:cut -d : -f 1 /etc/passwd
查看可以登录系统的用户:cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1

groups 用户 查看用户所属用户组

10、Sftp

//登录
sftp -oPort=22 root@192.168.0.254
//列出本地当前目录
lpwd
//列出远程当前目录
pwd
//同lpwd理
lls
//同ls理
ls
//下载文件
get 远程主机下文件的路径   将文件保存到本地电脑的路径
//上传文件
put 本地文件的路径 将文件版保存到远程主机的路径

11、NAT模式配置主机转发到虚拟机