Linux命令

这篇博客详细介绍了Linux常用命令的使用,包括文件操作、SQL执行、循环语句、统计计算、权限管理等。通过实例展示了如何进行数据查询、文件内容统计、远程连接以及文件权限设置等操作,是Linux系统管理员和开发者的重要参考资料。
摘要由CSDN通过智能技术生成

pwd:查看工作目录

cd:切换工作目录

ls:列出当前目录下的文件

-a:显示所有,包括隐藏文件

-l:列表显示

执行Sql命令

通过执行该语句,进行数据库数据录入

mysql -h IP -P PORT -u username -ppassword -D database

乱码带上:--default-character-set=utf8

e.g:mysql -h IP -uUSER -PPORT-pPASSWORD database --default-character-set=utf8

执行sql文件:source sql.txt

退出sql命令:quit;

命令1 当前路径匹配文件内容

Linux当前路径所有文件中查找list中已有数据的记录

Cat list | while read aa

Do

Grep $aa *.TXT

Done

Linux当前路径某类文件中查找list中已有数据的记录

cat list | while read aa; do  grep $aa test_*.TXT; done

命令2 路径下相同文件内容

ls ./270*/test.req |while read name; do echo $name;cat $name;done

while read do done特定格式

cat 打开

echo打印

命令3 统计文件特定内容并排序打印

awk -F  '|'  '{print $12}' ***.txt  |sort|uniq -c

awk:逐行读取文件

-F:以指定格式 e.g: awk -F ‘|’以分隔符‘|’逐行读取

Sort:排序

uniq:去重

-c:统计重复出现的次数

文件格式: 

 Grep 内容 目标文件名

命令4

cat zmj_20201229.txt |while read name;do grep $name 20201226statement.txt ;done

cat zmj_20201229.txt |while read name;do grep $name 20201226statement.txt ;done

作用:

 

命令5 读取文件指定行内容

读取文件前5行内容

Head -n 5 filename

命令6 统计满足特定条件内容并输出

统计每行满足第9列=1,求第11列的总和:

awk -F '|' 'BEGIN{sum=0}{if($9==2){sum+=$11;}}END {print sum}' test.REQ

统计每行满足第9列=1,计算第11列的总和,第9列=2,计算第11列的总和

awk -F '|' 'BEGIN{sumZF=0;sumTK=0}{if($9==1){sumZF+=$11;} else if($9==2){sumTK+=$11;}}END {print sumZF,sumTK}' test.REQ

循环输出01-31

for i in {01..31};do echo $i;done

循环输出统计当前目录下,以特定字符开头文件满足特定条件的内容,并输出

for i in {01..31};do awk -F '|' 'BEGIN{sumZF=0;sumTK=0}{if($9==1){sumZF+=$11;} else if($9==2){sumTK+=$11;}}END {print sumZF,sumTK}' test.REQ;done

for i in 202101*.txt;do cat $i | head -n 1|awk -F '|' '{print $2,$4}' >> zhangmj20210304.txt;done

for i in {01..31};do awk -F '|' 'BEGIN{sumZF=0}{if($9==2){sumZF+=$11;}}END {print sumZF }' 202012${i}_test.REQ;done

awk -F ','  'BEGIN{sum=0 ;count=0}{if ($(NF-11) == 2 && $NF == 0 && $3 == "1.6.1_1_1") {sum +=$5; count++;} } END {print "sum="sum" count="count " avg="sum/count}'

说明:
BEGIN{sum=0 ;count=0} 初始化计数器;
END {print "sum="sum" count="count " avg="sum/count} 打印汇总,计数器和均值;
if ($(NF-11) == 2 && $NF == 0 && $3 == "1.6.1_1_1") {sum +=$5; count++;} 判断倒数第11个字段,判断倒数第一个字段,判断第三个字段(字符串) 第五个字段汇总累加,计数器累加

$NF 可用来表示一个记录的最后一个栏位

NF表示当前行的字段数,$0表示当前行

关于多个分割符号:

1awk -F ',' 表示使用逗号多分隔符   

2awk -F 'AB' 表示使用符号AB做分隔符 echo ABCDABDDCADAFB  | awk -F 'AB' '{for(i=1;i<=NF;i++)printf $i" "}'输出 CD DDCADAFB

