Korean, Edit

Linux

推荐文章:【操作系统】【操作系统目录】(https://jb243.github.io/pages/1771)


1. 概述

2. 安装

3. 命令


a. Linux 服务器

b. 【Linux疑难解答(01-20)】(https://jb243.github.io/pages/1749)



1.概述

⑴ macOS、Ubuntu 都是 Linux 家族的一部分。

⑵ 如果您不熟悉Linux环境,可以使用Terminus程序:免费提供给学生。



2.安装

方法1. Ubuntu

① 由于Ubuntu等本来就以Linux为操作系统,所以只要打开终端就可以操作Linux。

方法2. MacOS

2-1. 您可以在终端中使用ssh命令远程访问Linux服务器。

2-2. 使用 Parallels 在 M1 MacBook 上安装 Linux

○ M1 MacBook 使用 64 位 ARM 桌面映像,而不是 AMD64 桌面映像。

Ryzen 7 不支持 AMD-V 启用:您可能需要使用 ARM 桌面映像。

如何在 MacBook 上卸载 Parallels

2-3. xquartz

方法3. Windows

3-1. 访问Linux服务器的方法如下:

○ mobaXterm

○ PowerShell

○ FireZilla

○ 星明

3-2. 使用 VMware 在 Windows 上安装 Linux。

○ 创建虚拟环境并安装Linux。

○ 您可以使用 mobaXterm 传输文件。

○ 您可能需要显式启用AMD-V:在技嘉上显式启用AMD-V的方法如下:

示例 1

○ 第一第一。打开电脑并快速按几次 Del 键,直到出现 BIOS 屏幕。

○ 第二第二。去“麻省理工学院”选项卡并移至“高级频率设置”。

○ 第三。转到“高级 CPU 核心设置”。

○ 第四th。将“SVM 模式”从“禁用”切换为“启用”。

示例 2

○ 第一第一。转到 BIOS 屏幕。

○ 第二第二。转到“调整器”选项卡并移至“高级 CPU 设置”。

○ 第三。将“SVM 模式”从“禁用”切换为“启用”。



3.命令

※ 命令按从基础到高级的顺序排列。

ctrl + shift + v:粘贴代码

Linux紧急逃生

ctrl + c:强制终止代码执行

受保护_7

受保护_8

ctrl + z:暂停代码执行

Linux 终端清除

ctrl + l:由于清理不完善而不常用

clear

reset

echo -e '\033c'

tput reset

○ 变量

$variable_name:变量的值。

export $variable:用于将环境变量移交给另一个进程。

export -f $function:用于将函数移交给另一个进程。

string variable:声明不带引号的字符串变量并包含 $variable_name

\:在多行上执行单个命令以获得更好的代码可读性。

○ 请注意,\ 后面的空格被视为转义字符

;:在一行中分隔多个命令

|:将前一个进程的输出连接到下一个进程的输入

ls:显示当前目录下的文件列表

pwd:当前工作目录

history:过去的命令历史记录。

history | tail -20:仅显示过去命令历史记录的最后 20 条记录。○ ssh-keygen:生成 RSA 公钥和私钥。在 MacBook 上,文件 id_rsaid_rsa.pub 在 ~/.ssh 目录中创建。

受保护_31

○“更改模式”缩写为权限管理

○ 用户类型:用户(u)、组(g)、其他(o)

○ 权限类型:读(r;4)、写(w;2)、执行(e;1)、rw-(4+2=6)、r-x(4+1=5)、rwx(4+2+1=7)

方法1. 符号模式

示例1. chmod u+x filename:授予用户执行权限

示例 2. chmod g-w filename:从组中删除写入权限

示例3. chmod o=r filename:设置其他人的权限为只读

方法2. 数字模式

示例1. chmod 755 filename:设置用户权限7,组权限5,其他权限5

应用1. 设置整个目录的权限

示例 1. chmod -R 755 directory_name:在整个 Directory_name 中设置 755 权限。

受保护_37

○ “变更所有权”的缩写

chown [user]:[group] [Directory]

○ 基于Linux的文本编辑器

open

nano:使用以下命令安装:sudo apt-get install nano

vim

emacs

zsh

bash

○ 目录命令

open [DIR_NAME]:导航到特定目录

cd:导航到主目录。

cd [DIR_NAME]:导航到特定目录。

cd ..:移动到当前目录的父目录。

ls -lh [FILE_NAME]:检查特定文件的大小。

du -sh [DIR_NAME]:检查目录的大小。

mkdir [DIR_NAME]:创建特定文件夹

mv [SOURCE] [DESTINATION]:文件移动、文件替换和重命名中使用的命令包括“mv”,它是“move”的缩写。

cp [OPTION] [SOURCE] [DESTINATION]:复制文件并粘贴

-r:复制子目录和文件

-p:复制时保留所有权、组、权限和时间信息

rm [OPTION] [NAME]:删除

rm -d [DIR_NAME]:删除空目录

rm -r [DIR_NAME]:删除非空目录

○ 文件压缩命令

zip -r test.zip ./*:将特定目录下的所有文件(./*)(包括子文件夹)压缩到 test.zip 中

unzip FILE.zip:将 FILE.zip 解压到当前文件夹中

gzip [FILE_NAME]:压缩为 .gz

gzip -d [FILE_NAME].gz:解压.gz 文件

gunzip [FILE_NAME].gz:解压.gz 文件

tar [OPTION] [FILE.tar.gz]

[选项]: -f、-c、-x、-v、-z、-j、-t、-C、-A、-d、-r、-u、-k、-U、-w、-e 等。

受保护_0

示例 1. 压缩: tar -zcvf archive.tar.gz ./MyFolder

示例 2. 解压:tar -xzvf spaceranger-2.0.1.tar.gz

示例 3. 解压:tar -xf class_N.tgz

○ 相同的命令适用于 .tar 文件以及 .tar.gz 文件,但对于 .tar 文件应省略 -z

xz -z filename:提供相当好的压缩比,但速度很慢。使用LZMA、LZMA2算法。

xz -d filename.xz:解压缩 .xz 文件。

7z a outputfile.7z inputfile:提供相当好的压缩比,但速度很慢。使用包括 LZMA 在内的各种算法。通过 p7zip 软件包在 Linux 上可用。

7z x outputfile.7z:解压缩 .7z (7-Zip) 文件。

zstd filename:平衡压缩比和速度。

zstd -d filename.zst:解压缩 .zst 文件。

brotli -Z filename:使用 Brotli 压缩。

brotli -d filename.brotli:解压缩.brotli 文件。

pigz filename:使用 PIGZ 压缩。

unpigz filename.gz:解压缩.gz 文件。

受保护_88

echo [STR]:打印指定字符串> ○ echo $(($(find . -type d -maxdepth 1 | wc -l) - 1)):打印特定目录中的文件夹数量。

find

find . -type d -maxdepth 1 | wc -l:打印特定目录中的文件夹数量。

○ 符号链接(软链接)

ln -s [Source_Directory] [Target_Directory]

ln -sf [Source_Directory] [Target_Directory]

unlink [Target_Directory]:停用链接

ifconfig:检查 IP 地址

traceroute [IP_ADDRESS]:显示到达特定IP地址的IP

stat [FILE]:检查文件上次修改时间

○ 查看系统推测

lshw | less:提供有关系统规格的信息,例如 CPU、RAM 等。

lshw -C display:提供有关 GPU 的信息

nvidia-smi:提供有关 GPU 和 GPU 使用状态的信息

watch -d -n 0.5 nvidia-smi:GPU 使用情况监控

○ sudo:允许Linux 用户像其他用户一样运行命令。

○ 可以为不同的用户选择性地授予Sudo权限。

su [User_ID]:Linux 中切换到不同用户帐户的命令。通常与 sudo su 一起使用。

reboot:正在重新启动。

○ 状态命令

free -h:检查内存和交换使用情况。

top:检查命令执行和线程使用状态的命令。

top -u username

htop:必须安装。优于 top

df:查看系统状态的命令。

df -h:查看系统容量的命令。

○ 远程数据传输命令

方法1: scp:文件损坏的可能性较低

scp -P ${port} ${srcFile} ${id} @ ${destIP} :${destPath}

${port}:目标端口号

${srcFile}:要从源移动的文件的路径。示例:“~/Downloads/file.txt”

${id}:目标上的用户 ID

${destIP}:目标 IP 地址。示例:#.#.#.# (IPv4)

${destPath}:存储文件的目标目录地址。示例:~/DATA1/1.txt

代码生成器

方法2: rsync(远程同步):速度更快

○ 示例:rsync --rsh=’ssh -p ${port}’ -avzhP ${srcFile} ${id} @${destIP} : ${destPath}

${port}:目标端口号

${srcFile}:要从源移动的文件的路径。示例:“~/Downloads/file.txt”

${id}:目标上的用户 ID

${destIP}:目标 IP 地址。示例:#.#.#.# (IPv4)

${destPath}:存储文件的目标上的目录地址。示例:~/DATA1/1.txt

代码生成器

方法3. sftp


受保护_1


方法4. SFTP 客户端软件:FileZilla、Cyberduck 等。

方法 5. WinScp (Windows)

方法 6. 获取 (mac)

○ 文件执行命令

.sh file:要运行 .sh 文件,请使用 ./[My_File].shsh [My_File].shbash [My_File].sh

.py file (参考)

ctrl + z → bg:在后台运行

[command] + &:在后台运行 (ref)

○ 注意:此方法会导致进程在会话结束时终止(例如,终端关闭)

○ 使用 nohup 后台运行

步骤 1. 准备 .sh.py 文件

步骤 2. 打开终端

步骤 3. 导航到环境设置后要执行的 .sh 文件或 .py 文件所在的目录(例如app.py

步骤 4. 授予权限:chmod 755 app.py

步骤 5. nohup python app.py \

步骤6. 再次按Enter键执行

步骤 7.可选)检查执行:ps -ef | grep app.py → 检查 nohup.out 中的“app.py”关键字» ○ 步骤 8.可选)强制终止后台执行:kill {ProcessID}

○ 使用 tmux 后台运行

○ tmux → Linux 命令 → 终端窗口/Mobaxterm 关闭

docker: 支持后台运行

while 命令

while read

while ··· do ~ done

cat 命令:与文件输出相关。

cat FILE:显示文件内容。

cat > FILE:创建文件。

cat -n FILE:显示行号。

cat -E FILE:在行尾显示 $。

cat -T FILE:将选项卡显示为 ^I。

cat -s FILE:忽略重复的空行。

cat FILE1 FILE2 > FILE_merge:将 FILE1 和 FILE2 合并到 FILE_merge。

cat FILE1 - FILE2:将 FILE1 的内容追加到 FILE2。

cat FILE | more:一次一屏显示文件内容。

cat FILE | grep "STR":过滤文件内容。

cat *:显示所有文件的内容。

cat *.txt:显示具有特定扩展名的文件内容。

qsub [-OPTION STR] [SCRIPT]:将 PBS 作业提交到队列。

[SCRIPT].sh 文件

○ 在 .sh 文件名后指定 .sh 文件的参数。

qsub [-e STR] [SCRIPT]:定义批处理作业的标准错误流路径。

qsub [-o STR] [SCRIPT]:定义批处理作业的标准输出流路径。

qsub [-N STR] [SCRIPT]:定义作业名称。

grep [STR]:用于查找作为输入传递的文件内容中的特定字符串。

$ sudo 要执行的命令

○ 像这样执行时,命令会以 root 权限运行,从而避免错误。

○ md5 和

○ 生成代码以验证发送方和接收方之间的文件完整性。


受保护_2


○ 安全相关:寻找MD5冲突对相对容易,但对MD5进行第二原像攻击的方法尚不清楚。

○ 对于MacOS,默认不提供md5sum;相反,md5 命令可用。

sed

netcat

awk

ssh:用于远程连接 Linux 服务器的协议。

故障排除 1. 如果输入 ssh 后出现“未找到命令”,请按照 macOS 终端的此步骤操作。

○ 安装ssh时显示

图片

○ Windows 10 及以上版本,您可以使用 Windows PowerShell 作为终端(参考

故障排除2. ssh:连接到主机#.#.#.#端口§:连接被拒绝

○ 其中 #.#.#.# 是 IP 地址。

原因 1. MacBook 上的远程登录被阻止。

○ 解决方案:系统偏好设置 > 共享 > 远程登录 > 打开

原因2.未安装openssh(参考

原因3. 主机IP 地址已更改。

故障排除 3. key_exchange_identification:读取:由对等方重置连接 由 #.#.#.# 端口重置连接 §

○ 原因:服务器临时问题。

○ 解决方法:重新输入密码。

故障排除 4. 在 Windows 上尝试 VPN 连接时

○ NetSarang 的 Xshell 允许在 Windows 上进行 VPN 连接。

故障排除5. 无法操作。无法连接到总线:主机已关闭

○ 不适合 ssh 服务器。

○ 确保您打算安装 ssh 服务器,而不仅仅是客户端。

curl:从特定 URL 下载文件。


受保护_3


wget 命令:允许下载各种文件。

○ 示例:wget <https://raw.githubusercontent.com/jdblischak/singleCellSeq/master/code/run-md5sum.sh>> ○ 如果未找到 wget$ sudo apt-get install -y wget

○ 通常,获取整个命令:$git clone <https://github.com/jdblischak/singleCellSeq.git>

sudo netstat -lntp:显示端口特定的 PID、协议等。

○ 通过 GNU Parallel 进行并行处理

受保护_4


ranger 命令:基于终端的文件管理器,允许用户通过文本用户界面 (TUI) 探索和管理文件系统。




输入 2021.11.04 23:23

修改 2023.06.02 14:21

results matching ""

    No results matching ""