关机和重启命令
关机
shutdown -h now #立即关机
shutdown -h 10 #10分钟后关机
shutdown -h 10:30 #系统将在今天10:30关机
重启
shutdown -r now #立马重启
reboot #立马重启
目录
- / :根目录
- /bin : 存放常用的命令
- /boot :存放启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件
- /dev :存放Linux的外部设备
- /ect : 存放所有的系统管理所需要的配置文件和子目录
- /home :用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的
- /lib :存放系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件
- /lost+found :这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件
- /media :linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下
- /mnt :系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt上,然后进入该目录就可以查看光驱里的内容了
- /opt :这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的
- /proc : 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息
- /root :该目录为系统管理员,也称作超级权限者的用户主目录
- /sbin : s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序
- /srv :该目录存放一些服务启动之后需要提取的数据
- /sys :这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs
- /tmp :这个目录是用来存放一些临时文件的
- /usr :这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录
- /usr/bin :系统用户使用的应用程序
- /www :存放服务器网站相关的资源,eg:环境、网站的项目等
常用的基本命令
cd 命令
cd / #返回根目录
cd .. #返回上级目录
cd - #返回上次所在的目录
查看文件命令
ll -all #查看当前目录的全部文件,包括隐藏文件(可简写为 ll -a )
创建目录和删除目录
mkdir 目录名 #创建目录
mkdir -p 目录名/目录名/... #创建多级目录
rmdir 目录名 #删除目录(只能删除空目录文件夹,如果目录里存在文件,需要先删除文件)
显示当前用户所在的目录
pwd #显示当前用户所在的目录
拷贝文件或目录、移除文件或目录、移动文件或目录
cp 文件名 目录名 #拷贝文件到目录...(如果文件重复可选择:y覆盖,n放弃)
rm 文件名 #移除文件(会出现警告询问是否删除,y->删除,n->取消删除)
rm -f 文件名 #强制删除(不会出现警告)
rm -r 目录名/目录名/... #递归删除目录
rm -rf 要删除的文件名或目录 #删除当前目录下的所有文件及目录,并且是直接删除,无需逐一确认命令行为
mv 文件名 目录名 #将文件移动到...
mv 目录名1 目录名2 #将目录1重命名为名2
mv -f #强制移动文件或目录
基本属性
第一个字符代表的含义
- 【d】 目录文件
- 【-】 表示文件
- 【l】 表示为链接文档
- 【b】 表示为装置文件里面的可供存储的接口设备
- 【c】 表示为装置文件里面的串行端口设备
剩下的每三个字符为一组,第一组为root权限
- 【r】 代表可读
- 【w】 代表可写
- 【x】 代表可执行
修改权限
chmod 777 文件名 #修改为最高权限,可读可写可执行
查看文件内容
cat 文件名 #由第一行开始显示文件内容
tac 文件名 #由最后一行倒着显示文件内容
nl 文件名 #显示的时候顺序输出行号
head -n 20 文件名 #显示前20行文本内容
tail -n 20 文件名 #显示最后20行文本内容
more 文件名 #一页一页的显示文件内容(空格可以翻页,回车向下看一行,:f行号)
less 文件名 #可以使用上下键进行页面滑动,空格表示翻页(退出->q)(在查看内容时可以使用/xxx进行标亮显示)
创建链接
ln 文件名1 文件名2 #创建硬链接(文件1误删,仍然可以通过文件2访问文件1的内容)
ls -s 文件名1 文件名2 #创建软链接,类似于win系统的快捷方式
创建文件
touch 文件名 #创建文件
压缩文件
#使用 tar 命令压缩
tar -czvf archive_name.tar.gz folder_to_compress
- -c: 创建新的归档文件。
- -z: 使用 gzip 压缩。
- -v: 显示详细信息,即在压缩过程中显示被压缩的文件名。
- -f: 指定归档文件的名称。
- archive_name.tar.gz: 指定压缩文件的名称。
- folder_to_compress: 要压缩的文件夹名称。
#使用 zip 命令压缩
zip -r archive_name.zip folder_to_compress
- -r: 递归地压缩整个目录及其子目录。
- archive_name.zip: 指定压缩文件的名称。
- folder_to_compress: 要压缩的文件夹名称。
输出字符串
echo "字符串" >>文件名1 #将字符串输入到文件1中
vim编辑器
vim 文件名1 #若文件1存在,则为编辑;若不存在,则为新建文件1
set bu #显示行号
set nonu #取消行号
创建、删除、修改、切换用户
useradd -m 用户名 #创建一个用户
userdel -r 用户名 #删除用户并清除用户的文件夹
usermod 修改的内容 修改的用户 #修改用户
su 用户名 #切换用户
修改主机名、修改密码、锁定账户
hostname 要修改的主机名 #修改主机名(修改后重新连接)
#root用户可以修改所有用户的密码
passwd 用户名 #输入两次新密码
#非root用户只能修改自己用户的密码
passwd #输入两次新密码
passwd -l 用户名1 #锁定用户1,锁定之后就不能登录了
创建用户组、删除用户组、修改用户组
groupadd 用户组名1 #创建用户组1
groupadd -g id号 用户组名2 #创建用户组2,并指定其id
groupdel 用户组名3 #删除用户组3
groupmod -g id号 -n 新用户组名 原用户组名 #修原用户组名的名字和id号
磁盘管理
df #查看磁盘情况,存储空间显示为字节
df -h #查看磁盘情况,存储空间显示为M、G
du -sm /* #检查根目录下每个目录所占用的容量
mount #挂载
umount -f [挂载位置] #强制卸载
进程管理
ps 查看当前系统中正在执行的各种进程的信息
ps -xx :
- -a 显示当前终端运行的所有的进程
- -u 以用户的信息显示进程
- -x 显示后台运行进程的参数
ps -aux #查看所有的进程
ps -aux | gerp 进程名1 #查看进程名1的进程
# | 表示管道符 A|B
# grep 查看文件中符合条件的字符串
ps -ef : 可以查看到哦父进程的信息
ps -ef | grep 进程名2
pstree -pu
-p 显示父id
-u 显示用户组
强制结束进程
kill -9 进程id #强制结束进程
防火墙
firewall-cmd --list-ports #查看防火墙开启的端口
firewall-cmd --zone=public --add-port=9090/tcp --permanent #开启防火墙9090端口
systemctl restart firewalld.service #重启防火墙
卸载原生的open jdk ,使用rpm命令安装jdk8
#查看当前系统是否存在Java环境
java -version
#检测JDK版本信息
rpm -qa | grep jdk
#删除上面检测到的jdk版本信息
rpm -e --nodeps [上面检测到的jdk版本]
#卸载完成后安装自己下载的jdk(如图1)
rpm -ivk jdk-8u371-linux-x64.rpm
部署Java项目
启动java项目
#当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出
java -jar ***.jar
#当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行(&代表在后台运行)
java -jar ***.jar &
#nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行,当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件
nohup java -jar ***.jar &
#解释下 >temp.txt是将输出重定向到temp.txt文件,即输出内容不打印到屏幕上,而是输出到temp.txt文件中。
nohup java -jar ***.jar >temp.txt &
#标准日志输出到/dev/null,也就是不输出标准日志,错误日志输出到/data/err.log文件
nohup java -jar ***.jar >/dev/null 2>/data/err.log &
杀死后台java 项目
#1、查看Java进程
ps -ef | grep java
#2、通过进程id号杀死进程
kill -9 [进程id号]
修改MySQL向所有IP开放连接
show databases;
use mysql;
select user,host from user;
update user set host ='%' where user ='root';
flush privileges;
使用ssh免密登录服务器
- 将本地生成的公钥(id_rsa.pub)上传到服务端/root/.ssh文件夹下
- 在/root/.ssh文件夹下执行该cat id_rsa.pub >> authorized_keys