linux服务器常用命令

本文基于使用经验&主要参考 菜鸟-Linux 命令大全
生成密码 openssl rand -base64 1

  • jupyter import 不到虚拟环境的库
pip install ipykernel
python -m ipykernel install --user --name=py39

1. 通用管理指令

  1. 指定某一张卡CUDA_VISIBLE_DEVICES="1" python xxx
  2. 指定单线程 cpu core/processor/cpu_num区别
  3. 查看显卡占用情况nvidia-smi
  4. 实时查看watch -n 0.1 nvidia-smi
  5. 查看某一个进程的使用者ps -p PID -o user
  6. 强制kill掉某一个进程kill-9 PID
  7. 检查服务器的内存占用情况df -h
  8. 查看文件夹大小du -h --max-depth=1 (默认是当前所有目录)
  9. 查看指定文件夹大小du -h --max-depth=1 dst_dir
  10. 检查两个文件或者文件夹是否一致diff a b
  11. 输出打印到日志中python train.py aa | tee output.txt
  12. 生成当前环境的依赖pip freeze > requirements.txt
  13. 根据配置文件安装pip install -r requirements.txt
  14. 查看文件夹下子文件的个数ls -l | grep -c "^-"
  15. 文件数目过多,ls
  16. 查看文件夹下(包含子文件的文件个数)ls file_dir | wc -l
  17. 批量删除文件(参数列表过长)
先写到一个list中
cat 01.list | xargs -i rm {}  ---xargs管道明令

linux终端修改配色

vim ~/.bashrc
在文件最后对PS1进行修改(自动覆盖之前的命令)

PS1='\[\033[00;32m\]\u@\h\[\033[0m\]:\[\033[00;33m\]\w\[\033[01;36m\]$(__git_ps1 "[%s]")\[\033[01;33m\]\$\[\033[00m\] '
export GIT_PS1_SHOWDIRTYSTATE=true GIT_PS1_SHOWSTASHSTATE=true
# fake __git_ps1 when git-prompts.sh not installed
if [ "$(type -t __git_ps1)" == "" ]; then
  function __git_ps1() { :; }
fi

2. vim文件

vim配色设置

  • vim配色方式预览官网,选择自己喜欢的配色,下载配色文件,选择自己喜欢的color.vim,放在~/.vim/colors/ 下边,如果没有创建此文件夹
  • 在~/.vimrc 中修改配置,
  • 或者直接替换自己舒服的vim文件配置
  • 一组用的舒服的vim配置
set nu
set autoindent
set tabstop=4
set shiftwidth=4
set expandtab
set softtabstop=4
if has("autocmd")
  au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
endif
"set cursorline

syntax enable
"set background=dark
"let g:solarized_termtrans = 1
"set t_Co=256
"colorscheme solarized

"set list
"set listchars=tab:▸-,eol:↩︎,trail:-
set encoding=utf-8
set bg=dark
set hlsearch
  1. tab键自动空格
vi ~/.vimrn
set tabstop=4        设定tab宽度为4个字符
set shiftwidth=4     设定自动缩进为4个字符
set expandtab        用space替代tab的输入

字符编码

修改 /
set encoding=utf-8
set fileencodings=gb18030, cp936
  1. 查看文件编码格式 file xx.txt
  2. 在文件中查看文件编码格式:set fenc
    其中fenc是fileencoding的缩写,也可以直接写set fenc=utf-8,修改编码格式,但是这样直接改有时候格式改了,但是显示并没有起到作用
  3. 有时候中文乱码,需要修改文件编码格式
iconv -f 'gbk' -t 'utf-8'  src.txt>tar.txt

utf-8中文文本codec报错的问题

  1. 首先:Ubuntu 镜像使用帮助
    Ubuntu 的软件源配置文件是 /etc/apt/sources.list。将系统自带的该文件做个备份,将该文件替换为内容,
  2. vim ~/.bashrc
export http_proxy=http://bjrz-squid4.lf:11080 && export https_proxy=http://bjrz-squid4.lf:11080  ##代理设置
export LANG=zh_CN.utf8  #添加设置
  1. ubuntu服务器中设置locale为中文仍然无效的解决方法
apt-get install language-pack-zh-hans

基础命令

