Linux常用命令

SSH

登录ssh -p端口号 用户名@IP地址

直接执行命令ssh 用户名@IP地址 命令

传文件SCP

scp命令可以方便地在远程Linux之间传输文件

常用格式:

1
2
3
4
5
6
7
8
9
10
上传/d/work/1.txt到远程服务器的/home:
scp /d/work/1.txt root@123.45.67.89:/home
然后输入密码

基本格式:
scp 本地文件路径 远程用户名@远程ip地址:远程目录

下载:把后面两项反过来

处理文件夹:scp后加-r

添加用户

添加一名新用户:

1
adduser 用户名

赋予该用户root权限,即修改/etc/sudoers,参考里面的root怎么写的,复制一行

配置环境变量

基本命令

命令为export 环境变量名=路径

如加入一个值为/usr/local/go/bin的环境变量GOPATH

1
$export GOPATH=/usr/local/go/bin

如果变量的值有多个,需要用冒号即:隔开

在当前终端中输入:export PATH=$PATH:<你的要加入的路径>,$PATH表示当前的值,表示给PATH中加入一个新的值

不过上面的方法只适用于当前终端,一旦当前终端关闭或在另一个终端中,则无效。

用于当前用户

在用户主目录下有一个.bashrc隐藏文件,这是一个保存着用户个性化设置的脚本文件,每次启动bash都会执行它

可以在此文件中加入:

export PATH=<你的要加入的路径>:$PATH

这样每次启动bash都会执行添加环境变量的操作

所有用户

在/etc/profile中加入:export PATH=<你要加入的路径>:$PATH

类似于bashrc不过,适用于所有用户

查看环境变量

输入echo $PATH来查看环境变量

注意,修改环境变量后,除了第一种方法立即生效外,第二第三种方法要立即生效,可以source ~/.bashrc或者注销再次登录后就可以了!

vim常用

Linux下敲命令时可以ctrl+a可以快速回到行首,ctrl+e快速回到行尾

vim下按esc,然后按v选中,上下翻滚选中多行再按<>可以左右缩进

vim下ctrl+n可以补全

vim下先输入行号,再输入G,可以跳转到对应行

vim下的复制yyp

vim下输入大写A跳到行末并编辑,I则是行首

vim下d剪切p粘贴

vim下ctrl+f翻页,+d翻半页

解压

.tar 文件

tar -xvf FileName.tar # 解包

tar -cvf FileName.tar DirName # 将DirName和其下所有文件(夹)打包
.gz文件

gunzip FileName.gz # 解压1

gzip -d FileName.gz # 解压2

gzip FileName # 压缩,只能压缩文件

.tar.gz文件

tar -zxvf FileName.tar.gz # 解压

tar -zcvf FileName.tar.gz DirName # 将DirName和其下所有文件(夹)压缩

tar -C DesDirName -zxvf FileName.tar.gz # 解压到目标路径

tar -jxvf big-bag.tar.gz #这是手残解压的命令

tar -tf big-bag.tar.gz | xargs rm -rf #这是删除解压后的文件的命令

.zip文件

unzip FileName.zip # 解压

zipinfo -1 ./ShareWAF.zip(误解压文件) | xargs rm -rf

zip FileName.zip DirName # 将DirName本身压缩

zip -r FileName.zip DirName # 压缩,递归处理,将指定目录下的所有文件和子目录一并压缩

.rar文件

rar x FileName.rar # 解压

rar a FileName.rar DirName # 压缩

换源

全部在/etc/apt/sources.list文件里面

换源只需要把里面的内容修改就好了

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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#阿里源地址

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

#华为源地址

deb https://repo.huaweicloud.com/ubuntu/ focal main restricted
deb https://repo.huaweicloud.com/ubuntu/ focal-updates main restricted
deb https://repo.huaweicloud.com/ubuntu/ focal universe
deb https://repo.huaweicloud.com/ubuntu/ focal-updates universe
deb https://repo.huaweicloud.com/ubuntu/ focal-backports main restricted universe
deb https://repo.huaweicloud.com/ubuntu/ focal-security main restricted
deb https://repo.huaweicloud.com/ubuntu/ focal-security universe

#中科大源地址

deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

#163源地址

deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse

#清华源地址

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe ultiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe ultiverse

grep

grep是linux的文本搜索工具,根据用户定义的规则对目标文本逐行进行匹配检查,并打印匹配到的行

忽略大小写 grep -i

仅打印字符串而非整行 grep -o

反选 grep -v

匹配ERE规则的正则表达式 grep -E ‘正则表达式’

匹配PCRE规则的正则表达式 grep -P ‘正则表达式’

不输出任何信息 grep -q

统计匹配到的个数 grep -c

同时显示行号 grep -n

单词模式匹配(前后必须和其他单词隔开) grep -w ‘单词’

正则表达式

正则表达式分为三类,BRE,ERE和PCRE,BRE只支持最简单的正则表达式功能,对于一些特殊字符则需要使用转义来表示其正则含义;ERE在BRE的基础上增加了一些功能,其主要区别是ERE的元字符默认就是正则含义,想要匹配普通字符需要加\;PCRE则支持更多的功能,比如常用的通配符\d,BRE和ERE都不支持

Linux中正则表达式的规则

\ 单独匹配特殊符号时需转义

\d 表十进制数字

\D 表非数字

^ 匹配字符串开始

$ 匹配字符串末尾

. 代表除”\n\s”之外的任何单个字符

| 表示或者

* 匹配前面的子表达式零次或多次

+ 匹配前面的子表达式一次或多次

? 匹配前面的子表达式一次或零次

() 小括号,改变结合对象和运算优先级

[ ] 字符集合,匹配所包含的任意的一个字符

[^] 复制字符集。匹配未包含在[ ]内的任意一个字符

[n1-n2] 字符范围。匹配指定范围内的任意一个字符。例如[a-z]可以匹配到a到z范围内的任意一个小写字母字符

{n} n是一个非负整数,匹配确定的n次,例如“o{2}”不能匹配“Bob”中的“o”,但是能匹配到“food”中的“oo”

{n,} n是一个非负整数,至少(最少)匹配n次。例如,“o{2,}”不能匹配”Bob”中的“o”,但是能匹配“fooooood”中的所有o。“o{1,}”等于“o+”

{n,m} n和m均为非负整数,其中n<=m,最少匹配n次,最多匹配m次

cut

cut是LINUX命令之一,可以将其描述为从一行上移除部分内容、选择性显示出已筛选内容的文本操作命令

常用参数

cut -cx-y 从每一行的第一个字符算起,第一个字符算第1个,取区间[x, y]内的字符

cut -d ‘一个字符’ -f x 将每行数字按照给定字符切分成多行,取第x行

注意,就算切分字符是第一个/最后一个,同样也会切分出一个空行出来,因此对于给定的文本”origin” : “114.51.41.98”,第一行是空行,第二行是origin,第三行是:,第四行才是114.51.41.98,最后再接一个空行

alias

为常用的命令起别名,仅在当前用户登录期间有用

比如我有一个使用curl来查看自己外网ip地址的命令,但因为它比较长,我每次都敲一遍很麻烦

1
curl http://httpbin.org/get | grep -P '\d+\.\d+\.\d+\.\d+' | cut -d '"' -f 4

使用alias将该命令命名为myip,注意此时命令要用””括起来,因此原命令里面的”需要转义成\”

1
alias myip="curl http://httpbin.org/get | grep -P '\d+\.\d+\.\d+\.\d+' | cut -d '\"' -f 4"

之后再想要执行上面的命令,直接执行myip就可以了