Linux 常用命令 Updating

本文介绍了Linux和Mac系统中常用的命令操作,包括文件管理、内存查看、硬盘信息、压缩解压等功能,还提供了Vi/VIM编辑器的使用技巧,以及SSH密钥登录的配置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Linux常用命令

1.1 查看当前目录文件详细信息

  • ls -lh :以合适的单位显示文件大小
  • ls -al :显示隐藏文件信息
  • **区分文件和目录: ls -F, 是大F,不是小f **
  • **递归列出子目录的文件: ls -R, 大R **
  • *使用通配符: ls -l my_scr?pt; ls -l my_scr **

1.2 查看内存使用信息

  • free -g : 以G为单位显示内存使用情况;也可以只使用free命令,以KB为单位
  • free -h:人性化显示

1.3 查看NVIDIA显卡信息

  • **查看NVIDIA显卡信息:nvidia-smi **

1.4 查看硬盘使用信息

  • df -lh:以合适单位显示硬盘信息

1.5 压缩与压缩命令

  • **zip target_filename source_filename: 压缩文件 **
  • zip -r target_filename source_directory_name:压缩目录
  • unzip -o -d source_directory_name compress_filename: 解压缩文件到指定文件夹;-o表示不提示的情况下覆盖文件

1.6 查看空间大小

  • df -hl 查看磁盘剩余空间
  • df -h 查看每个根路径的分区大小
  • du -sh <目录名> 返回该目录的大小
  • du -sm <文件夹名> 返回该文件夹总M数

1.7 结束进程

  • 方法一:使用kill命令:kill <pid号>
  • 方法二:使用top命令;先输入top命令,输入k,按enter键,结束第一个进程,或者手动指定pid结束指定进程
  • 方法三:结束所有 Python 进程, ps aux | grep python | awk ‘{print $2}’ | xargs kill -9,实际使用时可将 Python 换成其他程序

1.8 Touch

  • ** 创建文件: touch test.txt **
  • ** 改变文件的修改时间: touch test.txt **
  • ** 只修改访问时间: touch -a test.txt **

1.9 CP

  • ** 复制文件: cp <source_directory> <target_directory> **
  • ** -i选项:强制shell询问是否需要覆盖已有文件 **

1.10 链接文件

链接是目录中指向真实位置的占位符

1.10.1 符号链接

  1. 符号链接是一个实实在在的文件,它指向存放在虚拟目录结构中的某个地方的另一个文件。这两个通过符号链接在一起的文件,彼此的内容并不相同。
  2. 要为一个文件创建符号链接,原始文件必须事先存在。然后可以使用ln命令以及-s选项来创建符号链接。
    1. e.g.
      1. ls -s data_file sl_data_file
      2. ls -l *data_file
      3. 符号链接的名字sl_data_file位于ln命令中的第二个参数位置上。显示在长列表中符号文件名后的-> 符号表名该文件是链接到文件data_file上的一个符号链接。
      4. sl_data_file仅仅只是指向data_file而已;
      5. 使用inode编号区分是链接文件还是独立文件;iNode是ls -i 命令的第一项
  3. 硬链接

硬链接会创建独立的虚拟文件,其中包含了原始文件的信息及位置。但是它们从根本上而言是同一个文件。引用硬链接文件等同引用了源文件。要创建硬链接,原始文件也必须实现存在,只不过这次使用ln命令是不再需要加入额外的参数;
1. e.g.
1. Ln code_file hl_code_file
2. ls -li *code_file: 显示硬链接的文件共享inode编号相同。链接计数器,即第三项,显示着两个文件都有两个链接。另外,它们的文件大小也一模一样。

1.11 结束进程

一条命令结束指定的所有进程

ps aux | grep python | awk '{print $2}' | xargs kill -9

2. Vi / VIM编辑器

2.1 显示行号

在当前用户目录下创建文件.vimrc,命令:vi .vimrc,写入: set number;

2.2 查看文件内容

  • less file_name: 按q退出
  • control + f: 向下翻页front
  • control + b: 向上翻页back
  • control + d: 向下翻半页down
  • control + u: 向上翻半页up
  • 数字0:命令模式中回到行首
  • 美元符$:命令模式中回到行尾

2.3 vim中统计字符串出现的次数

方法一:统计m到n行中"字符串"出现的次数

:m,ns/\<字符串\>//gn

方法二:统计"字符串"在当前编辑文件出现的次数

:%s/字符串//ng

方法三:统计词语在文件中出现的行数

cat file|grep -i 字符串 |wc -l

2.4 复制与粘贴

