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

    day01

    1、增加用户

    useradd 用户名

    passwd 用户名

    2、切换用户

    su 用户名

    3、查看目录下的文件和文件夹

    ls

    ls-a

    ls-l目录有隐藏目录,是以“.”开头,使用-a可以查看

    ll:查看权限

    4、改变目录

    cd

    cd不带任何参数,是默认回到账户的home

    .”  当前目录

    ..” 上一级目录

    ../..” 返回上两级目录

    ../../..” 返回上三级目录,两个点代表一级目录

    5、显示当前目录

    pwd

    6、拷贝

    cp

    -f 强制,会覆盖

    -r 递归

    -i 提示是否覆盖,建议使用此参数

    -a 相当于dpr

    7、新建目录

    mkdir

    8、移动和改名

    mv

    重命名:

    mv 旧文件名 新文件名;

    mv bb bb1;

    目录移动

    mv 目录1 ./目录2;

    mv bb ./aa; bb目录移动到aa目录下面

    9、删除文件

    rm

    -i interactive交互模式删除文件,删除文件前给出提示

    -r , 加此参数,才会删除目录(非空目录),递归删除,先删除文件,再删除目录

    -f force强制删除.忽略不存在的文件,不提示确认

    10删除空目录

    rmdir

    -p 当删除的目录所在的父目录为空时,一并删除

    两种情况:

    第一种:如果在a目录下删除b目录,那么只能删除b目录,不能一并删除a目录,因为用户使用的是a目录进行操作的

    rmdir -p b;

    第二种:如果在a目录的上一级目录删除a目录下的b目录,a目录为空,则可以一并删除

    rmdir -p /opt/a/b;

    11、创建空文件或修改时间戳

    touch

    第一次touch:创建文件

    第二次touch:修改文件时间戳

    12、改变文件或目录的权限

    chmod

    两种使用方法

    第一种:使用字母和操作符来实现变更权限

    第二种:使用数字来设定

    (1).chmod使用字母和操作符

    操作对象

    u 用户;g 同组用户;o 其他用户;a 所有用户

    操作符

    + 增加权限;- 取消权限;=赋予给定权限,取消其他权限

    权限设置

    r 只读;w 可写;x 可执行

    文件名

    支持通配符(* - 通配符,代表任意字符(0到多个)? - 通配符,代表一个字符)

    这里面的通配符和数据库里面的_%意义相似

    例子:有aa文件

    chmod u+rw aa 给用户增加权限

    chmod u-rw aa 给用户取消权限

    chmod u=rw aa 赋予给定权限,取消其他权限

    chmod u+r a*  使用通配符*

    chmod u+rw a? 使用通配符?

    chmod u+r,g+w,o+x a? 同时给用户,同组用户,其他用户添加权限,并且使用通配符?

    (2).chmod使用数字来设定

    数字属性,是用30-7的八进制表示,其实每组八进制是有三位二进制数字组成的,每位二进制数字对应一

    个权限。

    0 表示没有权限

    1 表示可执行

    2 表示写权限

    4 表示读权限

    顺序是 u g o

    例子:

    执行

    Y W X

    0 0 1 =1

    0 1 0 = 2

    0 1 1 = 3

    1 0 0 = 4

    1 0 1 =5

    1 1 0 =6

    1 1 1 =7

    假如有aa文件 chmod 721 a?

    ll:查看权限 =  ls -a

    13、对登录用户发送消息

    wall

    例如:

    wall hello

    wall nidaye

    wall < aa # aa是文件,就是把aa文件内容发送给用户

    14.保存历史,只保存命令

    history>dd

    保存命令到dd文件里面

    15、从内存同步硬盘,关闭之前的必须步骤

    sync

    16、查看内存的使用情况

    free

    -m m为单位统计,默认单位为k

    17、系统处理器的状态监视

    top

    退出监控状态使用ctrl+z

    18、查看文件系统的磁盘空间占用情况

    df

    -a 所有文件系统的磁盘使用情况

    -k 千字节为单位显示

    19、显示指定目录磁盘空间的使用情况

    du

    -a 递归显示目录各文件及子孙目录各文件占用的数据块数

    -k 千字节为单位显示

    以块为基本单位,一块=4K,默认是K

    20、编辑器 vi

    vi+文件名,新建或编辑文件。

    分成Command mode(命令模式)Insert mode(插入模式)

    viCommand mode

    1、方向键,移动光标

    2dd,删除整行

    3xdd,删除x行,X是个动态数字

    4u,回复上一个操作

    5x,剪切,删除单个字符

    6p,粘贴

    7、按Ctrl+b:屏幕往前移动一页。

    8、按Ctrl+f:屏幕往后移动一页。

    9、按 G:移动到文章的最后。

    10yy,复制整行,y是动态数字

    11/pattern:从光标开始处向文件尾搜索pattern 从上往下

    12?pattern:从光标开始处向文件首搜索pattern 从下往上

    13n:在同一方向重复上一次搜索命令

    14N:在反方向上重复上一次搜索命令

    查找的字符串必须在可视化范围内,以单个字串为单位

    viInsert mode

    Command mode下,按iao进入Insert mode

    1i,在光标处插入,在字母前面插入

    2a、在光标处追加,在字母后面追加

    3o、在光标下一行开始添加一行

    4、按esc键,退出Insert mode

    5、输入:q!,不保存退出编辑

       输入:wq,保存退出编辑

    20、查看文件

    cat

    21、翻页查看

    more 文件名

    空格是向后翻页,回车是往下一行,只能向后翻页

    more +5 aa 从第5行开始显示

    more -5 aa  每页显示5

    22、翻页查看

    less 文件

    可以前后翻页,使用page up page down(电脑上的按键)

    more, less 都具备查找功能,在命令模式下,按/ 然后输入要找的字串,再按 Enter 即可,按 n(next) 会继续找,

    大写的 N 则是往回()找,按 q(quit)或者ZZ离开

    查找的字符串必须在可视化范围内,以行为单位

    n 向下找

    N 向上找

    q 离开

    23、查看文件的头和尾指定行数

    head

    tail

    例如:

    head -100 aa 只能是负的,显示前100条数据

    tail -1 aa 显示最后一条数据

    24、设置时间

    date

    例:设置时间为下午1436分。

    # date -s 14:36:00

    例:设置时间为20176812:00

    # date -s "2017-06-08 12:00:00"

    修改完后,记得执行clock -w,把系统时间写入CMOS

    25、文件查找

    find

    例:

    * 代表多个  ?代表一个

    find  -name "*.log"  使用*符号更方便

    find -name ????.log

    find -name "pro*"

    26、管道符和内容查找

    |”,管道符,把前部分的输出通过管道符变为后部分的输入grep,内容查找命令

    例如:

    cat aa | grep "hello"

    是打开aa文件,然后在aa文件的内容中,查找字符“hello

    练习:在/var/log/messges 里面,messages是一个文件

    方案1

    (1).cd /var/log

    (2).cat messages | grep "found SMP MP-table at"

    方案2

    第一步:cd /var/log

    第二步:less bb

    第三步:进入bb文件,使用 “/abcd...”查找要查询的字串

    27、查看历史

    history

    例如:

    history | more

    28、输出重定向 >,>>

    >,是定向输出到文件,如果文件不存在,就创建文件;

        如果文件存在,就将其清空;是覆盖。

    >>,是将输出内容追加到目标文件中。如果文件不存在,就创建文件;

    如果文件存在,则将新的内容追加到那个文件的末尾,该文件中的原有内容不受影响。

    例如:

    cat wj>new wj覆盖new

    cat bb>>new bb文件的内容追加到new文件后面

    cat wj | grep "hello">>new 查找出wj里面涉及hello的行数据然后追加到new文件里面

    29、挂载外边设备,一般使用命令挂载U盘,移动硬盘

    mount

    mount 源路径 目标路径

    mount  /dev/sdc1 /mnt/usbd1  挂载设备

    *虚拟机挂载时报错“无法连接到理想的主机控制器”,需要检查下虚拟机设置中usb控制器是否设置为兼容3.0

    30、卸载已经挂载的外边设备

    umount

    umount /mnt/usbd1 普通卸载

    umount -fl /mnt   强制卸载

    31、查看系统进程

    ps

    例如:

    ps aux |more ;查看所有进程

    ps aux |grep 程序名;  查看单个进程

    ps a    显示现行终端机下的所有程序,包括其他用户的程序。

    ps u   以用户为主的格式来显示程序状况。

    ps x   显示所有程序,不以终端机来区分。

    32、杀掉系统线程

    kill

    例如:

    kill -9 3423

    kill -9 pid=kill -s 9 pid

    9只是几十个信号中的一个信号,是强制尽快终止的标准符。

    33、关机(虚拟机关机)

    Shutdown h now 立马关机

    Shutdown h 20:25 系统会在今天20:25关机

    Shutdown h +10 十分钟后关机

    reboot 就是重启,等同于 shutdown r now

    halt 关闭系统,等同于shutdown h now poweroff

    34jdk安装配置(根据自己的操作总结的)

    如果上传失败的话,说明目录没有读写权限

    (1).左键点击新建文件传输,弹出一个窗口,进行操作.

    (2).tar包解压 tar -zxvf 文件名

    tar.bz2类型文件使用  tar -jxvf  文件名

    (3).进入jdkbin目录下复制路径,使用pwd,查看当前路径

    /opt/software/jdk1.8.0_111/bin

    (4).cd /etc

    vi profile在最后一个export前面添加:

    PATH=.:/opt/software/jdk1.8.0_111/bin:$PATH

    .意思是在当前目录下

    $PATH将之前的复制过来

    (5). 配置文件生效

    . /etc/profile

    source /etc/profile

    (6).查看jdk配置是否成功

    java

    javac

    删除软件:rm -rf 软件名

    35.环境变量的配置以及衍生的相关问题详细介绍版本

    软件安装-jdk二进制

    1.jdk环境,二进制安装

    上传jdk压缩包,jdk-8u121-linux-i586.tar.gz

    2.解压tar.gz文件使用命令tar -zxvf 文件名

    解压tar.bz2类型文件使用 tar jxvf 文件名

    3.配置环境变量

    JAVA_HOME = /opt/software/jdk1.6.0_45

    CLASSPATH = $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    PATH = $PATH:$JAVA_HOME/bin

    4.使/etc/profile修改生效。

    (1)source /etc/profile                                  

    (2).  /etc/profile     有空格

    (3)、重启机器

    5.检测环境变量配置是否成功

    java

    javac

    常见错误:

    环境变量配置错误,命令失效!

    解决方法:

    /opt/software/目录下执行以下命令,重新启动命令

    export PATH=/usr/bin:/usr/sbin:/bin:/sbin

    然后再去profile文件里面配置正确的环境变量

    查看系统版本:uname -a

    查看命令所在目录,which java

    PATH环境变量、CLASSPATH环境变量、JAVA_HOME环境变量解释:

    1. PATH环境变量。作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把 jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好 PATH变量后,就可以在任何目录下执行javac/java等工具了。

    2. CLASSPATH环境变量。作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过 CLASSPTH来寻找类的。我们 需要把jdk安装目录下的lib子目录中的dt.jartools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。

    3. JAVA_HOME环境变量。它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk

    36.软件包的两种形式:源代码方式和二进制包。

    区别:

    (1).二进制包里面包括了已经经过编译,可以马上运行的程序;

    源代码包里面包括了程序原始的程序代码,需要在你的计算机上进行编译以后才可以产生可以运行程序。

    source code 是程序员写的编码,需 rebuild 之后才能安装使用。

    binary code 是机器可以直接运行的编码。 source code 得经过 compile 才能成为 binary code ,可以直接使用。

    (2).一般情况下名字区分,二进制格式的包名字很长,都带有版本号、适应平台、适应的硬件类型等,而源码格式仅仅就是一个版本号的tar包。

    mysql-5.0.45.tar.gz 是 源码包    

    像这样的 mysql-5.0.45-linux-x86_64-glibc23.tar.gz   是二进制包

    (3).源代码包里的文件往往会含有种种源代码文件,头文件*.hc代码源文件*.cC++代码源文件*.cc/*.cpp等;而二进制包里的文件则会有可执行文件(与软件同名的往往是主执行文件),标志是其所在路径含有名为bin的目录(仅有少数例外)

    37.

    1、Java的安装目录是 /opt/java,

    1)系统的环境变量的文件名和路径是什么?

    2)请写出新添加的PATH内容,使java命令能在系统任意位置生效。

     

    答:

    1)文件是profile,路径是/etc/profile

    2)PATH=$PATH:/opt/java/bin

     

    2、文件 mysql-community-test-8.0.1-0.1.dmr.el7.x86_64.rpm

    1)请写出安装命令是什么?

    2)卸载命令是什么?

    3)怎么查询之前是否安装了这个软件包?

     

    答:

    1)rpm -ivh mysql-community-test-8.0.1-0.1.dmr.el7.x86_64.rpm

    2)rpm -e 服务名(这个服务名是根据具体情况,只要写出 rpm -e 即可)

    3)rpm -qa | grep mysql

  • 相关阅读:
    图数据库查询语言
    深入探索Spring Data JPA, 从Repository 到 Specifications 和 Querydsl
    axios 浏览器内存泄露问题解决
    给Swagger换一套皮肤 Knife4j集成记录
    根据经纬度和半径计算经纬度范围
    最火 Web 前端组态软件 (可视化)
    Python-----删除给定目录下的所有文件
    Python----发送邮件yagmail
    python------将"["1","2"]"类型是字符串,转换为["1","2"]类型为列表,即eval()用法
    python----自动生成requirements.txt与导入requirements.txt中的库
  • 原文地址:https://www.cnblogs.com/li1189/p/7130415.html
Copyright © 2011-2022 走看看