^\s\+print --以空格+print开头的字符
  1. 暂时显示行号:set nu
  2. 到最后一行:$, 到第某行:n
  3. 查找某一个词/word,检索到按n跳到下一个
    如果想反向检索,shift+n
    或者?word查找,n向前方索引上一个
  4. 永久显示行号
  5. 取消显示行号:set nonu
  6. 查看当前文件名:f
  7. 查看文件绝对路径:!pwd
  8. 同时显示多个文件:sp
  9. 同时打开其他文件vsp xx
  10. 多列删除
  11. 重定向 command >log 2>&1
第一步:按下组合键“CTRL+v” 进入“可视 块”模式,选取这一列操作多少行

第二步:按下d 即可删除被选中的整块
  1. 块插入
第一步:按下组合键“CTRL+v” 进入“可视 块”模式,选取这一列操作多少行

第二步:按下shift+i(或者大写的字母"i")

第三步:输入要插入的内容

第四步:按ESC,之后就会看到插入的效果。
  1. vim看文字乱码,需要配置一下文件
编辑~/.vimrc文件,加上如下几行:

   set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
   set termencoding=utf-8
   set encoding=utf-8

txt文件处理

  1. 文件内容批量修改
:set hlsearch   #对搜索内容高亮现实
:%s/str//g   删除文件中所有的str字符
:%s/str/g   替换文件中所有的str字符为g
#如果遇到no pattern的情况,可能是:比如删除`sil]`,其中‘]'是有意义的字符,要转译一下,`:%s/sil\]//g`

## 删除特征字符所在的行
:g/str/d

打乱文本行
shuf input_file.txt -o  output_file.txt

