一、liunx目录结构
- /bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。(不要动)
- /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。(不要动)
- /dev : dev是Device(设备)的缩写, 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
- /etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。
- /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: 系统用户使用的应用程序。
- /usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。
- /usr/src: 内核源代码默认的放置目录。
- /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
- /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。
二、liunx常用命令
- ls: 列出目录
- -a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来
- -l :长数据串列出,包含文件的属性与权限等等数据
- cd:切换目录
- ~ :表示回到当前用户目录
- pwd:显示目前的目录
- mkdir:创建一个新的目录
- -m :配置文件的权限
- -p :递归创建多级目录
- rmdir:删除一个空的目录
- touch:创建一个文件
- cp: 复制文件或目录
- -a:相当於 -pdr 的意思,至於 pdr 请参考下列说明
- -p:连同文件的属性一起复制过去,而非使用默认属性(备份常用)
- -d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身
- -r:递归持续复制,用於目录的复制行为
- rm: 移除文件或目录
- mv: 移动文件与目录,或修改文件与目录的名称
- echo “ “ >> filename 往文件输入数据
- find:查找文件 find / -name ‘${文件名}‘
三、文件基本属性
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等:
- 当为[ d ]则是目录
- 当为[ - ]则是文件;
- 若是[ l ]则表示为链接文档 ( link file );
接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。
chmod:更改文件9个属性
Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。
r:4 w:2 x:1
设置文件最高属性 :chmod 777 filename
四、文件读取命令
- cat 由第一行开始显示文件内容
- -b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
- tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
- nl 显示的时候,顺道输出行号!
- less 一页一页的显示文件内容
- 空白键 :向下翻动一页;
- [pagedown]:向下翻动一页;
- [pageup] :向上翻动一页;
- /字串 :向下搜寻『字串』的功能;
- ?字串 :向上搜寻『字串』的功能;
- n :重复前一个搜寻 (与 / 或 ? 有关!)
- N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
- q :离开 less 这个程序;
- head 只看头几行
- tail 只看尾巴几行
- -n :后面接数字,代表显示几行的意思
- -f :循环读取
五、文件连接
硬连接:硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。
软连接:软链接文件有类似于 Windows 的快捷方式。
#ln f1 f2 # 创建f1的一个硬连接文件f2
# ln -s f1 f3 # 创建f1的一个符号连接文件f3
六、VIM的使用
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。这三种模式的作用分别是:
命令模式:
用户刚刚启动 vi/vim,便进入了命令模式。
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
以下是常用的几个命令:
- i 切换到输入模式,以输入字符。
- o在目前光标所在的下一行处输入新的一行
- x 删除当前光标所在处的字符。
- : 切换到底线命令模式,以在最底一行输入命令。
输入模式:
在命令模式下按下i就进入了输入模式。
在输入模式中,可以使用以下按键:
- 字符按键以及Shift组合,输入字符
- ENTER,回车键,换行
- BACK SPACE,退格键,删除光标前一个字符
- DEL,删除键,删除光标后一个字符
- 方向键,在文本中移动光标
- HOME/END,移动光标到行首/行尾
- Page Up/Page Down,上/下翻页
- Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
- ESC,退出输入模式,切换到命令模式
底线命令模式
在命令模式下按下:(英文冒号)就进入了底线命令模式。
在底线命令模式中,基本的命令有(已经省略了冒号):
- q 退出程序
- w 保存文件
按ESC键可随时退出底线命令模式。、
七、系统管理
用户管理
(1)添加用户 useradd
useradd 选项 用户名
参数说明:
- 选项 :
- -g 用户组 指定用户所属的用户组。
- -G 用户组,用户组 指定用户所属的附加组。
- -m 使用者目录如不存在则自动建立。
- 用户名 :
- 指定新账号的登录名。
(2)切换用户
1.切换用户的命令为:su username 【username是你的用户名哦】
2.从普通用户切换到root用户,还可以使用命令:sudo su
(3)删除用户
userdel 选项 用户名
常用的选项是 -r,它的作用是把用户的主目录一起删除。
(4)修改用户
修改已有用户的信息使用usermod命令,其格式如下:
usermod 选项 用户名
进程管理
ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。
- 选项 :
- -a 显示所有进程
- -u 指定用户的所有进程
- -x 后台运行的进程参数
- -aux 显示所有包含其他使用者的行程
- ps -ef|grep java 显示java相关进程(|在linux中位管道符,grep是符合条件的1字符串)
- pstree -pu 显示进程的的目录树
- kill -9 进程id 杀死某个进程
jdk安装(rpm安装)
1、rpm下载地址http://www.oracle.com/technetwork/java/javase/downloads/index.html
2、如果有安装openjdk 则卸载
[root@kuangshen ~]# java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
# 检查是否安装过java(rpm -qa 列出所有安装过的包)
[root@kuangshen ~]# rpm -qa|grep jdk
jdk1.8.0_121-1.8.0_121-fcs.x86_64
# 卸载 -e --nodeps 强制删除
[root@kuangshen ~]# rpm -e --nodeps jdk1.8.0_121-1.8.0_121-fcs.x86_64
[root@kuangshen ~]# java -version
-bash: /usr/bin/java: No such file or directory # OK
3、安装JDK
# 安装java rpm
[root@kuangshen kuangshen]# rpm -ivh jdk-8u221-linux-x64.rpm
# 安装完成后配置环境变量 文件:/etc/profile
JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export PATH CLASSPATH JAVA_HOME
# 保存退出
# 让新增的环境变量生效!
source /etc/profile
# 测试 java -version
[root@kuangshen java]# java -version
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
Tomcat安装(解压缩安装)
1、安装好了Java环境后我们可以测试下Tomcat!准备好Tomcat的安装包!
2、将文件移动到/usr/tomcat/下,并解压!
[root@kuangshen kuangshen]# mv apache-tomcat-9.0.22.tar.gz /usr
[root@kuangshen kuangshen]# cd /usr
[root@kuangshen usr]# ls
apache-tomcat-9.0.22.tar.gz
[root@kuangshen usr]# tar -zxvf apache-tomcat-9.0.22.tar.gz # 解压
3、运行Tomcat,进入bin目录,和我们以前在Windows下看的都是一样的
# 执行:startup.sh -->启动tomcat
# 执行:shutdown.sh -->关闭tomcat
./startup.sh
./shutdown.sh
4、确保Linux的防火墙端口是开启的,如果是阿里云,需要保证阿里云的安全组策略是开放的!
# 查看firewall服务状态
systemctl status firewalld
# 开启、重启、关闭、firewalld.service服务
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
# 查看防火墙规则
firewall-cmd --list-all # 查看全部信息
firewall-cmd --list-ports # 只看端口信息
# 开启端口
开端口命令:firewall-cmd --zone=public --add-port=80/tcp --permanent
重启防火墙:systemctl restart firewalld.service
命令含义:
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
安装Docker(yum安装)
基于 CentOS 7 安装
- 官网安装参考手册:https://docs.docker.com/install/linux/docker-ce/centos/
确定你是CentOS7及以上版本
[root@192 Desktop]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core)
yum安装gcc相关(需要确保 虚拟机可以上外网 )
yum -y install gcc yum -y install gcc-c++
卸载旧版本
yum -y remove docker docker-common docker-selinux docker-engine # 官网版本 yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
安装需要的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
设置stable镜像仓库 ```
错误
yum-config-manager —add-repo https://download.docker.com/linux/centos/docker-ce.repo
报错
[Errno 14] curl#35 - TCP connection reset by peer [Errno 12] curl#35 - Timeout
正确推荐使用国内的
yum-config-manager —add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
7. 更新yum软件包索引
yum makecache fast
8. 安装Docker CE
yum -y install docker-ce docker-ce-cli containerd.io
9. 启动docker
systemctl start docker
10. 测试
docker version
docker run hello-world
docker images ```