Linux学习笔记

Linux安装在VM上

直接安装即可,或者打开VMX文件,挂载到VM上

Linux的目录结构

/代表根目录。~不同的用户,代表的目录不同。

超级管理员用户:root,终端中显示~,表示/root目录

普通用户:在home目录下,终端中显示~,表示home目录中用户名对应的目录/home/itcast

usr目录:很多软件安装在usr目录中

Linux常用命令

pwd(print working directory):打印当前工作目录

ls:显示当前目录中的目录和文件

ls -a:显示当前目录中的所有目录和文件,包括隐藏文件(.开头的)

ls -l:显示当前目录中的所有目录和文件的详细信息,包括权限信息,用户,时间,大小,文件名

ls -l 可以简化为:ll

cd 改变目录

cd -:返回上次所在目录

mkdir:创建目录

rmdir:删除单个目录(前提是该目录为空)

如何创建多级目录?

不能使用mkdir aaa/bbb,会报错

mkdir --help:查看mkdir的帮助信息,大多数命令都可以通过–help来查看帮助信息

1657939108825

mkdir -p aaa/bbb:创建多级目录

rm -rf aaa:可以递归强制无提示删除aaa目录及其子目录

文件查看命令:

cat:查看指定文件所有内容。concatenate:连续的,使连续,连接

more:查看指定文件一屏内容。回车向下一行,空格下一屏,q键或者ctrl + c退出。

less:同more,多了一个上下键翻一行的功能,退出方式同more

tail -N 文件名:显示指定N行的文件内容,从末尾开始。默认显示尾部10行。

tail -f 文件名:动态显示文件末尾内容,如果有追加内容,会动态显示。ctrl + c退出

复制移动删除文件命令:

cp 文件名 目标目录

cp 文件名 目标目录/文件名 可以复制过来并重命名

mv 文件名 目标目录/文件名 可以剪切过来并重命名,普通用法同cp

rm -rf 目录名 递归强制删除(无提示)目录及其内容

打包和压缩

tar -cvf test.tar 要打包文件: -c是创建tar文件,-v是显示打包过程,-f是指定要进行打包的文件名。

tar -zcvf test.tar.gz 要打包的文件: -z是使用gzip压缩:linux中压缩文件后缀名为tar.gz。这里的-f是指定要进行压缩的文件名。而不是压缩后的文件的文件名

tar -zxvf test.tar.gz: 默认解压到当前目录

tar -zxvf test.tar.gz -C …/test:指定解压目录

查找文件:

find / -name b.ta*.gz: 在/中查找文件名为b.ta*.gz的文件

grep 要查找的字符串 文件名 --color -A1 -B1:在文件中查找指定的字符串,将含有该字符串的行显示出来,–color是高亮显示查找的字符串,-A1 -B1是显示后面,前面的指定行内容。

其他命令:

pwd

touch:创建文件

clear

ps:查看进程

Vim文件操作

Vim的三种模式:命令行模式,插入模式,底行模式

命令行模式:vim 文件名 即可进入:可以通过输入命令,对内容操作,如删除等

插入模式:在命令行模式中,按下i,o,a可以进入插入模式,编辑内容。esc退出返回到命令行模式。

i:在当前位置前插入

I:在当前行首插入

a:在当前位置后插入

A:在当前行尾插入

o:在当前行之后插入一行

O:在当前行之前插入一行

底行模式:在命令行模式中,输入:可以进入底行模式。wq是写入退出,q!是强制退出不写入。

VIm中:可以编辑不存在的文件,保存后会自动生成。

在Vim的底行模式中,输入/hello,就可以搜索到带有hello字符串的行,高亮显示出来。

输出重定向和系统管理命令

cat a.txt > b.txt,将cat a文件的输出重定向到b文件。是覆盖重定向。

cat a.txt >> b.txt, 将cat a文件的输出重定向到b文件。是追加重定向。

可以用于有输出的命令,有输出就可以使用>来重定向输出到指定的文件中。

ifconfig >> a.txt,将IP信息重定向到a.txt文件中

ps 查看进程信息

-e 列出所有进程

-f 全部扩展信息,时间等

ps -ef | grep java, 查找包含java字符串的进程

kill -9 pid:强制杀死指定pid(进程id)的进程。

管道

管道是Linux命令中重要的一个概念,其作用是将一个命令的输出作为另一个命令的输入。是一种命令的组合使用。

ls --help | more 分页查询帮助信息

ps -ef | grep java 查询名称中包含java的进程

ifconfig | more

Linux权限

一共10个占位符,分为4个部分

- — — —

第一部分:

  • - 表示文件
  • d 表示目录
  • l 表示链接(快捷方式)

第二部分:表示当前用户具有该文件的权限

  • r : read读权限
  • w : write 写
  • x : execute 执行

三:当前组内其他用户具有该用户的权限

  • r : read读权限
  • w : write 写
  • x : execute 执行

四:其他组的用户具有该文件的权限

  • r : read读权限
  • w : write 写
  • x : execute 执行

修改权限命令:

chmod u=rwx,g=rwx,o=rwx 文件名/目录,当然可以缺省

可以通过数字赋权限:

r : 4, w : 2, x : 1

chmod 755 aa.txt , 读写执行:4 2 1

可能的组合:1 2 4 3 5 6 7,可执行,可写,可读,可执行可写,可执行可读,可读可写,可读可写可执行

Linux常用网络操作

1、主机名配置

hostname:查看主机名

hostname 新名称:修改主机名,仅仅是临时修改不会持久化生效

vim /etc/sysconfig/network 修改其中hostname = itheima,可以持久化修改主机名

