1,scp 命令复制远程文件
# 从本地复制到远程:
scp local_file remote_username@remote_ip:remote_file
# 从远程复制到本地
scp root@www.runoob.com:/home/root/others/music /home/space/music/1.mp3
2,ubuntu 系统使用使用 dpkg 命令安装和卸载 .deb 包
sudo dpkg -i package_name.deb # 安装deb包
sudo dpkg -r package_name # 卸载 deb 包
sudo apt install path_to_deb_file # 安装deb包
sudo apt remove program_name # 卸载deb 包
3,vim 查找字符串
在 normal
模式下按下 /
进入查找模式,输入要查找的字符串并按下回车。Vim
会跳转到第一个匹配,按下 n
查找下一个,按下 N
查找上一个,vim
还支持正则表达式查找。
4,df
和 du
命令使用
df
:查看磁盘空间占用情况du
:查看文件或目录占用的空间大小。
df -hT #查看硬盘使用情况。
du -h --max-depth=1 floder_name # 查看当前目录下所有文件/文件夹的空间大小
du -h -d 0 . # 查看当前目录空间大小
du -sh foldername # 查看指定目录空间大小
5,ls -lh xx.xx
查看指定文件大小
$ ls -lh .bashrc # 只能查看文件空间大小,不能查看目录大小
6,ctrl + r,反向查找历史命令
终端中按下 ctrl + r
,可弹出搜索历史命令行,输入你要查找你输入过命令的关键信息,即可弹出完整历史命令。
7,find 查找文件和文件夹
find
支持基于正则表达式查找指定名字的文件,也支持根据文件类型、基于目录深度和文件时间戳进行搜索。
- 查找目录:find /(查找范围) -name ‘查找关键字’ -type d
- 查找文件:find /(查找范围) -name 查找关键字 -print
8,hdfs 命令详解
9,top 命令进行程序性能分析
top
命令是 Linux
下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于 Windows
的任务管理器。
load average
后面分别是 1分钟、5分钟、15分钟的负载情况。数据是每隔 5 秒钟检查一次活跃的进程数,然后根据这个数值算出来的。如果这个数除以 CPU 的数目,结果高于 5 的时候就表明系统在超负荷运转了。
10,tar 压缩、解压命令
tar -zxvf
解压.tar.gz
和.tgz
。tar -xvf file.tar
解压 tar 包tar –cvf jpg.tar ./*.jpg
:将当前目录下所有jpg
文件仅打包成jpg.tar
后。tar –zcvf xxx.tar.gz ./*.jpg
:打包后以gzip
压缩,命名为xxx.tar.gz
。
在参数 f
之后的文件档名是自己取的,我们习惯上都用 .tar
来作为辨识。 如果加 z
参数,则以 .tar.gz
或 .tgz
来代表 gzip
压缩过的 tar
包; 如果加 j
参数,则以 .tar.bz2
来作为 tar
包名。
11,linux 系统特殊符号作用
$
: 作为变量的前导符,引用一个变量的内容,比如:echo $PATH
;在正则表达式中被定义为行末(End of line
)。>>
: 表示将符号左侧的内容,以追加的方式输入到右侧文件的末尾行中。|
** : 管道命令。**管道命令 “|” 仅能处理前面一个命令传来的正确信息。
12, linxu 中 shell 变量 $#, $@, $0, $1, $2
的含义及解释
$1~$n
:添加到Shell
的各参数值。$1
是第1
参数、$2
是第2
参数…。$$
:shell
脚本本身的PID
。$!
:shell
脚本最后运行的后台process
的PID
。$?
:最后运行的命令结束代码(返回值)。$*
:所有参数列表。如"$*"
用「"」
括起来的情况、以"$1 $2 … $n"
的形式输出所有参数。$#
:添加到shell
的参数个数。$0
:shell
本身的文件名。
13,vim 跳转到行尾和行首命令
- 跳到文本的最后一行行首:按
“G”
,即“shift+g”
; - 跳到最后一行的最后一个字符 : 先重复 1 的操作即按“G”,之后按“$”键,即
“shift+4”
; - 跳到第一行的第一个字符:先按两次
“g”
; ^
跳转行首,$
跳转行尾;
14,vscode 列选择快捷键
- VSCode 列选择快捷键:Alt+Shift+左键
15,查看 cpu 信息
总核数 = 物理 cpu 个数 * 每颗物理 cpu 的核数
总逻辑 cpu 数 = 物理 cpu 个数 * 每颗物理 cpu 的核数 * 超线程数
- 查看物理 cpu 个数:
cat /proc/cpuinfo | grep "physical id"| sort| uniq| wc -l
- 查看每个物理 cpu 中的 core 个数(核数):
cat /proc/cpuinfo| grep "cpu cores"| uniq
- 查看逻辑 cpu 的个数:
cat /proc/cpuinfo| grep "processor"| wc -l
# lscpu | grep -E '^Thread|^Core|^Socket|^CPU\(' 查看 cpu 核数和线程数
16,mkdir -p 创建多层目录
mkdir -p /xxx/xxx/
创建多层目录
17,查看 gcc 所有安装的版本
# centos 系统
rpm -qa | grep gcc | awk '{print $0}'
# ubuntu 系统
dpkg -l | grep gcc | awk '{print $2}'
# 查看系统当前使用 gcc 版本
gcc -v
18,查看系统版本命令
lsb_release -a
: 适用于大部分 Linux 系统,会显示出完整的版本信息,centos
系统无法直接使用该命令,需要安装 yum install -y redhat-lsb。cat /etc/os-release
: 适用于所有 Linux 系统。能显示较为全面的系统信息。cat /proc/version
: 该文件记录了 Linux 内核的版本、用于编译内核的gcc
的版本、内核编译的时间,以及内核编译者的用户名。
>
release
文件通常被视为操作系统的标识。在/etc
目录下放置了很多记录着发行版各种信息的文件,每个发行版都各自有一套这样记录着相关信息的文件。LSB
(Linux 标准库Linux Standard Base)能够打印发行版的具体信息,包括发行版名称、版本号、代号等。
19,shell 读取文件每一行内容并输出
for line in `cat test.txt`
do
echo $line
done
20,实时查看 GPU 显存信息
watch -n 1 nvidia-smi # 每1s显示一次显存信息
21,update-alternatives 管理软件版本
update-alternatives
命令用于处理 Linux 系统中软件版本的切换,使其多版本共存。alternatives 程序所在目录 /etc/alternatives 。语法:
update-alternatives --help
用法:update-alternatives [<选项> ...] <命令>
命令:
--install <链接> <名称> <路径> <优先级>
[--slave <链接> <名称> <路径>] ...
在系统中加入一组候选项。
--remove <名称> <路径> 从 <名称> 替换组中去除 <路径> 项。
--remove-all <名称> 从替换系统中删除 <名称> 替换组。
--auto <名称> 将 <名称> 的主链接切换到自动模式。
--display <名称> 显示关于 <名称> 替换组的信息。
--query <名称> 机器可读版的 --display <名称>.
--list <名称> 列出 <名称> 替换组中所有的可用候选项。
--get-selections 列出主要候选项名称以及它们的状态。
--set-selections 从标准输入中读入候选项的状态。
--config <名称> 列出 <名称> 替换组中的可选项,并就使用其中哪一个,征询用户的意见。
--set <名称> <路径> 将 <路径> 设置为 <名称> 的候选项。
--all 对所有可选项一一调用 --config 命令。
<链接> 是指向 /etc/alternatives/<名称> 的符号链接。(如 /usr/bin/pager)
<名称> 是该链接替换组的主控名。(如 pager)
<路径> 是候选项目标文件的位置。(如 /usr/bin/less)
<优先级> 是一个整数,在自动模式下,这个数字越高的选项,其优先级也就越高。
..........
安装命令
sudo update-alternatives --install link name path priority [ --slave slink sname spath]
# 该命令完成 /usr/bin/gcc 到 /etc/alternatives/gcc 再到 /usr/local/${gcc_version}/bin/gcc 符号链接到建立。
update-alternatives --install /usr/bin/gcc gcc /usr/local/${gcc_version}/bin/gcc 100
选项注释:
link
是在/usr/bin/,/usr/local/bin/等默认PATH搜索目录name
是在/etc/alternatives目录中的链接名path
是真正的可执行程序的位置,可以在任何位置priority
是优先级,数字越大优先级越高