Linux常用命令

394 阅读7分钟

tail 命令

tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。

tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件

命令格式:

tail [参数] [文件]

参数:

  • -f 循环读取
  • -q 不显示处理信息
  • -v 显示详细的处理信息
  • -c<数目> 显示的字节数
  • -n<行数> 显示文件的尾部 n 行内容
  • --pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
  • -q, --quiet, --silent 从不输出给出文件名的首部
  • -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

常用

tail -100f filename

netstat 命令

Linux netstat 命令用于显示网络状态。

利用 netstat 指令可让你得知整个 Linux 系统的网络情况。

参数说明

  • -a或--all 显示所有连线中的Socket。
  • -A<网络类型>或--<网络类型> 列出该网络类型连线中的相关地址。
  • -c或--continuous 持续列出网络状态。
  • -C或--cache 显示路由器配置的快取信息。
  • -e或--extend 显示网络其他相关信息。
  • -F或--fib 显示路由缓存。
  • -g或--groups 显示多重广播功能群组组员名单。
  • -h或--help 在线帮助。
  • -i或--interfaces 显示网络界面信息表单。
  • -l或--listening 显示监控中的服务器的Socket。
  • -M或--masquerade 显示伪装的网络连线。
  • -n或--numeric 直接使用IP地址,而不通过域名服务器。
  • -N或--netlink或--symbolic 显示网络硬件外围设备的符号连接名称。
  • -o或--timers 显示计时器。
  • -p或--programs 显示正在使用Socket的程序识别码和程序名称。
  • -r或--route 显示Routing Table。
  • -s或--statistics 显示网络工作信息统计表。
  • -t或--tcp 显示TCP传输协议的连线状况。
  • -u或--udp 显示UDP传输协议的连线状况。
  • -v或--verbose 显示指令执行过程。
  • -V或--version 显示版本信息。
  • -w或--raw 显示RAW传输协议的连线状况。
  • -x或--unix 此参数的效果和指定"-A unix"参数相同。
  • --ip或--inet 此参数的效果和指定"-A inet"参数相同。

常用

netstate -tulnp | grep java

tcpdump 命令

Linux tcpdump命令用于倾倒网络传输数据。

执行tcpdump指令可列出经过指定网络界面的数据包文件头,在Linux操作系统中,你必须是系统管理员。

tcpdump [-adeflnNOpqStvx][-c<数据包数目>][-dd][-ddd][-F<表达文件>][-i<网络界面>][-r<数据包文件>][-s<数据包大小>][-tt][-T<数据包类型>][-vv][-w<数据包文件>][输出数据栏位]

参数说明

  • -a 尝试将网络和广播地址转换成名称。
  • -c<数据包数目> 收到指定的数据包数目后,就停止进行倾倒操作。
  • -d 把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出。
  • -dd 把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出。
  • -ddd 把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出。
  • -e 在每列倾倒资料上显示连接层级的文件头。
  • -f 用数字显示网际网络地址。
  • -F<表达文件> 指定内含表达方式的文件。
  • -i<网络界面> 使用指定的网络截面送出数据包。
  • -l 使用标准输出列的缓冲区。
  • -n 不把主机的网络地址转换成名字。
  • -N 不列出域名。
  • -O 不将数据包编码最佳化。
  • -p 不让网络界面进入混杂模式。
  • -q 快速输出,仅列出少数的传输协议信息。
  • -r<数据包文件> 从指定的文件读取数据包数据。
  • -s<数据包大小> 设置每个数据包的大小。
  • -S 用绝对而非相对数值列出TCP关联数。
  • -t 在每列倾倒资料上不显示时间戳记。
  • -tt 在每列倾倒资料上显示未经格式化的时间戳记。
  • -T<数据包类型> 强制将表达方式所指定的数据包转译成设置的数据包类型。
  • -v 详细显示指令执行过程。
  • -vv 更详细显示指令执行过程。
  • -x 用十六进制字码列出数据包资料。
  • -w<数据包文件> 把数据包数据写入指定的文件。

常用

tcpdump -i lo -s 2000 tcp port 3000 -w aaa.pcap

以上命令是将截包信息保存为文件,可以用工具来查看

curl 命令

常用

curl -H "Content-Type:application/json" -X POST -d "{}" -k http://127.0.0.1:3000/

