用命令netstat查侦听端口
netstat
是一个命令行工具,可以提供有关网络连接的信息。
要列出正在侦听的所有TCP或UDP端口,包括使用端口和套接字状态的服务,请使用以下命令:
1 | sudo netstat -tunlp |
此命令中使用的选项具有以下含义:
- -t - 显示TCP端口。
- -u - 显示UDP端口。
- -n - 显示数字地址而不是解析主机。
- -l - 仅显示侦听端口。
- -p - 显示监听器进程的PID和名称。仅当您以root或sudo用户身份运行命令时,才会显示此信息。
查询nginx主进程号
1 | ps -ef | grep nginx |
查询 IP
inet 对应得就是
1 | ip addr |
解压.tar .gz 文件
解压文件redis-7.0.4.tar.gz到指定路径 /xxx/redis, 不写 -C 参数 默认解压到当前文件夹
1 | tar -zxvf redis-7.0.4.tar.gz -C /xxx/redis |
解压文件
- -x:解压
- -z:有gzip属性的
- -v:显示所有过程
- -f:使用档案名字,这个参数是最后一个参数,后面只能接档案名
- -j:有bz2属性的
1 | tar –xvf file.tar |
查看PATH环境变量详解
1 | echo $PATH |
设置环境变量
只对当前shell生效(shell脚本中常用)
方法一:
1 | PATH="$PATH":YOUR_PATH |
方法二:
1 | export PATH="$PATH:YOUR_PATH" |
对所有用户所有shell都生效, 需要root权限(管理员常用)
方法一(修改environment文件):
1 | 打开environment文件 |
如果设置后,系统重启后不可登录的解决方法:
在登录界面进入命令行模式:按组合键 alt +ctrl+f1
/usr/bin/sudo /usr/bin/vi /etc/environment
修改为正确配置,或者直接删除为空
保存退出后重启
方法二(修改profile文件):
打开文件
1 | vim /etc/profile |
在打开的文件末添加
1 | export PATH ="$PATH:YOUR_PATH" |
只对某个用户的所有shell生效,只需要用户权限即可(用户常用)
打开设置文件
1 | shell |
在打开的文件末添加
1 | export PATH ="$PATH:YOUR_PATH" |
使文件配置立即生效
1 | source ~/.bashrc |
引入第三方库文件
部署java项目
查看是否运行
1
ps -ef| grep xxx.jar
有运行的jar包,使用kill 进程号
部署
1
2
3
4
5后台运行jar包
nohub java -jar xxx.jar &
不后台运行
java -jar xxx.jar
grep命令
搜索文件中的特定模式。
语法
1 | grep "let's find something" file.[txt,json,js,md,etc] |
参数
-i 区分大小写
1
grep -i "Operation not supported on socket" system.log
-c 统计匹配行数量
1
grep -c "error" system.log
-e 搜索多个模式
1
grep -e "error" -e "404" system.log
-r 递归搜索
要在目录及其子目录内的所有文件中搜索模式,请使用*-r*
-o选项告诉 grep 仅打印该行的匹配部分。
管道**|**获取左侧命令 (grep) 的输出,并将其用作右侧命令 ( wc -l ) 的输入。
wc -l 计算并显示其输入中的行数。
1
2grep -o -r "fs" node_modules | wc -l
22491
man命令
帮助您查找有关其他命令和程序的详细信息。
1 | man grep |
cat命令
它用于显示文件的内容、组合文件或创建新文件。
cat 的主要功能之一是它能够将多个文件合并为一个
获取file1.txt和file2.txt的内容并将它们合并到file3.txt中。 **>**运算符用于将组合输出定向到新文件中。
1 | cat file1.txt file2.txt > file3.txt |
创建新文件:您还可以使用cat创建新文件。输入文本,完成后按Ctrl+D保存并退出。
1 | cat > newfile.txt |
查看文件
查看小文件比较方便,但是大的文件不行
1 | cat newfile.txt |
head 命令
处理大文件时,您通常不需要查看所有内容。 head 命令可以让您仅预览文件的前几行,而不是使用 cat 显示所有内容。
默认情况下, head显示文件的前 10 行
1 | head package-lock.json |
如果需要更多或更少的行,可以使用**-n**选项指定确切的数量:
1 | head -n 5 package-lock.json |
tail 命令
tail是head的对应部分。它允许您查看文件的最后几行而不是第一行。它默认也是展示十行
- -n选项调整显示的行数。
- -f 实时查看最后 (默认十条)
sed 命令
sed是 Stream Editor 的缩写,是终端中文本处理的强大工具。它允许您在文件或数据流中查找、替换、插入或删除文本。
替换文件中的单词或模式:将“Trevor”替换为“John”。
如果要保存更改,请使用**-i**选项。
-i 后边必须跟一个参数,可以是空字符串或拓展名。但在GNU/Linux系统中,直接使用 -i
也是可以的
1 | sed -i '' 's/Trevor/John/' hello.md |
打印特定行:仅打印文件中的特定行。
这会打印第 2 行到第 4 行。
1 | sed -n '2,4p' package-lock.json |
正则表达式: sed支持正则表达式,允许复杂的搜索和替换操作。例如,将所有数字替换为“ X ”:
1 | sed 's/[0-9]/X/g' combined.csv |
批量重命名文件:假设您有多个扩展名为*.txt的文件,并且您希望将它们重命名为.md* 。
1 | for file in *.txt; do |
chmod命令
每个文件具有三组权限:所有者、组和其他。
文件权限-rw-rx—r—表示:
- 所有者 (trevorindreklasn):具有读取 (r) 和写入 (w) 权限。
- 组(职员):具有读取(r)权限,执行(x)权限。
- 其他:具有读(r)权限。
xargs命令
xargs命令使用其他命令的输入来构建和运行命令。它用于将项目列表作为参数传递给另一个命令。
将左侧 find 的 .txt 文件列表作为参数传递给 rm 命令,删除所有 .txt 文件
1 | find . -name "*.txt" | xargs rm |
find命令
1 | find [path] [expression] |
find 命令在node_modules目录中搜索“astro”的出现,返回具有该名称的文件和目录的路径,包括可执行文件和包文件。
1 | find node_modules -name "astro" |
清理旧日志文件:定期删除超过一个月的日志文件以释放磁盘空间。
1 | find /var/log -type f -name "*.log" -mtime +30 -delete |
备份重要文件:找到所有**.docx**文件并将其从主目录复制到备份位置。
1 | find ~/Documents -name "*.docx" -exec cp {} /path/to/backup/ \; |
- 本文作者: 王不留行
- 本文链接: https://wyf195075595.github.io/2022/08/02/programming/linux/常用命令/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!