Shell cmd for Linux

Useful shell cmd in Linux

ls类

ls | wc -w  # 查看一个文件夹下有多少文件

# 查看一个文件夹下的各个文件的信息(包括权限和文件大小等)
ls -lh

创建快捷方式

ln -s /home/fff/Programs/ZendStudio/ZendStudio /home/fff/桌面
 
即在桌面创建Zend Studio的链接

加参数-s是创建软链接,相当于Windows下的快捷方式,不加-s是硬链接,就是会复制一个副本到目标位置,但是与复制不同,两个文件,只要修改一个,另一个会跟着改变。

cp类

scp -r file1_path xunuo@100.100.22.3:file_path
# 把本地的文件上传到指定ip的服务器文件夹下

# 同时拷贝多个文件
cp /home/usr/dir/file{1..4}.txt ./

nohup后台运行

在后台运行程序,且把程序的输出存在nohup.out中。python -u 启动python文件的作用是不缓存,直接把输出重新定向到文件

> test.out 表示,把stdout 输出到 test.out这个文件里。默认情况下,是输出到 nohup.out

2 > &1 表示: 把 stderr 也输出到 stdout

进程类指令

服务器远程指令

端口转发

反向端口转发是把本机的端口转发到远程的机子上;与之对应,正向端口转发则是把远程的端口转发到本地。

如果在家,想连接实验室或者学校的局域网,j将远端服务器的某个端口映射到本地,从而实现远程debug.或者使用远程的解释器进行编译,那么需要如何操作呢?

这个时候,我们需要一台处在公网的机器。假设现在有一台出于公网,有公网ip的跳板机jumpbox

那么,想远程访问,可使用以下指令。当然完成该指令的前提是远端的服务器添加了本机的ssh public_key。

权限类指令

sed

s/ 是字符的头部 /g 是在特定字符组的尾部进行添加的意思

\(dockerhub.com\/) 是第一组。一组字符是用括号括起来表示的,其中 \ 代表转义符

\(.*)\ 第二组

(\/$DOCKER_IMAGE:release_\)第三组

\1ysor 是在第一组字符后面添加 ysor 这个字符,于是就变成了 dockerhub.com/ysocr

其他

>& is the syntax to redirect a stream to another file descriptor - 0 is stdin, 1 is stdout, and 2 is stderr.

因此,you can redirect stdout to stderror by doing

/dev/null is a special filesystem object that throws away everything written into it. Redirecting a stream into it means hiding an output.

检查两个文件夹之前缺失的文件

开发中,时常遇到这么一个问题:图片文件夹中有1000张图,但是对应的label却只有999张。那么,究竟是哪一个图的label被我漏掉了呢?

这里的思路是把所有文件的文件名存为一个txt文件,然后用vimdiff进行查找

curl

将本地上传到某个请求服务,

-- F

This lets curl emulate a filled-in form in which a user has pressed the submit button. This causes curl to POST data using the Content-Type multipart/form-data according to RFC1867. This enables uploading of binary files etc. To force the 'content' part to be a file, prefix the file name with an "@" character.

find

自动寻找空闲的GPU

cat /proc/meminfo 查看RAM使用情况最简单的方法是通过命令:cat /proc/meminfo

cat /proc/cpuinfo

查看CPU详情和依赖的指令集

vmstat -s vmstat命令显示实时的和平均的统计,覆盖CPU、内存、I/O等内容。例如内存情况,不仅显示物理内存,也统计虚拟内存

快捷键

脚本实现列举所有文件夹下文件

在训练模型的时候,总有需要把某个文件夹的所有文件名罗列在同一个txt文件下的需求,以前总是用Python来实现,但是实际上几行shell脚本就可以搞定

查看目录下面的文件大小

通过跳板机,从某个服务器下载文件

当我们需要通过跳板机去登录某个服务器的时候,比如

并希望从123这台机器上下载某些文件到本地的时候,可以用以下指令

Last updated

Was this helpful?