目录
Liunx命令
注意:Linux中没有错误就代表成功
开机之后,提示输入用户名和密码
root xxxxx
常用命令
开关与关机
shutdown -h now 正常关机
halt 关闭内存,也机关
init 0 关机
reboot 重启
附:
shutdown -h now 立刻重启(root用户使用)
shutdown -r 10 过10分钟自动重启(root用户使用)
shutdown -r 20:35 在时间为20:35时候重启(root用户使用)
如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启
关机命令:
halt 立刻关机
poweroff 立刻关机
shutdown -h now 立刻关机(root用户使用)
shutdown -h 10 10分钟后自动关机
如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启
init一共分为7个级别,这7个级别的所代表的含义如下:
0:停机或者关机(千万不能将initdefault设置为0)
1:单用户模式,只root用户进行维护
2:多用户模式,不能使用NFS(Net File System)
3:完全多用户模式(标准的运行级别)
4:安全模式
5:图形化(即图形界面)
6:重启
根目录 /
根目录介绍
bin: binary(二进制) 表示该目录中存放了一些二进制文件,是可以直接运行的。
dev: 该目录主要存放的是外部设备,如U盘、移动硬盘等(在此目录中需要挂载)。
mnt: 外接设备需要挂载的时候,就需要挂载到mnt目录
etc:主要存储一些配置文件。
home(家): 存放的是该系统中除root用户外的所有的用户的目录。
proc:名称Process,表示进程,该目录中存储的是Linux运行时的进程。
root:该目录是root用户的家目录
sbin:全称super binary 该目录是存储一些可以被执行的二进制文件,但是必须拥有root权限的用户才能执行。
tmp:临时目录。用来存储系统运行时产生的临时文件
usr: 存放的是用户所安装的软件
var:存储的程序体系统的日志文件目录
Linux相关命令
ls(全称list)命令:显示当前目录下的文件与目录
ls 路径,显示该路径下的所有的文件与目录
-a 显示所有的文件与目录
-l 以长格式显示
-h 以较高的可读性显示
ls -lh 以长格式显示当前目录下的文件与目录,以列表的形式并且在显示文档大小的时候以可读性较高的形式显示
cd命令(切换目录)
绝对路径路径全称 : C:\Users\xxxx
相对命令 : cd ../local
当前目录 : ./
返回上一级目录 : dc ..
pwd命令(打印当前目录或文件的路径)
[root@localhost usr]# pwd
mkdir命令(创建一个文件夹)
-p 文件夹/文件夹 : 递归创建文件夹
[root@localhost home]# mkdir wangxiansen
[root@localhost home]# mkdir -p test2/test3/test4 //创建test4 目录,如果test4 目录不存在,-p表示创建父目录
[root@localhost home]# mkdir aa bb cc //表示在当前目录下一次性创建多个目录
rmdir命令(删除目录)
rmdir 仅能删除空的目录 , 如果下面存在文件 , 需要先删除文件,
-p 参数 : 递归删除多个目录.
touch命令(创建文件)
[root@localhost wangxiansen]# touch file.txt //在当前目录下创建一个文件
[root@localhost wangxiansen]# touch file2.txt file3.txt //在当前目录下创建多个文件
cp命令(复制)
cp file.txt wangxiansen // 把当前目录下的file.txt文件复制到wangxiansen 目录下
-r:表示递归
[root@localhost home]# cp -r aa wangxiansen //把当前目录下的aa目录复制wangxiansen 目录下
mv命令(移动/剪贴)
[root@localhost home]# mv aa wangxiansen //将当前目录下的aa 移动到wangxiansen 目录下
[root@localhost home]# mv bb wangxiansen/bbb //将当前目录下的bb 移动到wangxiansen目录下并且改名为bbb
rm命令(移除/删除)
-r递归
-f 不询问
-i 互动,删除时询问是否删除
小心谨慎:rm -rf //传说中的删除跑路
[root@localhost wangxiansen]# rm file.txt //删除wangxiansen下的file.txt文件
[root@localhost home]# rm -rf wangxiansen/aa //删除wangxiansen目录下的aa目录
vi/vim命令(是一个文本编辑器)(重要)
[root@localhost wangxiansen]# vi file2.txt //编辑file2.txt文件
退出: q 回车c
不保存退出 : q! 回车
保存退出 : wq 回车
或者直接按两个大写的Z 也可以实现保存
可用的光标移动,复制粘贴,搜索替换
搜索替换
删除,复制与粘贴
编辑模式
输出重定向
一般命令的输出都会显示在终端中,有些需要将一些命令的执行结果保存在一个文件
中进行后续的分析和统计,则需要输出重定向技术。
> 表示覆盖输出,会覆盖掉原来的文件内容
>> 追加输出 不会覆盖原来的文件内容,会在原文件尾添加
[root@shop1 /]# ls -al >a.txt
[root@shop1 /]# more a.txt
[root@shop1 /]# ls -l >a.txt 会覆盖掉原来的文件内容
[root@shop1 /]# more a.txt
cat命令(查看文件)
[root@localhost wangxiansen]# cat file2.txt
[root@localhost wangxiansen]# cat file2.txt > file3.txt //合并文件(合并文件中的内容)
tac命令(反向查看文件)
head命令
head 命令是查看文件的前n行,如果n未指定,则默认显示前10行
[root@localhost wangxiansen]# head -5 file2.txt //指定查看前几行
tail命令
tail 命令是查看文件的尾n行,如果n未指定,则默认显示后10行
[root@localhost wangxiansen]# tail -5 file2.txt //指定查看后几行
less命令
less命令: 查看文件,以较少的内容进行输出,按下辅助功能键查看更多
[root@localhost wangxiansen]# less file2.txt
按q退出
ifconfig 命令: (查看网络配置)
ps命令(重要)
ps命令:主要显示服务器进程信息
-e :等价于"-A",表示列出全部进程
-f :表示显示全部的列
-a 显示当前终端所有的进程信息
-u 以用户的信息显示进程
-x 显示后台运行进程的参数
对于我们来说,这里目前只需要记住一个命令即可ps -xx|grep进程名字!过滤进程信息!
ps-ef :可以查看到父进程的信息
其中:
uid:表示该进程执行的用户id
pid:表示进程id
ppid:表示该进程的父进程id
C:表示cpu的占用率,以百分比的形式显示
STIME:表示进程的启动时间
TTY:表示终端设备,发起该进程的设备识别符号,如果显示"?"则表示该进程
并不是由终端设备发起。
TIME:表示进程的执行时间
CMD:表示该进程的名称或路径
利用管道流过滤出我们想要的进程
[root@localhost wangxiansen]# ps -ef | grep httpd
df命令(查看磁盘的空间)
df(列出文件系统整体的磁盘使用量) du(检查磁盘空间使用量)
free命令(查看内存的使用情况)
wc命令
统计文件内容信息(包含行数,单词数,字节数)
wc -lwc 要统计的文件名
-l: 表示lines行数
-w: 表示words单词数
-c: 表示bytes字节数
date命令(操作时间)
[root@localhost wangxiansen]# date '+%F %T'
2021-05-09 11:40:40
[root@localhost wangxiansen]# date "+%Y-%m-%d %H:%M:%S"
2021-05-09 11:41:07
cal命令(操作日历)
管道符命令
管道符:
作用: 管道一般可以用于"过滤","特殊","扩展处理"。
管道不能单独使用,必须配合以前的指令使用。
ls -al /|grep m 列出根目录下的含有m的文件或目录
hostname:用于显示主机名
hostname -f 表示输出主机中的FQDN(全限定名)
id命令
id命令: 查看用户的基本信息(包括用户id,用户组id,附加组id等)
如果该命令没有指定用户,默认为当前用户
whoami命令
whoami:我是谁?用来显示当前用户的用户名
ps aux
USER 进程的用户;
PID 进程的ID;
%CPU 进程占用的CPU百分比;
%MEM 占用内存的百分比;
VSZ 该进程使用的虚拟内存量(KB);
RSS 该进程占用的固定内存量(KB);
TTY 该进程在哪个终端上运行(登陆者的终端位置),若与终端无关,则显示(?)。若为pts/0等,则表示由网络连接主机进程;
START 该进程被触发启动时间;
TIME 该进程实际使用CPU运行的时间;
COMMAND 命令的名称和参数;
STAT状态位常见的状态字符
D 无法中断的休眠状态(通常 IO 的进程);
R 正在运行中在队列中可执行的;
S 处于休眠状态;
T 停止或被追踪;
W 进入内存交换 (从内核2.6开始无效);
X 死掉的进程 (基本很少见);
Z 僵尸进程;
< 优先级高的进程;
N 优先级较低的进程;
L 有些页被锁进内存;
s 进程的领导者(在它之下有子进程);
l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads);
+ 位于后台的进程组;
top命令
top命令:查看进程所占用的服务器资源率,按q键退出
PID:进程id
USER:该进程对应的用户
PR:优先级
NI:用户进程空间内改变过优先级的进程占用CPU百分比
VIRT:虚拟内存
RES:常驻内存
SHR:共享内存
S:表示进程的状态,sleeping表示睡眠,R表示运行
%CPU:表示CPU的占用百分比
%MEM:表示内存的占用百分比
TIME+:执行的时间
COMMAND:进程的名称或者路径
在运行top时,可以按下快捷键进行排序。
M:表示将结果按照内存从高到低进行降序排列
P:表示将结果按照CPU使用率从高到低降序排列
1:当服务器拥用多个CPU的时候,可以使用"1"快捷键来切换是否展示各个cpu的详细信息
du命令
du命令:查看目录的真实大小
-s:只显示汇总的大小
-h: 表示以高可读形式进行显示
[root@imageServer /]# du -sh mnt
4.0K mnt
[root@imageServer /]# du -sh lib64
19M lib64
ls -hl 算是当前每目录下的文件大小汇总
du 算是整个目录的大小,含所有子目录
find命令(查找文件)
find命令:用于查找文件
find 路径范围 参数 参数的值
-name:按照文档名称进行搜索(支持模糊搜索)
-type:按照文档的类型进行搜索
文档类型: "-"表示文件,在使用时用f来替换
"d"表示目录
查找所有的bbb文件
查找/etc目录下的所有文件
统计/etc目录下的所有文件的数量
service命令
service命令:用于控制一些软件服务的启动 start/ 停止 stop /重启 restart
kill命令(杀死进程)
kill命令:杀死进程
kill 进程名(服务)
kill -9 进程名(服务)
killall 进程名(服务)
uptime命令
uptime命令:输出计算机的持续在线时间(计算机从开机到现在的运行时间)
uname命令
uname命令:获取计算机操作系统相关信息
uname 获取操作系统的类型
uname -a 获取操作系统的全部信息
netstat命令(重要)(查看网络连接状态)
netstat命令:查看网络连接状态
-t:表示列出tcp协议的连接
-n:表示将地址从字母组合转化成ip地址,将协议转换成端口来显示
-l:表示过滤出"state(状态)"列中其值为listen的连接
-p:显示发起连接进程的pid和进程名称
硬链接和软链接
硬链接 : B >A B文件指向A文件,B文件是A文件的硬链接,B是实际存在的一个文件,他们两个的内容是一样的,,用户可以通过这种机制硬链接到一个重要文件上,防止误删,把A文件删除后对B文件没有任何影响
软连接 : 类似快捷方式,当A文件删除后B文件不能再使用
操作步骤:
创建链接 ln命令!
touch命令创建文件!
创建软链接
删除后看看f2和f3的区别
Linux权限解释(重点)
drwxr-xr-x. 3 root root 16 May 9 10:02 a1
drwxr-xr-x. 3 root root 36 Mar 31 13:46 activemq
lrwxrwxrwx. 1 root root 7 Mar 18 19:43 bin -> usr/bin
dr-xr-xr-x. 4 root root 4096 Mar 18 20:03 boot
drwxr-xr-x. 20 root root 3220 May 9 08:29 dev
drwxr-xr-x. 79 root root 8192 May 9 08:29 etc
drwxr-xr-x. 6 root root 63 May 9 10:21 home
-rw-r--r--. 1 root root 0 Mar 18 20:47 ifcfg-ens33
在linux中,文件或目录是有权限的,采用1333格式表示,共10位
- rw- r-- r--
其中第一位表示类型:
- 表示文件
d 表示目录
l 表示连接 即link (快捷方式)
文件有三种方式:
r 可读 2^2=4
w 可写 2^1=2
x 可执行 2^0=1
drwxr -xr --x. 3 root root 16 May 9 10:02 a1
红色代表文件拥有者可以对目录进行哪些操作
绿色代表组群可以对目录有哪些操作
蓝色代表其他用户对目录的操作
修改文件所属者或所属组
修改文件的拥有者:
chown 用户 文件名
chown root aaa.txt
修改文件的所属组
chgrp 组名 文件名
chgrp root aaa.txt
一次性改用户和所属组
chown zhangsan:zhangsan aaa.txt
修改文件或目录的操作权限
所属用户为u
所属组为g
其它用户o
为用户组增加可写权限
chmod g+w a.txt
为用户组减少写权限
chmod g-w a.txt
为用户增加可执行权限
chmod u+x a.txt
VM快照使用
快照相当于游戏存档 可以随时保存配置方式玩坏
但是必须在Linux关闭之后
常用软件安装
官方网址下载linux的个个安装包即可(.gz结尾的)
JDK安装
- 把下载的tar.gz上传到/usr/local目录下
- 对jdk进行解压缩
-
[root@ibm001 local]# tar -zxvf jdk-8u161-linux-x64.tar.gz
- 配置jdk的环境
-
Vi /etc/profile
修改
#JAVA_HOME
export JAVA_HOME=/usr/local/jdk1.8.0_161
export PATH=$PATH:$JAVA_HOME/bin
- 重新进profile进行加载
-
source /etc/profile
- 测试jdk
-
[root@ibm001 local]# java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
tomcat安装
上传下载好的tomcat上传到/usr/local目录下
- 解压缩
Tar -zxf apache-tomcat-9.0.21.tar.gz
把ssm.war放到tomcat/webapps目录下
重新启动tomcat
启动tomcat命令 bin/startup.sh
关闭tomcat命令 bin/shutdown.sh
Redis安装
.配置服务后台启动
前台启动缺点 - 启动完成后,不能再进行其他操作, 如敲写redis命令等
配置后台启动
vi redis.conf
修改
daemonize no
为
daemonize yes
启动后台
./bin/redis-server redis.conf
验证后台启动是否成功
ps -ef|grep redis
验证命令响应
./bin/redis-cli
查看所有键(数据以键值对形式存储)
keys *
Mysql安装
检查linux上是否按装mysql软件
rpm -qa|grep -i mysql
停止mysql服务
service mysql stop
删除mysql包
rpm -ev mysql-5.1.73-8.el6_8.x86_64
可能会抛依赖错误错 error:Failed dependencies:
则加上 --nodeps不检查依赖关系删除,命令如下
rpm -e --nodeps mysql-libs-5.1.73-8.el6_8.x86_64
先执行此命令:
sed -i "s|enabled=1|enabled=0|g" /etc/yum/pluginconf.d/fastestmirror.conf
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
curl -o /etc/yum.repos.d/CentOS-Base.repo https://www.xmpan.com/Centos-6-Vault-Aliyun.repo
yum clean all
yum makecache
安装Mysql
1.按装mysql: yum install mysql-server
2.启动mysql服务: service mysql start
3.查看mysql服务的进程: netstat -tnlp
3.初始化mysql: mysql_secure_installation
1) Enter current password for root(enter for none) 请输入当前root用户的密码,如果没有请按回车键
因为我们是首次按装,并没有密码所以选择"按回车键"
2) Set root password? 是否设置root用户的密码? 我们选择y,给root用户设置密码
3) Remove anonymous users? 是否移除匿名用户? 我们选择y,移除匿名用户
4)Disallow root login remotely?是否允许root用户远程登陆? 我们选择n
5) Remove test database and access to it?是否移除测试数据库?选择n
6)Reload privilege tables now?是否重新加载权限表?选择y
到此为止,按装结束。
登陆mysql:
mysql -u root -p xxxx
退出 exit或quit
把备份的数据库导入linux mysql中
进入到mysql : mysql -uroot -pxxx
mysql> source /usr/local/oa.sql
远程连接mysql
新建帐号并进行授权
GRANT ALL PRIVILEGES ON *.* TO 'zhangsan'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
flush privileges //刷新权限
Nginx的安装
下载nginx
上传到linux操作系统
对nginx进行解压缩
tar zxf nginx-1.8.0.tar.gz
编译依赖gcc环境,如果没有gcc环境,需要安装gcc:
yum install gcc-c++
在linux上安装pcre库。
yum install -y pcre pcre-devel
安装zlib库。
yum install -y zlib zlib-devel
安装openssl库
yum install -y openssl openssl-devel
使用configure命令进行按装
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
注意:上边将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录
编译安装
make
make install
启动nginx ,到安装nginx的目录下启动
./nginx
关闭nginxx
./nginx -s stop
重新加载nginx
./nginx -s reload