当前位置: 首页 > article >正文

linux 命令笔记

rsyn

文章目录

  • -1. 查看系统版本
  • 1.Linux的文件权限与目录配置
    • 1.1 使用者与群组
    • 1.2 Linux文件权限概念
    • 1.3 Linux目录配置
  • 2.Linux文件与目录管理
    • 2.1 目录与路径
    • 2.2 文件与目录管理
    • 2.3 文件内容查询
    • 2.4 文件与目录的默认权限与隐藏权限
    • 2.5 指令与文件的搜寻
  • 3.Linux磁盘与文件系统管理
    • 3.1 Linux文件系统
    • 3.2 文件系统的简单操作
      • 3.2.1 磁盘与目录的容量 df,du
      • 3.2.2 实体链接与符号链接 ln
    • 3.3 磁盘的分区、格式化、检验与挂载
    • 3.4 设置开机挂载
    • 3.5 内存交换空间(swap)之创建
    • 3.6 文件系统的特殊观察与操作
  • 4.文件与文件系统的压缩、打包与备份
    • 4.1 压缩文件的用途与技术
    • 4.2 Linux系统常见的压缩指令
    • 4.3 打包指令:tar
    • 4.4 XFS 文件系统的备份与还原
    • 4.5 光盘写入工具
    • 4.6 其他常见的压缩与备份工具
  • 5. vim程序编辑器
  • 6.认识与学习Bash
  • 7.正则表达式与文件格式化处理
  • 8.学习Shell scripts
  • 9.Linux使用者管理
  • 10.Linux账号管理与ACL权限设置
    • 10.1 linux 的账号与群组
      • 10.1.1 使用者识别码
      • 10.1.2 使用者账号
      • 10.1.3 关于群组:有效与初始群组、groups、newgrp
    • 10.2 账号管理
      • 10.2.1 新增与移除使用者:useradd,相关配置文件,passwd,usermod,userdel
      • 10.2.2 使用者功能
        • id
        • finger
        • chfn
        • chsh
      • 10.2.3 新增与移除群组
      • 10.2.4 账号管理实例
      • 10.2.5 使用外部身份认证系统
  • 11.磁盘配额(Quota)与进阶文件系统管理
  • 12.例行工作调度(crontab)
  • 13.程序管理与SELinux初探
    • 13.1 什么是程序(process)
    • 13.2 工作管理(job control)
      • 13.2.1 什么是工作管理
      • 13.2.2 job control的管理
      • 13.2.3 离线管理问题
        • nohup
        • screen
    • 13.3 程序管理
    • 13.4 特殊文件与程序
    • 13.5 SELinux 初探
  • 14.认识系统服务(daemons)
  • 15.认识与分析登录文件
  • 16.开机流程、模块管理与Loader
  • 17.基础系统设置与备份策略
    • 17.1 系统基本设置
    • 17.2 服务器硬件数据的收集
    • 17.3 备份要点
    • 17.4 备份的种类、频率与工具的选择
      • 17.4.1 完整备份之累积备份
      • 17.4.2 完整备份之差异备份
        • rsync
          • 基本用法
      • `-r` 参数
      • `-a` 参数
      • `-n` 参数
      • `--delete` 参数
    • 17.5 备份策略
  • 18.软件安装RPM、SRPM与YUM
  • 19.X Window设置介绍
  • 20.Linux核心编译与管理
    • 用户权限
    • 文件管理
      • 文件权限管理
        • 1. 利用chmod修改权限
        • 2. 利用chown改变所有者
      • 压缩
      • 解压缩
      • 文件移动复制
        • cp
        • scp
      • 文件下载
      • 设置回收站
    • 程序运行
      • 后台执行任务
      • 定时执行任务
    • 软连接
    • 命令行关机重启
      • 关机
      • 重启
    • 文件夹的创建、复制、剪切、重命名、清空和删除
      • 挂载NAS
    • Linux下自动挂载群晖Nas(通过CIFS)
      • 一、安装前置所需软件
      • 二、编辑自动挂载文件并挂载
        • linux运维--修改已经挂载目录的名称
      • 实例
      • 创建文件夹
    • 删除
    • 执行文件
    • vim
    • 安装
    • ta.xz
      • tar.gz文件
    • 卸载
    • 查看安装软件
    • 查看文件夹下文件的数量
    • ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
    • 杀死进程
  • ssh连接linux服务器中断后,如何让命令继续在服务器运行
  • 硬件管理
    • io查看
    • swap管理
    • 创建
      • 1.创建swap文件
            • 填充一个文件用作swap (耗时)
      • 2.创建swap文件系统
      • 3.开启swap
      • 3.1 修改Priority
      • 4.关闭和删除原来的swapfile
    • 6.设置开机启动
      • 关闭
    • nvidia显卡操作
  • cpu设置
    • [ubuntu 18.04系统下CPU实时频率查看工具 cpupower](https://www.cnblogs.com/devilmaycry812839668/p/13982891.html)
    • cpu 查看
    • 内核信息查看
    • 内核锁定
    • linux安全登录
  • linux 代理连接
    • 远程连接
  • 报错
  • [OSError: libcudnn.so.7.0: cannot open shared object file: No such file or directory错误](https://www.cnblogs.com/liuwenhua/p/13590364.html)
  • ubuntu查看实时网速
  • ubuntu 关闭和打开图形界面
  • 使用xvfb虚拟帧缓存区环境执行X window程序
  • reference

-1. 查看系统版本

使用命令:cat /proc/version 查看

使用命令:uname -a 查看

lsb_release -a

1.Linux的文件权限与目录配置

1.1 使用者与群组

1.2 Linux文件权限概念

1.3 Linux目录配置

2.Linux文件与目录管理

2.1 目录与路径

2.2 文件与目录管理

2.3 文件内容查询

2.4 文件与目录的默认权限与隐藏权限

2.5 指令与文件的搜寻

3.Linux磁盘与文件系统管理

3.1 Linux文件系统

3.2 文件系统的简单操作

3.2.1 磁盘与目录的容量 df,du

df:列出文件系统的整体磁盘使用量

du:评估文件系统的磁盘使用量(常用在推估目录所占容量)

df [-ahikHTm] [目录或文件名]

-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;

-k :以 KBytes 的容量显示各文件系统;

-m :以 MBytes 的容量显示各文件系统;

-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;

-H :以 M=1000K 取代 M=1024K 的进位方式;

-T :连同该 partition 的 filesystem 名称 (例如 xfs) 也列出;

-i :不用磁盘容量,而以 inode 的数量来显示

3.2.2 实体链接与符号链接 ln

3.3 磁盘的分区、格式化、检验与挂载

3.4 设置开机挂载

3.5 内存交换空间(swap)之创建

3.6 文件系统的特殊观察与操作

4.文件与文件系统的压缩、打包与备份

4.1 压缩文件的用途与技术

4.2 Linux系统常见的压缩指令

4.3 打包指令:tar

4.4 XFS 文件系统的备份与还原

4.5 光盘写入工具

4.6 其他常见的压缩与备份工具

5. vim程序编辑器

6.认识与学习Bash

7.正则表达式与文件格式化处理

8.学习Shell scripts

9.Linux使用者管理

10.Linux账号管理与ACL权限设置

10.1 linux 的账号与群组

10.1.1 使用者识别码

10.1.2 使用者账号

那么你输入帐号密码后,系统帮你处理了什么呢?

  1. 先找寻 /etc/passwd 里面是否有你输入的帐号?如果没有则跳出,如果有的话则将该帐号对应的 UIDGID (在 /etc/group 中) 读出来,另外,该帐号的主文件夹与 shell 设置也一并读出
  2. 再来则是核对密码表啦!这时 Linux 会进入/etc/shadow里面找出对应的帐号与UID,然后核对一下你刚刚输入的密码与里头的密码是否相符?
  3. 如果一切都 OK 的话,就进入 Shell 控管的阶段啰!

10.1.3 关于群组:有效与初始群组、groups、newgrp

10.2 账号管理

10.2.1 新增与移除使用者:useradd,相关配置文件,passwd,usermod,userdel

10.2.2 使用者功能

一般身份使用者常用的账号数据变更与查询指令(id, finger, chfn, chsh)

id
finger
chfn
chsh

这是change shell的简写。

chsh -l #列出系统可用的shell
chsh -s #设置修改自己的shell

chsh -s []

1.临时切换到Bash

在当前shell中运行以下命令临时切换到Bash

/bin/bash

2.改变默认 Shell: 如果你想永久改变你的默认 shell,可以使用 chsh(change shell)命令。运行以下命令并按照提示操作:

chsh -s /bin/bash

完成后,你可能需要注销并重新登录以使更改生效。

3.检查用户账户设置

有时候,用户账户的默认 shell 被设置为了 sh 或其他 shell。你可以检查 /etc/passwd 文件来确认你的账户使用的是哪个 shell。使用以下命令查找你的用户条目:

grep "^$(whoami):" /etc/passwd

输出的最后部分会显示你的默认 shell。如果它不是 /bin/bash,你可以使用 chsh 命令来更改它。

不论是 chfnchsh ,都是能够让一般使用者修改 /etc/passwd 这个系统文件的!

10.2.3 新增与移除群组

10.2.4 账号管理实例

10.2.5 使用外部身份认证系统

11.磁盘配额(Quota)与进阶文件系统管理

12.例行工作调度(crontab)

13.程序管理与SELinux初探

13.1 什么是程序(process)

13.2 工作管理(job control)

13.2.1 什么是工作管理

13.2.2 job control的管理

13.2.3 离线管理问题

在工作管理当中提到的“背景”指的是在终端机模式下可以避免 [crtl]-c 中断的一个情境, 你可以说那个是 bash 的背景,并不是放到系统的背景去喔!所以,工作管理的背景依旧与终端机有关。如果你是以远端连线方式连接到你的 Linux 主机,并且将工作以 & 的方式放到背景去, 请问,在工作尚未结束的情况下你离线了,该工作会中断。

可以使用两个指令 nohup 和 screen 实现离线管理。

nohup
 nohup [指令与参数] &<==在终端机背景中工作
  • nohup 后台运行程序

nohup命令输入指定文件中

nohup ./start.sh >output 2>&1 & //指定输出到output文件
  • jobs

    jobs命令可以查看当前有多少在后台运行。

    jobs -l
    
    

    此命令可显示所有任务的PID,jobs的状态可以是running, stopped, Terminated。但是如果任务被终止了(kill),shell 从当前的shell环境已知的列表中删除任务的进程标识。

    将目前的工作丢到背景中“暂停” [ctrl] + z

    让工作在背景下的状态变为运行中: bg

screen

安装

apt install screen

列出所有窗口

screen -ls

创建窗口

screen -S name

退出当前窗口

ctrl + a d

恢复窗口

screen -r [pid] 

远程连接进入screen窗口后突然掉线,重连遇到进不去窗口时可以通过以下命令踢掉上一个进入窗口的进程,然后进入窗口

screen -D -r name

13.3 程序管理

13.4 特殊文件与程序

13.5 SELinux 初探

14.认识系统服务(daemons)

15.认识与分析登录文件

16.开机流程、模块管理与Loader

17.基础系统设置与备份策略

17.1 系统基本设置

17.2 服务器硬件数据的收集

17.3 备份要点

17.4 备份的种类、频率与工具的选择

17.4.1 完整备份之累积备份

17.4.2 完整备份之差异备份

rsync

rsync 用法教程 - 阮一峰的网络日志 (ruanyifeng.com)

使用rsync同步文件夹_rsync 文件夹-CSDN博客

Linux篇之利用rsync指令实现文件信息同步并做定时处理_rsync 定时运行_听说唐僧不吃肉的博客-CSDN博客

Linux下rsync(本地、远程)文件同步_罗德斯的博客-CSDN博客

它可以在本地计算机与远程计算机之间,或者两个本地目录之间同步文件(但不支持两台远程计算机之间的同步)。它也可以当作文件复制工具,替代cpmv命令。与其他文件传输工具(如 FTP 或 scp)不同,rsync 的最大特点是会检查发送方和接收方已有的文件,仅传输有变动的部分(默认规则是文件大小或修改时间有变动)。
安装

# Debian
$ sudo apt-get install rsync

# Red Hat
$ sudo yum install rsync

# Arch Linux
$ sudo pacman -S rsync

注意,传输的双方都必须安装 rsync。

基本用法

-r 参数

本机使用 rsync 命令时,可以作为cpmv命令的替代方法,将源目录同步到目标目录。

$ rsync -r source destination

上面命令中,-r表示递归,即包含子目录。注意,-r是必须的,否则 rsync 运行不会成功。source目录表示源目录,destination表示目标目录。

如果有多个文件或目录需要同步,可以写成下面这样。

$ rsync -r source1 source2 destination

上面命令中,source1source2都会被同步到destination目录。

-a 参数

-a参数可以替代-r,除了可以递归同步以外,还可以同步元信息(比如修改时间、权限等)。由于 rsync 默认使用文件大小和修改时间决定文件是否需要更新,所以-a-r更有用。下面的用法才是常见的写法。

$ rsync -a source destination

目标目录destination如果不存在,rsync 会自动创建。执行上面的命令后,源目录source被完整地复制到了目标目录destination下面,即形成了destination/source的目录结构。

如果只想同步源目录source里面的内容到目标目录destination,则需要在源目录后面加上斜杠。

$ rsync -a source/ destination

上面命令执行后,source目录里面的内容,就都被复制到了destination目录里面,并不会在destination下面创建一个source子目录。

-n 参数

如果不确定 rsync 执行后会产生什么结果,可以先用-n--dry-run参数模拟执行的结果。

$ rsync -anv source/ destination

上面命令中,-n参数模拟命令执行的结果,并不真的执行命令。-v参数则是将结果输出到终端,这样就可以看到哪些内容会被同步。

--delete 参数

默认情况下,rsync 只确保源目录的所有内容(明确排除的文件除外)都复制到目标目录。它不会使两个目录保持相同,并且不会删除文件。如果要使得目标目录成为源目录的镜像副本,则必须使用--delete参数,这将删除只存在于目标目录、不存在于源目录的文件。

$ rsync -av --delete source/ destination

上面命令中,--delete参数会使得destination成为source的一个镜像。

rsync -avz --progress  --ignore-existing -e 'ssh -p 35878 -o "ProxyCommand=nc -x localhost:1080 %h %p"' /media/jackma/OS/dexycb/ usr@10.115.115.162://home/data/mjj/docker/



​```shell
rsync -avz --progress  -e 'ssh -p 22339' --timeout 60  root@10.80.29.7:/remote-home/2210974/study/gSDF/outputs/pose_kpt/2023_0828_17-13_dexycbs0_132k_resnet18_rot0_6d_d1_pld1_h1_o0_norm0_e100_b64_vw1.0_ocrw0.0_how1.0_sow0.0/model_dump/snapshot_99.pth.tar  outputs/pose_kpt

17.5 备份策略

18.软件安装RPM、SRPM与YUM

19.X Window设置介绍

20.Linux核心编译与管理

用户权限

方法一、修改passwd文件

1、编辑passwd文件

sudo vim /etc/passwd

2、找到你想提权的用户(比如test),将用户名后面的数字改成0

找到用户test
test:x:1000:1000::/home/test

修改权限
test:x:0:0::/home/test

3、重启电脑,登录test账户。

文件管理

文件目录的查看ls

文件路径当前

  • 终端 pwd
  • 可视化界面 ctrl + L

文件权限管理

cnblogs

作为新手,如何更改文件夹的拥有者,或者修改文件夹的权限。 ubuntu有两个修改命令可以使用,[change mode] & [change owner]

即chmod和chown,其中可以用递归参数-R来实现更改所有子文件和子目录的权限。

1. 利用chmod修改权限
chmod -R 700 Document/

常用方法如下:

sudo chmod 600 xx # (read and write only by owner)
sudo chmod 644 xx # (read and write by owner, only read by group user)
sudo chmod 700 xx # (read, write and run by owner)
sudo chmod 600 xx # (read and write by every user)
sudo chmod 777 xx # (read, write and run by every user)

2. 利用chown改变所有者
chown -R username:users xx/ # do the same owner change for all files and subdirs in xx, and the owner is the user named username of the group named users.s

压缩

安装

apt-get install zip 

zip -r zipname.zip filename

解压缩

安装

apt-get install unzip

!tar zxvf flower_photos.tgz #解压数据集
!unrar e /content/1.rar#忽略文件夹
!unrar x /content/1.rar#获得文件夹
!unzip filename.zip -d[指定解压的文件夹]
find -maxdepth 1 -name "*.gz"|xargs -i tar zxvf {} # 1代表在当前文件夹所有,2表示下层文件夹,依次类推

文件移动复制

cp

假设复制源目录 为 dir1 ,目标目录为dir2。怎样才能将dir1下所有文件复制到dir2下了
如果dir2目录不存在,则可以直接使用
cp -r dir1 dir2
即可。
如果dir2目录已存在,则需要使用
cp -r dir1/. dir2

scp

一、从本地服务器复制到远程服务器:

(1) 复制文件:

[root@localhost ~]``# scp local_file remote_username@remote_ip:remote_folder``[root@localhost ~]``# scp local_file remote_username@remote_ip:remote_file` `[root@localhost ~]``# scp local_file remote_ip:remote_folder``[root@localhost ~]``# scp local_file remote_ip:remote_file

第1,2个已指定了用户名,命令执行后需要输入用户密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名。

第3,4个没有指定用户名,命令执行后需要输入用户名和用户密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名。

(2) 复制目录:

[root@localhost ~]``# scp -r local_folder remote_username@remote_ip:remote_folder` `[root@localhost ~]``# scp -r local_folder remote_ip:remote_folder

二、从远程服务器复制到本地服务器:

*(1)* 从远处复制文件到本地目录

[root@localhost ~]``# scp root@192.168.1.68:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/

从192.168.1.68机器上的/opt/soft/的目录中下载nginx-0.5.38.tar.gz 文件到本地/opt/soft/目录中

(2) 从远处复制目录到本地目录

[root@localhost ~]``# scp -r root@192.168.1.68:/opt/soft/mongodb /opt/soft/

从192.168.1.68机器上的/opt/soft/的目录中下载mongodb 目录到本地的/opt/soft/目录来。

文件下载

为wget命令设置代理 - FrankYou - 博客园

设置回收站

zhihu

1.创建回收站路径

cd ~ && mkdir .trash #/root/.trash 

2.重新定义rm命令

vim ~/.bashrc

更改为以下内容

# rm transform
function rm() {
    # 定期清理回收站,时间可调整
    now=$(date +%s)
    for s in $(ls --indicator-style=none $HOME/.trash/) ;do
        dir_name=${s//_/-}
        dir_time=$(date +%s -d $dir_name)
        # if big than one month then delete
        if [[ 0 -eq dir_time || $(($now - $dir_time)) -gt 2592000 ]] ;then
            echo "Trash " $dir_name " has Gone "
            /bin/rm $s -rf
        fi
    done
    # 重写rm命令,将文件mv到回收站下
    prefix=$(date +%Y_%m_%d)
    hour=$(date +%H)
    mkdir -p $HOME/.trash/$prefix/$hour
    if [[ -z $1 ]] ;then
            echo 'Missing Args'
        return
    fi
    echo "Hi" ${!#} "已被移到"$HOME/.trash/$prefix/$hour"~"
    mv ${!#} $HOME/.trash/$prefix/$hour
}

3.生效

source ~/.bashrc

修改密码

sudo passwd user

程序运行

后台执行任务

定时执行任务

  • at 延时执行任务

    时间格式

    1.now

    2.指定时间04:00

    3.具体时间 04:00 2009-03-01

    4.now+count time-untis

软连接

  • ln 软连接,快捷方式 在快捷方式目录下执行
mkdir -p data/coco
mkdir -p path_to_coco_dataset/annotations
ln -s ${源文件的绝对地址} ${快捷方式}

命令行关机重启

关机

halt  立刻关机(一般加-p 关闭电源)

shutdown [option] [time] [message]

例如,要立即关闭计算机,您将使用:

shutdown -h now

如果你想包含一条信息,这条信息将会显示给所有已登录的用户:

linuxidc@linuxidc:~/linuxidc.com$ shutdown -h +9 "服务器正在关闭,请保存您的工作并注销。"

重启

由于shutdown命令具有重启选项,因此了解reboot命令有关闭选项也就不足为奇了。

shutdown -r now 立刻重启

shutdown -r 10 过10分钟自动重启

标准的重启命令是:

reboot

这将提示您的计算机自动关闭,然后再重新打开。然而,如果你想关掉设备,那么-p开关将工作:

reboot -p

文件夹的创建、复制、剪切、重命名、清空和删除

文件夹挂在内存中

 sudo mount -t tmpfs -o size=3100M tmpfs ./split_data/

  1. du -sh

查看当前文件夹大小

Linux查找大文件、大目录 - 解决磁盘空间不足的问题

linux下文件夹的创建、复制、剪切、重命名、清空和删除命令

挂载NAS

linux自动挂载NAS

Linux下自动挂载群晖Nas(通过CIFS)

Windows下群晖Nas自带的smb发现可以很方便地在计算机中管理,但是linux中无法直接体验到这种好处。个人因为某些原因并未开启NAS的NFS功能,想通过CIFS来挂载NAS文件,岁有了这篇文章。

一、安装前置所需软件

nfs-commoncifs-utils是必须的前置软件(在Ubuntu发行版下)

sudo apt install -y nfs-common cifs-utils

二、编辑自动挂载文件并挂载

编辑/etc/fstab文件

sudo vim /etc/fstab

linux运维–修改已经挂载目录的名称

需求:
部署某个产品软件的时候,假设必须要/work目录下有200g磁盘大小,如果就单纯的在/目录下创建/work目录,这个磁盘大小会占用/目录的磁盘大小,所以需要创建/work目录后,并且把这个目录挂载到某个磁盘中去,这样/work目录占用的才是挂载磁盘的大小。这里可以通过df -Th命令,查看某个已经挂载好了的目录,假设是/data 它有200g,我们只需要把这个200g的/data变成/work即可,如下是操作步骤:

1.如何把一个挂载好的200g目录,假设是/data 变成/work
(1)df -Th (查看/data挂载目录的磁盘大小有200g满足需求)
得到 /dev/mapper/centos-swap 200.0G 33M 2.000G 2% /data
(2)umount /data (把/data和挂载磁盘卸载)
(3)mv /data /work (对/data文件改名为目标目录/work)
(4)vim /etc/fstab (编辑fstab,实现永久挂载)
/dev/sdb6 /data02 ext4 defaults 0 0
修改:把其中的/data 变成 /work
(5)mount -a

linux中利用fstab实现磁盘分区自动挂载

添加如下内容:
//your_nas_ip/dir /mnt/mountdir cifs rw,dir_mode=0777,file_mode=0777,vers=2.0,username=yourusername,password=yourpassword 0 0

#NAS auto mount
//your_nas_ip/dir /mnt/NAS/dir cifs rw,dir_mode=0777,file_mode=0777,vers=2.0,username=yourusername,password=yourpassword 0 0

Shell

复制

其中,your_nas_ip代表你的NAS的访问地址, dir代表NAS下的分享挂载点,/mnt/mountdir代表本设备要挂载到的路径,yourusername为访问的用户名,yourpassword为访问用户的密码,如果设置是匿名访问则不需要username与password两项设置并改为guest

附:关于/etc/fstab文件的语法详解

编辑并保存完毕后,执行

sudo mount -a

Shell

复制

如果没有任何报错与提示信息,则成功挂载~

实例

我的NAS地址为192.168.123.254,NAS的分享目录为/download,我想将其挂载到/mnt/nas/download,用户名为user1,密码为psw123456

创建挂载到的文件夹

sudo mkdir /mnt/nas/download && sudo chmod -R 777 /mnt/nas/download

Shell

复制

/etc/fstab文件中添加自动挂载内容

//192.168.123.254/download /mnt/nas/download cifs rw,dir_mode=0777,file_mode=0777,vers=2.0,username=user1,password=psw123456 0 0

Shell

复制

最后执行挂载指令

sudo mount -a

创建文件夹

mkdir 

删除

rm [选项] 文件
  -f, --force          强力删除,不要求确认
  -i                       每删除一个文件或进入一个子目录都要求确认
  -I                       在删除超过三个文件或者递归删除前要求确认
  -r, -R                递归删除子目录
  -d, --dir             删除空目录
  -v, --verbose     显示删除结果
============================================================================
常用如下几个:
rm -d 目录名              #删除一个空目录
rmdir 目录名              #删除一个空目录
rm -r 目录名              #删除一个非空目录
rm 文件名                  #删除文件

在终端进到那个文件夹,然后执行:
sudo rm -rf 文件夹名
如果还是不行,就用
sudo chmod 777 文件夹名
sudo rm -rf 文件夹名

执行文件

sh

sh 文件路径

kill暂停线程

 kill -STOP 12330

kill 恢复线程执行

 kill -CONT 12330

应用文件的执行

\1. chmod +x filename

\2. ./filename 就可以执行了!!!

注:把filename替换为你要安装的文件名。

vim

G 跳转到文件尾部:

gg 跳转到文件开始

按ESC键 跳到命令模式,然后输入:

:q -不保存文件,退出 

:q! -不保存文件,强制退出 

:w - 保存文件,不退出 

:w newfilename - 另存为不退出

:w! -强制保存,不退出 

:wq -保存文件,退出 

:wq! -强制保存文件,退出 

:r!date #插入时间戳

安装

在LINUX下如何将tar压缩文件解压到指定的目录下

deb文件

sudo dpkg -i deb文件  # 安装
sudo apt-get install -f # 修复安装
sudo apt --fix-broken install # 修复安装
sudo dpkg -r 软件名 # 卸载
sudo dpkg -r --purge 软件名 # 连同配置文件卸载

ta.xz

tar -xf cudnn-linux-x86_64-8.7.0.84_cuda11-archive.tar.xz

1、压缩命令:

命令格式:

tar -zcvf 压缩文件名.tar.gz 被压缩文件名

tar.gz文件

Linux tar.gz、tar、bz2、zip 等解压缩、压缩命令详解 | 菜鸟教程

tar zxvf FileName.tar.gz
cd FileName
./configure
make
sudo make install

卸载

apt-get purge / apt-get –purge remove
删除已安装包(不保留配置文件)。
如软件包a,依赖软件包b,则执行该命令会删除a,而且不保留配置文件

apt-get autoremove
删除为了满足依赖而安装的,但现在不再需要的软件包(包括已安装包),保留配置文件。

apt-get remove
删除已安装的软件包(保留配置文件),不会删除依赖软件包,且保留配置文件。

apt-get autoclean
APT的底层包是dpkg, 而dpkg 安装Package时, 会将 *.deb 放在 /var/cache/apt/archives/中,apt-get autoclean 只会删除 /var/cache/apt/archives/ 已经过期的deb。

apt-get clean
使用 apt-get clean 会将 /var/cache/apt/archives/ 的 所有 deb 删掉,可以理解为 rm /var/cache/apt/archives/*.deb。

查看安装软件

0buntu查看文件夹下文件的个数

1.查看安装的所有软件

dpkg -l

例如:dpkg -l | grep ftp

2.查看软件安装的路径

dpkg -L | grep ftp

也可以用 whereis ftp

3.查看软件版本

aptitude show

例如:aptitude show ftp

查看显卡

nvidia-smi

| NVIDIA-SMI 440.82       Driver Version: 418.67       CUDA Version: 10.1     |
        命令版本                  显卡驱动版本                   CUDA版本

| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
   显卡名             持久模式     总线ID       显示初始化  ECC纠错
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
风扇转速 温度  性能模式 功率                 显存使用量     显卡核心使用率 计算模式


sudo nvidia-smi -pm 1#设置显卡为持久模式

中断linux施法

  1. 发一个中断信号,具体来说就是Ctrl+C;

查看文件夹下文件的数量

ls -l |grep "^-" | wc -l

查看指定格式文件数量

ls ./ | grep .png | wc -l

ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

使用pip安装cairoffi时爆出错误
更新了pip之后仍然有错误
需要更新setuptools才能生效

sudo pip install --upgrade setuptools

限制进程的cpu使用

sudo cpulimit --pid 17918 --limit 50

杀死进程

Linux用ps命令查找进程PID再用kill命令终止进程的方法

kill -9 324

强行中止(经常使用杀掉)一个进程标识号为324的进程:

ssh连接linux服务器中断后,如何让命令继续在服务器运行

硬件管理

io查看

Linux(Ubuntu)之iotop命令_WZ18810463869的博客-CSDN博客

swap管理

创建

1.创建swap文件

sudo dd if=/dev/zero of=[swap文件名] bs=1M count=[块数量]
sudo dd if=/dev/zero of=swap bs=1M count=1024

填充一个文件用作swap (耗时)
[swap的文件名]` 是用作swap文件的文件名,自行设定
 需要设置的swap大小 = 1M * `[块数量]`
 设置1GB就是 1M * 1024,即 `[块数量]` 为 `1024

2.创建swap文件系统

sudo mkswap -f [swap文件名]

3.开启swap

sudo swapon [swap文件名]

3.1 修改Priority

修改Priority为1:

$ sudo swapon -p 1 /dev/nvme0n1p6

4.关闭和删除原来的swapfile

sudo swapoff [swap文件名]
sudo rm [swap文件名]

6.设置开机启动

# 编辑 /etc/fstab
sudo vim /etc/fstab

[swap文件的绝对路径] swap swap defaults 0 0

csdn

关闭

swapoff -a # 临时关闭

vim /etc/fstab #永久关闭

nvidia显卡操作

zhihu

1.限制显卡功耗

sudo nvidia-smi -pm 1 # 允许调节
sudo nvidia-smi -pl 200 # 调节显卡功耗, 注意不能太低, 否则会执行高负载任务可能会失败重启
sudo nvidia-smi -cc 1 # 使用p0性能模式计算, 默认是p2, 玄学, 效果不明显

cpu设置

Ubantu下CPU睿频以及频率的设置

ubuntu 18.04系统下CPU实时频率查看工具 cpupower

cpupower 安装

cpu型号查询

cat /proc/cpuinfo

cpu 查看

lscpu

内核信息查看

uname -a

内核锁定

查看可用内核

dpkg --list | grep linux-image
dpkg --list | grep linux-headers
dpkg --list | grep linux-modules

修改内核配置文件

vim /etc/default/grub
apt-mark hold linux-image
apt-mark hold linux-headers
apt-mark hold linux-modules
apt-mark hold linux-modules-extra 

更新内核配置并重启

update-grub
reboot

某线程资源查看

 top -p -H 12330

linux安全登录

  1. 修改端口号

vi /etc/ssh/sshd_config
Port 22
Port 60000
保存并退出

[root@localhost /]#service ssh restart

2.配置各自用户的 ssh 公钥认证,强制关闭密码登录,关闭 root 账号登录

安装并启用 ssh fail2ban 这样防止暴力破解密码的服务

RSA登录

linux 代理连接

zhihu

远程连接

vscode 通过代理连接远程服务器(win10) - 知乎

安装vscode和remote ssh插件后,配置config文件(c:\Users\user_name.ssh\config)

正常的远程连接

Host 39.99.155.229
  #目标机ip
  HostName 39.99.155.229
  #登入的用户名,可以不是root
  User root
  Port 22

通过代理远程连接

Host zju162kaiwu
  HostName 10.115.115.162
  User xx
  Port 35878
  ProxyCommand "D:\Program Files\Nmap\ncat.exe" --proxy-type socks5 --proxy 192.168.0.116:1080 %h %p

与普通连接不同的是:新增ProxyCommand 命令,其中“xx.xx.x.xxx:xxxx”是代理服务器的ip和端口。win10自带的openssh貌似和ProxyCommand不适配,因此采用ncat

--proxy-type <type>    Specify proxy type ("http", "socks4", "socks5")

ncat软件官网

ncat使用手册

报错

OSError: libcudnn.so.7.0: cannot open shared object file: No such file or directory错误

因为cuda的路径可能设置错了

sudo ldconfig /usr/local/cuda/lib64

ubuntu查看实时网速

安装

apt install ifstat

使用,直接打命令就行

ifstat

ubuntu 关闭和打开图形界面

systemctl set-default multi-user.target
systemctl set-default graphical.target

使用xvfb虚拟帧缓存区环境执行X window程序

在 Ubuntu 或 Debian Linux 中,可以使用 apt 安裝 xvfb 套件

sudo apt install xvfb

在沒有 X Window 的環境之下,可以改用 Xvfb 環境來執行

xvfb-run --auto-servernum xx

打开多个运行窗口

xvfb-run -a python ***.py

Linux 使用 Xvfb 虛擬幀緩衝區環境執行 X Window 視窗程式

关于xvfb打开第二个运行窗口的解决方法

xvfb 初步探究

reference

ubuntu安装教程

zju镜像站

[电子书](./24_0121_02-鸟哥的Linux私房菜 基础学习篇 第四版.mobi)


http://www.kler.cn/a/532760.html

相关文章:

  • Spring Boot常用注解深度解析:从入门到精通
  • Nacos 的介绍和使用
  • 架构规划之任务边界划分过程中承接分配
  • 使用开源项目:pdf2docx,让PDF转换为Word
  • 电控---中断
  • ubuntu22.40安装及配置静态ip解决重启后配置失效
  • Linux(Centos)安装allnnlp失败,jsonnet报错
  • git进阶--4---git rebase 和 git merge的区别与联系
  • kubernetes 核心技术-Helm
  • MySQL 事务实现原理( 详解 )
  • 【web js逆向分析易盾滑块fp参数】逆向分析网易易盾滑块的 fp 参数,仅供学习交流
  • 渗透笔记2
  • 人工智能赋能企业系统架构设计:以ERP与CRM系统为例
  • 【零基础到精通】小白如何自学网络安全
  • 5 前端系统开发:Vue2、Vue3框架(上):Vue入门式开发和Ajax技术
  • 【大数据技术】案例03:用户行为日志分析(python+hadoop+mapreduce+yarn+hive)
  • 【医学影像 AI】EyeMoSt+:用于眼科疾病筛查的置信度感知多模态学习框架
  • 分享从零开始学习网络设备配置--任务6.5 实现园区网安全接入互联网
  • 网工_CSMA/CD协议
  • 【C语言深入探索】:指针高级应用与极致技巧(二)
  • C/C++炫酷烟花②(完整代码)
  • 5 前端系统开发:Vue2、Vue3框架(中):Vue前端工程化组件式开发
  • 跨域问题和解决方案
  • 【物联网】ARM核常用指令(详解):数据传送、计算、位运算、比较、跳转、内存访问、CPSR/SPSR
  • 基础笔记|splice()的用法
  • minikube 的 Kubernetes 入门教程--Ollama