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.tmp” && mv “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
注意
不要在一个终端窗口里使用 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
一些操作上的快捷键
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 进入文件管理界面
- 按+可以创建新文件夹
- 按d可以添加删除标记最后按x执行删除命令
- g刷新
- u取消标记
- http://lifegoo.pluskid.org/wiki/EmacsAsFileManger.html 里面提到了很多dired的操作
- http://www.cnblogs.com/beanmoon/archive/2012/09/22/2697723.html里面提到了很多dired的操作
M-p 重复上一命令
M-x replace-string C-q C-j 可以插入回车
C-v 向下翻页 M-v 向上翻页
Server
跑R程序可以直接 Rscript xxx.R
学校CHTC介绍
HTC(高吞吐量计算)与HPC(高性能计算):
- HTC分成的若干个部分之间不需要交流信息,而HPC需要
- 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 协议 ,转载请注明出处!