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

    看完这篇Linux基本的操作就会了

    grep 全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

    wc  用来计算数字。利用wc指令我们可以计算文件的Byte数、字数或是列数,若不指定文件名称,或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据

    awk 是一种编程语言,用于在linux/unix下对文本和数据进行处理。

    sed 是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响

    rpm  是RPM软件包的管理工具

    netstat  用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。 语法

    cat 连接文件并打印到标准输出设备上,cat经常用来显示文件的内容,类似于下的type命令。

    vi vim more 文本编辑 查看 过滤等等

    top 查看系统内存 cpu信息

    tail 用于输入文件中的尾部内容 默认在屏幕上显示指定文件的末尾10行

    telnet 用于登录远程主机,对远程主机进行管理,安全性不好,很多linux服务器都不开放,而改用更安全的ssh。

    ssh openssh套件中的客户端连接工具,可以给予ssh加密协议实现安全的远程登录服务器。

    mail sendmail邮件发送,可以代理第三方邮箱发送,是命令行的电子邮件发送和接收工具

    ls 用来显示目标列表

    tree 以树状图列出目录的内容

    cp 拷贝 用来将一个或多个源文件或者目录复制到指定的目的文件或目录

    mv 用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中

    rmdir mkdir  用来删除空目录和用来创建目录

    install 安装或升级软件或备份数据,它的使用权限是所有用户

    rm  可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。

    pwd  以绝对路径的方式显示用户当前工作目录

    dirs 显示当前目录栈中的所有记录(不带参数的dirs命令显示当前目录栈中的记录)。dirs始终显示当然目录, 再是堆栈中的内容;即使目录堆栈为空, dirs命令仍然只显示当然目录。

    pushd popd 是将目录加入命令堆叠中。 和用于删除目录栈中的记录

    tar  可以为linux的文件和目录创建档案。利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件,可以把一大堆的文件和目录全部打包成一个文件

    gzip 用来压缩文件。gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处“.gz”扩展名。

    comm 可以用于两个文件之间的比较,它有一些选项可以用来调整输出,以便执行交集、求差、以及差集操作。 

    ln 来为文件创件连接,连接类型分为硬连接和符号连接两种,默认的连接类型是硬连接。如果要创建符号连接必须使用"-s"选项。

    sudo 用来以其他身份来执行命令,预设的身份为root

    ps 用于报告当前系统的进程状态。

    kill 用来删除执行中的程序或工作。kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。程序或工作的编号可利用ps指令或job指令查看。

    crontab 被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

    mysql 是MySQL数据库服务器的客户端工具,它工作在命令行终端中,完成对远程MySQL数据库服务器的操作。

    wget 用来从指定的URL下载文件。wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。

    sleep 暂停指定的时间。

    yum 在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更细与管理RPM软件包,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

    chmod 用来变更文件或目录的权限。

    脚本:

    read

    case

    case  in
    模式1)
        command1
        command2
        ...
        commandN
        ;;
    模式2
        command1
        command2
        ...
        commandN
        ;;
    esac

    esac/break/continue

    if [  ]

    then

    else

    fi

    参数说明
    -eq 等于则为真
    -ne 不等于则为真
    -gt 大于则为真
    -ge 大于等于则为真
    -lt 小于则为真
    -le 小于等于则为真

    for var in item1 item2 ... 

    do

    done

    while co

    while condition
    do
        command
    done

    grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

    选项

    -a 不要忽略二进制数据。
    -A<显示列数> 除了显示符合范本样式的那一行之外,并显示该行之后的内容。
    -b 在显示符合范本样式的那一行之外,并显示该行之前的内容。
    -c 计算符合范本样式的列数。
    -C<显示列数>或-<显示列数>  除了显示符合范本样式的那一列之外,并显示该列之前后的内容。
    -d<进行动作> 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep命令将回报信息并停止动作。
    -e<范本样式> 指定字符串作为查找文件内容的范本样式。
    -E 将范本样式为延伸的普通表示法来使用,意味着使用能使用扩展正则表达式。
    -f<范本文件> 指定范本文件,其内容有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每一列的范本样式。
    -F 将范本样式视为固定字符串的列表。
    -G 将范本样式视为普通的表示法来使用。
    -h 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。
    -H 在显示符合范本样式的那一列之前,标示该列的文件名称。
    -i 忽略字符大小写的差别。
    -l 列出文件内容符合指定的范本样式的文件名称。
    -L 列出文件内容不符合指定的范本样式的文件名称。
    -n 在显示符合范本样式的那一列之前,标示出该列的编号。
    -q 不显示任何信息。
    -R/-r 此参数的效果和指定“-d recurse”参数相同。
    -s 不显示错误信息。
    -v 反转查找。
    -w 只显示全字符合的列。
    -x 只显示全列符合的列。
    -y 此参数效果跟“-i”相同。
    -o 只输出文件中匹配到的部分。

    wc命令用来计算数字。利用wc指令我们可以计算文件的Byte数、字数或是列数,若不指定文件名称,或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据。

    语法

    wc(选项)(参数)

    选项

    -c或--bytes或——chars:只显示Bytes数;
    -l或——lines:只显示列数;
    -w或——words:只显示字数。

    》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

    awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入(stdin)、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk有很多内建的功能,比如数组、函数等,这是它和C语言的相同之处,灵活性是awk最大的优势。

    awk命令格式和选项

    语法形式

    awk [options] 'script' var=value file(s)
    awk [options] -f scriptfile var=value file(s)

    常用命令选项

    • -F fs   fs指定输入分隔符,fs可以是字符串或正则表达式,如-F:
    • -v var=value   赋值一个用户定义变量,将外部变量传递给awk
    • -f scripfile  从脚本文件中读取awk命令
    • -m[fr] val   对val值设置内在限制,-mf选项限制分配给val的最大块数目;-mr选项限制记录的最大数目。这两个功能是Bell实验室版awk的扩展功能,在标准awk中不适用。

    awk模式和操作

    awk脚本是由模式和操作组成的。

    模式

    模式可以是以下任意一个:

    • /正则表达式/:使用通配符的扩展集。
    • 关系表达式:使用运算符进行操作,可以是字符串或数字的比较测试。
    • 模式匹配表达式:用运算符~(匹配)和~!(不匹配)。
    • BEGIN语句块、pattern语句块、END语句块:参见awk的工作原理

    操作

    操作由一个或多个命令、函数、表达式组成,之间由换行符或分号隔开,并位于大括号内,主要部分是:

    awk脚本基本结构

    awk 'BEGIN{ print "start" } pattern{ commands } END{ print "end" }' file

    一个awk脚本通常由:BEGIN语句块、能够使用模式匹配的通用语句块、END语句块3部分组成,这三个部分是可选的。任意一个部分都可以不出现在脚本中,脚本通常是被单引号双引号中,例如:

    awk 'BEGIN{ i=0 } { i++ } END{ print i }' filename
    awk "BEGIN{ i=0 } { i++ } END{ print i }" filename

    awk的工作原理

    awk 'BEGIN{ commands } pattern{ commands } END{ commands }'
    • 第一步:执行BEGIN{ commands }语句块中的语句;
    • 第二步:从文件或标准输入(stdin)读取一行,然后执行pattern{ commands }语句块,它逐行扫描文件,从第一行到最后一行重复这个过程,直到文件全部被读取完毕。
    • 第三步:当读至输入流末尾时,执行END{ commands }语句块。

    BEGIN语句块在awk开始从输入流中读取行之前被执行,这是一个可选的语句块,比如变量初始化、打印输出表格的表头等语句通常可以写在BEGIN语句块中。

    END语句块在awk从输入流中读取完所有的行之后即被执行,比如打印所有行的分析结果这类信息汇总都是在END语句块中完成,它也是一个可选语句块。

    pattern语句块中的通用命令是最重要的部分,它也是可选的。如果没有提供pattern语句块,则默认执行{ print },即打印每一个读取到的行,awk读取的每一行都会执行该语句块。

    示例

    echo -e "A line 1nA line 2" | awk 'BEGIN{ print "Start" } { print } END{ print "End" }'
    Start
    A line 1
    A line 2
    End

    当使用不带参数的print时,它就打印当前行,当print的参数是以逗号进行分隔时,打印时则以空格作为定界符。在awk的print语句块中双引号是被当作拼接符使用,例如:

    echo | awk '{ var1="v1"; var2="v2"; var3="v3"; print var1,var2,var3; }' 
    v1 v2 v3

    双引号拼接使用:

    echo | awk '{ var1="v1"; var2="v2"; var3="v3"; print var1"="var2"="var3; }'
    v1=v2=v3

    { }类似一个循环体,会对文件中的每一行进行迭代,通常变量初始化语句(如:i=0)以及打印文件头部的语句放入BEGIN语句块中,将打印的结果等语句放在END语句块中。

    awk内置变量(预定义变量)

    说明:[A][N][P][G]表示第一个支持变量的工具,[A]=awk、[N]=nawk、[P]=POSIXawk、[G]=gawk

    $n 当前记录的第n个字段,比如n为1表示第一个字段,n为2表示第二个字段。 
    $0 这个变量包含执行过程中当前行的文本内容。
    [N] ARGC 命令行参数的数目。
    [G] ARGIND 命令行中当前文件的位置(从0开始算)。
    [N] ARGV 包含命令行参数的数组。
    [G] CONVFMT 数字转换格式(默认值为%.6g)。
    [P] ENVIRON 环境变量关联数组。
    [N] ERRNO 最后一个系统错误的描述。
    [G] FIELDWIDTHS 字段宽度列表(用空格键分隔)。
    [A] FILENAME 当前输入文件的名。
    [P] FNR 同NR,但相对于当前文件。
    [A] FS 字段分隔符(默认是任何空格)。
    [G] IGNORECASE 如果为真,则进行忽略大小写的匹配。
    [A] NF 表示字段数,在执行过程中对应于当前的字段数。
    [A] NR 表示记录数,在执行过程中对应于当前的行号。
    [A] OFMT 数字的输出格式(默认值是%.6g)。
    [A] OFS 输出字段分隔符(默认值是一个空格)。
    [A] ORS 输出记录分隔符(默认值是一个换行符)。
    [A] RS 记录分隔符(默认是一个换行符)。
    [N] RSTART 由match函数所匹配的字符串的第一个位置。
    [N] RLENGTH 由match函数所匹配的字符串的长度。
    [N] SUBSEP 数组下标分隔符(默认值是34)。


    》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

    sed的选项、命令、替换标记

    命令格式

    sed [options] 'command' file(s)
    sed [options] -f scriptfile file(s)

    选项

    -e<script>或--expression=<script>:以选项中的指定的script来处理输入的文本文件;
    -f<script文件>或--file=<script文件>:以选项中指定的script文件来处理输入的文本文件;
    -h或--help:显示帮助;
    -n或--quiet或——silent:仅显示script处理后的结果;
    -V或--version:显示版本信息。

    参数

    文件:指定待处理的文本文件列表。

    sed命令

    a 在当前行下面插入文本。
    i 在当前行上面插入文本。
    c 把选定的行改为新的文本。
    d 删除,删除选择的行。
    D 删除模板块的第一行。
    s 替换指定字符
    h 拷贝模板块的内容到内存中的缓冲区。
    H 追加模板块的内容到内存中的缓冲区。
    g 获得内存缓冲区的内容,并替代当前模板块中的文本。
    G 获得内存缓冲区的内容,并追加到当前模板块文本的后面。
    l 列表不能打印字符的清单。
    n 读取下一个输入行,用下一个命令处理新的行而不是用第一个命令。
    N 追加下一个输入行到模板块后面并在二者间嵌入一个新行,改变当前行号码。
    p 打印模板块的行。
    P(大写) 打印模板块的第一行。
    q 退出Sed。
    b lable 分支到脚本中带有标记的地方,如果分支不存在则分支到脚本的末尾。
    r file 从file中读行。
    t label if分支,从最后一行开始,条件一旦满足或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。
    T label 错误分支,从最后一行开始,一旦发生错误或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。
    w file 写并追加模板块到file末尾。  
    W file 写并追加模板块的第一行到file末尾。  
    ! 表示后面的命令对所有没有被选定的行发生作用。  
    = 打印当前行号码。  
    # 把注释扩展到下一个换行符以前。  

    sed替换标记

    g 表示行内全面替换。  
    p 表示打印行。  
    w 表示把行写入一个文件。  
    x 表示互换模板块中的文本和缓冲区中的文本。  
    y 表示把一个字符翻译为另外的字符(但是不用于正则表达式)
    1 子串匹配标记
    & 已匹配字符串标记

    sed元字符集

    ^ 匹配行开始,如:/^sed/匹配所有以sed开头的行。
    $ 匹配行结束,如:/sed$/匹配所有以sed结尾的行。
    . 匹配一个非换行符的任意字符,如:/s.d/匹配s后接一个任意字符,最后是d。
    * 匹配0个或多个字符,如:/*sed/匹配所有模板是一个或多个空格后紧跟sed的行。
    [] 匹配一个指定范围内的字符,如/[ss]ed/匹配sed和Sed。  
    [^] 匹配一个不在指定范围内的字符,如:/[^A-RT-Z]ed/匹配不包含A-R和T-Z的一个字母开头,紧跟ed的行。
    (..) 匹配子串,保存匹配的字符,如s/(love)able/1rs,loveable被替换成lovers。
    & 保存搜索字符用来替换其他字符,如s/love/**&**/,love这成**love**。
    < 匹配单词的开始,如:/<love/匹配包含以love开头的单词的行。
    > 匹配单词的结束,如/love>/匹配包含以love结尾的单词的行。
    x{m} 重复字符x,m次,如:/0{5}/匹配包含5个0的行。
    x{m,} 重复字符x,至少m次,如:/0{5,}/匹配至少有5个0的行。
    x{m,n} 重复字符x,至少m次,不多于n次,如:/0{5,10}/匹配5~10个0的行。

    =============================================

    切换目录
    cd /usr/local/mysql
     
    创建目录
    mkdir
     
    解压
    tar -zxvf jdk-8u144-linux-x64.tar.gz
    cp jdk-8u144-linux-x64.tar.gz /usr/local/java/


    rm -rf jdk-8u144-linux-x64.tar.gz 


    vim /etc/profile
     
     
     i 编辑状态 shift q 退出  x保存退出  q!不保存强制退出 wq保存退出
     
    重置环境变量:
    source /etc/profile
    安装程序
    yum install mysql-server
     
    删除程序
    yum remove libnuma.so.1
     
    建立连接(使用命令方便)
    ln -s /usr/local/apache-maven-3.3.9/ maven
     
    查找
    whereis mysql
    find / -name mysql.sock
     
    更改目录权限
     chown -R root:root /var/lib/mysql
    [root@VM_129_126_centos ~]# chown -R root /usr/local/mysql/data
    [root@VM_129_126_centos ~]# chgrp -R root /usr/local/mysql/data
     
    查看目录权限
     ls -la /usr/local/mysql/data
     
    查看当前目录
    pwd
     
    初始化
    mysqld --initialize --user=mysql
     
    服务重启
    service mysqld restart
     
     
    bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
     

    --basedir指定了安装 MySQL 的安装路径,填写全路径可以解决相对路径所造成的问题。

    --datadir是指定 MySQL 的数据库文件放在什么路径下。数据库文件即我们常说的 MySQL data 文件。

     
    查看进程
    ps -aux|grep mysql
     
     
     
    查看安装情况
    rpm -qa|grep -i mysql
     
    停止服务
    rpm -ev MySQL-client-5.5.25a-1.rhel5
     
     
    添加mysqld 到 bin
    ln -s /usr/local/mysql/mysql-5.7.13-linux-glibc2.5-x86_64/bin/
     
     

    1. 查看Linux启动的服务

    chkconfig --list 查询出所有当前运行的服务

    chkconfig --list atd  查询atd服务的当前状态

    2.停止所有服务并且在下次系统启动时不再启动,如下所示:

    chkconfig --levels 12345 NetworkManager off

    如果想查看当前处于运行状态的服务,用如下语句过滤即可

    chkconfig --list |grep on

    3.如果只是想当前的设置状态有效,在系统重启动后即不生效的话,可以用如下命令停止服务

    service sshd stop

    service 服务名 status 查看指定服务的运行状态

     
     =============================================
     
     
     
     
     
     
     
     
     

    unzip命令用于解压缩由zip命令压缩的“.zip”压缩包。

    语法

    unzip(选项)(参数)

    选项

    -c:将解压缩的结果显示到屏幕上,并对字符做适当的转换;
    -f:更新现有的文件;
    -l:显示压缩文件内所包含的文件;
    -p:与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换;
    -t:检查压缩文件是否正确;
    -u:与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中;
    -v:执行时显示详细的信息;
    -z:仅显示压缩文件的备注文字;
    -a:对文本文件进行必要的字符转换;
    -b:不要对文本文件进行字符转换;
    -C:压缩文件中的文件名称区分大小写;
    -j:不处理压缩文件中原有的目录路径;
    -L:将压缩文件中的全部文件名改为小写;
    -M:将输出结果送到more程序处理;
    -n:解压缩时不要覆盖原有的文件;
    -o:不必先询问用户,unzip执行后覆盖原有的文件;
    -P<密码>:使用zip的密码选项;
    -q:执行时不显示任何信息;
    -s:将文件名中的空白字符转换为底线字符;
    -V:保留VMS的文件版本信息;
    -X:解压缩时同时回存文件原来的UID/GID;
    -d<目录>:指定文件解压缩后所要存储的目录;
    -x<文件>:指定不要处理.zip压缩文件中的哪些文件;
    -Z:unzip-Z等于执行zipinfo指令。
  • 相关阅读:
    Java进阶之路——从初级程序员到架构师,从小工到专家
    成为JAVA架构师必看书籍推荐
    [Java]Spring Ioc讲解,不怕你不懂
    C#学习笔记(9)——委托(窗体传值)
    C#学习笔记(8)——委托应用(显示,写入时间)
    C#学习笔记(7)——委托
    C#学习笔记(6)——大项目增删改查
    C#学习笔记(5)——大项目查找
    C#学习笔记(4)——sqlserver常用语句
    C#学习笔记(3)——操作sqlserver数据库增删改查
  • 原文地址:https://www.cnblogs.com/meijsuger/p/9066172.html
Copyright © 2011-2022 走看看