一、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 - 图1

在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 的快捷方式。

  1. #ln f1 f2 # 创建f1的一个硬连接文件f2
  2. # 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 安装

  1. 官网安装参考手册:https://docs.docker.com/install/linux/docker-ce/centos/
  2. 确定你是CentOS7及以上版本

    [root@192 Desktop]# cat /etc/redhat-release
    CentOS Linux release 7.2.1511 (Core)
    
  3. yum安装gcc相关(需要确保 虚拟机可以上外网 )

    yum -y install gcc
    yum -y install gcc-c++
    
  4. 卸载旧版本

    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
    
  5. 安装需要的软件包

    yum install -y yum-utils device-mapper-persistent-data lvm2
    
  6. 设置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 ```