zoukankan      html  css  js  c++  java
  • 【linux】---常用命令整理

    linux常用命令整理

    一、ls命令   

        就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)�查看目录信息等等

             常用参数搭配:

             ls -a 列出目录所有文件,包含以.开始的隐藏文件

             ls -A 列出除.及..的其它文件

             ls -r 反序排列

             ls -t 以文件修改时间排序

             ls -S 以文件大小排序

             ls -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来(可以直接写成 ll)

    实例:    

    ll name*      #列出当前目录中所有以“name”开头的目录的详细内容

    二、cd命令

    cd /root/Docements      # 切换到目录/root/Docements  
    cd ./path               # 切换到当前目录下的path目录中,“.”表示当前目录    
    cd ../path              # 切换到上层目录中的path目录中,“..”表示上一层目录  

    三、rm命令

    -f : #就是force的意思,忽略不存在的文件,不会出现警告消息  
    -i : #互动模式,在删除前会询问用户是否操作  
    -r : #递归删除,最常用于目录删除,它是一个非常危险的参数  
    
    #举例
    rm -i file # 删除文件file,在删除之前会询问是否进行该操作  
    rm -fr dir # 强制删除目录dir中的所有文件  

    四、cp命令

    1. -a :将文件的特性一起复制  
    2. -p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份  
    3. -r :递归持续复制,用于目录的复制行为   
    cp /home/Test.java             #将home路径下的Test.java文件复制到当前目录下
    cp -r dir1 dir2                #-r表示递归,将dir1代表的文件夹及里面的文件复制到dir2路径那里
    cp -r mysql /usr/local/mysql   #把mysql文件夹所有文件复制到/usr/local/mysql目录下,没有会自动创建目录 
    cp file1 file2 file3 dir  #把文件file1、file2、file3复制到目录dir中 

    五、mv命令

       移动文件或修改文件名,根据第二参数类型(如目录,则移动文件;如为文件则重命令该文件)。

    1. -f :force强制的意思,如果目标文件已经存在,不会询问而直接覆盖  
    2. -i :若目标文件已经存在,就会询问是否覆盖  
    3. -u :若目标文件已经存在,且比目标文件新,才会更新  
    mv file1 file2 file3 dir  # 把文件file1、file2、file3移动到目录dir中  
    mv file1 file2            # 把文件file1重命名为file2  

    六、mkdir命令

          -m --mode=模式,设定权限<模式> (类似 chmod),而不是 rwxrwxrwx 减 umask

      -p --parents 递归创建目录

      -v, --verbose 每次创建新目录都显示信息

    mkdir abc              #创建一个空目录
    mkdir -p test/test1    #递归创建多个目录
    mkdir -v hao           #创建新目录都显示信息
    mkdir -m 777 pc        #创建权限为777的目录

    7、pwd命令

    pwd        #查看当前路径
    pwd -P    #查看软链接的实际路径

    8、find命令    

     -name 按照文件名查找文件
    
     -perm 按文件权限查找文件
    
     -user 按文件属主查找文件
    
     -group  按照文件所属的组来查找文件。
    
     -amin n   查找系统中最后N分钟访问的文件
    
     -atime n  查找系统中最后n*24小时访问的文件
    
     -mmin n   查找系统中最后N分钟被改变文件数据的文件
    
     -mtime n  查找系统中最后n*24小时被改变文件数据的文件
     find ./ -name '*.log'    # 在当前目录查找 以.log结尾的文件。 ". "代表当前目录
    
     find /opt -perm 777      #查找/opt目录下 权限为 777的文件
    
     -xargs                   #find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。
    
    find / -name mysql|xargs rm -rf   #找到所有文件名为mysql文件,并全部删除。

    9、tar命令

    只能使用下面的某一个选项来指定tar要执行的动作。可以通过在选项后面跟一个或多个修饰符来改变该选项的行为

        -c            创建归档文件

        -u            将file-list中的文件添加到归档文件

        -x            从归档文件中提取file-list并把它写入磁盘

    修饰符

    -f filename              使用filename来指出要创建或从中提取的归档文件的文件名

    -j                             在创建归档文件或从归档文件中提取文件时,使用bzip2方式来进行压缩和解压缩

    -z                            在创建归档文件或从归档文件中提取文件时,使用gzip方式来进行压缩和解压缩

    -v                            显示所有过程

    -t                             列出归档文件中的目录

    tar -cvf demo.tar a b c       #将a b c打包成一个名为demo.tar的归档文件,并显示打包的文件
    tar -xvf demo.tar             #解压名为demo.tar的归档文件到本目录,并显示解压的文件
    tar -zcvf demo.tar.gz a b c   #将a b c 三文件用gzip的方式打包并压缩成demo.tar.gz
    tar -zxvf demo.tar.gz         #用gunzip的的方式解压demo.tar.gz文件
    tar -jcvf demo.tar.bz2 a b c  #将a b c三文件用bzip2的方式压缩并打包为demo.tar.bz2
    tar -jxvf demo.tar.bz2        #将demo.tar.bz2用bunzip2的方式解压缩到当前目录
    tar -cvf jpg.tar *.jpg #将目录里所有jpg文件打包成tar.jpg

    10、ps命令

      ps(process status),用来查看当前运行的进程状态,一次性查看,如果需要动态连续结果使用top

             linux上进程有5种状态:

             1. 运行(正在运行或在运行队列中等待)

             2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)

             3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)

             4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)

             5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)

             命令参数:

             -A 显示所有进程

             a 显示所有进程

            - e 显示环境变量

            - f 显示进程间的关系

             r 显示当前终端运行的进程

             -aux 显示所有包含其它使用的进程

    ps -A                #显示所有进程信息
    ps -u root           #显示指定用户信息
    ps -ef               # 显示所有进程信息,连同命令行
    ps -ef |grep java    #显示java 进程是否存在
      #grep命令是查找,中间的|是管道命令 是指ps命令与grep同时执行
    ps -aux |grep java   #显示java 进程是否存在
      #上面两个其实没有多大区别只是:aux可以查看进程的CPU占用率和内存占用率。ef可以查看进程的父进程ID和完整的COMMAND命令

    11、top命令

           top显示系统当前的进程和其他状况,是一个动态显示过程,显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等

      常用参数:

             -c 显示完整的进程命令

             -s 保密模式

             -p <进程号> 指定进程显示

             -n <次数>循环显示次数

       -d 指定每两次屏幕信息刷新之间的时间间隔。 
    top       #每隔5秒显式所有进程的资源占用情况(默认是5秒)
    top -d 2  #每隔2秒显式所有进程的资源占用情况
    top -c    #每隔5秒显式进程的资源占用情况,并显示进程的命令行参数(默认只有进程名)
    top -p 12345 -p 6789   #每隔5秒显示pid是12345和pid是6789的两个进程的资源占用情况
    top -d 2 -c -p 123456  #每隔2秒显示pid是12345的进程的资源使用情况,并显式该进程启动的命令行参数

    12、kill命令

          发送指定的信号到相应进程。

       常见参数

            HUP    1    终端断线

            INT     2    中断(同 Ctrl + C)

          QUIT    3    退出(同 Ctrl + )

        TERM   15    终止

           KILL    9    强制终止

        CONT   18    继续(与STOP相反, fg/bg命令)

        STOP    19    暂停(同 Ctrl + Z)

     kill -15 pid    #让进程正常退出 。 既然信号 15 是退出进程的正确方式,那它也应该是最常用的方式,因而我们可以省略参数 -15。
     kill -9 pid     #当进程出现了异常状况,不能通过信号15正常退出时,我们就需要通过非常的手段直接终结掉进程。所谓的非常手段就是传递信号 9 给目标进程!
     kill -15 $(ps -ef | grep peidalinux)   #杀死指定进程
    #不是特殊情况,建议有15就可以了,慎用9哦

    13、chmod命令

        用于改变linux系统文件或目录的访问权限。用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。  

       常用参数:

             -c 当发生改变时,报告处理信息

             -R 处理指定目录以及其子目录下所有文件

       权限范围

             u :目录或者文件的当前的用户

             g :目录或者文件的当前的群组

             o :除了目录或者文件的当前用户或群组之外的用户或者群组

             a :所有的用户及群组

     三种基本权限

       R           读          数值表示为4

       W          写          数值表示为2

       X           可执行   数值表示为1

     如图所示,dump.rdb文件的权限为-rw-r--r--

      -rw-r--r--一共十个字符,分成四段。

      第一个字符“-”表示普通文件;这个位置还可能会出现“l”链接;“d”表示目录

      第二三四个字符“rw-”表示当前所属用户的权限。   所以用数值表示为4+2=6

      第五六七个字符“r--”表示当前所属组的权限。       所以用数值表示为4

      第八九十个字符“r--”表示其他用户权限。              所以用数值表示为4

      所以操作此文件的权限用数值表示为644 

     更改权限

    sudo chmod [u所属用户  g所属组  o其他用户  a所有用户]  [+增加权限  -减少权限]  [r  w  x]   目录名 

    例如:有一个文件filename,权限为“-rw-r----x” ,将权限值改为"-rwxrw-r-x",用数值表示为765

    sudo chmod u+x g+w o+r  filename

    上面的例子可以用数值表示

    sudo chmod 765 filename

    14、grep命令

       强大的文本搜索命令,grep(Global Regular Expression Print)全局正则表达式搜索

       grep太强大了,我这里就举几个常见的。

    ps -ef|grep svn                  #查找指定进程
    grep -n 'li' nginx.conf          #在nginx.conf查找包含"li"的行,同时显示行号
    grep 'linux' test.txt test2.txt  #从多个文件中查找关键词

     

     15、vim命令

        vim三种模式:命令模式、插入模式、编辑模式使用ESC或i或:来切换模式

      命令模式下:

                   :q                      退出

                  :q!                     强制退出

                 :wq                   保存并退出

                 :set number     显示行号

                 :set nonumber  隐藏行号

                  /apache            在文档中查找apache 按n跳到下一个,shift+n上一个

                   yyp                   复制光标所在行,并粘贴

                  h(左移一个字符←)、j(下一行↓)、k(上一行↑)、l(右移一个字符→)

    16、cat命令

        cat主要有三大功能:

               1.一次显示整个文件:cat filename

               2.从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.

               3.将几个文件合并为一个文件:cat file1 file2 > file

              -b对非空输出行号

              -n输出所有行号

    cat -n nginx.conf                        #查看文件并显示行号
    cat -n log2012.log log2013.log           #把 log2012.log 的文件内容加上行号后输入 log2013.log 这个文件里
     cat -b log2012.log log2013.log log.log  #把 log2012.log 和 log2013.log 的文件内容加上行号(空白行不加)之后将内容附加到 log.log 里

    17、more命令

      功能类似于cat, more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示

      命令参数

             +n      从笫n行开始显示

             -n       定义屏幕大小为n行

             +/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示 

             -c       从顶部清屏,然后显示

             -d       提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能

             -l        忽略Ctrl+l(换页)字符

             -s       把连续的多个空行显示为一行

         常用操作命令

             Enter    向下n行,需要定义。默认为1行

             空格键  向下滚动一屏

             Ctrl+B  返回上一屏

             =       输出当前行的行号

             V      调用vi编辑器

             !命令   调用Shell,并执行命令

             q       退出more

    ls -l | more -5   #在所列出文件目录详细信息,借助管道使每次显示5行 按空格键显示下五行,enter向下1行。具体看上面参数。
    more +3 text.txt #显示文件中从第3行起的内容

    18、less命令

        less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

    19、tail命令

       用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

             常用参数:

             -f 循环读取(常用于查看递增的日志文件)

             -n<行数> 显示行数(从后向前)

      tail -f ping.log  #循环读取逐渐增加的文件内容

            这个可以用来看正式服报错日志

    20、chown命令

      chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符

             -c 显示更改的部分的信息

             -R 处理指定目录及子目录

     chown mail:mail log2012.log   #改变拥有者和群组

    chown root: log2012.log      #改变文件拥有者和群组
    chown :mail log2012.log      #改变文件群组
    chown -R -v root:mail test6  #改变指定目录以及其子目录下的所有文件的拥有者和群组

     参考

        1.linux常用命令

        2.grep命令详解

        3.chown命令详解

        4.top命令详解

        5.tar命令详解

        6.ps命令详解

    想的太多,做的太少,中间的落差就是烦恼,要么去做,要么别想 中尉【12】
  • 相关阅读:
    linux字符设备文件的打开操作
    Linux用ps命令查找进程PID再用kill命令终止进程的方法
    Linux内核锁与中断处理
    写给大数据开发初学者的话
    zabbix监控系统客户端安装
    详解zabbix安装部署(Server端篇)
    Keepalived+Nginx架构整理版
    Nginx + Tomcat 动静分离实现负载均衡
    五个常用的Linux监控脚本代码
    16个Linux服务器监控命令
  • 原文地址:https://www.cnblogs.com/qdhxhz/p/8921654.html
Copyright © 2011-2022 走看看