linux和windows命令

系统版本划分

目前主流的linux发行版本系统有如下几种:RedHat、Fedora、Ubuntu、Debian、Suse、CentOS,他们之间的关系如下:

https://download.csdn.net/download/qq_36236038/12643290

shell脚本

$()和 ` `  :

在 bash shell 中,$( ) 与` ` (反引号) 都是用来做命令替换用(commandsubstitution)的。

例如   version=$(uname -r)和version=`uname -r`都可以是version得到内核的版本号

各自的优缺点:
1. `  ` 基本上可用在全部的 unix shell 中使用,若写成 shell script ,其移植性比较高。但反单引号容易打错或看错。

2. $()并不是所有shell都支持。

1. $$   Shell本身的PID(ProcessID)  2. $! Shell最后运行的后台Process的PID     3. $?最后运行的命令的结束代码(返回值)

4. $-  使用Set命令设定的Flag一览   5. $*所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。

6. $@  所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。

7. $#  添加到Shell的参数个数  8. $0Shell本身的文件名  9.$1~$n   添加到Shell的各参数值。$1是第1参数、$2是第2参数…。

${}命令

为了完整起见,我这里再用一些例子加以说明 ${ } 的一些特异功能:
假设我们定义了一个变量为:
file=/dir1/dir2/dir3/my.file.txt
我们可以用 ${ } 分别替换获得不同的值:
${file#*/}:拿掉第一条 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt
${file##*/}:拿掉最后一条 / 及其左边的字符串:my.file.txt
${file#*.}:拿掉第一个 . 及其左边的字符串:file.txt
${file##*.}:拿掉最后一个 . 及其左边的字符串:txt
${file%/*}:拿掉最后条 / 及其右边的字符串:/dir1/dir2/dir3
${file%%/*}:拿掉第一条 / 及其右边的字符串:(空值)
${file%.*}:拿掉最后一个 . 及其右边的字符串:/dir1/dir2/dir3/my.file
${file%%.*}:拿掉第一个 . 及其右边的字符串:/dir1/dir2/dir3/my

记忆的方法为:

# 是去掉左边(在鉴盘上 # 在 $ 之左边)

% 是去掉右边(在鉴盘上 % 在 $ 之右边)

单一符号是最小匹配﹔两个符号是最大匹配。


${file:0:5}:提取最左边的 5 个字节:/dir1
${file:5:5}:提取第 5 个字节右边的连续 5 个字节:/dir2
我们也可以对变量值里的字符串作替换:
${file/dir/path}:将第一个 dir 提换为 path:/path1/dir2/dir3/my.file.txt
${file//dir/path}:将全部 dir 提换为 path:/path1/path2/path3/my

shell命令

双击tab键,然后y,可以看到linux中支持的所有的命令

查看系统版本

1 cat /etc/issue   查看发行版本 ,这个命令适用于所有的linux,包括Redhat、SuSE、Debian等发行版。

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

3uname -a 查看内核版本

less命令(向前等于向下pageDown)

n向下查找对对应的搜索词

N反向搜索

空格键 =page down =Ctrl+F向前翻页

b向上翻一页(向后翻一页)pageup  =ctrl + B - 向后移动一屏

ctrl + D - 向前移动半屏

ctrl + U - 向后移动半屏

enter键=向下一行

q退出命令

g移动到第一行

G移动到最后一行

d 向后翻半页 h 显示帮助界面 Q 退出less 命令 u 向前滚动半页 y 向前滚动一行

grep 命令

标准unix/linux下的grep通过下面參数控制上下文

grep -C 5 foo file 显示file文件里匹配foo字串那行以及上下5行
grep -B 5 foo file 显示foo及前5行
grep -A 5 foo file 显示foo及后5行

curl命令

curl ifconfig.me(curl ifconfig.me/all)可以获取当前linux机器的外网地址

-s  只输出错误信息   -X 指定请求方法  -x指定机器代理   -v输出详细过程

可以根据-v来输出整个调用过程和数据,一般有调用到springmvc服务和没调用到该服务都是报404,区别在于没有调用到该服务,就没有您试图访问的页面没有找到

可以根据上面这个判断是否调用连接正常

网络排查命令(ping,telnet,tracert,pathping,nslookup,mtr,dig)

一般在Windows来判断网络连通性可以使用ping和tracet,ping可以用来判断丢包率,而tracet可以用来跟踪路由,在linux中有一个更好的网络连通性判断工具,可以结合ping nslookup tracert来判断网络相关特性,这个命令就是mtr。

1ping

2.telnet 有可能

3.tracert

4.nslookup :将域名解析成ip

5.mtr

6.dig

进程 端口号

ps -ef  -aux都可以实现进程PID和进程名的互查

lsof -i | grep pid或者netstat -anp (-ano) | grep pid可以根据pid查询port

lsof (list open file)

losf -i:port  可以输出port对应的端口号

rz和sz linux与Windows互传文件命令

文件读取

du(Disk Usage)-h filepath 直接得出人好识别的文件大小
ls -lh filepath h表示human, 加-h参数得到人好读的文件大小

nohub命令

输入输出重定向

https://blog.csdn.net/An1090239782/article/details/103478896

 

 

AWK和sed

awk -F"," '{if($2>0){print $0}}'

 

 

linux函数详解

fork和COW机制

 

fsync

 

grep 问题

grep 在tailf后面写的时候需要带上双引号,否则的话就查不到东西

 

netstat 用法

例子1:netstat -a 表示查询所有网络进程端口。

例子2:netstat -at 表示查询所有网络进程的tcp通信端口。

例子3:netstat -au 表示查询所有网络进程的udp通信端口。

例子4:netstat -l 表示只查询处于监听状态的端口。

例子5:netstat -n 表示查询时不使用别名,转换成数字显示。

例子6:netstat -p  表示查询进程程序名。

例子7:netstat -anp 表示查询所有网络进程端口时使用数字方式显示并且显示相关的程序名。

例子8:netstat -anp | sshd 表示查询sshd进程的端口详细信息。

windows命令

windows也有管道概念

grep对应findstr

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值