linux常用命令

6/18/2017 linux

工作中常用到的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

# 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

范例:

#设置所有用户可读取文件 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

chmod <abc> file...

#a,b,c各为一个数字,分别代表User、Group、及Other的权限。
#相当于简化版的
#chmod u=权限,g=权限,o=权限 file...
#而此处的权限将用8进制的数字来表示User、Group、及Other的读、写、执行权限
1
2
3
4

范例:

#设置所有人可以读写及执行
chmod 777 file  (等价于  chmod u=rwx,g=rwx,o=rwx filechmod a=rwx file)

#设置拥有者可读写,其他人不可读写执行
chmod 600 file (等价于  chmod u=rw,g=---,o=--- filechmod u=rw,go-rwx file )
1
2
3
4
5

# cp/mv 文件复制/移动

#复制文件夹 -r
cp -r a文件夹 b新文件夹
#将/test1目录下的file1复制到/test3 目录,并将文件名改为file2
mv /test1/file1 /test3/file2
1
2
3
4

# chown 更改文件拥有者

chown [可选项] user[:group] file...

使用权限:root
 
说明:
[可选项] : 同上文chmod
user : 新的文件拥有者的使用者
group : 新的文件拥有者的使用者群体(group)
1
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

# 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

# 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

# 端口/防火墙

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

# 禁IP

iptables -A INPUT -p tcp -s 192.168.1.2 -j DROP
1

# 查看当前目录下的文件大小

du -sh *
1
  • -s:summaries,只显示汇总的大小
  • -h:表示以高可读性的形式进行显示
上次更新: 2024/09/10 17:37:12
最近更新
01
跨域的几种常见解决方案
04-03
02
react教程
03-01
03
前端抓包神器whistle
09-01