linux常见命令快查-持续更新

本文介绍了Linux系统管理中的关键操作,包括通过lsof命令查看占用端口的进程,使用ps命令检查进程状态,获取CPU核心数,按CPU占用排序进程,以及检查端口是否被占用。此外,还涵盖了文件操作如压缩解压,vim编辑器的查找替换功能,创建软链接,以及按时间排序查看文件。文章进一步讨论了用户与组管理,特别是用户间目录访问,以及文本处理技巧,如搜索特定结尾的文档和文件内包含的字符串。最后,详述了磁盘空间的查看和清理方法,包括查看各目录的磁盘使用情况并进行清理。

一. 网络

1.通过端口查看进程

lsof 是“list open files”的缩写,在linux系统中,一切可是为文件,网络连接也可视为文件,因此,我们可以通过lsof命令查看占用某个端口号的进程。
查看被打开的与网络相关的文件


-i 选项用来查看被打开的和网络相关的文件,其参数的格式如下:
[46][protocol][@hostname|hostaddr][:service|port]
46 表示 IP 协议的版本
protocol 表示网络协议的名称,比如 TCP 或 UDP  
hostname 或 hostaddr 表示主机地址
service 指 /etc/services 中的名称,比如 smtp 或多个服务的列表
port 表示端口号,可以指定一个或多个

-i 选项默认会同时输出 IPv4 和 IPv6 打开的文件:

-i<条件>:列出符合条件的进程(协议、:端口、 @ip )

可以使用:

 lsof -i:$port
 lsof -i|grep $port

在这里插入图片描述

2. 通过进程名查看进程状态

ps命令是Process Status的缩写,用来列出系统中当前运行的进程。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。ps命令所列出的进行是当前进程的快照,也就是并不是动态的,而是执行该命令时那一时刻进行的状态。

常用参数

ps -a  显示所有终端下执行的进程,包含其他用户的进程
ps -e  显示所有进程
ps -H  显示树状结构,表示程序间的相互关系
ps -f  全格式显示进程

可以这样使用来查看进程的状态

ps -ef|grep processname

ing参考
https://blog.youkuaiyun.com/qq_45689245/article/details/127423917

3. 查看cpu核心数

nproc
64

cat /proc/cpuinfo | grep "processor" | wc -l
64

4. CPU占用进行排序

 ps aux|sort -nr -k3 |head -n 5
root     1747854  0.9  0.4 17814208 642368 ?     Sl   8月27  58:18 /opt/starrocks/output/be/lib/starrocks_be
taiyi    1821522  0.1  0.8 16769984 1062464 ?    Sl   8月28   4:59 java -Xmx512M -XX:+UseG1GC -Xloggc:/home/taiyi/linkis/qnote/linkis/linkis-publicservice/logs/linkis-gc.log -cp /home/taiyi/linkis/qnote/linkis/linkis-publicservice/conf:/home/taiyi/linkis/qnote/linkis/linkis-publicservice/lib/* com.webank.wedatasphere.linkis.DataWorkCloudApplication

-n:默认使用字符串排序,n代表使用数值进行排序
-r:反向排序
-k3: 以第3列进行排序

 

5. 查看端口是否被占用

netstat -tln
#“t”表示TCP协议,“l”表示监听状态,“n”表示端口号使用数字表示。

# 查看80端口是否开放
netstat -tln | grep 80

二. 文件操作

1. 压缩解压

 
压缩
tar -czvf 压缩文件名.tar.gz 被压缩文件夹
 
解压
tar -zvxf 压缩文件名.tar.gz -C 目标文件夹

-c 压缩
-x 解压
-z 支持gzip解压文件
-v 显示操作过程
-f 使用档名,请留意,在f之后要立即接档名!不要再加参数!

 

2. vim 基本查找和替换

在Vim中,可以使用:s命令来查找和替换文本,如下语法

:[range]s/{pattern}/{string}/[flags] [count]
  • [range]代表搜索的范围,其中搜索{pattern},并将其替换为{string}。
  • 如果未给出[range]和[count],则仅替换当前行中找到的pattern。当前行是光标所在的行。

常用的命令:

:s/foo/bar/ #仅替换光标所在行的第一个匹配项
:s/foo/bar/g #替换光标所在行的所有匹配项
:%s/foo/bar/g #替换所有行

 

指定搜索范围:
将从第3行到第10行的所有行中所有出现的 foo替换为 bar,你可以使用:

:3,10s/foo/bar/g

 
{pattern}的正则语法:

将所有以 foo开头的行替换为 Vim is the best:

:%s/^foo.*/Vim is the best/gc

%s:所有行
^foo.*: ^(脱字符)符号与行的开头匹配
c:每次替换时都要进行确认

 

3. 软链接创建

语法

ln  -s  [源文件或目录]  [目标文件或目录]

为 test 创建软链

ln –s  /var/www/test  test

注意:

删除和删除普通的文件是一样的,删除都是使用rm来进行操作。

 

4. 按照时间顺序查看文件排序

时间升序
命令:ls -lrt
详细解释:

-l     use a long listing format  以长列表方式显示(详细信息方式)
-t     sort by modification time 按修改时间排序(最新的在最前面)
-r     reverse order while sorting (反序)


时间降序
命令:ls -lt
详细解释:

-l     use a long listing format  以长列表方式显示(详细信息方式)
-t     sort by modification time 按修改时间排序(最新的在最前面)

三. 用户与组

1. 用户A访问用户B的目录

将A加入到B的组当中,为了A能访问B的资源,还需要将test1的目录访问权限分配到组中。

usermod -G B A
chmod -R 774 /home/B/

 

四. 文本处理

1. 搜索文档匹配结尾

ll |grep -E ".*master.jar$" 