# 第一步:Shift + V
# 第二步:使用光标选择要复制的行数
# 第三步:Y 键(复制)
# 第四步:光标移动到要粘贴的位置
# 第五步:P 键(粘贴)

2.5 Vi 常用配置

2.5.1 方案一

syn on                      "语法支持

set ai                      "自动缩进
set bs=2                    "在insert模式下用退格键删除
set showmatch               "代码匹配
set laststatus=2            "总是显示状态行
set expandtab               "以下三个配置配合使用,设置tab和缩进空格数
set shiftwidth=4
set tabstop=4
set cursorline              "为光标所在行加下划线
set number                  "显示行号
set autoread                "文件在Vim之外修改过,自动重新读入
set ignorecase              "检索时忽略大小写
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936		 "使用utf-8或gbk打开文件
set termencoding=utf-8
set encoding=utf-8
set hls                     "检索时高亮显示匹配项
set helplang=cn             "帮助系统设置为中文
set foldmethod=syntax       "代码折叠

set nocompatible            " be iMproved, required
filetype off                " required

2.5.2 方案二

https://www.ruanyifeng.com/blog/2018/09/vimrc.html

"不与 Vi 兼容(采用 Vim 自己的操作命令)
set nocompatible
" 打开语法高亮。自动识别代码,使用多种颜色显示。
syntax on
" 在底部显示,当前处于命令模式还是插入模式。
set showmode
" 命令模式下,在底部显示,当前键入的指令。
" 比如,键入的指令是2y3d,那么底部就会显示2y3,当键入d的时候,操作完成,显示消失。
set showcmd
" 支持使用鼠标。
set mouse=a
" 使用 utf-8 编码。
set encoding=utf-8
" 启用256色。
set t_Co=256
" 开启文件类型检查,并且载入与该类型对应的缩进规则。
" 比如,如果编辑的是.py文件,Vim 就是会找 Python 的缩进规则~/.vim/indent/python.vim
filetype indent on

" -- 缩进 -- 
" 按下回车键后,下一行的缩进会自动跟上一行的缩进保持一致
set autoindent
" 按下 Tab 键时,Vim 显示的空格数。
set tabstop=2
" 在文本上按下>>(增加一级缩进)、<<(取消一级缩进)或者==(取消全部缩进)时,每一级的字符数
set shiftwidth=4
" 由于 Tab 键在不同的编辑器缩进不一致,该设置自动将 Tab 转为空格。
set expandtab
" Tab 转为多少个空格
set softtabstop=4
" 显示行号
set number
" 显示光标所在的当前行的行号,其他行都为相对于该行的相对行号
set relativenumber
" 光标所在的当前行高亮
set cursorline
" 设置行宽,即一行显示多少个字符
set textwidth=80
" 自动折行,即太长的行分成几行显示
set wrap
" 只有遇到指定的符号(比如空格、连词号和其他标点符号),才发生折行。也就是说,不会在单词内部折行
set linebreak
" 指定折行处与编辑窗口的右边缘之间空出的字符数
set wrapmargin=2
" 垂直滚动时,光标距离顶部/底部的位置(单位:行)
set scrolloff=5
" 水平滚动时,光标距离行首或行尾的位置(单位:字符)。该配置在不折行时比较有用
set sidescrolloff=15
" 是否显示状态栏。0 表示不显示,1 表示只在多窗口时显示,2 表示显示
set laststatus=2
" 在状态栏显示光标的当前位置(位于哪一行哪一列)
set  ruler

" -- 搜索 --
" 光标遇到圆括号、方括号、大括号时,自动高亮对应的另一个圆括号、方括号和大括号
set showmatch
" 搜索时,高亮显示匹配结果
set hlsearch
" 输入搜索模式时,每输入一个字符,就自动跳到第一个匹配的结果
set incsearch
" 搜索时忽略大小写
set ignorecase
" 如果同时打开了ignorecase,那么对于只有一个大写字母的搜索词,将大小写敏感;
" 其他情况都是大小写不敏感。比如,搜索Test时,将不匹配test;搜索test时,将匹配Test
set smartcase

" -- 编辑 --
" 打开英语单词的拼写检查
" set spell spelllang=en_us
" 保留撤销历史。
" Vim 会在编辑时保存操作历史,用来供用户撤消更改。默认情况下,操作记录只在本次编辑时有效,
" 一旦编辑结束、文件关闭,操作历史就消失了。打开这个设置,可以在文件关闭后,
" 操作记录保留在一个文件里面,继续存在。这意味着,重新打开一个文件,可以撤销上一次编辑时的操作。
" 撤消文件是跟原文件保存在一起的隐藏文件,文件名以.un~开头。
set undofile

2.6 撤销与恢复

u # 撤销
Control + r # 恢复 

