linux

熟记Linux常用命令

文件查看

cat: cat [参数] [文件] (适用快速查看整个文件内容)

-n 显示行数,会在输出的每一行前加上行号
-b 显示行数,但只对非空行进行编号
-s 压缩连续的空行,只显示一个空行
-E 在每一行的末尾显示$符号

cat
less:less [参数] [文件名](适用分页查看大文件)

常用操作
 空格键:向下翻一页
 b:向上翻一页
 j或者向下键:向下滚动一行
 k或者向上键:向上滚动一行
 /:向前搜素指定的字符串
 ?:向后搜素指定的字符串
 q:退出less

more:more [参数] [文件名] (用于分页查看文件内容)

常用操作
 空格键:向下翻页
 enter:向下滚动一行
 q:退出more

head:head [参数] [文件名] (用于查看前几行,默认前10行)

 -n:指定显示的行数。例如,- n 20表示显示前20行。  

tail:tail [参数] [文件名] (用于查看后几行,默认后10行)

 -n:指定显示的行数。例如,-n 20表示显示最后20行
 -f:用于实时查看文件的更新内容,常用于查看日志文件

tail
tac:tac [参数] [文件名]
tac
nl:nl [参数] [文件名] (显示文件内容,并在输出时自动添加行号)
alt text
nl = cat -n
od:od [参数] [文件名]

 -c:以字符形式显示
 -t x1:以十六进制形式显示

alt text
hexdump:hexdump [参数] [文件名] (用于16进制形式查看文件内容,常用于查看二进制文件)

 -c:以十六进制和ASCII形式显示

view: view[参数] [文件名] (功能类似于vim,但默认以只读形式打开文件)

bat:bat [参数] [文件名] (类似于cat,支持语法高亮和分页显示,需要单独安装)
most:most[参数] [文件名] (功能类似于less,支持多文件查看和语法高亮,需要单独安装)

less查看less查看
most查看most查看

centos 7 下载most:
 先下载epel仓库:sudo yum install-release
 更新仓库缓存:sudo yum makecache fast
 再次尝试安装most:sudo yum install most

centos 7 我不会下bat.../(ㄒoㄒ)/~~

字符串过滤

grep:grep [参数] 模式 [文件名](强大的文本搜素工具,用于搜素匹配特定模式的字符串)

 -i:忽略大小写
 -v:反向匹配,显示不匹配的行
 -n:显示匹配行的行号
 -r/-R:递归搜索目录
 -w:匹配整个单词
 -o:只显示匹配的部分,而不是整行
 -E:使用扩展正则表达式,匹配多个模式中的任意一个

grep-R
alt text
awk:awk '{模式{动作}}' 文件

 $1、$2等表示字段,默认以空白字符分隔,如awk '{print $1}' file 输出第一列
 -F:指定分割符,如awk-F ':' '{print $1}' /etc /passwd 以分隔符提取用户名
 /patten/ {print $0} 匹配模式并输出整行,如awk '/success/ {print $0}' log.txt
 使用if语句进行条件判断,如awk '{if($3>1000) print $1}' /etc/passwd

alt text
alt text
匹配模式并输出整行
awk—F
sed :sed [参数] '命令' 文件

 -n:不自动的打印所有行,常与p命令配合使用,如sed -n 's/old/new/p' file只输出被替换的行
 基本命令:
  s/old/new/:替换字符串 
  s/old/new/g:全局替换,如 sed 's/apple/orange/' 文件
  /pattern/d:删除包含模式的行,如 sed 'error/d' log,txt
  1,5d:删除指定行范围,删除第一行到第五行

alt text
cut:cut [参数] 文件

 -c:指定列范围,如cut -c1-5 file 提取第一列和第五列
 -f:指定字段,-d指定分隔符,如cut -f1,3 -d ',' file 以逗号分隔提取第一列和第三列

alt text
tr:tr[选项] 字符集1 字符集2 < 文件
-d:删除字符集1中的字符,如 tr -d 'abc' < file 删除文件中的a、b、c字符
alt text

进程查看

ps(process status)
功能:显示当前系统中活跃的进程信息

ps aux:显示所有进程的详细信息,包括用户、进程id、cpu和内存使用情况
 a:显示所有终端上的进程,包括其他用户的进程
 u:以用户友好的格式显示进程信息。
 x:显示没有控制终端的进程
ps -ef:显示所有进程的详细信息,包括进程id、父进程id、启动时间等
 e:显示环境变量
 f:显示进程的树状结构
ps -o:自定义输出格式,例如ps -o pid,comm只显示进程id和命令名称

alt text
top(system monitor)
功能:实时显示系统中各个进程的资源占用情况,包括cpu、内存

 p键:按CPU使用率排序
 m键:按内存使用率排序
 k键:杀死一个进程,输入进程id后按回车确认
 q键:退出top命令

top
htop(interactive process viewer)
功能:类似于top,但提供了更丰富的交互式界面和更多的功能

 f5键:显示进程树状结构
 f6键:按不同的字段排序
 f9键:杀死一个进程
 f10键:退出htop

alt text
centos 7 一条命令安装htop :sudo yum install htop
pgrep(process grep)
功能:根据进程名或其他属性查找进程id

 pgrep -f pattern:查找包含指定模式的进程,-f选项表示匹配完整的命令行
 pgrep -u username:查找进程id和进程名
 pgrep -l pattern:查找进程id和进程名

alt text

pkill(process kill)
功能:根据进程名或其他属性发送信号给进程,通常用于杀死进程

pkill -f pattern :发送信号给包含指定模式的进程,-f选项表示匹配完整的命令行
pkill -u username:发送信号给指定用户的所有进程
pkill -9 pattern :强制杀死进程,-9 选项表示发送signkill信号

kill(Kill Process)
功能:发送信号给指定的进程,通常用于杀死进程。

kill -9 PID:强制杀死进程ID为PID的进程,-9选项表示发送SIGKILL信号。
kill -15 PID:平滑地杀死进程ID为PID的进程,-15选项表示发送SIGTERM信号。

killall(Kill All Processes)
功能:根据进程名杀死所有匹配的进程。

killall -9 process_name:强制杀死所有名为process_name的进程。
killall -15 process_name:平滑地杀死所有名为process_name的进程。

nice(Set Process Priority)
功能:设置进程的优先级。

nice -n priority command:以指定的优先级启动命令,priority的范围通常是-20到19,数值越小优先级越高。

renice(Change Process Priority)
功能:更改正在运行的进程的优先级。

renice -n priority -p PID:将进程ID为PID的进程的优先级设置为priority。

jobs(Job Control)
功能:显示当前shell会话中的后台作业。

jobs -l:显示作业的详细信息,包括进程ID。
jobs -p:只显示作业的进程ID。

bg(Background)
功能:将作业放到后台运行。

bg %job_number:将指定的作业放到后台运行。

fg(Foreground)
功能:将作业放到前台运行。

fg %job_number:将指定的作业放到前台运行。

nohup(No Hang Up)
功能:使进程在用户注销后继续运行。

nohup command &:在后台运行命令,并将输出重定向到nohup.out文件。

disown(Disown Jobs)
功能:从当前shell会话中移除作业,使其不再受shell控制。

 disown %job_number:移除指定的作业。