1.Linux命令
1.1 系统命令
- du 显示指定文件已使用的磁盘空间
参数: -h 显示单位
-s 显示总大小
du -s -h
- free 显示当前内存和交换空间使用情况
free
- netstat 显示网络状态信息,查看端口占用情况
- -a 显示所有连接和监听端口
- -t (tcp)仅显示tcp相关选项
- -u (udp)仅显示udp相关选项
- -n 拒绝显示别名,能显示数字的全部转化成数字。
- -p 显示建立相关链接的程序名
#首先下载使用
yum install net-tools -y
netstat -tunpl
- ifconfig 网卡网络配置详情
ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.2.15 netmask 255.255.255.0 broadcast 10.0.2.255
inet6 fe80::a00:27ff:fe6c:3e95 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:6c:3e:95 txqueuelen 1000 (Ethernet)
RX packets 29921 bytes 32219958 (30.7 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 8627 bytes 616973 (602.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- ping 测试网络的连通性
ping www.baidu.com
PING www.a.shifen.com (220.181.38.150) 56(84) bytes of data.
64 bytes from 220.181.38.150: icmp_seq=1 ttl=53 time=39.6 ms
64 bytes from 220.181.38.150: icmp_seq=2 ttl=53 time=40.4 ms
- top 显示当前系统中耗费资源最多的进程 (实时)
top
- ps 显示瞬间的进程状态(快照)
- -e /-A 显示所有进程,环境变量
- -f 全格式
- -a 显示所有用户的所有进程(包括其它用户)
- -u 按用户名和启动时间的顺序来显示进程
- -x 显示无控制终端的进程
8. kill
根据进程ID(pid)杀死进程
kill -9 [进程id]
kill -9 3860
1.2 压缩和打包命令
- gzip 把文件和目录压缩成 gz 格式
-d 解压
# gzip [文件名]
gzip OAuth2Config.java #压缩
gzip -d OAuth2Config.java.gz #解压
- bzip2 把文件和目录压缩成 gz2格式
-d 解压
bzip2 OAuth2Config.java
bzip2 -d OAuth2Config.java.bz2
- tar(推荐)
● 打包目录成tar文件
● 整合gzip和bzip2压缩
● -c 建立一个压缩文件的参数指令(create)
● -x 解开一个压缩文件的参数指令(extract)
● -z 是否需要用 gzip 压缩
● -j 是否需要用 bzip2 压缩
● -v 压缩的过程中显示文件(verbose)
● -f 使用档名,在 f 之后要立即接档名(file)
(1) 打包
#打包 tar -cvf [目录]
tar -cvf java-project.tar ./java-project/
#解压 tar -xvf [包]
tar -xvf java-project.tar
(2) 以gzip方式压缩打包
tar -czvf java-project.tar.gz ./java-project #z表示已gz格式压缩
tar -zxvf java-project.tar.gz #解压
(3) 以bzip2方式压缩打包
#压缩
tar -cjvf java-project.tar.bzip2 ./java-project
#解压
tar -xjvf java-project.tar.bzip2
1.3 vim命令
vi / vim是Unix / Linux上最常用的文本编辑器而且功能非常强大。
1.3.1vim三种模式
1.3.2 底行命令
● :wq保存退出
● :q! 不保存退出
● :q 退出,如果内容有改变不能退出
● :set number 显示行号
● :set nonumber 隐藏行号
● :w filename 另存为文件
● :e!撤销所有操作
● :行号:调到指定的行
1.3.2 移动命令
在一般模式进行操作
● w b 下一个,上一个单词
● 0, $ 行首,行尾
● gg 第一行
● G 最后一行
● xG到x行
1.3.3 替换命令
在底行模式进行操作
● :1,
s
/
p
r
i
v
a
t
e
/
p
u
b
l
i
c
/
g
将第一行到追后一行的
p
r
i
v
a
t
e
替换为
p
u
b
l
i
c
●
:
1
,
s/private/public/g 将第一行到追后一行的private替换为public ● :1,
s/private/public/g将第一行到追后一行的private替换为public●:1,s/public/protected/c 将第一行到追后一行的public替换为protected(光标到一个要替换的地方则会询问是否替换)
1.3.4 编辑命令
在一般模式进行操作
● x删除一个字符
● dd 删除一行
● yy复制一行
● p粘贴
● 输入v进入选择模式,选择内容,输入y复制,调到要黏贴的位置输入p粘贴
● 输入u 撤销操作
● 在一般模式中输入/8080查找8080,输入n查找下一个
● 在一般模式输入r+替换的字符,执行替换
2.用户管理
linux操作系统是一个多用户操作系统,它允许多用户同时登录到系统上并使用资源。系统会根据账户来区分每个用户的文件,进程,任务和工作环境,使得每个用户工作都不受干扰。
2.1 用户管理的配置文件
● 保存用户信息的文件:/etc/passwd
● 保存密码的文件:/etc/shadow
● 保存用户组的文件:/etc/group
● 保存用户组密码的文件:/etc/gshadow
● 用户配置文件:/etc/default/useradd
2.2 /etc/passwd格式 (每段代表含义)
用户的分类
● 超级用户:(root,UID=0)
● 普通用户:(UID在1000以上)
● 伪用户:(UID在1到999)
○ 系统和服务相关的:bin、daemon、shutdown等
○ 进程相关的:mail、news、games等
○ 伪用户不能登陆系统,而且没有宿主目录
2.3 /etc/shadow格式
2.4 用户的组
● 每个用户至少属于一个用户组
● 如果创建用户,没有指定组,此用户指定跟用户名同名组
● 每个用户组可以包含多个用户
● 同一个用户组的用户享有该组共有的权限
2.5 用户和组的管理命令
- 用户管理命令
● useradd:添加用户
○ -u 指定组ID(uid)
○ -g 指定所属的组名(gid)
○ -G 指定多个组,用逗号“,”分开(Groups)
○ -c 用户描述(comment)
○ -e 失效时间(expire date)
# 添加用户 wt
useradd wt
#指定所属组名
useradd -g users wt
#添加用户描述
usermod -c "hr wt" wt
● usermod:修改用户
○ -l 修改用户名 (login)usermod -l a b(b改为a)
○ -g 添加组 usermod -g sys tom-G添加多个组 usermod
○ -G sys,root tom–L 锁定用户账号密码(Lock)
○ –U 解锁用户账号(Unlock)
● userdel:删除用户
○ -r 删除账号时同时删除目录(remove)
#修改用户名wt为wtt
usermod -l wtt wt
#删除用户
userdel -r wtt
- 组管理的命令
● 添加组:groupadd
○ -g 指定gid
● 修改组:groupmod
○ -n 更改组名(new group)
● 删除组:groupdel
● groups 显示用户所属组
#添加一个hr组
groupdd hr
#修改hr组为sale组
groupmod -n sale hr
#显示用户所属组
groups jack