(2021-12-20~)linux日常

1. ubuntu中将文件夹打包成iso的命令

要将某个文件夹打包成iso,减少硬盘中的文件数量,可以在需要打包的文件夹的父文件夹中使用下面的命令。

`mkisofs -o aa.iso -J -R -V bb ccFloder`

其中 aa.iso为需要打包成的iso文件名,-V后面的bb为指定光盘的卷册集ID,ccFloder为需要打包的文件夹名字。

如果需要保持原始文件名,要添加-J参数,否则打包后,文件名全改变了。见第一个参考网址。

如果需要排除部分文件夹,可以使用-x excludefolder,具体见第二个网址。

所有的参数说明,见第三个网址。

参考网址:

https://zhidao.baidu.com/question/2203263841064787548.html

https://zhidao.baidu.com/question/680880446035239332.html

https://www.geek-share.com/detail/2750671073.html

出处:http://www.cnblogs.com/darkknightzh/p/8564483.html

2. 涉及染色体的for循环

既有数列又有字母的情况下,数列用{起点..终点}表示,用空格和字母分开


for i in {1..23} X Y

  do 

  echo "当前运行${i}号染色体"

done

3. Ubuntu的空间不足

如果/所在分区空间不足,有可能导致无法进入图形界面。

运行一个程序时,该程序要将一些数据库文件先下载到/tmp,然后再解压缩。我的/tmp和/在一个分区中,一共只有32G,一不小心被占满了。就在我正在删除一些不需要的程序腾挪空间时,电脑需要重启。结果无法进入图形界面。停留在大黑屏状态,一个光标一闪一闪,但是什么也打不出来。

幸好还可以进入windows(我是双系统)。

参照https://www.cxyzjd.com/article/dengjiaorong6093/102228940,好在还可以通过ctrl + alt + F6进入命令行。

在命令行下查看

各个分区的使用情况:`df -h`

    发现/所在的/dev/sdb5被占用的满满的。

各个目录的大小:`du -sh *`

    比较大的是   /home  44G

                          /usr  7.9G

                          /snap 7G

                          /var 31G

/home 和 /usr各有一个比较大的单独分区,所以没事儿。

snap据说是现在的ubuntu的一个新技术,听起来像是windows的系统还原。但是许多软件都有几个不同旧版本的snap被load成loop,很占空间。估计启动变慢也和这个有关。等有空儿了看看这个怎么解决。这里面/snapd占了2.9G,其中1.4G是cache,删掉了;另外1.2G是/snaps,没敢乱删。

/var中占用最多的是/docker,主要在其下的/overlay2中。这个倒是可以删除几个暂时不用的docker image,反正还可以再下载。(上面那篇文章提到的/var/lib/apt是不是也大,回头看看)

不过删除docker image也有讲究。需要先删除其容器,再删除image。

    #查看镜像

    docker image ls

    #列出容器

    docker ps -a

    # 删除容器

    docker rm [容器序号(只写开头即可)]

    # 如果容器很多,需要删除全部容器,则可使用命令

    docker rm $(docker ps -a -q)

    # 删除镜像

    docker rmi [镜像号或其他标识]

,腾出空间后,就可以进入图形界面了。

2022-2-7

追记:

批量运行数据分析时,每次会生成若干容器;每个容器虽小,但积少成多,竟也占满了15G空间,导致运行失败。

这个东北小伙的情况和我比较像,可以参考。

https://zhuanlan.zhihu.com/p/347876565

还有一篇

https://tech.mindseed.cn/Linux/785.html

4. <插播> 如何在中插入代码框

答案是先将编辑器改成Markdown,

然后使用 插入单行代码

使用 插入大段代码

比如:


import pandas as pd

# 读取练习数据,文件路径为'./工作/test_data.csv',编码格式为'utf-8'

test_data = pd.read_csv(r'I:\test_data.csv')

# 查看 test_data

test_data

参考文献:

https://cloud.tencent.com/developer/article/1196215

https://www.jianshu.com/p/f8a3f8275a06

5. 关于软链接 (2022-2-15 14:36)

来自:https://blog.csdn.net/m290345792/article/details/78518360

大家都知道,有的时候,我们为了省下空间,都会使用链接的方式来进行引用操作。同样的,在系统级别也有。在Windows系列中,我们称其为快捷方式,在Linux中我们称其为链接(基本上都差不多了,其中可能有差别,但是那又怎样呢?我们只要实现我们的效果,谁会有精力去管它茴香的茴字有几种写法呢?)。

Windows老姑娘的那几个姿势这里就不赘述了,我们今天主要说下Linux中的茴香的茴字怎么写。说错了,是Linux中的软链接怎么操作。

在Linux中,链接分为软的和硬的,至于两者之间有什么差别,大家可以参考下https://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/

链接绕不过ln/link 命令(当然,如果你用图形界面的话,接写来你就当我说的是废话了,您可以直接关闭当前页面了)。关于ln的命令详解,我们在后面再说。

创建软链接

ln -s [源文件或目录] [目标文件或目录]

例如:

当前路径创建test 引向/var/www/test 文件夹

ln -s /var/www/test test

创建/var/test 引向/var/www/test 文件夹

ln -s /var/www/test /var/test

删除软链接

和删除普通的文件是一眼的,删除都是使用rm来进行操作

