Linux心得

介绍

学679的时候记录的学习笔记。后来我将Mac的一些操作也加了进去。

乱七八糟

cd /workspace 前面那个slash目的是回到主界面在进入workspace 而不是进入当前目录下的workspace
rm -rf 直接删除所有类型的文件
ssh siyuw@lunchbox.stat.wisc.edu
ls -l: ①文件夹d其他-②read③write④是否可执行 可执行x ⑨最后三个说的是其他人
ls -lt 按修改时间倒序排列
cat语句可以连接两个文件
clear:清屏
shuf —-help 可以从一个文件随机选出几行

  • 但是MAC没有shuf,只能用gshuf,还得安装一下brew install coreutils

tail -n +2 “FILE">"FILE" > "FILE.tmp” && mv “FILE.tmp""FILE.tmp" "FILE” 可以删除文本文件第一行
cat 1.txt 2.txt > 3.txt 可以把1.2文件行combine到3文件中
wc -l < 返回文件有多少行

sed ‘2,$d’ ab #删除第二行到最后一行

python -V #查看python的版本

# wc -l `find /path/to/directory/ -type f` #print一个文件夹下所有文件的行数

犯过的错误

bash没保存 反复运行发现没什么变化,以为电脑坏了

Slurm 装R包

  • module load R 才可以把R的版本换成3.5
  • 装R的时候需要带上dependencies = TRUE

Slurm报错:slurmstepd: error: Exceeded step memory limit at some point.

  • #SBATCH --mem-per-cpu=10gb

mac下插入文件到某一行

注意

不要在一个终端窗口里使用 Ctrl-c 和 Ctrl-v 快捷键来执行拷贝和粘贴操作。它们不 起作用。对于 shell 来说,这两个控制代码有着不同的含义,它们在早于 Microsoft Windows (定义复制粘贴的含义)许多年之前就赋予了不同的意义。

一些简单命令

date 显示时间

cal 显示日历

查看磁盘剩余空间的数量,输入 df

显示空闲内存的数量,输入命令 free。

退出 exit

mv 重命名/剪切 rm删除

如何获取ubuntu管理员权限?
①sudo passwd root (创建root的密码)
②su命令进入管理员权限

wc -l < file.txt #可以不显示文件名直接显示行数

=~ 来匹配正则式

下载Kaggle数据需要权限:传递cookie https://wdeback.gitlab.io/post/2018-03-08-how-to-download-kaggle-dataset-from-command-line/

Linux下,删除大于固定大小的文件

find ./ -size +50M1

显示当前路径下,大于50M的文件。(包含子文件夹内的文件)

find ./ -size +50M -exec rm {} \;1

删除当前路径下,大于50M的文件。(包含子文件夹内的文件)

find shakespeare -type f -exec cat {} \; > file

找到所有文件并把他们合在一起

M-x erase-buffer 删除所有内容

Counting Files in the Current Directory: ls -l | wc -l

ARRAY 操作

一些操作上的快捷键

C-L 可以将命令行移动到屏幕的上/中/下

HTCondor

proc=$$([$(Process)+3586]) 来调节命令序号

Slurm

操作指南:https://slurm.schedmd.com/sbatch.html

Emacs

新建窗口 emacs -nw

退出 C-x C-c

查找文件:C-x C-f

删除一行 C-k

删除当前C-d

拷贝 M-w

去掉一些空白换行符 tab

去掉一些空白区域 M-p

自动合并段落 M-q

list buffers: C-x C-b

  • 按space进入选中的buffer
  • 在bufferlist里面关掉buffer 直接用 k 选中多个 然后enter来删除

唤起shell : M-x shell / C-z

删掉输入一般的错误/不想要命令

撤销:C-/

字体: C-_ 缩小 C-shift-+ 放大 C-0 回到原来样子

C-x d 进入文件管理界面

M-p 重复上一命令

M-x replace-string C-q C-j 可以插入回车

C-v 向下翻页 M-v 向上翻页

Server

跑R程序可以直接 Rscript xxx.R

学校CHTC介绍

HTC(高吞吐量计算)与HPC(高性能计算):

  1. HTC分成的若干个部分之间不需要交流信息,而HPC需要
  2. HTC更感兴趣的是可以在很长一段时间内完成多少工作而不是多快。

比学校CHTC更大&更不灵活的是UW Grid/ Open Science Grid

可以跑R, Python, Matlab, …

学校用的分布系统是HTCondor

以后如果有自己的项目要申请CHTC,http://chtc.cs.wisc.edu/form

Submit&Monitor the job: condor_submit job.sub condor_q 但是这个命令在lunchbox里面跑不了,因为lunchbox用的是sbatch那一套

什么是Shell

如果提示符的最后一个字符是“#”, 而不是“$”, 那么这个终端会话就有超级用户权限。

许多 Linux 发行版默认保存最后输入的 500 个命令。(使用向上箭头)

鼠标左键拖动 = 复制文本

传统 X 行为是指只要把鼠标移动到一个窗口的上方。 它能接受输入,但是直到你单击窗口之前它都不会成为前端窗口。设置聚焦策略为“聚焦跟随着鼠标”,可以使拷贝和粘贴更方便易用。 你能在窗口管理器的配置程序中找到这个设置。

文件系统中跳转

当我们首次登录系统(或者启动终端仿真器会话)后,当前工作目录是我们的家目录(/home)。每个用户都有他自己的家目录,当用户以普通用户的身份操控系统时,家目录是唯一允许用户对文件进行写入的地方。

相对路径用一个点[.]或者两个点[…]

cd … 表示返回上一层

cd ./xxx 表示进入下一层 当然 [./] 可以被省略

直接 cd 会回到家目录

cd - 更改工作目录到先前的工作目录。【类似于返回上一步】

cd ~user_name 可以回到其他用户的家目录

ls 无法列出被隐藏的文件(例如用[.]开始的文件)此时可以使用 ls -a 命令

文件名和命令名是大小写敏感的

Linux 没有“文件扩展名”的概念,文件内容或用途由其它方法来决定。

虽然 Linux 支持长文件名,文件名可能包含空格,标点符号,但标点符号仅限 使用“.”,“-”,下划线。最重要的是,不要在文件名中使用空格。如果你想表示词与词间的空格,用下划线字符来代替。过些时候,你会感激自己这样做。

Emacs中要达到撤销效果使用的是 C-/ ,同样还可以使用 C-_ 或者 C-x u ,这三个都对应的是Undo命令。

上面说的是撤销文本上的操作,还有个比较常用的命令C-g ,这个是用来撤销命令的,当你输了一半命令发现不对就可以用它了。


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!