前言:本人是java后端开发,用到的linux命令不是很多,只展示一些常用的命令,方便在工作中快速使用。一些命令的扩展及详细参数,请小伙伴们自行百度。内容有错误或者有异议的欢迎批评指正。
用户&用户组- 创建用户:useradd user1
- 删除用户:userdel -r user1 删除一个用户 ( '-r' 排除主目录)
- 修改用户密码:passwd user1 修改一个用户的口令 (只允许root执行)
- 创建一个新用户组 :groupadd group_name
- 删除一个用户组:groupdel group_name
- 重命名一个用户组:groupmod -n new_group_name old_group_name
- 将用户加入指定用户组:usermod -a -G 用户组 user1 (-a表示user1用户不离开当前用户组,加入root组,也就是user1所属两个用户组,如果user1要离开当前用户组,可以不加-a)
tar & zip
一、解压tar命令
1、解压xxx.tar.gz到指定位置:tar -zxvf xxx.tar.gz -C 解压到指定的文件位置
2、解压xxx.tar.gz到当前位置:tar -zxvf xxx.tar.gz
3、解压xxx.tar到指定位置:tar -xvf xxx.tar -C 解压到指定的文件位置
4、解压xxx.tar到当前位置:tar -xvf xxx.tar
5、解压xxx.tar.bz2:tar -xjvf xxx.tar.bz2
6、解压tar.Z:tar -xZvf xxx.file.tar.Z
二、压缩tar命令
1、将目录里所有jpg文件打包成jpg.tar:tar -cvf jpg.tar *.jpg
2、将目录里所有jpg文件打包成jpg.tar后,
并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz:tar -czf jpg.tar.gz *.jpg
三、解压zip命令
1、解压text.zip到当前目录下:unzip test.zip
2、将压缩文件test.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令覆盖原先的文件:unzip -o test.zip -d tmp/
四、压缩zip命令
1、将指定目录/tmp压缩成test.zip文件
zip -r test.zip tmb/
2、从压缩文件 test.zip 中删除文件 file1
zip -dv test.zip file1
3、将 /home/soft/ 这个目录下所有文件和文件夹打包为当前目录下的 soft.zip:
zip -q -r soft.zip /home/soft
网络
1、查看网络ip信息:ifconfig
2、查看tcp端口占用情况:netstat -nlpt
3、查看udp端口占用情况:netstat -nlpu
4、只显示监听端口: netstat -l
5、只列出所有监听tcp端口: netstat -lt
6、只列出所有监听udp端口: netstat -lu
7、只列出所有监听UNIX端口: netstat -lx
red hat/CentOs7
1、查看防火状态
firewall防火墙:systemctl status firewalld 或者 firewall-cmd --state
iptables防火墙service iptables status
注: iptables服务需要自己安装
yum install -y iptables-services
2、暂时关闭防火墙
firewall防火墙:systemctl stop firewalld
iptables防火墙:service iptables stop 或者 systemctl stop iptables.service
3、开启防火墙
firewall防火墙:systemctl start firewalld
iptables防火墙:service iptables start 或者 systemctl start iptables.service
4、永久关闭防火墙
systemctl disable firewalld 或者 systemctl disable firewalld 或者
5、重启防火墙
firewall防火墙:systemctl enable firewalld
iptables防火墙:service iptables restart 或者 systemctl restart iptables.service
6、添加指定端口访问
firewall防火墙:防火墙开启时设置
1、添加8848端口访问:firewall-cmd --zone=public --add-port=8848/tcp(永久生效再加上 --permanent)
2、查看可访问端口列表:firewall-cmd --zone=public --list-ports
3、重启防火墙:firewall-cmd --reload
参数说明:--add:添加端口
--remove:移除已经添加的端口
--permanent:永久生效
iptables防火墙:
1、vim /etc/sysconfig/iptables
添加内容:-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8848 -j ACCEPT
2、重启服务:/etc/init.d/iptables restart
3、查看端口是否开放:/sbin/iptables -L -n
系统信息
version、cpu、memory、disk
1、查看系统版本
cat /proc/version
2、磁盘使用信息
1、df [args][目录或文件]:列出文件系统的整体磁盘使用量
args:
-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
-k :以 KBytes 的容量显示各文件系统;
-m :以 MBytes 的容量显示各文件系统;
-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
-H :以 M=1000K 取代 M=1024K 的进位方式;
-T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
-i :不用硬盘容量,而以 inode 的数量来显示
2、du [args][目录或文件]:对文件和目录磁盘使用的空间的查看
args:
-a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
-h :以人们较易读的容量格式 (G/M) 显示;
-s :列出总量而已,而不列出每个各别的目录占用容量;
-S :不包括子目录下的总计,与 -s 有点差别。
-k :以 KBytes 列出容量显示;
-m :以 MBytes 列出容量显示
3、查看硬盘大小
fdisk -l |grep Disk
3、cpu信息
1、获取cpu型号
cat /proc/cpuinfo | grep name | cut -f2 -d: |uniq -c
2、获取物理cpu个数
grep 'physical id' /proc/cpuinfo | sort | uniq | wc -l
3、获取cpu核数
cat /proc/cpuinfo |grep "cores"|uniq
4、查看内存
1、系统内存:cat /proc/meminfo | grep MemTotal
2、查看内存使用信息:free -m
5、查看系统cpu使用情况
1、top:以cpu使用率从大到小显示
2、top -Hp 进程id:查看该进程下所有线程的cpu使用情况
文件&文件夹
文件&文件夹属性
常见文件类型有四种:d(文件夹)、-(文件)、l(链接)、b(块社保)
文件权限:r:读 w:写 x:执行
用数字表示权限:r=4,w=2,x=1
完全权限=4 2 1=7
读写权限=4 2 0=6
文件 6 4 4 文件数量 所属用户 用户所属组 文件大小 最后修改日期 名称
- rw- r-- r-- 1 root root 389 May 21 13:09 config.log
修改文件属性
1、修改文件或目录所有者:
chown -R 所有者用户名 目录或文件名
2、修改文件或目录所属的组
chgrp 组 目录或文件名
3、修改文件或目录所有者与所属的组
chown -R 用户名:组名 目录或文件名
4、修改文件权限
给文件或目录赋予完全权限:chmod -R 777 目录或文件名
history
history一般用来查看历史执行的命令,有时候我们需要知道这个命令是什么时候执行,由谁执行,操作的机器Ip是多少
export HISTTIMEFORMAT="%F %T `who am i` "
全局生效:
可以将这个变量加入到/etc/profile全局变量设置中,就对所有的会话都生效了
[root@testvm01 ~]# tail /etc/profile
else
. "$i" >/dev/null 2>&1
fi
fidone
unset i
unset -f pathmunge
export HISTTIMEFORMAT="%F %T `who am i` "
[root@testvm01 ~]# source /etc/profile