rm –rf 软链接名称(请注意不要在后面加”/”,rm –rf 后面加不加”/” 的区别,可自行去百度下啊)

例如:

删除test

rm –rf test

修改软链接

ln –snf [新的源文件或目录] [目标文件或目录]

这将会修改原有的链接地址为新的地址

例如:

创建一个软链接

ln –s /var/www/test /var/test

修改指向的新路径

ln –snf /var/www/test1 /var/test

好了,基本上的增加、删除、修改都在这了。

-------------------------我是有深度的分割线------------------------

如果您想更深入的了解,可以ln –help 查看详细。

常用的参数:

-b 删除,覆盖以前建立的链接

-d 允许超级用户制作目录的硬链接

-f 强制执行

-i 交互模式,文件存在则提示用户是否覆盖

-n 把符号链接视为一般目录

-s 软链接(符号链接)

-v 显示详细的处理过程

(当前路径创建test 引向/var/www/test 文件夹 )

————————————————

版权声明:本文为CSDN博主「沛沛老爹」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/m290345792/article/details/78518360

评:
1) 原文中的-s前面连接符写成中文的了, 需要注意。
2) ln -s folder_A folder_B 的效果是在folder_B下建立了folder_A的快捷方式。而非将folder_B直接映射到folder_A, 所以要考虑下命名问题。

6. 解决docker占用空间的问题(2022-02-16 15:29:31)

参照: 修改 Docker 镜像默认存储位置的方法中介绍的第一种方法(软链接法)
先用 df -h 查看磁盘使用情况。/usr基本没有怎么用。

(base) ngs@ngs-linux:~/biosoft$ df -h
文件系统        容量  已用  可用 已用% 挂载点
udev             16G     0   16G    0% /dev
tmpfs           3.2G  1.9M  3.2G    1% /run
/dev/sdb5        32G   15G   16G   48% /
/dev/sdb2       436G  8.1G  406G    2% /usr
tmpfs            16G     0   16G    0% /dev/shm
tmpfs           5.0M  4.0K  5.0M    1% /run/lock
tmpfs            16G     0   16G    0% /sys/fs/cgroup
/dev/loop0      128K  128K     0  100% /snap/bare/5
/dev/loop1      216M  216M     0  100% /snap/code/87
/dev/loop3       18M   18M     0  100% /snap/chromium-ffmpeg/24
/dev/loop4      111M  111M     0  100% /snap/core/12603
/dev/loop2      213M  213M     0  100% /snap/code/88
/dev/loop5       56M   56M     0  100% /snap/core18/2284
/dev/loop6       62M   62M     0  100% /snap/core20/1328
/dev/loop8      165M  165M     0  100% /snap/gnome-3-28-1804/161
/dev/loop7      219M  219M     0  100% /snap/gnome-3-34-1804/77
/dev/loop9      248M  248M     0  100% /snap/gnome-3-38-2004/87
/dev/loop10     291M  291M     0  100% /snap/kde-frameworks-5-qt-5-14-core18/4
/dev/loop11     324M  324M     0  100% /snap/kde-frameworks-5-qt-5-15-core20/14
/dev/loop12      66M   66M     0  100% /snap/gtk-common-themes/1519
/dev/loop13     249M  249M     0  100% /snap/gnome-3-38-2004/99
/dev/loop14     156M  156M     0  100% /snap/opera/160
/dev/loop15      44M   44M     0  100% /snap/snapd/14549
/dev/loop16      55M   55M     0  100% /snap/snap-store/558
/dev/sdb3       385G   69G  297G   19% /home
tmpfs           3.2G  104K  3.2G    1% /run/user/1000
/dev/sdc1       4.6T  3.6T  1.1T   78% /media/ngs/BAM5T
/dev/loop17     111M  111M     0  100% /snap/core/12725

关于/usr目录

这个目录中包含了命令库文件和在通常操作中不会修改的文件。
这个目录对于系统来说也是一个非常重要的目录,其地位类似Windows上面的”Program Files”目录(安装程序的时候,默认就是安装在此文件内部某个子文件夹内。输入命令后系统默认执行/usr/bin下的程序(当然,前提是这个目录的路径已经被添加到了系统的环境变量中。此目录通常也会挂载一个独立的磁盘分区,它应保存共享只读类文件,这样它可以被运行Linux的不同主机挂载。
————————————————
版权声明:本文为CSDN博主「chaowu1993」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_40479663/article/details/83480452
(关于Ubuntu系统中各文件夹的作用,详见上文)

具体操作

(base) ngs@ngs-linux:~/biosoft$ # 停掉Docker服务
(base) ngs@ngs-linux:~/biosoft$ systemctl restart docker
(base) ngs@ngs-linux:~/biosoft$ # 停掉Docker服务
(base) ngs@ngs-linux:~/biosoft$ service docker stop
Warning: Stopping docker.service, but it can still be activated by:
  docker.socket
(base) ngs@ngs-linux:~/biosoft$ # 移动原有的内容
(base) ngs@ngs-linux:~/biosoft$ mv /var/lib/docker /usr/docker
(base) ngs@ngs-linux:~/biosoft$ # 进行链接
(base) ngs@ngs-linux:~/biosoft$ ln -sf /usr/docker /var/lib/docker

你可能感兴趣的:((2021-12-20~)linux日常)