ubuntu维护日常

Posted by HieDean on March 19, 2020

复制文件

cp [选项] 源文件 目标文件

.sh文件的运行

sh xx.sh

查看进程杀死进程

ps

通过pid查看进程

ps -ef|grep pid

杀死进程

kill -9 [PID]

查看显卡状态

nvidia-smi linux下可以使用该命令实时监控显卡状态 watch -n 1 nvidia-smi(其中数字1是1秒刷新一次)

查看CPU占用率、内存占用率

top

添加Anaconda3环境变量

# 将anaconda的bin目录加入PATH
echo 'export PATH="~/anaconda3/bin:$PATH"' >> ~/.bashrc
# 更新bashrc以立即生效
source ~/.bashrc

win10下使用cmder上传文件至ubuntu服务器

scp 本地文件 Linux用户名@IP地址:目标文件夹

scp 多个文件

scp 本地文件 Linux用户名@IP地址:目标文件夹\{file1,file2\}

查看目录大小

du -sh

梁神安利的tmux

新建一个session

tmux new -s xxx

进入session

tmux a -t xxx

查看session列表

tmux ls

退出session但不关闭session,使其在后台运行

tmux detachCtrl+b d

退出session,且不在后台运行

Ctrl+d

杀死session

tmux kill-session -t xxx

切换session

tmux switch -t xxx

ubuntu下如何设置静态IP

https://www.cnblogs.com/chenfool/p/7985909.html

https://www.cnblogs.com/EasonJim/p/8072953.html

查看当前目录下的文件个数(不包含子目录)

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

查看当前目录下的文件数量(包含子目录中的文件) 注意:R,代表子目录

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

查看当前目录下的文件夹目录个数(不包含子目录中的目录),同上述理,如果需要查看子目录的,加上R

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

如何将/home迁移挂载在另一个分区或者硬盘上呢?

常用命令介绍

https://daemon369.github.io/linux/2018/01/06/01-get-disks-info-in-linux

可以看到机器上有几块硬盘

lsblk sudo lshw -class disk

可以看到挂载关系

df -h

可以看磁盘分区情况

sudo fdisk -l

显示所有目录与文件,包括隐藏目录和文件

ls -a

迁移过程

首先创建一个临时挂载点,并把目的分区或硬盘文件挂载至临时挂载点

sudo mkdir /mnt/tmp
sudo mount /dev/sdb /mnt/tmp

/home同步至临时挂载点

sudo rsync -avx /home/ /mnt/tmp

同步后最好进入临时挂载点检查一下,检查好后删除/home下的所有东西并卸载/home

rm -rf /home/*  
umount -l /home

将硬盘挂载至/home

sudo mount /dev/sdb /home

获取硬盘信息,记录UUIDTYPE

sudo blkid

编辑/etc/fstab,将以下代码添加在最后

UUID=175ab25f-5190-4df7-8795-8a00a0f78fd6 /home ext4 defaults 0 2

过程中出现的一些问题
  1. linux 挂载时出现mount: wrong fs type, bad option, bad superblock on /dev/sdb

    这是因为sdb的文件系统格式不对,使用sudo mkfs -t ext4 /dev/sdb对sdb进行格式话(注意提前备份重要文件)

  2. 卸载硬盘时出现umount: /mnt/sdb: target is busy.

    通过lsof /mnt/sdb查看对应进程的pid,然后kill -9 pid杀掉它

  3. 挂载硬盘时出现

    ntfs_attr_pread_i: ntfs_pread failed: Input/output error Failed to read NTFS $Bitmap: Input/output error NTFS is either inconsistent, or there is a hardware fault, or it's a SoftRAID/FakeRAID hardware. In the first case run chkdsk /f on Windows then reboot into Windows twice. The usage of the /f parameter is very important! If the device is a SoftRAID/FakeRAID then first activate it and mount a different device under the /dev/mapper/ directory, (e.g. /dev/mapper/nvidia_eahaabcc1). Please see the 'dmraid' documentation for more details.

    使用sudo ntfsfix /dev/sdb3进行修复,然并卵。还是卸下来在win设备上修复吧!

  4. 挂载磁盘不成功显示mount: /mnt: wrong fs type, bad option, bad superblock on /dev/sdb2, missing codepage or helper program, or other error.

    输入lsblk -f查看/dev/sdb2有没有文件系统格式

     NAME   FSTYPE  LABEL       UUID          MOUNTPOINT
     sda
     ├─sda1 ext4                uuid          /boot
     ├─sda2 xfs                 uuid          /
     ├─sda3 swap                uuid          [SWAP]
     ├─sda4
     └─sda5 xfs                 uuid          /home
     sdb       
     ├─sdb1             
     ├─sdb2
     └─sdb3               
    

    没有文件系统格式,所以mkfs -t ext4 /dev/sdb2,然后就可以挂载了

sudo apt-get install时出现

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?

其实这是因为有另外一个程序在运行,导致锁不可用。原因可能是上次运行更新或安装没有正常完成。解决办法是杀死此进程

sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock

安装软件或apt更新时出现0% connecting to archive.ubuntu.com

一般都是IPV6网络问题 用任意编辑器(nano,vim,vi,emacs)打开/etc/gai.conf文件。 然后找到以下部分(大概在50多行的样子):

#
#    For sites which prefer IPv4 connections change the last line to
#
#    precedence ::ffff:0:0/96 100

将第四行的注释去掉即可。这样IPV6依然是打开的,但是系统会优先使用IPV4

apt更新时出现0% [Waiting for headers]

sudo apt-get clean

压缩某个目录下的全部文件

zip -r -y ./exampleDir.zip ./exampleDir/*

查看文件大小

ls -hl filename

fdisk的使用(对linux磁盘与分区的简单理解)

首先我们知道linux下所有的外设都放置在/dev目录下,打开这个目录我们可以找到sdasdbsdc等等,每一个都代表了一块连接在主板上的物理硬盘,如硬盘上有分区存在,我们还可以看到sda1sda2等等

使用fdisk -l命令可以看到所有的磁盘与分区,如果想要对某一磁盘或分区进行操作,可以使用fdisk /dev/sdafdisk /dev/sda1,诸如此类

我使用fdisk /dev/sdc管理一块4T的硬盘,系统提示说The size of this disk is 3.7 TiB (4000787030016 bytes). DOS partition table format cannot be used on drives for volumes larger than 2199023255040 bytes for 512-byte sectors. Use GUID partition table format (GPT).

此时我使用g创建了GUID格式的分区表(分区表保存在硬盘的前2048扇区还是啥来着?),然后便可以对硬盘进行分区删除、分区新建等操作

命令行下的teamviewer

https://blog.csdn.net/wuchenlhy/article/details/79863724

ubuntu拨号上网,频繁断网

https://blog.csdn.net/HuaCode/article/details/87116857

https://www.cnblogs.com/gaowengang/p/8331364.html

出现了System is booting up. See pam_nologin(8)ssh不能远程登录了

sudo vim /etc/pam.d/sshd

注释掉account required pam_nologin.so