2、IP地址配置

service network restart 重启网络服务

持久化修改IP地址:vim /etc/sysconfig/network-scripts/ifcfg-eth0,修改其中的配置即可

临时修改IP地址:ifconfig eth0 192.168.12.22

3、域名映射

/etc/hosts/ 文件作用域在通过主机名进行访问时做ip解析。 相当于windows的C:\windows\system32\drivers\etc\hosts文件的功能

需要做域名映射直接修改该文件就可以了。

4、网络服务管理

service 服务名 操作(status:状态,stop,start,restart)

service network restart

service iptables stop 防火墙

Linux上安装软件

四种常用的Linux安装软件方式

1、使用二进制发布包安装

软件已经针对具体平台编译打包发布,只要解压,修改配置即可使用。

2、RPM包

软件已经按照redhat的包管理工具规范RPM进行打包发布,需要获取到相应的软件RPM发布包,然后用RPM命令进行安装。

缺点是:不会自动安装当前软件依赖的其他软件。

3、Yum在线安装

需要在联网状态下使用。

软件已经以RPM规范打包,但发布在了网络上的一些服务器上,可用yum在线安装服务器上的rpm软件,并且会自动解决软件安装过程中的库依赖问题。

4、源码编译安装

软件以源码工程的形式发布,需要获取到源码工程后用相应开发工具进行编译打包部署

上传于下载工具介绍

1、FileFizzla 用于连接服务器,上传下载文件

2、lrzsz工具

yum install lrzsz 安装提示:

[root@itcast01 yum.repos.d]# yum install lrzsz
Loaded plugins: refresh-packagekit, security
Setting up Install Process
No package lrzsz available.
Error: Nothing to do

3、sftp 安全文件传输协议

在CRT中使用alt + p可以调出sftp界面

put 本地文件路径:默认上传到服务器当前用户的操作目录。(root用户就是root, test用户就是home/test目录)

get 文件名(都是以当前用户的操作目录为源点进行操作):默认下载到本地的文档目录中

Linux安装JDK

查看Linux版本:getconf LONG_BIT 可以获取系统是多少位的

一般安装在/usr/local/ 目录下

cd /usr/local
mkdir jdk
mv jdk-7u71-linux-i586.tar.gz /usr/local/jdk/
# 可能需要卸载之前安装的jdk版本
java -version
# 搜索已经安装的包含java的软件
rpm -qa | grep java
# 卸载上面命令输出的软件
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64

配置环境变量

vim /etc/profile
# 添加如下java环境变量配置
#set java environment
	JAVA_HOME=/usr/local/src/java/jdk1.7.0_71
	CLASSPATH=.:$JAVA_HOME/lib.tools.jar
	PATH=$JAVA_HOME/bin:$PATH
	export JAVA_HOME CLASSPATH PATH
source /etc/profile # 刷新配置
java -version #查看是否安装配置成功

如果不小心改错文件,且没有备份,这里有一份profile默认配置文件:

# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).


if [ "$PS1" ]; then
  if [ "$BASH" ] && [ "$BASH" != "/bin/sh" ]; then
    # The file bash.bashrc already sets the default PS1.
    # PS1='\h:\w\$ '
    if [ -f /etc/bash.bashrc ]; then
      . /etc/bash.bashrc
    fi
  else
    if [ "`id -u`" -eq 0 ]; then
      PS1='# '
    else
      PS1='$ '
    fi
  fi
fi


if [ -d /etc/profile.d ]; then
  for i in /etc/profile.d/*.sh; do
    if [ -r $i ]; then
      . $i
    fi
  done
  unset i
fi 

Linux安装Mysql

cd /usr/local/
mkdir mysql
# 使用文件上传工具将mysql的安装包放到mysql目录下
# 卸载系统中已存在的mysql
rpm -qa | grep mysql # 查询已安装的mysql的文件名
rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.i686 # 卸载已经安装的mysql
tar -xvf MySQL-5.6.22-1.el6.i686.rpm-bundle.tar # 由于不是gz文件,不需要使用-g,-x解压,-v显示过程,-f指定文件名
rpm -ivh rpm安装包名:安装软件
rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm 
rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm
service mysql start
cat /root/.mysql_secret # 查看密码
mysql -uroot -pDTsvRBdhb8IISd9i # 进入mysql中
set password = password('root'); # 第一次登录设置密码才能操作

远程连接mysql:

grant all privileges on *.* to 'root' @'%' identified by 'root'; 
flush privileges;

然后就可以远程访问mysql数据库了。

Linux安装Tomcat

# 在usr/local/中创建对应目录
# 上传文件
# 解压
tar -zxvf apache-tomcat-7.0.57.tar.gz
# cd 进入bin目录
./startup.sh

http://192.168.31.129:8080/ 出现tomcat则安装成功

Linux中部署项目

将打好的war包,放到tomcat的webapp目录中即可。

会自动解压。

然后输入正确的路径,就可以正常访问了。

Linux中查看占用端口,杀死对应进程

# 1、通过ps或者netstat命令以及管道,grep命令查询指定端口,名称的进程对应的详细信息
ps aux | grep nginx或者对应的端口号
# root 13260 0.0  0.1   5180  1284 ? Ss 03:10 0:00 nginx: master process ./nginx

netstat -anp | grep nginx或者对应的端口号 
# tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 13260/nginx

# 上面查询出来的结果中:13260是pid,通过kill -9 <pid>杀死进程
kill -9 13260
# 如果还是提示端口占用,就使用ps -aux | grep 名称,查出有关该应用的所有进程id,全部杀死
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值