3awk -F '[AB]' 表示使用A或者B做分隔符,就是遇到字符A或者B都分割 echo ABCDABDDCADAFB  | awk -F '[AB]' '{for(i=1;i<=NF;i++)printf $i" "}' 输出  CD  DDC D F

4awk -F '[\\|]' 表示使用符号‘|’做分隔符,这里有两层转义,先转义\,然后转义|

5echo "ABC|DAB|DD CA DAFB"  | awk -F '[ \\|]' '{for(i=1;i<=NF;i++)printf $i" "}' 输出 ABC DAB DD CA DAFB

6print打印会换行,printf打印不换行

命令7 打印出文件第几列内容

打印出第11列的内容:

awk -F  '|'  '{print $11}' 20201203_test.REQ

命令8 计算文件第几列的总和

计算第11列的总和:

awk -F '|' '{sum += $11};END {print sum}' 20201203_test.REQ

命令9 sftp远程连接命令

Sftp如何远程连接

sftp -oPort=端口号 用户名@IP

地址:IP

端口:PORT

用户名:***

密码:***

目录:详见接口规范

命令10 防止超时退出

设置Linux空闲超时等待时间

防止超时退出:TMOUT=0

命令11 根据端口号查询项目相关信息

根据端口号查询项目路径信息

1.netstat -apn|grep PORT

出现:tcp6 0 0 :::10010  :::*      LISTEN      44629/java

2.ps -ef|grep PORT

-Djava.util.logging.config.file=项目路径

 

命令12 更新brew安装npm/node

查看是否安装brew:brew -v

 

更新brew:brew update

 

使用brew安装node:brew install node

 查看npm版本:npm -v

查看node版本:node -v

 安装webpack:npm install webpack -g

安装yarn:brew install yarn

 

命令13 统计文件总行数

Wc -l filename

指定文件的总统计数。字是由空格字符区分开的最大字符串

该命令各选项含义如下:

 -c 统计字节数。

 -l 统计行数

 -w 统计字数。

这些选项可以组合使用

输出列的顺序和数目不受选项的顺序和数目的影响。

总是按下述顺序显示并且每项最多一列。

行数、字数、字节数、文件名

如果命令行中没有文件名,则输出中不出现文件名

例如:

$ wc - lcw file1 file2

4 33 file1

7 52 file2

11 11 85 total

举例:

1. find demo/ -name "*.js" |wc -l   #统计demo目录下,js文件数量

2. find demo/ -name "*.js" |xargs cat|wc -l 或 wc -l `find ./ -name "*.js"`|tail -n1   #统计demo目录下所有js文件代码行数

3. find /demo -name "*.js" |xargs cat|grep -v ^$|wc -l  #统计demo目录下所有js文件代码行数,过滤了空行

命令14 修改文件读取权限

Chmod 777 filename/目录

Linux系统中,每个用户的角色和权限划分的很细致也很严格,每个文件(目录)都设有访问许可权限,利用这种机制来决定某个用户通过某种方式对文件(目录)进行读、写、执行等操作。

操作文件或目录的用户,有3种不同类型:文件所有者、群组用户、其他用户。最高位表示文件所有者的权限值,中间位表示群组用户的权限值,最低位则表示其他用户的权限值,所以,chmod 777中,三个数字7分别对应上面三种用户,权限值都为7。

文件或目录的权限又分为3种:只读、只写、可执行。

权限

权限数值

二进制

具体作用

r

4

00000100

read,读取。当前用户可以读取文件内容,当前用户可以浏览目录。

w

2

00000010

write,写入。当前用户可以新增或修改文件内容,当前用户可以删除、移动目录或目录内文件。

x

1

00000001

execute,执行。当前用户可以执行文件,当前用户可以进入目录。

依照上面的表格,权限组合就是对应权限值求和,如下:

7 = 4 + 2 + 1      读写运行权限
5 = 4 + 1             读和运行权限

4 = 4                   只读权限

这句命令的意思是将filename文件的读写运行权限赋予文件所有者,把读和运行的权限赋予群组用户,把读的权限赋予其他用户。

更多官方的、详细的解释,可以使用下面的命令查看:

chmod  --help   或者

man  chmod

命令15 检索压缩文件内容

gunzip -c log.log.2021-02-03.gz|grep 'TEST'

115主机

head -n 数字 文件名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

渣渣梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值