zoukankan      html  css  js  c++  java
  • Linux命令

    Linux需要记的目录
    home
    
    etc  配置文件目录
    
    usr/local  我们自己安装的程序必须放在此目录
    
    var 存放数据库的目录
    

    Linux 操作文件目录

    命令说明语法参数说明
    ls 显示文件和目录列表 ls [-alrtAFR] [name...]    
          -i 列出文件的详细信息
          -a 列出当前目录所有文件,包含隐藏文件
    mkdir 创建目录 mkdir [-p] dirName    
          -p 父目录不存在情况下先生成父目录
    cd 切换目录 cd [dirName]    
          ~ 当前用户的根目录
    touch 生成一个空文件      
    echo 生成一个带内容文件 echo abcd > 1.txt,echo1234 >> 1.txt    
    echo 写入文件 echo 内容 > 文件名    
    echo 追加写入文件 echo 内容 >> 文件名    
    cat 显示文本文件内容 cat [-AbeEnstTuv] [--help] [--version] fileName    
    cp 复制文件或目录 cp [options] source dest    
    rm 删除文件 rm [options] name...    
          -f 强制删除文件或目录
          -r 同时删除该目录下的所有文件
    mv 移动文件或目录 mv [options] source dest    
    mv 重命名 mv 原文件名 新文件名    
    find 在文件系统中查找指定的文件      
    tree 用于以树状图列出目录的内容      
    pwd 显示当前工作目录      
    ln 建立软链接      
    more 分页显示文本文件内容      
    head 显示文件开头内容      
    tail 显示文件结尾内容      
          -f 跟踪输出
    cp 拷贝   ../hello.txt. 拷贝上级目录的hello到本目录

    Linux 系统管理命令

    命令说明
    stat 显示指定文件的相关信息,比ls命令显示内容更多
    who 显示在线登录用户
    hostname 显示主机名称
    uname 显示系统信息
    top 显示当前系统中耗费资源最多的进程
    ps 显示瞬间的进程状态
    du 显示指定的文件(目录)已使用的磁盘空间的总量
    df 显示文件系统磁盘空间的使用情况
    free 显示当前内存和交换空间的使用情况
    ifconfig 显示网络接口信息
    ping 测试网络的连通性
    netstat 显示网络状态信息
    clear 清屏
    kill kill -9 端口号 杀死一个进程

    Linux 开关机命令

    命令语法参数参数说明
    shutdown shutdown [-t seconds] [-rkhncfF] time [message]    
        -t seconds 设定在几秒钟之后进行关机程序
        -k 并不会真的关机,只是将警告讯息传送给所有只用者
        -r 关机后重新开机(重启)
        -h 关机后停机
        -n 不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自行关机
        -c 取消目前已经进行中的关机动作
        -f 关机时,不做 fcsk 动作(检查 Linux 档系统)
        -F 关机时,强迫进行 fsck 动作
        time 设定关机的时间
        message 传送给所有使用者的警告讯息

    重启


    sudo 命令(重启或关机)    临时root权限
    
    • reboot
    • shutdown -r now

    关机


    • shutdown -h now

    tar

    命令语法参数参数说明
    tar tar [-cxzjvf] 压缩打包文档的名称 欲打包目录    
        -c 建立一个归档文件的参数指令
        -x 解开一个归档文件的参数指令
        -z 是否需要用 gzip 压缩
        -j 是否需要用 bzip2 压缩
        -v 压缩的过程中显示文件
        -f 使用档名,在 f 之后要立即接档名
        -tf 查看归档文件里面的文件

    例子:

    • 压缩文件夹:tar -zcvf test.tar.gz test
    • 解压文件夹:tar -zxvf test.tar.gz

    gzip

    命令语法参数参数说明
    gzip gzip [选项] 压缩(解压缩)的文件名    
        -d 解压缩
        -l 对每个压缩文件,显示压缩文件的大小,未压缩文件的大小,压缩比,未压缩文件的名字
        -v 对每一个压缩和解压的文件,显示文件名和压缩比
        -num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--b

    说明:压缩文件后缀为 gz

    zip

    • 先下载unzipapt-get install unzip
    • 解压unzip 解压的文件目录

    bzip2

    命令语法参数参数说明
    bzip2 bzip2 [-cdz]    
        -d 解压缩
        -z 压缩参数
        -num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6

    Linux 编辑器

    vim

    运行模式

    编辑模式:等待编辑命令输入

    插入模式:编辑模式下,输入 i 进入插入模式,插入文本信息

    命令模式:在编辑模式下,输入:进行命令模式

    命令

    :q直接退出vi

    :wq 保存后退出vi ,并可以新建文件

    :q! 强制退出

    :w file 将当前内容保存成某个文件

    :set number 在编辑文件显示行号

    :set nonumber 在编辑文件不显示行号

    cat 文件名.后缀名查看文本内容

    nano

    nano 是一个字符终端的文本编辑器,有点像 DOS 下的 editor 程序。它比 vi/vim 要简单得多,比较适合 Linux 初学者使用。某些 Linux 发行版的默认编辑器就是 nano。

    命令

    • 保存:ctrl + o
    • 搜索:ctrl + w
    • 上一页:ctrl + y
    • 下一页:ctrl + v
    • 退出:ctrl + x

    Linux 软件包管理

    修改数据源

    由于国内的网络环境问题,我们需要将 Ubuntu 的数据源修改为国内数据源,操作步骤如下:

    查看系统版本

    lsb_release -a
    

    输出结果为

    No LSB modules are available.
    Distributor ID:	Ubuntu
    Description:	Ubuntu 16.04 LTS
    Release:	16.04
    Codename:	xenial
    

    注意: Codename 为 xenial,该名称为我们 Ubuntu 系统的名称,修改数据源需要用到该名称

    编辑数据源

    vi /etc/apt/sources.list
    

    删除全部内容并修改为

    deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
    

    更新数据源

    apt-get update
    

    常用 APT 命令

    安装软件包

    apt-get install packagename
    

    删除软件包

    apt-get remove packagename
    

    更新软件包列表

    apt-get update
    

    升级有可用更新的系统(慎用)

    apt-get upgrade
    

    Linux 软件包管理

    其它 APT 命令

    apt-cache search package
    

    获取包信息

    apt-cache show package
    

    删除包及配置文件

    apt-get remove package --purge
    

    了解使用依赖

    apt-cache depends package
    

    查看被哪些包依赖

    apt-cache rdepends package
    

    安装相关的编译环境

    apt-get build-dep package
    

    下载源代码

    apt-get source package
    

    清理无用的包

    apt-get clean && apt-get autoclean
    

    检查是否有损坏的依赖

    apt-get check
    

    Linux 用户和组管理

    使用 Root 用户

    在实际生产操作中,我们基本上都是使用超级管理员账户操作 Linux 系统,也就是 Root 用户,Linux 系统默认是关闭 Root 账户的,我们需要为 Root 用户设置一个初始密码以方便我们使用。

    设置 Root 账户密码

    sudo passwd root
    

    切换到 Root

    su
    

    设置允许远程登录 Root

    nano /etc/ssh/sshd_config
    
    # Authentication:
    LoginGraceTime 120
    #PermitRootLogin without-password     //注释此行
    PermitRootLogin yes                             //加入此行
    StrictModes yes
    
    重启服务
    service ssh restart
    

    账户管理常用命令

    增加用户

    useradd 用户名
    useradd -u (UID号)
    useradd -p (口令)
    useradd -g (分组)
    useradd -s (SHELL)
    useradd -d (用户目录)
    

    如:useradd lusifer

    增加用户名为 lusifer 的账户

    修改用户

    usermod -u (新UID)
    usermod -d (用户目录)
    usermod -g (组名)
    usermod -s (SHELL)
    usermod -p (新口令)
    usermod -l (新登录名)
    usermod -L (锁定用户账号密码)
    usermod -U (解锁用户账号)
    

    如:usermod -u 1024 -g group2 -G root lusifer

    将 lusifer 用户 uid 修改为 1024,默认组改为系统中已经存在的 group2,并且加入到系统管理员组

    删除用户

    userdel 用户名 (删除用户账号)
    userdel -r 删除账号时同时删除目录
    

    组账户维护

    groupadd 组账户名 (创建新组)
    groupadd -g 指定组GID
    groupmod -g 更改组的GID
    groupmod -n 更改组账户名
    groupdel 组账户名 (删除指定组账户)
    

    口令维护

    passwd 用户账户名 (设置用户口令)
    passwd -l 用户账户名 (锁定用户账户)
    passwd -u 用户账户名 (解锁用户账户)
    passwd -d 用户账户名 (删除账户口令)
    gpasswd -a 用户账户名 组账户名 (将指定用户添加到指定组)
    gpasswd -d 用户账户名 组账户名 (将用户从指定组中删除)
    gpasswd -A 用户账户名 组账户名 (将用户指定为组的管理员)
    

    用户和组状态

    su 用户名(切换用户账户)
    id 用户名(显示用户的UID,GID)
    whoami (显示当前用户名称)
    groups (显示用户所属组)
    

    Linux 文件权限管理

    查看文件和目录的权限

    ls –al使用 ls 不带参数只显示文件名称,通过ls –al` 可以显示文件或者目录的权限信息。

    ls -l 文件名 显示信息包括:文件类型 (d目录,-普通文件,l 链接文件),文件权限,文件的用户,文件的所属组,文件的大小,文件的创建时间,文件的名称

    -rw-r--r-- 1 lusifer lusifer 675 Oct 26 17:20 .profile

    • -:普通文件
    • rw-:说明用户 lusifer 有读写权限,没有运行权限
    • r--:表示用户组 lusifer 只有读权限,没有写和运行的权限
    • r--:其他用户只有读权限,没有写权限和运行的权限
    -rw-r--r--1lusiferlusifer675Oct 26 17:20.profile
    文档类型及权限 连接数 文档所属用户 文档所属组 文档大小 文档最后被修改日期 文档名称
    -rw-r--r--
    文档类型 文档所有者权限(user) 文档所属用户组权限(group) 其他用户权限(other)

    文档类型

    d表示目录

    l表示软连接

     表示文件

    c表示串行端口字符设备文件

    b表示可供存储的块设备文件

    余下的字符 3 个字符为一组。r 只读,w 可写,x 可执行,- 表示无此权限

    更改操作权限


    chown

    是 change owner 的意思,主要作用就是改变文件或者目录所有者,所有者包含用户和用户组

    chown [-R] 用户名称 文件或者目录
    
    chown [-R] 用户名称 用户组名称 文件或目录
    

    -R:进行递归式的权限更改,将目录下的所有文件、子目录更新为指定用户组权限

    chown swy:swy test/ 把test文件给swy组的swy用户

    chmod


    改变访问权限

    chmod [who] [+ | - | =] [mode] 文件名
    

    who

    表示操作对象可以是以下字母的一个或者组合

    • u:用户 user
    • g:用户组 group
    • o:表示其他用户
    • a:表示所有用户是系统默认的

    操作符号

    • +:表示添加某个权限
    • -:表示取消某个权限
    • =:赋予给定的权限,取消文档以前的所有权限

    mode

    表示可执行的权限,可以是 r、w、x

    文件名

    文件名可以使空格分开的文件列表

    示例

    lusifer@UbuntuBase:~$ ls -al test.txt 
    -rw-rw-r-- 1 lusifer lusifer 6 Nov  2 21:47 test.txt
    lusifer@UbuntuBase:~$ chmod u=rwx,g+r,o+r test.txt 
    lusifer@UbuntuBase:~$ ls -al test.txt 
    -rwxrw-r-- 1 lusifer lusifer 6 Nov  2 21:47 test.txt
    lusifer@UbuntuBase:~$
    

    数字设定法

    数字设定法中数字表示的含义

    • 0 表示没有任何权限
    • 1 表示有可执行权限 = x
    • 2 表示有可写权限 = w
    • 4 表示有可读权限 = r

    也可以用数字来表示权限如 chmod 755 file_name

    r w xr – xr - x
    4 2 1 4 - 1 4 - 1
    user group others

    若要 rwx 属性则 4+2+1=7

    若要 rw- 属性则 4+2=6

    若要 r-x 属性则 4+1=5

    lusifer@UbuntuBase:~$ chmod 777 test.txt 
    lusifer@UbuntuBase:~$ ls -al test.txt 
    -rwxrwxrwx 1 lusifer lusifer 6 Nov  2 21:47 test.txt
    
    lusifer@UbuntuBase:~$ chmod 770 test.txt 
    lusifer@UbuntuBase:~$ ls -al test.txt 
    -rwxrwx--- 1 lusifer lusifer 6 Nov  2 21:47 test.txt
    

    Linux 安装 Java

    查看防火墙状态

    	Systemctl status firewalld
    	如果Active:active防火墙已开启
    	如果Active:inactive 防火墙已关闭
    

    关闭防火墙命令

    	Systemctl stop firewalld(只在本次开机状态下关闭,下次开机之后会重新打开)
    

    永久关闭防火墙

    	Systemctl disable firewalld
    
    下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html

    解压缩

    tar -zxvf jdk-8u152-linux-x64.tar.gz
    

    创建目录

    mkdir -p /usr/local/java
    

    移动安装包

    mv jdk1.8.0_152/ /usr/local/java
    

    配置环境变量

    配置系统环境变量

    vi /etc/environment
    

    添加如下语句

    PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
    export JAVA_HOME= /usr/local/java/jdk1.8.0_152
    export JRE_HOME= /usr/local/java/jdk1.8.0_152/jre
    export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
    

    配置用户环境变量

    vi /etc/profile
    

    添加语句

    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
    
    export JAVA_HOME=/usr/local/java/jdk1.8.0_152
    export JRE_HOME=/usr/local/java/jdk1.8.0_152/jre
    export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
    export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
    
    if [ -d /etc/profile.d ]; then
      for i in /etc/profile.d/*.sh; do
        if [ -r $i ]; then
          . $i
        fi
      done
      unset i
    fi
    

    使用户环境变量生效

    source /etc/profile
    

    测试是否安装成功

    root@UbuntuBase:/usr/local/java# java -version
    java version "1.8.0_152"
    Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
    Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)
    

    Linux 安装 Tomcat

    下载地址 https://tomcat.apache.org/

    解压缩并移动到指定目录

    解压缩

    tar -zxvf apache-tomcat-8.5.23.tar.gz
    

    变更目录名

    mv apache-tomcat-8.5.23 tomcat
    

    移动目录

    mv tomcat/ /usr/local/
    

    常用命令

    启动

    /usr/local/tomcat/bin/startup.sh
    

    停止

    /usr/local/tomcat/bin/shutdown.sh
    
    目录内执行脚本
    ./startup.sh
    

    如果虚拟机启动完成浏览器没法访问执行以下命令

    systemctl stop firewalld
    

    Linux 安装 MySQL

    安装

    更新数据源

    apt-get update
    

    安装 MySQL

    apt-get install mysql-server
    

    配置远程访问

    修改配置文件

    nano /etc/mysql/mysql.conf.d/mysqld.cnf
    

    注释掉(语句前面加上 # 即可):

    bind-address = 127.0.0.1
    

    重启 MySQL

    service mysql restart
    

    登录 MySQL

    mysql -u root -p
    

    退出 MySQL

    quit;
    

    授权 root 用户允许所有人连接

    grant all privileges on *.* to 'root'@'%' identified by '你的 mysql root 账户密码';
    

    常用命令

    启动

    service mysql start
    

    停止

    service mysql stop
    

    重启

    service mysql restart
    

    其它配置

    修改配置 mysqld.cnf 配置文件

    vi /etc/mysql/mysql.conf.d/mysqld.cnf
    

    配置默认字符集

     [mysqld] 节点上增加如下配置

    [client]
    default-character-set=utf8
    

     [mysqld] 节点底部增加如下配置

    default-storage-engine=INNODB
    character-set-server=utf8
    collation-server=utf8_general_ci
    

    配置忽略数据库大小写敏感

     [mysqld] 节点底部增加如下配置

    lower-case-table-names = 1
    

    打压缩包

    mvn clean package -Dmaven.test.skip=true
  • 相关阅读:
    1:4 UI标签和通用标签
    1:3访问 servlet API 的两种方式(request,session等内置对象)
    1 :2 Strust2—Demo
    1:1 Struts2概述
    mysql索引原理与慢查询优化1
    mysql流程控制
    mysql函数
    mysql存储过程
    mysql事务
    mysql触发器
  • 原文地址:https://www.cnblogs.com/swy3624/p/13172011.html
Copyright © 2011-2022 走看看