3. 上传下载命令

3.1 上传

scp upload_folder username@hostname:/home/username/destination_folder

3.2 下载

scp username@hostname:/home/username/download_folder destionation_folder
如果上传下载的是文件夹,可以在scp命令后面添加-r

4. 密钥登陆

4.1 本地机器上制作密钥对

[root@host ~]$ ssh-keygen  <== 建立密钥对
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <== 按 Enter
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): <== 输入密钥锁码,或直接按 Enter 留空
Enter same passphrase again: <== 再输入一遍密钥锁码
Your identification has been saved in /root/.ssh/id_rsa. <== 私钥
Your public key has been saved in /root/.ssh/id_rsa.pub. <== 公钥

4.2 服务器上安装公钥

# 在服务器上安装公钥:

[root@host ~]$ cd .ssh
[root@host .ssh]$ cat id_rsa.pub >> authorized_keys
# 如此便完成了公钥的安装。为了确保连接成功,请保证以下文件权限正确:
[root@host .ssh]$ chmod 600 authorized_keys
[root@host .ssh]$ chmod 700 ~/.ssh

4.3 设置 SSH,打开密钥登录功能

# 编辑 /etc/ssh/sshd_config 文件,进行如下设置:
RSAAuthentication yes
PubkeyAuthentication yes

# 允许 root 用户通过 SSH 登录:
PermitRootLogin yes

# 禁用密码登录:
PasswordAuthentication no

# 重启 SSH 服务:
[root@host .ssh]$ service sshd restart 

# 本地机器上登陆:
ssh root@host_name

3. Mac 常用设置

3.1 在Finder中打开Terminal

https://www.jianshu.com/p/87723bba04de

