02-Linux常用命令

一、常用命令

  • 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           
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 | )

02-Linux常用命令_第1张图片
进程号
效果演示:
1、创建一个文件hello.c,并在文件中输入一下内容
#include
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常用命令)