2. 搜索文件夹下的文件是否包含某字符串

grep -C3 aimString -r /dir

-C3:展示此字符所在行的附近3

 

五. 磁盘管理

1.查看空间

1.1. 查看某个目录所在磁盘分区

 df -h /tmp/
文件系统        容量  已用  可用 已用% 挂载点
tmpfs            64G  302M   63G    1% /tmp

 

2. 查看空间使用

2.1. 查看当前目录磁盘空间使用情况

 du -h ./
 
40K     ./chunjun-master-dev/bin
56K     ./chunjun-master-dev/flink-1.16.1/conf
5.3M    ./chunjun-master-dev/flink-1.16.1/examples/streaming
...
455M    ./linkis
3.0G    .

2.2. 只展示当前目录的二级子目录使用情况

du -h --max-depth=1 ./
944M    ./chunjun-master-dev
5.2M    ./hadoop_repo
455M    ./linkis
3.0G    ./

2.3. 当前目录下空间使用排序

du -s * | sort -nr
 
965996  chunjun-master-dev
870732  chunjun-master-dev.tar.gz
465052  qnote
454672  qnote.tar.gz
316020  hadoop.tar.gz
5268    hadoop_repo
0       hadoop

 

3. 磁盘清理

  1. 查看机器各挂载点,找出使用率最高的几个挂载点
 df -h
Filesystem                       Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol03   50G   32G   19G  63% /
devtmpfs                          95G     0   95G   0% /dev
...
  1. 选择磁盘最高挂载点,查看各目录磁盘消耗,分析清理
sudo du -h --max-depth=1 /  | sort -h
1.2G    /data00
1.4G    /run
5.5G    /home
6.0G    /usr
11G     /data01
25G     /

进到此目录下/data01,发现是安装的linkis会每天产生执行文件导致磁盘占用高。

 sudo du -h --max-depth=1 /data01/linkis | sort -h

在这里插入图片描述

注:可以逐层查看每层各目录磁盘消耗情况,进行针对性的删除。

 

文件传输

# 从本地将文件传输到服务器
scp /path/to/local/file user@server-ip:/path/to/destination/directory

# 从本地将文件夹传输到服务器
scp -r /path/to/local/folder user@server-ip:/path/to/destination/directory

# 将服务器上的文件传输到本地
scp user@server-ip:/path/to/source/file /path/to/local/directory

# 将服务器上的文件夹传输到本地
scp -r user@server-ip:/path/to/source/folder /path/to/local/directory
<think>好的,我现在需要解释Linux命令--daemon参数的含义。首先,我记得daemon这个词在计算机术语中是指“守护进程”,也就是在后台运行的服务进程。那么,--daemon选项很可能和启动守护进程有关。 接下来,我要确认这个参数的具体作用。通常在Linux中,许多服务程序(比如web服务器、数据库)需要以守护进程的形式运行,这样它们不会占用终端,并且在用户退出后仍然继续运行。例如,像httpd或者nginx这样的服务启动时可能需要使用--daemon选项来让它们在后台运行。 然后,我需要考虑用户可能遇到的常见情况。比如,用户执行某个命令时,如果希望程序在后台持续运行,而不是阻塞当前终端,这时候就需要使用--daemon选项。例如,redis-server启动时默认可能以守护进程运行,但有些情况下需要显式指定这个参数。 另外,要注意区分其他类似的参数,比如&-符号用于将命令放到后台执行,但和--daemon的不同之处在于,后者是程序自身设计支持的后台模式,可能涉及更完善的处理,如日志管理、进程隔离等。 还要提醒用户,不同程序可能有不同的参数名称,比如有些用-d或者--daemonize,但--daemon是比较常见的一种。需要看具体命令的帮助文档(如man page或--help)来确认正确的用法。 最后,总结--daemon的作用是让程序作为守护进程运行,脱离终端,持续在后台执行,并通常用于服务类程序。同时,给出一个示例命令,如nginx -g 'daemon on;'或者某个具体应用使用--daemon的例子,这样用户能更直观地理解。</think>在Linux命令中,`--daemon`参数表示以**守护进程(daemon)**模式运行程序。守护进程是在操作系统后台持续运行的服务进程,不依赖于终端交互,常用于服务器类软件。 ### 核心特性: 1. **脱离终端控制** - 程序不再占用当前Shell终端 - 关闭终端不会影响进程运行(对比`&`符号的后台运行方式) 2. **自动后台化** - 自动与父进程解耦 - 自动创建新的会话(session) 3. **长期服务** - 常用于Web服务器、数据库等需要持续运行的服务 - 例如:`nginx --daemon` 启动Web服务器 ### 典型使用场景: ```bash # MySQL服务启动示例 mysqld --daemon # Redis服务器后台启动 redis-server --daemonize yes ``` ### 与其他后台运行方式的区别: | 方式 | 特点 | 示例 | |---------------|-----------------------------|---------------------| | `--daemon` | 程序自身实现的标准后台化 | `nginx -g 'daemon on;'` | | `&`符号 | Shell层面的后台运行 | `python app.py &` | | `nohup` | 忽略挂断信号,输出重定向到文件 | `nohup ./start.sh &`| ### 注意事项: 1. 不是所有程序都支持该参数,具体需看帮助文档: ```bash your_command --help # 或 man your_command ``` 2. 守护进程的日志通常输出到: - 系统日志文件(`/var/log/`目录) - 专用日志文件(如`/var/log/nginx/error.log`) 3. 管理方式: ```bash # 看守护进程 ps aux | grep process_name # 停止服务 sudo systemctl stop service_name ``` 常见支持该参数的程序包括:Nginx、Redis、PostgreSQL等服务器软件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

roman_日积跬步-终至千里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值