Linux命令

https://github.com/jaywcjlove/linux-command

文件/目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
ls 列出目录下的文件
ll 文件详细信息
tree 树形目录

mkdir:创建目录
rmdir:删除目录

rm:删除文件
rm -r:递归删除目录

cp:拷贝
cp -r:递归复制目录
mv:既可以重命名,又可以移动文件或文件夹

cat:查看文件内容

grep:
grep content file:在给定的文件中搜寻指定的字符串。
grep -i content file:忽略大小写。
grep content dir:递归查找指定目录及其子目录下所有包含字符串的文件,

压缩/解压缩

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
.tar
解包:tar zxvf FileName.tar
打包:tar czvf FileName.tar DirName
---------------------------------------------
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
---------------------------------------------
.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName
.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
---------------------------------------------
.bz
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
压缩:未知
.tar.bz
解压:tar jxvf FileName.tar.bz
压缩:未知
---------------------------------------------
.Z
解压:uncompress FileName.Z
压缩:compress FileName
.tar.Z
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName
---------------------------------------------
.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
---------------------------------------------
.rar
解压:rar a FileName.rar
压缩:r ar e FileName.rar

分卷压缩

1
2
3
4
5
6
7
8
9
10
11
12
13
14

zip existing.zip --out new.zip -s 50m
输出---
new.zip
new.z01
new.z02
new.z03
...

zip -s 0 split.zip --out single.zip
---------------------------------------------

zip - filename | split -b 500k
cat filename* >filename.zip

登录

1
2
3
4
5
6
7
8
9
10
11
12
13
ssh user@ip
password

ssh -i file.pem user@ip
passphrase

scp file_path user@ip:/target_path
password

ssh -i file.pem file_path user@ip:/target_path
passphrase

ssh -i williamhou.pem /Users/ksboy/Projects/PycharmProjects/NLP/yelp_review_sa/dataset/review-590.csv willianhou@211.159.158.28:/data/houwei

上传/下载

1
2
3
4
5
6
rz  上传
-a, –ascii
-b, –binary 用binary的方式上传下载,不解释字符为ascii
-e, –escape 强制escape 所有控制字符,比如Ctrl+x,DEL等

sz 下载
1
2
scp username@servername:/path/filename /local_path
scp /path/filename username@servername:/remote_path

网络下载

1
2
3
4
5
6
wget url 
-b 后台静默下载
-c 断点续传

curl
-O

脚本输出

1
2
3
4
5
6
7
8
9
10
ls > ls.txt   # 把运行结果保存到文件ls.txt中,覆盖
ls >> ls.txt # 把运行结果保存到文件ls.txt中,追加

ls | tee ls.txt # 将会在终端上显示执行结果,并把执行结果保存到文件ls.txt中,覆盖
ls | tee -a ls.txt # 将会在终端上显示执行结果,并把执行结果保存到文件ls.txt中,追加

# 可以记录报错信息
script # 把过程默认保存到 Typescript,覆盖
script example.txt # 把过程保存到 example.txt中,覆盖
script -a example.txt # 把过程保存到 example.txt中,追加

Bash

1
2
3
4
5
6
7
8
9
Ctrl-a,将光标移到行首
Ctrl-e,将光标移到末尾
Ctrl-u,删除整行
Ctrl-k,向后删除,从光标开始直至行尾
Alt-Backspace,光标向前删除一个单词
Alt-f,将光标移到后一个单词
Alt-b,将光标移到前一个单词
Ctrl-p,上一条命令
Ctrl-n,下一条命令