unzip 命令

Linux unzip 命令用于解压缩 .zip 格式的压缩文件。

语法

unzip [options] file.zip

  • file.zip:要解压缩的 .zip 文件。

options 参数

  • -d <directory>:将解压缩的文件放入指定的目录。
  • -l:列出 .zip 文件中的内容,但不解压。
  • -v:显示详细信息,包括 .zip 文件的结构和压缩率等信息。
  • -t:测试 .zip 文件的完整性,但不解压。
  • -n:解压时不覆盖已存在的文件。
  • -o:解压时覆盖已存在的文件,而不提示。
  • -x <pattern>:解压时排除指定的文件或目录。
  • -j:解压时不保留目录结构,将所有文件解压到当前目录中。

zip 命令

Linux zip 命令用于压缩文件。

语法

zip [options] output.zip file1 file2 ...

  • output.zip:生成的压缩文件名。
  • file1 file2 ...:要压缩的文件或目录。

options 参数选项:

  • -r:递归压缩目录及其子目录中的所有文件。
  • -e:为压缩文件设置密码保护。
  • -q:静默模式,不显示压缩过程。
  • -v:显示详细的压缩过程。
  • -x:排除某些文件或目录,不进行压缩。
  • -m:压缩后删除原始文件。
  • -0 到 -9:指定压缩级别,-0 表示存储不压缩,-9 表示最高压缩率,默认是 -6

常用

zip archive.zip file1.txt file2.txt file3.txt

此命令会将 file1.txt、file2.txt 和 file3.txt 压缩到 archive.zip 中。

grep 命令

Linux grep (global regular expression) 命令用于查找文件里符合条件的字符串或正则表达式。

语法

grep [options] pattern [files] 或 grep [-abcEFGhHilLnqrsvVwxy][-A<显示行数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]

  • pattern - 表示要查找的字符串或正则表达式。
  • files - 表示要查找的文件名,可以同时查找多个文件,如果省略 files 参数,则默认从标准输入中读取数据。

常用选项:

  • -i:忽略大小写进行匹配。
  • -v:反向查找,只打印不匹配的行。
  • -n:显示匹配行的行号。
  • -r:递归查找子目录中的文件。
  • -l:只打印匹配的文件名。
  • -c:只打印匹配的行数。

常用

1、在文件 file.txt 中查找字符串 "hello",并打印匹配的行:

grep hello file.txt

2、在文件夹 dir 中递归查找所有文件中匹配正则表达式 "pattern" 的行,并打印匹配行所在的文件名和行号:

grep -r -n pattern dir/

chown 命令

Linux chown(英文全拼:change owner)命令用于设置文件所有者和文件关联组的命令。 语法

chown [-cfhvR] [--help] [--version] user[:group] file...

参数 :

  • user : 新的文件拥有者的使用者 ID
  • group : 新的文件拥有者的使用者组(group)
  • -c : 显示更改的部分的信息
  • -f : 忽略错误信息
  • -h :修复符号链接
  • -v : 显示详细的处理信息
  • -R : 处理指定目录以及其子目录下的所有文件
  • --help : 显示辅助说明
  • --version : 显示版本

常用

chown -R username:username ./aaaa

chmod 命令

Linux chmod(英文全拼:change mode)命令是控制用户对文件的权限的命令

image.png

只有文件所有者和超级用户可以修改文件或目录的权限。可以使用绝对模式(八进制数字模式),符号模式指定文件的权限。

image.png

常用 chmod -R 777 ./aaaa

mkdir 命令

Linux mkdir(英文全拼:make directory)命令用于创建目录。

语法

mkdir [-p] dirName

  • -p : 递归创建多级目录
  • -m : 建立目录的同时设置目录的权限
  • -v : 显示目录的常见过程
# 在当前目录下,创建一个名为 dir 的子目录 
mkdir dir 
# 在目录 /usr/mghio 下建立子目录 dir,并且设置文件属主有读(4)、写(2)和执行(1)权限,其它用户无法访问 
mkdir -m 700 /usr/mghio/dir 
# 一次性创建目录 dir1、dir2、dir3 
mkdir dir1 dir2 dir3 
# 递归创建目录 
mkdir -p /mghio/dir