#替换文件中的指定字符
`:%s/vivian/sky/`(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky
`:%s/vivian/sky/g`(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky

# 字符串正则匹配
/{"id":\d\+,"text":"     \d\+是匹配整数,正常使用是\d+,这里对+也要进行转译
:%s#{"id":\d\+,"text":"##g    批量删除 {"id":123,"text":"的字符串

```python
:%s#\([A-Z]\)#\1 #g 将所有大写字符后面加空格,\1是()中字符的代指
%s#\([A-Z]\)\(\d\)#\1-\2#g. 
-----#\([a-z]\)\(\d\) 括号括起来才能算变量,后边 \1 \2引用第一个/第二个变量

#字符串匹配到之后再复制回去
:%s#\d+|#&str# ------匹配到 (‘数字’+‘|‘)的组合,然后替换成 (‘数字’+‘|’+'str")


`:` 表示后面输入的是vim命令参数
`g` 表示范围是全局
`str` 是匹配上的字符串
`d` delete 表示删除
14. 行删除


:%norm jkdd   删除奇数行
:%norm jdd    删除偶数行
:n,m d          删除n-m 行

两个文件复制到新的文件,每行对应 paste en16 en24 > tmp,然后替换其中\t为想要的字符

  • 查看文件行数 wc -l xx.txt
  • 插入换行符
%s#\n#s#g 替换换行符为s%s#s#\r#g 替换s为换行符

批量操作

  • 批量插入
(1)ctrl+v, 进入列处理模式
(2)shift+g,到最后一行,然后箭头挪到需要处理的列
(3)shift+i, 插入想要的字符
(4)esc,回车,结束操作
  • 取消多行注释:
(1)进入命令行模式,按ctrl + v进入 visual block模式(可视快模式),按小写字母L横向选中列的个数,例如 // 需要选中2列
(2)按字母j,或者k选中注释符号
(3)按d键就可全部取消注释

vim文件内复制

  1. 复制一行:在要复制的行 yy,然后在同一编译器下p,即可复制一行
  2. 复制多行:strl+v进入快操作,选中要复制的多行多列,按y 复制。 此时vim 会自动将光标定位到选中文本的开始的地方,并退出可视模式。移动光标到文本结束的地方,按 p 粘贴。

ctags(vim定义跳转)

  1. 安装apt-get install ctags
  2. 对文件下所有ctags支持的语言格式文件生成tagsctags -R *
  3. 鼠标放到函数名的地方 g+],然后根据弹出提示选择跳转数字
  • 跳转到函数定义的地方 ctrl+]
  • 回到跳转之前的位置ctrl+t
  1. 鼠标放到函数名的地方strl+w, ],新开一个窗口同时查看

安装下载

1.地址 ctags 5.8
2. 解压后

cd ctags-5.8
./configure
make
  1. 检查是否安装成功

运行

  1. 在当前目录生成递归,会有一个tags文件生成
ctags -R *
  1. 跳转到定义函数: ctrl + ] (没有其他同时操作的按键)
  2. 返回原处 ctrl + t

3. txt 编辑处理

  • sort 排序
  1. 按照某一列降序排列sort -r -t "|" -k 3 -n training/train_ppgs353_bn_lpc.txt > tmp2
    -r 顺序
    -k 列数
    “|”划分符号

示例

原始文本
[ericshenMacPro@root duweixin]$ cat facebook.txt
banana:30:5.5
apple:10:2.5
pear:90:2.3
orange:20:3.4
想要实现按照第二列数字(:分隔,1开始计数)排列
[ericshenMacPro@root duweixin]$ sort -n -k 2 -t : facebook.txt >>tar.txt
apple:10:2.5
orange:20:3.4
banana:30:5.5
pear:90:2.3

参考sort排序示例介绍

  • 一般sort
  1. 拼接文件 cat 1.txt 2.txt > all.txt
    注意输入和输出文件必须不同
  • 将文件指定行复制到另外一个文件
sed -n '10,100p' src.txt >>tar.txt  src.txt的10-100行cp到tar.txt中

head/tail

  1. 默认查看前10/后10行内容
head file
tail file
  1. 指定查看行范围的内容
head -n 20 file   #查看前20行的内容
tail -n 20 file      # 查看后20行内容
tail +20 file       #查看20行以后的所有内容
  1. 按照字符查看内容
head -c 20 runoob.log   # 查看文件前20个字符
tail -c 10 notes.log     # 查看文件最后10个字符

4. htop

  1. 查看CPU内存占用htop
    在这里插入图片描述

  2. 查看进程PID ps -ef | grep python,是python命令的进程
    在这里插入图片描述

  3. 根据PID kill掉进程kill -9 PID
    比如上述,可以用kill -9 15975

  4. 杀掉某个用户的所有进程
    可以通过top的方式查看username

pkill -u username
  1. kill

5. grep 命令

grep用于查找文件中包含指定字符串

  1. 查找xx_name文件中包含字符串‘numpy’的行grep numpy xx_name(查找范围在当前目录下)
    其中xx_name可以简写,比如查找所有的.py文件grep numpy *.py,或者以某种字符开始或者结束的文件,以此类推
  2. 查找时不区分大小写
grep –i "被查找的字符串" 文件名
  1. 如果想要遍历某个路径查找
grep -r  "被查找的字符串" 路径地址
e.g. grep -r numpy /home/usr_name

find命令

用于查找指定路径下文件名包含指定字符串的文件

  1. 找到/home/usr_name下扩展名是’.c’的文件
find /home/usr_name -name "*.c
  1. 将目前目录其其下子目录中所有一般文件列出
 find . -type f
  1. 将目前目录及其子目录下所有最近 20 天内更新过的文件列出
 find . -ctime -20
  1. 查找所有“in"扩展名的文件,并且包含“thermcontact”字符
find . -name “*.in| xargs grep “thermcontact”

7. diff 命令

diff用于逐行比较文件中的不同,并打印输出

  1. 常用比较方法 diff file_a file_b
    比较的结果会间隔打印出来

  2. 想要将比较的结果并排显示

diff file_a file_b  -y -W 50 -y或--side-by-side  以并列的方式显示文件的异同之处。
 -W<宽度>或--width<宽度>  在使用-y参数时,指定栏宽。
 -W 50 指并排显示的字符长度,可以自行按需变大or缩小

在这里插入图片描述

  • "|"表示前后2个文件内容有不同
  • "<"表示后面文件比前面文件少了1行内容
  • ">"表示后面文件比前面文件多了1行内容

8. 文件压缩&解压

解压

  1. tar.gz格式和 tar zxvf FileName.tar.gz
  2. .tar.bz2 格式 tar -jxvf xx.tar.bz2
  3. zip格式 unzip xx.zip
    unzip 无法解压缩时,jar xvf xx.zip
  4. .tar 格式 tar -xf xx.tar
  5. *.gz 用 gzip -d解压
  6. .tar.gz和.tgz 用 tar –xzf 解压
  7. *.bz2 用 bzip2 -d或者用bunzip2 解压
  8. *.Z 用 uncompress 解压
  9. *.tar.Z 用tar –xZf 解压
  10. *.rar 用 unrar e解压
  11. linux是不能够解压rar文件的,一般要转换成其他形式才可以

压缩

  1. tar.gz 格式 tar zcvf FileName.tar.gz DirName
  2. zip格式 zip FileName.zip DirName

linux 压缩和解压缩命令gz、tar、zip、bz2
csdn博客
百度经验贴

9. chmod更改文件权限

Linux/Unix 的文件调用权限分为三级 : 文件拥有者、群组、其他。利用 chmod 可以藉以控制文件如何被他人所调用。

  1. 改变文件的权限 chmod a=rwx file
    r/w/x 分别表示User、Group、及Other的权限。
    -代表无权限,r代表读权限,w代表写权限,x代表执行权限。
-rw------- (600)      只有拥有者有读写权限。
-rw-r--r-- (644)      只有拥有者有读写权限;而属组用户和其他用户只有读权限。
-rwx------ (700)     只有拥有者有读、写、执行权限。
-rwxr-xr-x (755)    拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx--x--x (711)    拥有者有读、写、执行权限;而属组用户和其他用户只有执行权限。
-rw-rw-rw- (666)   所有用户都有文件读、写权限。
-rwxrwxrwx (777)  所有用户都有读、写、执行权限。

10. tmux使用详解

https://www.cnblogs.com/wangqiguo/p/8905081.html
安装

apt-get install tmux
或者
sudo yum install tmux

tmux新开一个窗口tmux new -s new_name
ctrl+b,d退出当前窗口,但不关闭
tmux kill-session -t name关闭名字为name的tmux窗口
tmux ls 终端环境查看会话列表
tmux a -t session1 从终端环境进入会话

debug:

can't create socket
解决:sudo chmod 777 /tmp

tmux分屏

 划分上下两个窗格
$ tmux split-window

 划分左右两个窗格
$ tmux split-window -h

pane 切换(快捷键控制)
ctrl+b, 方向键
 pane切换 (命令控制)
 光标切换到上/下/左/右方窗格
$ tmux select-pane -U/-D/ -L/-R

 关闭分屏
tmux kill-pane

后台挂起

python xx.py &>tmp.log &

打印日志到文件
python xx.py | tee output.log

ubuntu常见错误–Could not get lock /var/lib/dpkg/lock解决

通过终端安装程序sudo apt-get install xxx时出错:

E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it

出现这个问题可能是有另外一个程序正在运行,导致资源被锁不可用。而导致资源被锁的原因可能是上次运行安装或更新时没有正常完成,进而出现此状况,解决的办法其实很简单:

在终端中敲入以下两句

rm /var/cache/apt/archives/lock

rm /var/lib/dpkg/lock

tmux 小窗口

  • 进入tmux界面后显示的是小窗口 tmux detach -a-a意思是kill掉除了当前界面的所有其他用户
tmux ls
0: 1 windows (created Tue Sep 22 17:19:04 2020) [125x40] (attached) -----多个client在用
1: 1 windows (created Wed Sep 23 17:37:36 2020) [167x41] (attached)
2: 1 windows (created Tue Sep 29 16:19:44 2020) [121x56]
  • ctrl+b,shift+d选择detach哪个用户

11. mac 命令行设置

1. 前后按键的快速移动
mac>偏好设置>键盘>时间设置为最短
在这里插入图片描述
2. 左|右移动一个单词

  Esc b 左移一个单词[back]
  Esc f 右移一个单词[forward]

  注意:每次按下快捷键,需抬起后再按下快捷键,方可多次移动单词。

3. 光标快速切换到行尾行首

 ctrl+a 行首

 ctrl+e 行尾

12. openssl的debug

  1. 查看openssl的版本号openssl version
  2. 报错缺失库libssl.so.10: cannot open shared object file: No such file or directory
    首先先看文件夹下有哪些版本
首先进入制定地址,kml的地址是 /usr/lib/x86_64-linux-gnu
ll libssl.so*
ll libcrypto.so*
## 软链接

然后在指定目录下对已有版本进行软链

ln -s /usr/lib64/libssl.so.1.0.0  libssl.so.10
ln -s /usr/lib64/libcrypto.so.1.0.0  libcrypto.so.10
# 软链接数目
find . -type l -name "*.wav" | wc -l
# 移除软链接---如果失效,注意是否加了‘/‘
rm -rf  libcrypto.so.10

工程解决:

  1. 看查找到的依赖库ldd asrengine/asr_intf_test_phn-out
    在这里插入图片描述
  2. 在当前执行目录下新建一个lib文件夹,拷贝其他目录下对应正确的lib文件
  3. 然后在执行文件中添加查找路径
 export LD_LIBRARY_PATH=/home/zhangying13/.jupyter/ppgs_extractor/mandarin_ppgs/asrtest_tts/lib:$LD_LIBRARY_PATH
  1. 重新执行即可

13. 软链接/硬链接

ln -s src_file tar_file   对指定目录进行软链接

14. shell

shell的多线程

shell 多线程设计

shell笔记

在这里插入图片描述

  • shell的if/else用法
if [ $name == 'root' ] 
then
   echo "welcome"
else
   echo "hacker"
fi
  • 条件语句的与或非关系

#!/bin/sh

aa="August 15, 2012"
bb="August 15, 20122"
cc="123"
dd="123"
 
 -o或
if [ "$aa" = "$bb" -o "$cc" = "$dd" ]; then
	echo "yes"
else
	echo "no"
fi
 
 -a and !             -a 与,!非
if [ "$aa" != "$bb" -a "$cc" = "$dd" ]; then
	echo "yes"
else
	echo "no"
fi

shell数组

在这里插入图片描述

kill 彻底关闭进程

  • kill掉所有的python进程
ps -ef | grep python | grep -v grep | awk '{print $2}' | xargs kill -9
  • 进程口很多,选择母进程整体kill
进入htop, ⬆️/⬇️选择到指定的进程, fn+F9,然后‘9'SIGKILL
  • kill掉defunct失效进程
  1. 我们先看看系统中是否存在defunct进程: ps -A | grep defunct
  2. 现在,我们来看看这些进程的ID及其父进程ID:ps -ef | grep defunct | more
  3. 杀掉父进程ID kill -9 PPID
    在这里插入图片描述
  • kill掉jobs
  1. jobs查看正在执行的
  2. kill %jobs_id
  • 查看某一端口的进程
lsof -i :端口号
  • 关闭某一端口的进程
kill -9 $(lsof -i tcp:进程号 -t)

jupyter

  • 安装jupyter
pip3 install --upgrade pip
pip3 install jupyter           # 报错把pip3改成pip就可以了

本地&服务端传输文件

rz/sz 配置及使用

scp

scp -P 2222 /home/lnmp0.4.tar.gz usrname@hostip:/root/lnmp0.4.tar.gz
scp -P 50562 Downloads/_ProsodyPro.praat.zip usrname@hostip:
scp -P 50562 -r usrname@hostip:/home/liry/ruyun/kaldi/egs/sre10 .
scp -P 50562 usrname@hostip:file_dir local_path

本地上传到服务器
scp local_file remote_username@remote_ip:remote_folder
因为网络问题上传会遇到stalled的报错
scp -C -P 50562 usrname@hostip:file_dir local_path
添加 -C快速下载

非归类操作ls

  1. 删除路径下多个文件(但是某一个不删除)
ls min_* > lst   ------min开头的都写到lst中,然后把想保留的在lst中删除
cat lst | xargs -i rm {}  --------删除lst中的文件

awk

  • 实现以“|”分隔txt文件,然后再第四个分隔结果前边加“en"
cat training/multi_speaker/multi_speaker_train.txt | awk -F '|' '{printf("%s|%s|%s|en_%s|%s", $1, $2, $3, $4, $5)}'
cat pkl_data/singbase_librosa/singbase_librosa2k-train | awk -F "|" '{printf("%s|%s|/mmu-audio-ssd/tts/zhangying/sing_data/singbase_librosa_norm/mfcc20_from_mel80_wavegan/%s|%s\n", $1, $2, $3, $4)}' >> tmp
  • F awk

  • 命令行显示文件行数

cat xx.txt| wc -l
  • 批量显示路径下所有文件夹的文件
for f in $(ls); do echo $f; ls $f| wc -l; done
  • 批量去除偶数行
for f in $(); do awk "NR%2==1" $f; done

sed

sed操作命令

  • 删除第N行到第M行
sed -i 'N,Md' filename
  • 删除含指定字符的行
sed -i '/指定字符/d' filename
  • 打印指定行
sed -n 'N,Mp' filename 
  • 替换指定字符
// -i 会直接修改原始文件
sed -i 's/原始字符/替换字符/' filename   
/ 删除每一行的所有特定字符 “#1”
sed 's/#1//g' prosodylabeling/all_clean.txt 
// 输出到终端,可以自行重定向 
sed 's/原始字符/替换字符/' filename 
// 指定行的英文小写字符替换为 字符+空格
sed -i '1280,3818s/\([a-z]\)/\1 /g' filename
  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 要离线下载Linux命令手册,可以按照以下步骤进行操作: 1. 打开您的Web浏览器,访问Linux命令手册官方网站。您可以使用搜索引擎来找到该网站。 2. 在网站上找到“下载”或“离线版本”等类似选项的链接。点击该链接进入下载页面。 3. 在下载页面,选择适合您操作系统版本的离线手册文件。一般来说,Linux命令手册提供多种格式,如HTML,PDF等。选择您需要的格式,点击下载链接。 4. 下载完成后,您会得到一个压缩文件。解压缩该文件,您将得到离线版本的Linux命令手册。 现在,您可以在没有网络连接的情况下使用该离线版本的Linux命令手册了。 请注意,离线版本的手册可能会占用一定的存储空间。确保您的设备有足够的存储空间来存储该手册。另外,由于离线版本不会及时更新,建议您定期检查官方网站,以获取最新的命令和文档。 ### 回答2: 要离线下载Linux命令手册,你可以按照以下步骤进行操作: 1. 打开终端,输入以下命令来安装man-db软件包: sudo apt-get install man-db 2. 安装完毕后,输入以下命令来下载并安装命令手册的tar文件(以官方手册为例): wget https://www.kernel.org/pub/linux/docs/man-pages/man-pages-5.10.tar.xz tar -xvf man-pages-5.10.tar.xz 3. 接下来,进入解压后的目录并执行以下命令来生成离线命令手册索引: cd man-pages-5.10 sudo mandb 4. 在mandb命令执行完毕后,你就可以通过man命令来查看命令手册了,例如: man ls 5. 如果你想在离线时通过浏览器来查看命令手册,你可以安装一个本地文档服务器,例如DevHelp或Zeal。通过这些工具,你可以创建并导入离线命令手册,然后通过浏览器进行浏览和搜索。 希望以上步骤对你有所帮助! ### 回答3: 要离线下载Linux命令手册,可以使用以下方法。 首先,你需要找到可用的Linux命令手册。大多数Linux发行版都自带了man命令,其中包括了完整的命令手册。如果你的系统上没有安装man命令,你可以通过包管理器前往官方软件仓库进行安装。 一旦你确定你的系统中已经安装了man命令,你可以使用以下命令来检索并下载特定命令的手册页。 man -K [命令名称] > [输出文件] 上述命令将在本地搜索并以文本形式将命令的手册页输出到指定的输出文件中。你可以根据需要将[命令名称]替换为你想要下载手册的具体命令,将[输出文件]替换为你想保存手册的文件路径。 只需要按照上述步骤,你就可以离线下载Linux命令手册了。手册页将以文本形式保存在输出文件中,你可以随时查阅。 另外,还有一些第三方的网站提供了Linux命令手册的离线下载版本。你可以在这些网站上下载整个命令手册的离线副本,以便在没有网络连接的情况下查阅。这些离线版本通常以HTML或PDF格式提供,你可以选择适合自己的下载方式。 需要注意的是,由于命令手册的内容庞大且经常更新,所以建议定期检查并更新你的离线手册,以保证手册的准确性和完整性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值