Linux常用命令🔥
Jack Zheng 2023/9/26 Linuxbashshell
查看CPU信息
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
cat /proc/cpuinfo | grep "physical id" | sort | uniq|wc -l
cat /proc/cpuinfo | grep "cores"|uniq
cat /proc/cpuinfo | grep "processor" |wc -l
1
2
3
4
5
6
7
2
3
4
5
6
7
修改 linux 时间
date -s 完整日期时间(YYYY-MM-DD hh:mm[:ss])
date -s '2029-02-06 00:00:00'
hwclock -w
1
2
3
4
5
2
3
4
5
查看端口
netstat -nao | findstr 2375
lsof -i:8080
1
2
3
2
3
设置代理访问
export http_proxy=http://xx.xx.xx.xx:8888
export https_proxy=https://xx.xx.xx.xx:8888
1
2
3
2
3
nginx 命令
start nginx
nginx -s stop / reload
1
2
3
2
3
查看操作系统命令
cat /etc/centos-release
1
找出存在大量的小文件的目录
find */ ! -type l | cut -d / -f 1 | uniq -c
1
awk处理数据
ps -ef | grep java | awk '{print $1,$2,$5,$18,$19,$20}'
1
创建软链接
ln -s /usr/local/node-v15.14.0-linux-x64/bin/node /usr/bin
1
后台执行
nohup 命令行 > /dev/null 2>&1 &
例:nohup python manage.py runserver 0.0.0.0:8000 > /dev/null 2>&1 &
1
2
3
2
3
Shell脚本示例
#!/bin/bash
# 激活环境
echo "=> 激活虚拟环境"
source ~/projects/.venv/bin/activate
# 设置变量
HANDLE_TYPE=oa
MIN_LENGTH=1
METADATA_FILE=./metadata_$HANDLE_TYPE.json
NUM_DEVICES=4
NUM_WORKERS=5
INPUT_DIR=./pdfs/$HANDLE_TYPE
OUTPUT_DIR=./outputs/$HANDLE_TYPE
PROCESSED_DIR=./processed/$HANDLE_TYPE
# 检查并创建输出目录和已处理目录,如果不存在
mkdir -p "$OUTPUT_DIR"
mkdir -p "$PROCESSED_DIR"
# 匹配并移动已处理的PDF文件
echo "=> 移动已处理的文件"
for pdf in "$INPUT_DIR"/*.pdf; do
pdf_baseName=$(basename "$pdf" .pdf)
if [ -d "$OUTPUT_DIR/$pdf_baseName" ]; then
echo "移动已处理的PDF文件: $pdf"
mv "$pdf" "$PROCESSED_DIR/"
fi
done
# 记录开始时间
start_time=$(date +%s)
# 检查INPUT_DIR中是否存在PDF文件
if find "$INPUT_DIR" -maxdepth 1 -type f -name '*.pdf' | grep -q .; then
# 执行命令,处理剩余的PDF文件
# METADATA_FILE 是一个可选的参数,用于指定一个包含PDF文件元数据的json文件的路径。有关文件格式的说明,请参见上文。
# NUM_DEVICES 是要使用的GPU数量。应该是2或更多。
# NUM_WORKERS 是在每个GPU上运行的并行进程数量。每个GPU的并行处理数量不会超过 INFERENCE_RAM / VRAM_PER_TASK。
# MIN_LENGTH 是一个参数,用于指定从PDF中提取的最少字符数,以便将其纳入处理流程。如果您要处理大量的PDF文件,建议设置这个参数以避免对大部分是图片的PDF文件进行OCR处理(这会减慢处理速度)
echo "=> 开始处理文件"
echo "### 批量处理文件"
MIN_LENGTH=$MIN_LENGTH METADATA_FILE=$METADATA_FILE NUM_DEVICES=$NUM_DEVICES NUM_WORKERS=$NUM_WORKERS marker_chunk_convert $INPUT_DIR $OUTPUT_DIR
echo "### 批量处理完成"
else
# 如果不存在PDF文件,输出消息
echo -e "\n### No PDF files found in $INPUT_DIR.\n"
fi
# 记录结束时间
end_time=$(date +%s)
# 计算并打印执行时间
execution_time=$((end_time - start_time))
echo "=> 脚本执行时间: $execution_time 秒"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54