Linux常用命令学习笔记

本文是作者学习Linux常用命令的笔记,详细介绍了vi/vim的使用,包括编辑、保存、移动和查找等操作。此外,还讲解了chmod命令的权限设置,ln的软链接创建,以及shell通配符的使用。同时,涵盖了mv、cp、pwd、cat、more、less、sort、paste、wc、df、ps、top、lsof、kill、netstat、wegt和traceroute等常用命令的使用方法和参数选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

人生乃是一面镜子。在镜子里认识自己,我要称之为头等大事,哪怕随后就离开人世。!——尼采

简介

这里说明,这篇文章是我学习Fly_鹏程万里大神linux常用命令的学习笔记。

vi,vim使用

:w 123.txt  //保存为123.txt

A  //当前行末尾添加文本
I  //当前行开头添加文本
O  //当前行上面新建一行
o  //当前行下面新建一行
R  //替换当前光标位置及后面若干文本

光标移动 HJKL

x  //删除当前字符
nx //删除从光标开始的n个字符
dd //删除当前行
ndd  //向下删除当前行在内的n行
u  //撤销上一步操作

:/123  //向下搜索123字符串
:?123  //向上搜索123字符串
n      //向下搜索前一个搜索动作
N      //向上搜索前一个搜索动作

n+    //向下跳n行
n-    //向上跳n行
nG    //跳到行号为n的行
G     //跳到文件底部

:set nu   //显示行号
:set nonu //取消显示行号

yy    //将当前行复制到缓存区
nyy   //将当前行向下n行复制到缓冲区
p     //粘贴剪切板里的内容在光标后
P     //粘贴剪切板里的内容在光标前

:s/old/new     //用new替换行中首次出现的old
:s/old/new/g   //用new替换行中所有的old
:n,m s/old/new/g   //用new替换n到m行中所有的old
:%s/old/new   // 用new替换当前文件中所有的old
:e 234.txt //编辑文件名为234.txt的文件

命令使用

chmod命令
-c   当发生改变时,报告处理信息
-f   错误信息不输出
-R  处理指定目录以及其子目录下的所有文件
-v  运行时显示详细处理信息
r   读权限,用数字4表示
w  写权限,用数字2表示
x   执行权限,用数字1表示
-    删除权限,用数字0表示
s   特殊权限 
u   目录或者文件的当前的用户
g   目录或者文件的当前的群组
o   除了目录或者文件的当前用户或群组之外的用户或者群组
a   所有的用户及群组
1.比如我们搭建一个网站的时候,网站的安装脚本提示对某个文件没有可执行的权限,然后我们要给这个指定的文件所有用户组增加可执行的权限
chmod a+x database.php
2.或者后来我们发现是apache这个用户组没有可执行权限,为了安全考虑,其他用户组没必要具有可执行权限,我们可以这样操作
chmod ug+w,o-x database.php
3.或者我们有一天发现了某个文件夹内的文件都需要一个可写的权限,比如缓存目录,我们可以这样为整个目录增加权限
chmod -R u+w cache/

ln:为某一个文件在另外一个位置建立一个同步的链接
-f    强制执行
-s   软链接(符号链接)
1.比如我们自己写了一个脚本在/home/code/scp_key.sh上,但是我们想在bash中输入scp_key时候就执行这个脚本,我们可以把这个路径加入到PATH中去,或者这样
ln -s /home/code/scp_key.sh /usr/bin/scp_key


shell使用
通配符
“*”----代表任意長度字符串
“?”----代表任何单个字符
“[]”----指定匹配字符串范围,例如[c-f]*

