工作中常用到的linux命令备份,方便查看。
# 文件内容查找
# 查找文件夹下或某个文件包含某字符的所有文件
# -r 是递归查找
# -n 是显示行号
grep -rn "message" ./
# 实时显示日志记录
tail -100f a.log
# 查找包含 2020 的 catalina.out文件所在的行
find ./ -name catalina.out |xargs grep 2020
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# chmod 文件权限更改
chmod [可选项] <mode> <file...>
#可选项:
# [ugoa...]:u 用户user g 用户组group o 其他用户other a 所有用户all
# [+-=]:+ 添加权限 - 减少权限 = 直接给定一个权限
# [rwxX]: r表示read,w表示write,x表示execute,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
#file...
# 文件列表(单个或者多个文件、文件夹)
1
2
3
4
5
6
2
3
4
5
6
范例:
#设置所有用户可读取文件 a.conf
chmod ugo+r a.sh
或
chmod a+r a.conf
#设置 c.sh 只有 拥有者可以读写及执行
chmod u+rwx c.sh
#给文件的所有者加上 x 权限,即可使用:
chmod u+x 文件
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
chmod <abc> file...
#a,b,c各为一个数字,分别代表User、Group、及Other的权限。
#相当于简化版的
#chmod u=权限,g=权限,o=权限 file...
#而此处的权限将用8进制的数字来表示User、Group、及Other的读、写、执行权限
1
2
3
4
2
3
4
范例:
#设置所有人可以读写及执行
chmod 777 file (等价于 chmod u=rwx,g=rwx,o=rwx file 或 chmod a=rwx file)
#设置拥有者可读写,其他人不可读写执行
chmod 600 file (等价于 chmod u=rw,g=---,o=--- file 或 chmod u=rw,go-rwx file )
1
2
3
4
5
2
3
4
5
# cp/mv 文件复制/移动
#复制文件夹 -r
cp -r a文件夹 b新文件夹
#将/test1目录下的file1复制到/test3 目录,并将文件名改为file2
mv /test1/file1 /test3/file2
1
2
3
4
2
3
4
# chown 更改文件拥有者
chown [可选项] user[:group] file...
使用权限:root
说明:
[可选项] : 同上文chmod
user : 新的文件拥有者的使用者
group : 新的文件拥有者的使用者群体(group)
1
2
3
4
5
6
2
3
4
5
6
范例:
#设置文件 d.key、e.scrt的拥有者设为 users 群体的 tom
chown tom:users file d.key e.scrt
#设置当前目录下与子目录下的所有文件的拥有者为 users 群体的 James
chown -R James:users *
1
2
3
4
5
2
3
4
5
# tar 压缩解压
#x : 从 tar 包中把文件提取出来
#z : 表示 tar 包是被 gzip 压缩过的,所以解压时需要用 gunzip 解压
#v : 显示详细信息
#f xxx.tar.gz : 指定被处理的文件是 xxx.tar.gz
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。
下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
压缩
tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg
tar -czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar -cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux
zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux
解压
tar -xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压 tar.bz2
tar -xZvf file.tar.Z //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip
总结
1、*.tar 用 tar -zxvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.tar.gz和*.tgz 用 tar -xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar -xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar -xZf 解压
8、*.rar 用 unrar e解压
9、*.zip 用 unzip 解压
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
62
63
64
65
66
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
62
63
64
65
66
# ln 建立软链接
ln -s /usr/PhantomJS/phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/bin/phantomjs
1
# 更改环境变量
vim /etc/profile #编辑
source /etc/profile #重启使环境变量生效
1
2
2
# 端口/防火墙
netstat -ntlp #查看当前所有tcp端口
netstat -ntulp |grep 80 #查看所有80端口使用情况
#开放端口: 1.修改 /etc/sysconfig/iptables 文件
# 2.如开放80端口,ACCEPT为开启、DROP为关闭
iptables -A INPUT -p tcp --dport 80 -j ACCEPT #当数据从外部进入服务器为目标端口
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT #数据从服务器出去
service iptables save #保证重启服务器后也不会失效
service iptables restart #改完后重启防火墙
/sbin/iptables -L -n #查看开放的端口
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 禁IP
iptables -A INPUT -p tcp -s 192.168.1.2 -j DROP
1
# 查看当前目录下的文件大小
du -sh *
1
- -s:summaries,只显示汇总的大小
- -h:表示以高可读性的形式进行显示
← 常用bat命令 npm和yarn常用命令 →