美文网首页linux
02-Linux常用命令[Python]

02-Linux常用命令[Python]

作者: EndEvent | 来源:发表于2018-08-27 17:06 被阅读715次

    一、常用命令

    • cat查看文件内容(从第一行显示到最后一行)

      语法: cat 文件名    
      例如: cat main.c  
      
    • tac查看文件内容(从最后一行显示到第一行)

       语法: tac 文件名    
       例如: tac main.c
      
    • head查看文件信息(显示前面多少行)

      语法: 
        head 文件名      //默认显示最前面的10行信息
        head -num 文件名字  //显示文件的最前面几行的信息
      例如: 
        head -7 main.c
      
    • tail查看文件信息(显示后面几行)

      语法:
        tail 文件名  //默认显示最后10行的信息
        tail -num 文件名字  //显示文件的最后num行信息
        tail -n文件名字  //显示文件的最后num行信息
        tail -f   文件名  // 实时查看文件
      例如: 
        tail -7 main.c
      其他:
        | 管道,作用:将一个命令的输出作为另一个命令的输入
        > 输出重定向,Linux允许将执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中
        >> 标准正确输出,同上,追加不清空
      

      案例:
      1、head -20 main.c > a.txt //将main.c的前20行内容写入到a.txt文件中,如果a.txt文件不存在,会自动创建
      2、head -20 main.c | tail -10 //显示head -20 main.c所查看出来的内容中的最后10行
      3、tail -3 /etc/passwd //显示/etc/passwd目录下最后3行信息

    • more查看文件信息
      Linux more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读。
      按空白键(space)就往下一页显示;
      按 b 键就会往回(back)一页显示;
      按"Enter键"会逐行显示;
      按"q"退出;

      语法:
        more 文件名
      例如:
        more main.c
      
    • man的使用
      通常使用man来查阅一些命令的帮助信息。
      按空格键 ---> 下一页;
      按 b 键就会往回(back)---> 上一页;
      按PgUp ---> 上一页;
      按PgDn --> 下一页;
      按q ---> 退出man帮助文档;
      如果需要查找某个关键词,和vi操作一样。

      语法:
        man 命令名称
      例如:
        man cp
        man mv
      

    二、文件编辑

    vi命令是Linux操作系统和类Linux操作系统中最通用的全屏幕纯文本编辑器。Linux中的vi编辑器叫vim,它是vi的增强版。

      vi hello.c  // 编辑
      命令行模式:
        按i ---> 进入编辑模式
        按shift+g ---> 文件末尾    [大写G]
        按g+g ---> 文件头部
        按/字符串 ---> 查找功能(查找下一个,按n即可;N: 按照反方向查找[shifht+n])
        按d+d ---> 删除一行
      编辑模式:
        按esc  ---> 进入命令模式(即退出编辑)
      底行模式(按冒号即进入该模式):
        按w ---> 只保存不退出
        按wq ---> 保存并退出
        按q --->  退出(在没编辑文件的情况下)
        按q! ---> 强制退出(如果修改文件,不想保存时可以强制退出)
        按数字(行号) ---> 即跳到对应行中
    
    练习:
    1. 在用户目录下创建一个空的文件,注意文件后缀为.c,例如:file.c
    2. 在文件中输入以下内容:
    #include<stdio.h>           
    int main()
    {
      printf("世界你好!\n");
      return;
    }           
    3. 保存并退出
    

    vi默认是没有显示行号的,如何设置显示行号?
    使用vi编辑~/.vimrc文件(即vi ~/.vimrc),在该文件中加入一行set nu

    三、文件权限

    • 文件权限查看

       语法: ls -l
       权限  个数  文件所属用户  文件所属用户组  大小  修改时间  名字
       drwxr-xr-x. 2 linux linux 4096 Jul 16 21:26 Desktop
       drwxr-xr-x. 2 linux linux 4096 Jul 16 21:26 Documents
       drwxr-xr-x. 2 linux linux 4096 Jul 16 21:26 Downloads
       drwxrwxr-x. 3 linux linux 4096 Jul 17 01:12 hehe
       -rw-rw-r--. 1 linux linux  132 Jul 17 20:32 hello.c
       -rw-rw-r--. 1 linux linux  863 Jul 17 19:51 main.c
       drwxr-xr-x. 3 linux linux 4096 Jul 17 01:34 Music
       drwxr-xr-x. 2 linux linux 4096 Jul 16 21:26 Pictures
       drwxr-xr-x. 2 linux linux 4096 Jul 17 01:35 Public
       drwxr-xr-x. 2 linux linux 4096 Jul 16 21:26 Templates
       drwxrwxr-x. 2 linux linux 4096 Jul 16 21:35 tmp
       drwxr-xr-x. 2 linux linux 4096 Jul 16 21:26 Videos
       drwxr-xr-x. 7 linux linux 4096 Mar 21  2014 vmware-tools-distrib
      
    • 文件类型

      普通文件      -
      目录文件      d
      字符设备文件    c
      块设备文件     b
      管道文件      p
      网络文件      s
      链接文件      l
      

      Linux中一切皆文件!

    • 文件权限
      r:读权限 ---> 4
      w:写权限 ---> 2
      x:可执行权限 ---> 1

      例如: drwxr-xr-x. 2 linux linux 4096 Jul 16 21:26 Videos
      
      // 三位表示一组权限
        |------>文件所属者的用户权限
        |        |----->同组用户
        |        |       |----->其他用户
      rwx       r-x      r-x                    a.txt
      
    • 权限修改

      语法:
        chmod 权限 文件名  // 单个文件操作
        chmod -R 权限 文件名  // 文件夹内所有文件以及目录
      例如: 
        rw- rw- r--   a.txt
        chmod 764 a.txt  //将a.txt这个文件的拥有者的权限改为可读可写可执行,其他权限不变
        chmod 744 a.txt   //将a.txt这个文件的同组用户的权限改为只可读,其他不变
      
      其他操作(不通过数字的方式来实现):
         chmod +x hello.c  //将hello.c增加一个可执行的权限
         chmod -x hello.c  //将hello.c的可执行权限去掉
      
    • su超级用户权限
      在某些情况下,操作时权限不够,就可以可以切换到超级用户。root,即有超级用户权限。

      sudo su  // 输入密码后,即进入`root`的用户
      
      sudo su 用户名  // 切换到其他用户下(即退出超级用户)
      

      获取超级用户权限(一般情况下不建议使用,避免删错东西,切记!!!)
      [linux@localhost ~]$ su
      Password:
      [root@localhost linux]#

    • 关于sudo
      如果想要获取更高的操作权限,建议在使用sudo,即在操作命令的前面添加上。

      sudo chmod 777 hello
      sudo touch hello.c
      

      注: sudo !!当执行时,发现权限不够时,可以用该命令,即是用sudo去执行上一个操作命令。

    四、搜索相关

    • find根据文件的属性进行文件查找

      语法:
        find 路径 -文件属性 
      例如1: 
        find . -name "hello.c"  // 在当前目录中搜索查找hello.c文件
        find / -name "*.log"  // 从整个磁盘上去搜索查找所有的.log文件
        find /etc -name "passwd"    //在/etc目录下去搜索查找passwd文件
      
      例如2:
        find / -amin -10  //在整个磁盘上去查找最后10分钟访问过的文件
        find / -atime -1  //在整个磁盘上去查找最近1天访问过的文件
        find / -empty     //在整个磁盘上去查找所有的空文件或空文件夹
      
      例如3:
        find / -size +5k  //在整个磁盘上查找文件大小大于5k的所有文件
        find / -size -5k  //在整个磁盘上查找文件大小小于5k的所有文件
      
    • grep 文本搜索/过滤

      语法:
        grep 搜索的字符串
        grep -n 搜索的字符串 // -n参数及顺便输出行号
      例如:
        cat main.c | grep -n "cp"
        ps -a | grep "hello
        ls -l | grep "hello"
      

      案例:
      1、在Windows中,创建一个content.txt文件
      2、将本文内容黏贴到content.txt文件 (ctrl+A)
      3、将content.txt文件传输到Linux中用户目录下的Test目录
      4、在Linux中,将Test目录中content.txt拷贝到/var/opt目录下
      5、通过grep命令,找到ps所在位置对应的行号,并输出到用户目录下的Test目录的temp.txt文件中
      6、使用vi编辑器,通过temp.txt文件显示的行号定位到对应行,将所有ps改为PS
      vi中全部替换语法: :%s/aa/bb/g // 将aa替换成bb

    五、进程相关

    • ps进程查看命令
      ps非常强大的进程查看命令,是最常用的是用于监控后台进程的工作情况。
    语法:
      ps -a  // 显示现行终端机下的所有程序,包括其他用户的程序
      ps -ef // 显示所有进程服务  (ps -ef | )
    
    进程号
    效果演示:
    1、创建一个文件hello.c,并在文件中输入一下内容
    #include<stdio.h>
    int main()
    {
            printf("hello world!\n");
            while(1);
    
            return ;
    }
    
    2、编译生成可执行文件
    gcc -o hello hello.c
    
    3、运行可执行文件
    ./hello
    
    4、ps查看进程,找到对应hello对应的PID
    6082 pts/3    00:00:07 hello
    即hello对应的进程号为6082
    
    5、结束对应的进程
    kill 6082
    

    进程号PID是由系统分配的,并且PID是进程的唯一标识!!

    • top性能查看
      通过top命令查看系统的CPU、内存、运行时间、交换分区、执行的线程等信息。通过top命令可以有效的发现系统的缺陷出在哪里。是内存不够、CPU处理能力不够、IO读写过高。top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。
      按q ---> 退出。

    • kill杀死进程

      语法:
        kill 进程号
      例如:
        kill 6006
      

    相关文章

      网友评论

        本文标题:02-Linux常用命令[Python]

        本文链接:https://www.haomeiwen.com/subject/iiggiftx.html