Linux
文章平均质量分 55
inCorning
In the meanwhile I smile and I sing all alone.
展开
-
关于服务器的CUDA问题
一直觉得cuda之类的版本很麻烦,这下换了新的服务器于是又要折腾,记录一下以免以后又重新搜索可以用 nvcc --version 来查看版本,看看是否符合要求如果不符合,可以去 /usr/local/cuda 查看有哪些现在的版本(服务器上一般有很多,所以我没自己安装而且自己没有root权限,所以需要下面操作:然后使用软链接,ln -sf 想要版本的路径 自己的位置名称然后更改 .bashrc 文件,添加用户环境变量:export PATH=/usr/local/软链接/bin${PATH:原创 2021-08-31 14:47:04 · 1373 阅读 · 0 评论 -
远程关闭Linux服务器(解决其他用户正在登录问题)
主要使用 shutdown命令:shutdown now但此时报错:查看who -s,发现有很多用户正在登录中于是:sudo pkill –kill –t pts/x (x是数字)杀死正在登录的用户(:杀光之后,仍然报错(如上图)w也显示无了,不知道为什么于是根据建议:systemctl poweroff -i直接关机。。于是关机了(上述需要管理员权限)...原创 2021-07-15 10:53:28 · 1612 阅读 · 1 评论 -
远程服务器离线安装vscode及扩展组件
1. 场景 本地(Windows 10)安装了vscode,因为环境、资源等都是在服务器上(Ubuntu),因此想要通过vscode远程连接服务器,实现在本地操作服务器的目标。vscode在2019年对上述目标的支持已经很完(sha)善(gua)了,只需要安装几个和Remote相关的扩展插件(Extensions)就可以了,可以通过图形界面一键安装,这里不再赘述了,我在前期使用的时候也很顺畅。 后来远程服务器网络出现了一些问题,可以正常本地建立连接,但在使用一些常见的更新管道(pip,wget,ap转载 2021-03-14 16:08:10 · 6572 阅读 · 3 评论 -
用软链接建立循环目录(fun
mkdir tcd tvim tt……ln -s ../t t成果!:原创 2021-01-19 21:33:16 · 542 阅读 · 0 评论 -
硬链接(hard link)和符号连接(symbolic link)的区别
硬链接(hard link)和符号连接(symbolic link)的区别:通俗一点理解,可以把硬链接当成源文件的副本,他和源文件一样的大小但是事实上却不占任何空间。符号链接可以理解为类似windows一样的快捷方式。一、链接文件链接文件有两种方式,符号链接和硬链接。1、符号链接文件符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,也可以链接不同文件系统的文件。甚至可以链接不存在的文件,这就产生一般称为“断裂”的问题(现象),还可以不断的循环链接自己。用ln -s 命令可以生成转载 2021-01-19 21:09:43 · 7595 阅读 · 2 评论 -
Tmux 快捷键 & 速查表 & 简明教程
注意:本文内容适用于 Tmux 2.3 及以上的版本,但是绝大部分的特性低版本也都适用,鼠标支持、VI 模式、插件管理在低版本可能会与本文不兼容。Tmux 快捷键 & 速查表 & 简明教程启动新会话:tmux [new -s 会话名 -n 窗口名]恢复会话:tmux at [-t 会话名]列出所有会话:tmux ls关闭会话:tmux kill-session -t 会话名关闭所有会话:tmux ls | grep : | cut -d. -f1 | awk '转载 2021-01-17 18:45:09 · 640 阅读 · 0 评论 -
linux 下shell中if的“-e,-d,-f”的含义
文件表达式-e filename 如果 filename存在,则为真-d filename 如果 filename为目录,则为真-f filename 如果 filename为常规文件,则为真-L filename 如果 filename为符号链接,则为真-r filename 如果 filename可读,则为真-w filename 如果 filename可写,则为真-x filename 如果 filename可执行,则为真-s filename 如果文件长度不为0,则为真-h fil转载 2021-01-17 17:54:53 · 808 阅读 · 0 评论 -
Tensorflow: Cannot dlopen some GPU libraries. Skipping registering GPU devices...
Cannot dlopen some GPU libraries. Skipping registering GPU devices… 很久没搞Tensorflow了,又出了一些问题,这里作个备份 可能的问题为: 1,cuda和安装的tensorflow版本不对应 可参考:Tensorflow与cuda版本对应关系 2, 未...转载 2020-12-01 21:40:19 · 5120 阅读 · 0 评论 -
Linux中的重定向,大于号>,小于号<
我们在处理脚本的运行结果时,有时候会看到类似这样的命令:node server.js > stdout.txt 2> stderr.txt < /dev/null &复制代码要理解上边这句话的含义,我们需要了解的重点就在于大于号,小于号,以及数字的作用。数字linux 中的 IO 共有三种形式0: 标准输入,stdin1: 标准输出,stdout2: 标准错误输出,stderr方向符号大于号>: 将产生的内容(比如日志)输出到某个文件小于号<:转载 2020-11-18 12:30:21 · 4915 阅读 · 2 评论 -
linux 常用命令备忘(持续更新)
命令描述ps -u列出当前进程kill -9 进程号杀死进程nvidia -smi列出GPU使用情况top列出CPU使用情况screen -ls / -r 窗口号 / ctrl A + d/k分别是列出、恢复、挂起、杀死mv/cp a b移动/复制文件,可重命名scp -P 端口号 用户名@地址 用户名@地址传输文件watch -n 秒数 命令重复执行刷新命令find | grep 字符串递归寻找目录下含有字符串的文件名...原创 2020-11-05 11:16:29 · 322 阅读 · 0 评论 -
查看gpu使用情况及用户
分屏指令:tmuxgpu使用情况:gpustat原创 2020-09-13 11:52:10 · 1788 阅读 · 0 评论 -
Linux查看GPU信息和使用情况
Linux查看显卡信息:lspci | grep -i vga使用nvidia GPU可以:lspci | grep -i nvidia前边的序号 "00:0f.0"是显卡的代号(这里是用的虚拟机);查看指定显卡的详细信息用以下指令:lspci -v -s 00:0f.0Linux查看Nvidia显卡信息及使用情况Nvidia自带一个命令行工具可以查看显存的使用情况:nvidia-smi表头释义: Fan:显...转载 2020-09-13 11:35:29 · 2006 阅读 · 0 评论 -
vim入门级常用的100+条命令(详细)
命令历史以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。启动vim在命令行窗口中输入以下命令即可vim 直接启动vimvim filename 打开vim并创建名为filename的文件文件命令打开单个文件vim file同时打开多个文件vim file1 file2 file3 …在vim窗口中打开一个新文件:open file在新窗口中打开文件:split file切换到下一个文件:bn切换到上一个文件:bp查看当前打开的文件列表原创 2020-05-20 14:56:56 · 464 阅读 · 0 评论 -
dup和dup2函数(配图+详细对比)
dup和dup2函数 </h1> <div class="clear"></div> <div class="postBody"> 下面两个函数都可用来复制一个现存的文件描述符:?1234#include<unist...转载 2019-12-28 18:12:45 · 468 阅读 · 0 评论 -
文件描述符和文件指针的区别
文件描述符:在linux系统中打开文件就会获得文件描述符,它是个很小的正整数。每个进程在PCB(Process Control Block)中保存着一份文件描述符表,文件描述符就是这个表的索引,每个表项都有一个指向已打开文件的指针。文件指针:C语言中使用文件指针做为I/O的句柄。文件指针指向进程用户区中的一个被称为FILE结构的数据结构。FILE结构包括一个缓冲区和一个文件描述符。而文件描述符是...转载 2019-12-28 18:04:02 · 234 阅读 · 0 评论 -
linux SIGSEGV 信号捕捉,发生段错误后程序不崩溃(来自前辈)
在linux中编程的时候 有时候 try catch 可能满足不了我们的需求。因为碰到类似数组越界 ,非法内存访问之类的 ,这样的错误无法捕获。下面我们介绍一种使用捕获信号实现的异常 用来保证诸如段错误之类的错误发生时程序不会崩溃,而是跳过代码继续执行。首先我们来看看发生段错误之后系统的处理。发生段错误后系统会抛出 SIGSEGV 信号 ,之后 调用默认的信号处理函数 ,产生core文件 ,然后...转载 2019-12-01 22:03:02 · 1035 阅读 · 0 评论 -
内存映射(复习)
原创 2019-12-01 16:03:49 · 151 阅读 · 0 评论 -
linux虚拟内存系统
原创 2019-12-01 16:03:03 · 178 阅读 · 0 评论 -
页面置换算法(对比解释)
地址映射过程中,若在页面中发现所要访问的页面不再内存中,则产生缺页中断。当发生缺页中断时操作系统必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。而用来选择淘汰哪一页的规则叫做页面置换算法。常见的置换算法有:1)最佳置换算法(OPT)(理想置换算法)这是一种理想情况下的页面置换算法,但实际上是不可能实现的。该算法的基本思想是:发生缺页时,有些页面在内存中,其中有一页将很快被访问...转载 2019-11-30 23:42:34 · 3695 阅读 · 0 评论 -
关于进程的理解(自己遗漏的要点)(一)
程序运行在进程的上下文中上下文是由程序正常运行所需要的状态组成的,包括code data stack register environ fileshell创建新进程来运行管理程序应用程序的抽象:一个独立的控制流+一个私有的地址空间并行流是并发流的真子集没有设置模式位时,进程运行于用户模式用户模式变为内核模式的唯一方法时通过中断、故障、trap这样的异常上下文切换(调度):1. 保存...原创 2019-11-27 21:30:56 · 172 阅读 · 0 评论 -
csapp:如何使用课程配套的csapp.h和csapp.c文件编译(亲测有效)
编译步骤如下:1.我的当前工作目录为/home/sxh2/clinux,目录下有3个文件inet_aton.c csapp.h csapp.c。2.编译csapp.c文件,命令为gcc -c csapp.c,生成目标文件csapp.o。3.编译inet_aton.c文件,命令为gcc -c inet_aton.c,生成目标文件inet_aton.o。4.链接目标文件csapp.o、inet...转载 2019-11-22 12:00:27 · 667 阅读 · 0 评论 -
linux系统调用:exit()与_exit()函数详解
exit()就是退出,传入的参数是程序退出时的状态码,0表示正常退出,其他表示非正常退出,一般都用-1或者1,标准C里有EXIT_SU...转载 2019-11-22 11:10:11 · 1122 阅读 · 0 评论 -
alarm、pause、sleep函数的使用
一、函数简介1 alarm()头文件:#include<unistd.h>函数:unsigned int alarm(unsigned int seconds);函数说明:alarm()用来设置信号SIGALRM 在经过参数seconds 指定的秒数后传送给当前进程。 如果参数seconds 为0, 则之前设置的闹钟会被取消, 并将剩下的时间返回.返回值:返回之前闹钟的剩...转载 2019-11-22 10:50:39 · 346 阅读 · 0 评论 -
Linux下getopt()函数的简单使用
最近在弄Linux C编程,本科的时候没好好学啊,希望学弟学妹们引以为鉴。好了,虽然啰嗦了点,但确实是忠告。步入正题:我们的主角----getopt()函数。英雄不问出处,getopt()函数的出处就是unistd.h头文件(哈哈),写代码的时候千万不要忘记把他老人家include上。 再来看一下这家伙的原型(不是六耳猕猴):int getopt(int argc,...转载 2019-11-13 16:31:21 · 111 阅读 · 0 评论