Linux的基础知识

时间:2022-05-22 08:11:32
Linux

1. linux的目录结构:

       home:家.(用户的家) 
        普通用户的家目录文件在 home 下    
    root:超级管理员 root 的家
    etc:存放配置文件
    usr:存放共享的资源

2. linux的命令
    常用的命令
        屏幕清空: 
            clear

        查看帮助:
             man 命令
             退出帮助目录: q 

        切换目录:cd
           cd 目录
           cd 目录/目录
           cd .. :上一级目录
           cd / 根目录
           cd ~ :回家

        创建目录和删除目录
           mkdir 创建
               mkdir 目录名
               mkdir -p a/b/c
           rmdir 删除
               rmdir 目录名:只能删除一个空目录
        
        展示目录下文件列表(以后使用 ll 即可)
            ls
            ls:展示的能看见的文件(和目录)的名称
            ls -a:展示所有的文件的名称
                  文件前面有 "." 代表的是隐藏文件 
            ls -l:显示文件的详细信息
                简写的方式: ll(★)
            ll -h:友好的显示

        浏览文件
            cat:显示文件的所有内容
                cat 文件名
            more:分页显示
                 空格:下一页
                 回车:下一行
            less:分页显示
                 可以通过 PgUp PgDn 翻页查看          
            tail(★★)
                查看一个文件的后面的内容
                tail -显示后几行  文件名
                tail -f 文件名
                      动态的查看
                      例如:
                          tail -f catalina.xxx.log
                       通过 ctrl+c 结束滚动查看    

            文件的操作:
              创建一个文件
                 touch 文件名(创建一个空白的文件)
              复制文件
                  cp 文件      目录/文件名
                     例如:
                        cp 1.txt 2.txt
                        cp 1.txt 1/1.txt       
          
            移动文件(重命名)
               mv 文件 目录/文件名
               mv 文件名 新文件名
 
            删除文件 rm
                rm 文件名:带询问删除
                rm -f 文件名:不带询问删除
                rm -r 目录:带询问的递归删除
                rm -rf 目录:不带询问的递归删除(谨慎使用)

            tar:打包或解压  一个文件或目录(★★)
                 常用的组合
                      -cvf:打包一个文件或者目录
                      -zcvf:打包并压缩一个文件或者目录 压缩的格式:gzip
                      -xvf:解压或者打开一个tar文件
                 格式:
                      tar 参数 文件名 要打包|解压的文件目录

                  例如:
                     将当前目录下的所有文件打包成test1.tar
                        tar -cvf test1.tar ./*
                     将当前目录下的所有文件打包并压缩成test2.tar.gz
                        tar -zcvf test2.tar.gz ./*
                     将test1.tar解压到当前目录
                        tar -xvf test1.tar
                     将test1.tar解压到b目录
                        tar -xvf test1.tar -C b      

            其他的常用命令
                    grep:查找符合条件的字符串(★)
                         grep 字符串
                    pwd:显示当前的工作目录
                    wget:下载资料
                         wget 资源路径

            退出shell的命令:
                1、在shell提示符下输入  exit  按回车确认
                2、在shell提示符下输入  logout  按回车确认
                3、按快捷键crtl+d (此方法同logout效果)                      
            
            退出当前线程的命令:
                    CTRL+C     
            
            管道 | ★
                 重要的一个概念,其作用是将一个命令的输出用作另一个命令的输入 
                 例如:
                      在ifconfig的结果里查找 192.168 字符串
                      ifconfig | grep 192.168
                 以后常用
                      查找和 java 相关的进程
                      ps -ef | grep java
                      查找和3306相关的信息
                      ps -ef | grep 3306

            系统管理命令
                  date 显示或设置系统时间
                       date 显示当前系统时间
                       date -s "2014-01-01 10:10:10" 设置系统时间

                  clear 清屏

                  ps 正在运行的某个进程的状态
                     ps -ef 查看所有进程
                     ★ps -ef | grep ssh 查找某一进程

                  kill 杀死某一进程
                       kill 2868 杀掉2868编号的进程
                       ★kill -9 2868 强制杀死进程
            网络管理
                 ifconfig:查看所有的网络设置
                     ifconfig 网卡名称 down:禁用网卡
                     ifconfig 网卡名称 up:启用网卡

                 ping:和window中一样

                 netstat 查看网络端口
                    netstat -an | grep 3306 查询3306端口占用情况

            文件的权限:
                 普通文件:包括文本文件,数据文件,可执行的二进制程序文件等.
                 目录文件:Linux系统把目录看成是一种特殊的文件,利用它构成文件系统的树型结构.
                 设备文件:Linux系统把每一个设备都看成是一个文件

            通过ll展示的列表
                  以 d 开始的是目录文件
                  以 - 开始的是普通文件

            文件的权限9个字母 三个三个一组
                 第一组代表的是当前用户的权限
                 第二组代表的是组的权限
                 第三组代表的是其他用户的权限

                 r:读      4
                 w:写      2 
                 x:执行 1

            chmod 变更文件或目录的权限
                 ★chmod 777 a.txt
                                       
            查找与某个东西(java)相关的所有的文件:
                例: find / -name java

           1).配置jdk
              1.检测是否安装了jdk 运行java -version
              2.若有需要将其卸载
              3.查看安装了哪些jdk
                  rpm -qa | grep java
              4.卸载
                   rpm -e --nodeps 要卸载的包
              5.安装jdk
                   上传jdk 通过ftp软件(filezilla)上传(上传到root目录下)
                   在 /usr/local/src/java创建一个 java 目录
                      mkdir /usr/local/src/java
                   将上传的jdk复制到 java目录下
                      cp /root/jdk.xxxx.tar /usr/local/src/java
                   将其解压
                      tar -xvf jdk.xxx.tar                 
              6.安装依赖
                   yum install glibc.i686
              7.配置环境变量
                编辑  vi/etc/profile
                在文件最后添加一下信息(按o是添加一行)  
                    #set java environment
                    JAVA_HOME=/usr/local/src/java/jdk1.7.0_72
                    CLASSPATH=.:$JAVA_HOME/lib.tools.jar
                    PATH=$JAVA_HOME/bin:$PATH
                    export JAVA_HOME CLASSPATH PATH 
                保存退出(先按esc,再按:,最后写wq)
                source /etc/profile 使更改的配置立即生效    
                   
            2).安装mysql
                1.检查是否安装了mysql
                     rpm -qa | grep mysql
                2.卸载系统自带的mysql
                     rpm -e --nodeps 卸载的包
                3.上传mysql
                4.在 /usr/local/src/mysql 创建一个mysql
                5.复制mysql 到 mysql目录下
                6.解压 tar
                      会有几个rpm文件
                7.安装
                      安装mysql的服务器端
                          rpm -ivh MySQL-serxxxxxx

                 安装MYSQL是出现:

                error: Failed dependencies:
                libaio.so.1 is needed by MySQL-server-5.5.31-2.el6.i686
                libaio.so.1(LIBAIO_0.1) is needed by MySQL-server-5.5.31-2.el6.i686
                libaio.so.1(LIBAIO_0.4) is needed by MySQL-server-5.5.31-2.el6.i686


                原因:libaio依赖没有安装!


                解决方案:

                yum install libaio.so.1


             
                          注意:第一次登录mysql的时候不需要密码的 以后都需要
                      安装mysql的客户端
                          rpm -ivh MySQL-clientxxxxx
                      需要安装依赖:
                      yum -y install libncurses.so.5    
                8.查看mysql的服务状态
                        service mysql status
                  启动mysql
                        service mysql start
                  停止mysql
                        service mysql stop

       Linux如何查看端口状态:

                netstat -ntlp   //查看当前所有tcp端口·

                netstat -ntulp | grep 80   //查看所有80端口使用情况·

                netstat -an | grep 3306   //查看所有3306端口使用情况·
             
       启动tomcat:
          例:
             /home/tomcat/apache-tomcat-8.5.16/bin/startup.sh 

       配置tomcat server.xml:
           vi /home/tomcat/apache-tomcat-8.5.16/conf/server.xml
      
       如何在linux下开启FTP服务:

       1. 首先服务器要安装ftp软件,查看是否已经安装ftp软件下:
       #which vsftpd
       如果看到有vsftpd的目录说明服务器已经安装了ftp软件

       2. 查看ftp 服务器状态     
          #service vsftpd status

          3. 启动ftp服务器     
           #service vsftpd start

       4. 重启ftp服务器 
           #service vsftpd restart
           

       5. 查看服务有没有启动
           #netstat -an | grep 21
           tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN 
           如果看到以上信息,证明ftp服务已经开启。
        
       6. #service vsftpd stop    停止服务
 
       linux下的tomcat如何启动:
               ./tomcat/apache-tomcat-8.5.20/bin/startup.sh

       如何查看启动了哪些tomcat:
                   ps -ef | grep java

       利用unzip命令解压缩的时候,出现-bash:  
        unzip: command not found的错误。         
        unzip——命令没有找到,其原因肯定是没有安装unzip。         
        利用一句命令就可以解决了。         
        命令是:         
        yum install -y unzip zip         
        安装成功后就可以使用unzip命令了。

如何安装linux下常用的工具:

1.安装netstat(这是一个查看端口的工具)
yum install net-tools

列出所有的监听状态下的tcp连接:
netstat -lntp

2.安装wget(这是一个下载的工具)
yum install wget -y

3.安装nmap
yum install nmap -y

使用mv命令剪切文件。
如需要将 /tmp 目录下的tomcat.zip文件剪切到 /usr/local 目录下,执行下面的命令即可:
# mv /tmp/tomcat.zip /usr/local

端口测试命令是 telnet IP 端口

撤销命令是 ESC+u

ctrl+z
挂起当前进程

一定要在/的下面建立文件.不要在~的下面建立文件


linux下如何递归的查看一个文件的目录结构:
find . -print

linux下如何创建一个文本:
touch filename 就创建了一个文件名为filename的空文本文件 

vi 文件名.txt

如何给文件重命名:
例:
将目录a重命名为b
mv a b

linux下安装防火墙:
yum install firewalld   //安装防火墙

systemctl start firewalld.service //开启防火墙

systemctl stop firewalld.service //关闭防火墙

systemctl enable firewalld.service //开机自动启动

systemctl disable firewalld.service //关闭开机自动启动

systemctl status firewalld //查看状态

得到的信息如果是:
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2017-10-14 18:03:38 CST; 6min ago
     Docs: man:firewalld(1)
 Main PID: 10381 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─10381 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

Oct 14 18:03:37 jdu4e00u53f7 systemd[1]: Starting firewalld - dynamic firewall daemon...
Oct 14 18:03:38 jdu4e00u53f7 systemd[1]: Started firewalld - dynamic firewall daemon.

这样的说明没有问题.

firewall-cmd --state //查询现在防火墙的状态 running 表示正在运行中

linux下重启服务器的命令是:
reboot

mkdir -p
当你要创建的目录包含子目录时,你需要使用 -p 参数。如果 mkdir 找不到父目录,那么这个参数会首先帮助创建父目录。

ls -l
查看当前目录下的所有文件,并显示其详细信息

使用cat命令创建文件并录入信息时,退出是:ctl+d

less命令的退出是:q

ps -aux | grep xxx
查询出关于xxx的详细信息

tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容. 

-f 循环读取

例如:查看tomcat的启动
tail -f logs/catalina.out

vi操作:
跳到文本的最后一行:按“G”,即“shift+g”

提示cp: omitting directory错误:
复制目录时,使用-r选项即可递归拷贝
cp -r XXX

linux中 vi / vim显示行号或取消行号命令

1. 显示行号

:set number

或者

:set nu

2. 取消行号显示

:set nu!

3. 每次打开都显示行号

修改vi ~/.vimrc 文件,添加:set number

4.将一个文件变为可执行文件
chmod 777 xxxx

5.如何执行shell脚本
sh xxxx

查看Linux系统版本的命令,此命令也适用于所有的Linux发行版(适合centos6及以下版本)
cat /etc/issue

centos6.4关闭防火墙步骤 
关闭:service iptables stop
永久关闭:chkconfig iptables off

查看状态 service iptables status

查看ip:
ip addr

配置ip:
vi /etc/sysconfig/network-scripts/ifcfg-xxxx

BOOTPROTO=static
IPADDR=xxxx       
NETMASK=255.255.255.0       ### 子网掩码
GATEWAY=xxxx                ### 默认网关 对应我们NAT设置里查看的网关IP
DNS1=8.8.8.8或者114.114.114.114               ### DNS 设置为Google的国内的
ONBOOT=yes                  ### 开机启动


然后重启网络服务
service network restart