在Shell中有三种:单引号(')、双引号(")、反引号(·)
单引号:引起来的字符都作为普通字符出现。
双引号:作用与单引号类似,三种特殊字符不会被忽略“$”、“\”、“·”
反引号:引起来的字串被Shell解释为命令行

linux命令
mv -l nginx.conf /etc/nginx/nginx.conf  //创建软连接,不复制
cp -R /opt/php7 /usr/bin/php7   //复制整个目录
pwd   //查看完整路径
cat -n 123.txt  //带行号输出,空白行也编号
cat -b 123.txt  //带行号输出,空白行不编号
cat -s 123.txt  //遇到连续两行以上的空白用一行代替。
cat -n 123.txt > 234.txt  //把123.txt内容加上行号复制到234.txt中, > 覆盖  >> 不覆盖,在末尾增加
cat /dev/null > /etc/test.txt  //清空test.txt文档内容。


head & tail
-q  隐藏文件名
-v  显示文件名
-c  显示字节数
-n  显示的行数
-f   循环读取(tail专用): 会一直循环输出这个文件的内容,即使有新的内容进来,也可以马上就显示在屏幕上

more:一頁一頁的显示文件在屏幕上
命令的常用参数选项说明:
+n   从笫n行开始显示
-n    定义屏幕大小为n行
+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示 
-c     从顶部清屏,然后显示
-d     禁用响铃功能
-l      忽略Ctrl+l(换页)字符
-p     通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
-s      把连续的多个空行显示为一行
-u     把文件内容中的下画线去掉

ls -il | more

sort排序:帮我们依据不同的数据类型进行排序。
命令的常用参数选项说明:
-b    忽略每行前面开始出的空格字符
-c    检查文件是否已经按照顺序排序
-f     排序时,忽略大小写字母
-M   将前面3个字母依照月份的缩写进行排序
-n    依照数值的大小排序
-o<输出文件>   将排序后的结果存入指定的文件
-r     以相反的顺序来排序
-t<分隔字符>   指定排序时所用的栏位分隔字符
-k     选择以哪个区间进行排序
-C    会检查文件是否已排好序,如果乱序,不输出内容,仅返回1
-M   会以月份来排序,比如JAN小于FEB等等

paste:用于合并文件的列,将两个文件以列对列的方式存储在新文件中
-d    指定分隔符
例如:paste username.txt password.txt >> final.txt 

wc:用来统计行和字符的
-l   统计行数
-w   统计字数
-c   统计字节数

df:查看系统空间的使用情况

ps:用于查询当前运行的进程信息。
ps -ef    查看当前正在运行的进程
ps -ef | grep nginx     查看运行着nginx的进程

top:命令显示各进程的信息,包括内存和cpu占用情况
top     直接top就行


lsof:列出当前系统打开文件
命令的常用参数选项说明
<filename> 显示开启文件<filename>的进程
-c <name> 显示<name>进程现在打开的文件
-c -p PID 列出进程号为PID的进程所打开的文件
lsof -g GID 显示归属GID的进程情况
+d PATH  显示目录下被进程开启的文件
+D PATH  同上,但是会搜索目录下的目录,时间较长
-d NUM 显示使用fd为NUM的进程
-i 用以显示符合条件的进程情况
-i [4/6] [protocol][@hostname|hostaddr][:service|port]
4/6  IPv4 or IPv6
protocol   TCP or UDP
hostname  Internet host name
hostaddr    IP地址
service   /etc/service中的service name (可以不止一个)
port    端口号 (可以不止一个)
1、恢复删除的文件,当你的计算机被黑客攻击之后,黑客离开之前清除了所有的日志,怎么办?
例如文件/var/log/messages
首先使用lsof来查看当前是否有进程打开/var/logmessages文件
# lsof | grep /var/log/messages 
因此我们可以在/proc/1283/fd/2(fd下的每个以数字命名的文件表示进程对应的文件描述符)中查看相应的信息,如下
# head -n 10 /proc/1283/fd/2 
然后我们可以这样恢复
cat /proc/1283/fd/2 > /var/log/messages
2.比如我们服务器被黑客植入了一个挖矿的木马,假设这个木马的进程号是30297我们怎么去找到这个木马的源文件在哪里,可以这样
lsof -p 30297
我们分析这个文件发现了一个恶意域名,为了确定系统中是否还有隐藏木马,我们可以这样查看有哪些进程链接到了这个域名
lsof -i UDP@213162837.yyt.com:1230
或者tcp
lsof -i TCP@213162837.yyt.com:1230 -r


kill:用来终止指定进程运行(假设bd为病毒名,pid=33888)
ps -ef | grep bd
kill 33888    有时候无法杀死,可以使用
kill -9 33888  

netstat:用于显示各种网络信息
netstat -a     列出所有端口
netstat -at    列出所有tcp端口
netstat -au    列出所有udp端口
netstat -l     只显示监听中的端口
netstat -lt    只显示监听中的tcp端口
netstat -lu    只显示监听中的udp端口
netstat -apn | grep 8080   查找8080端口上监听的端口是哪个。


wegt:文件下载工具
wegt url  直接下载
wegt -0 new_name url  下载并重命名
wegt --limit-rate 300k url    下载时限制速度
wegt -b url    后台下载


Traceroute:路由追踪
nslookup:查找域名解析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值