快捷键
CTRL+z强制退出
history看历史指令
ctrl+a 光标跳到指令开头,ctrl+e光标跳到指令结尾,ctrl+左右,跳一个单词
文件压缩指令
文件压缩解压
# 压缩文件 file1 和目录 dir2 到 test.tar.gz
tar -zcvf test.tar.gz file1 dir2 #先写压缩后的文件名,再写要压缩的文件名
# 解压 test.tar.gz(将 c 换成 x 即可)
tar -cvf test.tar test.tar.gz
# 列出压缩文件的内容
tar -ztvf test.tar.gz
1.7z
压缩
7z a -t7z 1.7z 1.txt
把1.txt文件压缩为1.7z,-t7z指定压缩格式为7z
解压
7z x filename.7z 在当前目录解压
7z x 1.7z -r -o/root 在/root下解压
2.zip
压缩
zip 1.zip 1.txt 把1.txt压缩为1.zip
zip -r 1.zip ./test 把test目录下的所有文件一起压缩为1.zip
解压
unzip 1.zip 默认解压到当前目录
unzip 1.zip -d /test 解压到/test下面
grep
1.grep
grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。用于过滤/搜索的特定字符。可使用正则表达式能配合多种命令使用,使用上十分灵活
2.命令详解
1.grep hello 1.txt
区分大小写
2.grep -i hello 1.txt
不区分大小写
3.grep -w hello 1.txt
精确打印
4.grep -n hello 1.txt
显示行数
5.grep -r hello /home/
在指定目录下查找文件内容
7.grep -E ‘hello|today’ 1.txt
启用正则表达式
awk
-F指定分隔符,不指定的时候默认为空格
awk -F/ ‘{print$1,$3}’ 1.txt
NR是指定行号,
下面的正则是在/ /里面,表示 / 正则表达式 /,^表示以https://开头,/是转义,将其转义为/,
IGNORECASE=1时忽略大小写
cut
参考链接:
https://blog.youkuaiyun.com/weixin_45842494/article/details/124679008
1.cut命令详解
cut的工作就是“剪”,具体的说就是在文件中负责剪切数据用的。cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段输出。
2.语法
选项与参数:
-d:分隔符,按照指定分隔符分割列。与 -f 一起使用 divede
-f:依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思(列号,提取第几列)filter
-c:以字符 (characters) 的单位取出固定字符区间 char
-b:以字节为单位进行分割 byte
3.示例
-d 指定分割符为一个空格,-f根据分隔符取出数据,后面指定的是按列来取数据
-c指定切割的字符
对于汉字的切割最好使用-c(字符),字节(-b)无法满足要求。
uniq
1.uniq删除重复行(仅限于重复的相邻)
可以用sort 1.txt|uniq 来删除重复行
2.uniq -c 显示行重复的次数
3.uniq -d 显示重复出现的行
4.uniq -u只输出不重复(内容唯一)的行
stat
参考资料:
https://zhuanlan.zhihu.com/p/105603555
Linux stat命令介绍
stat(状态)命令在Linux中是一个显示文件或文件系统的状态信息的工具。相对于ls命令,stat提供了更为详细的信息。主要包括文件的大小、iNode节点、块的数量、访问权限、访问时间、修改时间等多项信息。此命令对于分析文件属性有着重要的作用。
在不带任何选项的情况下调用时,stat命令执行后将显示以下文件信息:
File - 文件名称。
Size - 文件的大小(以字节为单位)。
Blocks - 文件占用的已分配块数。
IO Block - 每个块的大小(以字节为单位)。
File type - (例如常规文件,目录,符号链接…)
Device - 设备编号(十六进制和十进制)。
Inode - 索引节点编号。
Links - 硬连接数。
Access - 数字和符号方法中的文件权限。
Uid - 所有者的用户ID和名称。
Gid - 群组ID和所有者名称。
Context - SELinux安全上下文。
Access - 上次访问文件的时间。
Modify - 上次修改文件内容的时间。
Change - 上次更改文件属性或内容的时间。
Birth - 文件创建时间(Linux不支持)。
arp-scan
参考教程:
https://blog.youkuaiyun.com/newbeixue/article/details/123111543
1.扫描本地ip
arp-scan -l
arp-scan --localnet
2.指定网段扫描
arp-scan --interface=eth0 192.168.232.0/24
sort
参考链接:
https://blog.youkuaiyun.com/weixin_45842494/article/details/124786725
sort命令详解
sort将文件的每一行作为一个单位相互比较,比较原则是从首字符向后依次按ASCII码进行比较,最后将它们按升序(默认)输出。
示例
1.sort -n n是number 按数值大小排序
2.sort -r以相反的顺序排序
sort 以每行第一个字符排序,数字排在字母前面,sort -r刚好反过来,
3.sort -k指定列来排序
4.sort -u unique 去除重复的行
5.sort -o 把排序的文件放在新文件中
6.sort -t 指定排序的分隔符
netstat
netstat -anp |grep 22
查找22端口
参考链接:
原文链接:https://blog.youkuaiyun.com/weixin_45842494/article/details/124642030
1.netstat命令简介
Netstat 是一款命令行工具,可用于列出系统上所有的网络套接字连接情况,包括 tcp, udp 以及 unix 套接字,另外它还能列出处于监听状态(即等待接入请求)的套接字。在Linux使用过程中,需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询。
2.指令
1.-a 列出所有当前的连接。
2.-t 只列出 TCP 协议的连接
3.-u 只列出 UDP 协议的连接
4.-n 禁用反向域名解析,加快查询速度
5.-l 只查看处于监听状态的连接,并且不解析域名 -antl
6.过滤 netstat -an |grep mysql 查找mysql的服务
7.-s 显示端口信息
8.-ts 显示tcp端口信息
9.-p 显示PID和进程名称
find
find / -name “test”
find / -size +10M 或-1G,100k(MB,GB,KB)
chmod
1执行,2写入,4读取 xwr权限
chmod 777 1.txt 使所有用户拥有1.txt的全部权限
top
磁盘监控df
df -h显示单位
ps
一般配合管道符查找进程,更加方便
touch
touch .test.txt 创建隐藏文件
touch -r 1.txt 2.txt,把1.txt的创建时间赋给2.txt
less
1.搜索文本中的词 按 / 之后再搜索,按n查找下一个要搜索的,按N查找上一个
2.按空格或者f往下翻一面,按b往上翻一面,按e往下1行,按y往上1行
head
head -n 10 1.txt 显示前10行
wc
wc 1.txt 显示文件的行数、单词数、字节数
wc -l 显示行数
lsof
https://www.cnblogs.com/wanng/p/lsof-cmd.html
lsof 是 List Open File 的缩写, 它主要用来获取被进程打开文件的信息
FD 是文件描述符
FD 说明
cwd 当前目录 | txt txt文件 | rtd root目录 | mem 内存映射文件
TYPE 说明
DIR 目录| REG 普通文件| CHR 字符| a_inode Inode文件| FIFO 管道或者socket文件| netlink 网络
lsof -u root |less 查看root打开的文件
lsof -u ^root |less 查看排除root打开的文件
lsof -p 1查看指定进程id打开的文件
lsof -c sshd 输出COMMAND 列包含 sshd 的项
lsof /usr/lib64/ld-2.17.so,查看打开文件/usr/lib64/ld-2.17.so的进程项
lsof -i 4打开协议为ipv4的项
lsof -i udp 打开协议为udp的项
pwdx
pwdx pid: 查看当前pid进程启动时的工作目录
cURL和wget
wget很稳定,会不断的尝试,直到整个文件下载完毕
wget http://www.example.com/testfile.zip
wget -O myfile.zip http://www.example.com/testfile.zip -O命名文件如果不指定"-O" 选项,wget默认会以 url 路径最后一个 "/" 的后面全部字符为下载的文件名,如wget http://www.example.com/testfile?id=123,下载后的文件名就为 testfile?id=123
wget -c http://www.example.com/testfile.zip -c:继续接着执行上次未下载完的任务
wget -i url文件 批量下载文件中的地址文件
wget -r http://www.example.com/path1/path2/ -r下载整个路径下的
curl [-o 自定义文件名|-O] http://www.example.com/index.html
-o 自定义文件名:把服务器响应输出到指定文件
-O:与-o选项作用一样,区别在于以 url 路径最后一个"/"之后的部分作为文件名
如果这两个选项都不写,curl 默认会把服务器响应内容输出到终端
curl -O -C - http://www.example.com/testfile.zip 让curl自动推断出正确的续传位置
curl -L http://www.example.com 自动跳转到重定向链接
curl -i http://www.example.com
-i:输出包含响应头信息
-I:输出仅包含响应头信息,不包含响应内容
curl -v http://www.example.com 显示请求包和相应包
df和du
df命令作用是列出文件系统的整体磁盘空间使用情况。可以用来查看磁盘已被使用多少空间和还剩余多少空间。
df -a显示所有文件系统 df -h以GB,MB,KB显示
df /home 指定文件夹看磁盘情况
df -T 显示文件系统类型
du (英文全拼:disk usage)命令用于显示目录或文件的大小
du 只显示目录大小
du -a 显示目录和文件的大小
du -h 以KB,MB,GB显示
du -c 显示总共的文件大小
du -s /home 只显示总大小
du -S /home 显示目录的大小和总大小