Linux命令:设置时间和格式、grep|find命令、>/>>/<输出输入重定向、windows/Linux查看和搜索指定端口、2>&1重定向到标准输出、chmod 777 ugo模式修改权限、lsof、sed按行数或时间截取日志
id 命令:查看当前用户
一、ls
ll -hSr
- -a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)
- -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
- -r 将文件以相反次序显示(原定依英文字母次序)
- -t 将文件依建立时间之先后次序列出
- -A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
- -F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
- -R 若目录下有文件,则以下之文件亦皆依序列出
ll -h 按M显示文件大小 -h for human-readable
ll -S 按文件大小显示 size
ll -r 文件名称字典反序(默认升序) reverse
ll -t 时间排序 time
二、date
# 设置时间格式 date '+%Y-%m-%d %H:%M:%S' date +%Y-%m-%d # 设置时间 date -s 设置时间
在Windwos中,系统时间的设置很简单,界面操作,通俗易懂。而且设置后,重启,关机都没关系。系统时间会自动保存在Bios的时钟里面,启动计算机的时候,系统会自动在Bios里面取硬件时间,以保证时间的不间断。
但在Linux下,默认情况下,系统时间和硬件时间,并不会自动同步。在Linux运行过程中,系统时间和硬件时间以异步的方式运行,互不干扰。硬件时间的运行,是靠Bios电池来维持,而系统时间,是用CPU tick来维持的。
在系统开机的时候,会自动从Bios中取得硬件时间,设置为系统时间。
三、chmod
Linux修改权限功能------chmod
https://blog.csdn.net/jerrytomcat/article/details/81744860
四、vim
ctrl + F 向上翻页 F是FORWARDS(upwards) ctrl + B 向下翻页 B是BACKWARDS(downwards) vi中:help ^F可查看帮助文档 ZQ = :q! 不作保存,强制退出 ZZ = :wq! 强制写入退出 ngg = nG = :n 行数定位 dd 删除当前行
ndd nyy 删除\复制 光标所在向下n行
d1G y1G 到文首
dG yG 到文尾 yy 复制 p 粘贴 u 撤销 ctrl+r 回退 进入底行模式 /xx 向后查找 ?xx 向前查找 n 继续查找下一个 N 继续查找前一个 Vim尾行模式下使用 :noh 或 :nohlsearch 来关闭当前的高亮结果 :set nu 显示行数 :set nu! 取消行号显示 :set ic(ignorecase 的缩写) 忽略大小写 :set noic(noignorecase 的缩写) 不忽略大小写 /xxx\C 区分大小写 /xxx\c 不区分大小写 vim '+set nu' file 参数显示行号 vim +number file 打开并跳转到number行 :n% 底行命令模式,百分比跳转
:11,22d 删除11-22行 i:insert 在字符之前插入 a:append 在字符之后插入 o: ?outer 在字符的下一行插入
u: (undo)撤销
U: 撤销对整行的操作
ctrl + r : (redo)重做,反撤销
五、搜索
1.grep
grep 'xxx' filename -rin
grep 同时满足多个关键字和满足任意关键字
① grep -E 'word1|word2|word3' file.txt
满足任意条件(word1、word2和word3之一)将匹配。
② grep word1 file.txt | grep word2 |grep word3
必须同时满足三个条件(word1、word2和word3)才匹配。
ps -ef|grep java| grep -v grep | awk '{print $n}' 其中的grep -v grep 是为了去除grep进程行 ,避免影响最终数据的正确性
2.find
find dir -name '*xx*'
六、压缩
七、Shell 输入/输出重定向
命令 | 说明 |
---|---|
command > file | 将输出重定向到 file。 |
command < file | 将输入重定向到 file。 |
command >> file | 将输出以追加的方式重定向到 file。 |
n > file | 将文件描述符为 n 的文件重定向到 file。 |
n >> file | 将文件描述符为 n 的文件以追加的方式重定向到 file。 |
n >& m | 将输出文件 m 和 n 合并。 |
n <& m | 将输入文件 m 和 n 合并。 |
<< tag | 将开始标记 tag 和结束标记 tag 之间的内容作为输入。 |
需要注意的是文件描述符 0 通常是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错误输出(STDERR)。
清空文件内容的5中方法
help :
:: :
空的命令。
没有效果; 此命令不做任何操作。
退出状态:
总是成功。
cat/tail/head
【一】从第3000行开始,显示1000行。即显示3000~3999行
cat filename | tail -n +3000 | head -n 1000
【二】显示1000行到3000行
cat filename| head -n 3000 | tail -n +1000
*注意两种方法的顺序
分解:
tail -n 1000:显示最后1000行
tail -n +1000:从1000行开始显示,显示1000行以后的
head -n 1000:显示前面1000行
【三】用sed命令 按行数或时间截取日志
# 查看文件的第5行到第10行。 sed -n '5,10p' filename # p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~ 截取日志到part文件中。 sed -n "/2020-10-10 08:00:00/, /2020-10-10 11:00:00/p" nohup.out > part.log ==> sed -n "/2020-10-10 08:/, /2020-10-10 11:/"p nohup.out > part.log
八、查看端口
1).windows查看端口
# 列出所有系统使用端口 netstat -nao # 搜索指定端口 netstat -nao | findstr "8080" # 根据端口查看进程任务 tasklist | findstr "8080"
参数说明:
netstat --help 显示协议统计信息和当前 TCP/IP 网络连接。 NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-x] [-t] [interval] -a 显示所有连接和侦听端口。 -b 显示在创建每个连接或侦听端口时涉及的 可执行程序。在某些情况下,已知可执行程序承载 多个独立的组件,这些情况下, 显示创建连接或侦听端口时 涉及的组件序列。在此情况下,可执行程序的 名称位于底部 [] 中,它调用的组件位于顶部, 直至达到 TCP/IP。注意,此选项 可能很耗时,并且在你没有足够 权限时可能失败。 -e 显示以太网统计信息。此选项可以与 -s 选项 结合使用。 -f 显示外部地址的完全限定 域名(FQDN)。 -n 以数字形式显示地址和端口号。 -o 显示拥有的与每个连接关联的进程 ID。 -p proto 显示 proto 指定的协议的连接;proto 可以是下列任何一个: TCP、UDP、TCPv6 或 UDPv6。如果与 -s 选项一起用来显示每个协议的统计信息,proto 可以是下列任何一个: IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。 -q 显示所有连接、侦听端口和绑定的 非侦听 TCP 端口。绑定的非侦听端口 不一定与活动连接相关联。 -r 显示路由表。 -s 显示每个协议的统计信息。默认情况下, 显示 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息; -p 选项可用于指定默认的子网。 -t 显示当前连接卸载状态。 -x 显示 NetworkDirect 连接、侦听器和共享 终结点。 -y 显示所有连接的 TCP 连接模板。 无法与其他选项结合使用。 interval 重新显示选定的统计信息,各个显示间暂停的 间隔秒数。按 CTRL+C 停止重新显示 统计信息。如果省略,则 netstat 将打印当前的 配置信息一次。
2).Linux查看端口
方式一:netstat
常用参数: -a或--all 显示所有连线中的Socket。 -h或--help 在线帮助。。 -l或--listening 显示监控中的服务器的Socket。 -n或--numeric 直接使用IP地址,而不通过域名服务器。 -p或--programs 显示正在使用Socket的程序识别码和程序名称。 -t或--tcp 显示TCP传输协议的连线状况。 -u或--udp 显示UDP传输协议的连线状况。 --ip或--inet 此参数的效果和指定"-A inet"参数相同。 # 列出所有TCP、UDP和监听端口 netstat -tlunp # 显示系统端口使用情况(所有) netstat -anp # 显示UDP、TCP类型的端口 netstat -unpl/tnpl # 搜索指定端口,查看3306端口的连接客服端ip netstat -anp | grep 3306
方式二:lsof
lsof (lists openfiles)
列出所有的网络连接 lsof -i 列出所有tcp 网络连接信息 lsof -i tcp 列出所有udp网络连接信息 lsof -i udp 列出谁在使用某个端口 lsof -i :3306 列出谁在使用某个特定的udp端口 lsof -i udp:55 特定的tcp端口 lsof -i tcp:80
other:firewall-cmd --list-ports
# 开端口命令: ## 打开单个端口: firewall-cmd --zone=public --add-port=80/tcp --permanent ## 打开多个端口 firewall-cmd --zone=public --add-port=20000-29999/tcp --permanent --permanent 为永久生效,不加为单次有效(重启失效) # 查看开启端口: netstat -ntlp 或:firewall-cmd --list-ports # 关闭端口命令: firewall-cmd --zone= public --remove-port=80/tcp --permanent # 查看端口是否打开 firewall-cmd --zone= public --query-port=80/tcp
3).Linux根据进程找端口
#端口找进程ID lsof -i :3006 # 进程ID找端口 netstat -anp | grep 9350 lsof -i | grep 9350
100.其他
1.错误日志重定向到标准日志输出
nohup java -jar name.jar >>logname.log 2>&1 & -- 以dev模式启动 nohup java -jar name.jar --spring.profile.active=dev 2>&1 &
解释如下:
2>
表示把标准错误(stderr)重定向,标准输出(stdout)是1。
尖括号后面可以跟文件名,或者是&1, &2,分别表示重定向到标准输出和标准错误。
2> &1
1> &2
2> stderr.log
1> stdout.log
https://blog.csdn.net/thxiong1234/article/details/85623448
1.1 linux下运行jar包的命令
1、java -jar xxxxx.jar // 当前xshell窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出
2、java -jar xxxxx.jar & //当前shell窗口不被锁定,但是当窗口关闭时,程序中止运行。
3、nohup Java -jar xxxxxx.jar & //意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
2.curl
Linux查看外网地址
curl ident.me
curl cip.cc
curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。
不带有任何参数时,curl 就是发出 GET 请求。
-d
参数用于发送 POST 请求的数据体。
http://www.ruanyifeng.com/blog/2019/09/curl-reference.html
3.xargs
xargs 可以将管道或标准输入(stdin)数据转换成命令行参数
args 默认的命令是 echo。
它能够捕获一个命令的输出,然后传递给另外一个命令。
之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了 xargs 命令
http://www.ruanyifeng.com/blog/2019/08/xargs-tutorial.html
...
4.Linux 查看磁盘空间
df(英文全拼:disk free) 命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计
du 会显示指定的目录或文件所占用的磁盘空间。
df -hl:查看磁盘剩余空间 [Human-readable] df -hl . : 查看当前路径所在的空间信息 df -h:查看每个根路径的分区大小 du -sh [目录名]:返回该目录的大小 du -sm [文件夹]:返回该文件夹总M数 du -h [目录名]:查看指定文件夹下的所有文件大小(包含子文件夹) du -sm * | sort -nr :显示文件大小 并排序,单位M
free -h : 显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等
...