linux
3681字约12分钟
2024-08-11
Linux
tail 查看文件内容
倒数 300
行并进入实时监听文件写入模式
tail -300f FileName
匹配文件内容,[-A<显示行数>][-C<显示列数>]
tail -f FileName | grep -C5 "字符串"
mv 移动文件或重命名
文件重命名
mv FileName NewFileName
移动 FileName
到 /usr/local
目录下
mv FileName /usr/local
cp 文件、目录拷贝
复制一个文件到当前工作目录并命名
cp FileName CopyFileName
复制 FileName
到 /usr/local
目录下
cp FileName /usr/local
复制 usr
目录下的所有文档到当前工作目录
cp /usr/* .
find 文件查找
查找当前目录下的 txt
和 pdf
文件
find . ( -name "*.txt" -o -name "*.pdf" ) -print
删除当前目录下所有的 txt
文件
find . -type f -name "*.txt" -delete
grep 文本搜索、统计
FileName
文件中匹配 targetStr
字符串
grep -C5 "targetStr" FileName
统计 filename
文件中 targetStr
字符串出现的次数
grep -o "targetStr" filename | wc -l
cat 连接文件并打印
从第一个字节开始正向查看文件的内容,适合查看内容少的文件
cat FileName
匹配文件内容,[-A<显示行数>][-C<显示列数>]
cat FileName | grep -C5 "字符串"
ps 进程查看
查看正在运行的java进程
ps aux | grep java
kill 终止进程
强制终止进程
kill -9 PID
通知对应进程要"安全、干净的退出"
kill -15 PID
tar 打包和压缩
-z
:代表gzip
,使用gzip
工具进行压缩或解压-x
:代表extract
,解压文件(压缩文件是-c)-v
:代表verbose
,显示解压过程(文件列表)-f
:代表file
,指定要解压的文件名(or
要压缩成的文件名)
创建一个 gzip
格式的压缩包,DireName
表示要打包的文件夹名
tar cvfz FileName.tar.gz DireName
解压一个 gzip
格式的压缩包
tar -zxvf FileName.tar.gz
zip 打包和压缩
创建一个 zip
格式的压缩包
zip ZipName.zip FileName
将几个文件和目录压缩成一个 zip
格式的压缩包
zip -r ZipName.zip FileName1 FileName2 DirName
解压一个 zip
格式压缩包
unzip ZipName.zip
date 系统日期
显示系统时间
date
显示 2022 年的日历表
cal 2022
rm 删除文件、目录
-f
:强制删除-r
:递归删除目录下所有文件
删除 FileName
这个文件
rm -f FileName
删除 DirName
这个目录
rm -rf DirName
同时删除 DriName1
、DriName2
这两个目录
rm -rf DriName1 DriName2
chmod 文件权限
chmod
(change modify
):改变文件权限,SUID
、SGID
、SBIT
等特性
修改文件权限为可读、可写、可查看(rwx -> 4+2+1=7
,权限分为拥有者权限、所属群组权限、其他人权限,所以对应为 777)
chmod 777 FileName
top 持续监听进程运行状态
top
查看指定进程
top -p PID
top
命令是动态查看进程变化,监控 linux
的系统状况;它是常用的性能分析工具,能够实时显示系统资源各个进程占用状况,类似 windows
的任务管理器
# 操作系统时间、登录用户、负载情况
top - 23:35:46 up 4 days, 10:47, 1 user, load average: 0.00, 0.00, 0.00
# 当前系统时间 开机后运行时长 当前一个用户在线 系统平均负载 1 5 15 分钟
# 运行任务概况
Tasks: 103 total, 2 running, 101 sleeping, 0 stopped, 0 zombie
# 系统当前进程数 运行的进程数 睡眠中的进程数
# CPU 概览,%Cpu(s) 表示 CPU 使用百分比,按照时间占用计算,单位 s
%Cpu(s): 0.0 us, 0.2 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
# 用户空间 内核空间 空闲时间 等待输入输出 硬中断占用 软中断占用
# 用户空间改变优先级的进程占用
# 内存概览(KB)
MiB Mem : 3736.7 total, 1905.5 free, 292.1 used, 1539.1 buff/cache
# 内存总量 内存剩余总量 内存使用总量 用户缓冲的内存数量
# 缓存区概况
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 3195.3 avail Mem
# 交换区总量 空闲交换区数量 使用交换区数量
# PID:进程ID
# USER:进程所属用户
# %CPU:自上一次top刷新该进程的spu占用时间百分比
# %MEM:进程消耗内存百分比
# TIME+:自进程开始一来,消耗CPU时间,单位 1/100s
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1301 root 20 0 22852 7288 5212 S 0.3 0.2 7:33.95 tat_agent
1987 root 20 0 512160 16676 4288 S 0.3 0.4 18:57.94 barad_agent
1240438 root 20 0 69420 5036 4216 R 0.3 0.1 0:00.01 top
1 root 20 0 185044 11728 8880 S 0.0 0.3 0:20.45 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.08 kthreadd
3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
top
命令进入视图后,再 f
键查看全称信息,再按 q
退回到 top
视图
Fields Management for window 1:Def, whose current sort field is %CPU
Navigate with Up/Dn, Right selects for move then <Enter> or Left commits,
'd' or <Space> toggles display, 's' sets sort. Use 'q' or <Esc> to end!
* PID = Process Id NU = Last Used NUMA node
* USER = Effective User Name
* PR = Priority
* NI = Nice Value
* VIRT = Virtual Image (KiB)
* RES = Resident Size (KiB)
* SHR = Shared Memory (KiB)
* S = Process Status
* %CPU = CPU Usage
* %MEM = Memory Usage (RES)
* TIME+ = CPU Time, hundredths
* COMMAND = Command Name/Line
PPID = Parent Process pid
UID = Effective User Id
RUID = Real User Id
RUSER = Real User Name
SUID = Saved User Id
SUSER = Saved User Name
GID = Group Id
GROUP = Group Name
PGRP = Process Group Id
TTY = Controlling Tty
TPGID = Tty Process Grp Id
SID = Session Id
nTH = Number of Threads
P = Last Used Cpu (SMP)
TIME = CPU Time
SWAP = Swapped Size (KiB)
CODE = Code Size (KiB)
DATA = Data+Stack (KiB)
nMaj = Major Page Faults
nMin = Minor Page Faults
nDRT = Dirty Pages Count
WCHAN = Sleeping in Function
Flags = Task Flags <sched.h>
CGROUPS = Control Groups
SUPGIDS = Supp Groups IDs
SUPGRPS = Supp Groups Names
TGID = Thread Group Id
OOMa = OOMEM Adjustment
OOMs = OOMEM Score current
ENVIRON = Environment vars
vMj = Major Faults delta
vMn = Minor Faults delta
USED = Res+Swap Size (KiB)
nsIPC = IPC namespace Inode
nsMNT = MNT namespace Inode
nsNET = NET namespace Inode
nsPID = PID namespace Inode
nsUSER = USER namespace Inode
nsUTS = UTS namespace Inode
LXC = LXC container name
RSan = RES Anonymous (KiB)
RSfd = RES File-based (KiB)
RSlk = RES Locked (KiB)
RSsh = RES Shared (KiB)
CGNAME = Control Group name