资源下载链接为: https://pan.quark.cn/s/abbae039bf2a 无锡平芯微半导体科技有限公司生产的A1SHB三极管(全称PW2301A)是一款P沟道增强型MOSFET,具备低内阻、高重复雪崩耐受能力以及高效电源切换设计等优势。其技术规格如下:最大漏源电压(VDS)为-20V,最大连续漏极电流(ID)为-3A,可在此条件下稳定工作;栅源电压(VGS)最大值为±12V,能承受正反向电压;脉冲漏极电流(IDM)可达-10A,适合处理短暂高电流脉冲;最大功率耗散(PD)为1W,可防止器件过热。A1SHB采用3引脚SOT23-3封装,小型化设计利于空间受限的应用场景。热特性方面,结到环境的热阻(RθJA)为125℃/W,即每增加1W功率损耗,结温上升125℃,提示设计电路时需考虑散热。 A1SHB的电气性能出色,开关特性优异。开关测试电路及波形图(图1、图2)展示了不同条件下的开关性能,包括开关上升时间(tr)、下降时间(tf)、开启时间(ton)和关闭时间(toff),这些参数对评估MOSFET在高频开关应用中的效率至关重要。图4呈现了漏极电流(ID)与漏源电压(VDS)的关系,图5描绘了输出特性曲线,反映不同栅源电压下漏极电流的变化。图6至图10进一步揭示性能特征:转移特性(图7)显示栅极电压(Vgs)对漏极电流的影响;漏源开态电阻(RDS(ON))随Vgs变化的曲线(图8、图9)展现不同控制电压下的阻抗;图10可能涉及电容特性,对开关操作的响应速度和稳定性有重要影响。 A1SHB三极管(PW2301A)是高性能P沟道MOSFET,适用于低内阻、高效率电源切换及其他多种应用。用户在设计电路时,需充分考虑其电气参数、封装尺寸及热管理,以确保器件的可靠性和长期稳定性。无锡平芯微半导体科技有限公司提供的技术支持和代理商服务,可为用户在产品选型和应用过程中提供有
资源下载链接为: https://pan.quark.cn/s/9648a1f24758 在 JavaScript 中实现点击展开与隐藏效果是一种非常实用的交互设计,它能够有效提升用户界面的动态性和用户体验。本文将详细阐述如何通过 JavaScript 实现这种功能,并提供一个完整的代码示例。为了实现这一功能,我们需要掌握基础的 HTML 和 CSS 知识,以便构建基本的页面结构和样式。 在这个示例中,我们有一个按钮和一个提示框(prompt)。默认情况下,提示框是隐藏的。当用户点击按钮时,提示框会显示出来;再次点击按钮时,提示框则会隐藏。以下是 HTML 部分的代码: 接下来是 CSS 部分。我们通过设置提示框的 display 属性为 none 来实现默认隐藏的效果: 最后,我们使用 JavaScript 来处理点击事件。我们利用事件监听机制,监听按钮的点击事件,并通过动态改变提示框的 display 属性来实现展开和隐藏的效果。以下是 JavaScript 部分的代码: 为了进一步增强用户体验,我们还添加了一个关闭按钮(closePrompt),用户可以通过点击该按钮来关闭提示框。以下是关闭按钮的 JavaScript 实现: 通过以上代码,我们就完成了点击展开隐藏效果的实现。这个简单的交互可以通过添加 CSS 动画效果(如渐显渐隐等)来进一步提升用户体验。此外,这个基本原理还可以扩展到其他类似的交互场景,例如折叠面板、下拉菜单等。 总结来说,JavaScript 实现点击展开隐藏效果主要涉及 HTML 元素的布局、CSS 的样式控制以及 JavaScript 的事件处理。通过监听点击事件并动态改变元素的样式,可以实现丰富的交互功能。在实际开发中,可以结合现代前端框架(如 React 或 Vue 等),将这些交互封装成组件,从而提高代码的复用性和维护性。
### Linux 中与 VM(虚拟机)相关的常用命令及其用途 #### 1. Docker 容器管理 Docker 是一种流行的容器化技术,用于创建、部署和运行应用程序。以下是常用的 Docker 命令: - **`docker run`**: 启动一个新的容器实例并执行指定的命令。 ```bash $ docker run --privileged -v /usr/bin/perf:/usr/bin/perf -it my_image /bin/bash ``` 上述命令通过 `--privileged` 提供特权访问,并挂载主机上的 `/usr/bin/perf` 到容器内部[^1]。 - **`docker ps`**: 显示当前正在运行的容器列表。 ```bash $ docker ps ``` - **`docker images`**: 查看本地存储的所有镜像。 ```bash $ docker images ``` - **`docker stop` 和 `docker start`**: 控制容器的停止和启动。 ```bash $ docker stop container_id_or_name $ docker start container_id_or_name ``` --- #### 2. GRUB 配置更新 GRUB 是 GNU GRand Unified Bootloader 的缩写,负责引导操作系统。当修改内核模块或其他配置时,可能需要重新生成 GRUB 配置文件。 - 使用 `grub2-mkconfig` 更新 GRUB 配置: ```bash $ grub2-mkconfig -o /boot/grub2/grub.cfg ``` 此命令会扫描系统中的可用内核和其他选项,并生成新的 GRUB 配置文件[^2]。 --- #### 3. MySQL 开机自启和服务控制 对于在虚拟环境中安装的服务(如 MySQL),可以使用 systemd 来管理和启用服务。 - 设置 MySQL 开机自动启动: ```bash $ systemctl enable mysqld ``` 这条命令会在系统的启动过程中注册 MySQL 服务,使其随系统一起启动[^3]。 - 手动启动或停止 MySQL 服务: ```bash $ systemctl start mysqld $ systemctl stop mysqld ``` --- #### 4. 虚拟机监控工具 (virsh) `virsh` 是 libvirt 工具的一部分,专门用来管理 KVM/QEMU 虚拟机。 - 列出所有虚拟机状态: ```bash $ virsh list --all ``` - 启动或关闭虚拟机: ```bash $ virsh start vm_name $ virsh shutdown vm_name ``` - 删除虚拟机定义: ```bash $ virsh undefine vm_name ``` --- #### 5. CPU 性能分析工具 (perf) `perf` 是 Linux 下的一个性能分析工具,常用于调试和优化程序性能。 - 将 perf 工具挂载到 Docker 容器中以便于性能调优: ```bash $ docker run --privileged -v /usr/bin/perf:/usr/bin/perf -it my_image /bin/bash ``` 如上所示,可以通过 `-v` 参数将宿主机的 perf 工具映射至容器环境。 --- #### 6. 系统资源查看 (top, htop, free) 这些工具可以帮助管理员实时监测虚拟机内的资源消耗情况。 - 查看进程占用情况: ```bash $ top ``` - 更友好的界面显示: ```bash $ htop ``` - 检查内存使用状况: ```bash $ free -h ``` --- #### 7. 文件同步工具 (rsync) 在虚拟机之间传输数据时,`rsync` 是一个高效的选择。 - 复制目录到另一台机器: ```bash $ rsync -avz source_directory user@remote_host:destination_directory ``` --- ### 示例脚本:自动化重启 GRUB 并验证配置 ```bash #!/bin/bash echo "Updating GRUB configuration..." grub2-mkconfig -o /boot/grub2/grub.cfg if [ $? -eq 0 ]; then echo "GRUB updated successfully." else echo "Failed to update GRUB!" fi ``` 上述脚本实现了自动化的 GRUB 配置更新流程。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值