04-Linux基础2

一、常用命令

  • 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 -7 main.c

案例:
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,即有超级用户权限。
  su  // 输入密码后,即进入`root`的用户

  su 用户名  // 切换到其他用户下(即退出超级用户)

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

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

一直使用root用户是危险的,最好在普通用户下进行工作。但有些操作必须要root权限才可以执行,如何让普通用户拥有root权限,就是通过sudo,但还不能直接使用sudo,需要进行相关的配置,配置好之后,sudo即可以使用了(只需要配置一次即可)
1、su获取到超级用户权限
2、vi /etc/sudoers // 配置文件
3、在文件中找到root ALL=(ALL) ALL // 通过搜索
加入一行: xxx ALL=(ALL) ALL // xxx即自己的用户名
4、退出超级用户
su 用户名
5、检验是否成功
在/opt目录下创建一个hello.txt文件;
如果创建成功,说明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中全部替换语法:

五、进程相关

  • ps进程查看命令
    ps非常强大的进程查看命令,是最常用的是用于监控后台进程的工作情况。
  语法:
    ps -a  // 显示现行终端机下的所有程序,包括其他用户的程序
04-Linux基础2_第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

你可能感兴趣的:(04-Linux基础2)