zoukankan      html  css  js  c++  java
  • Linux命令笔记

    文件及文件目录操作相关

    1.查看文件内容

      ① cat 

      命令格式:cat [options]  [file...]

      选项:

        -A 显示所有字符,包括控制字符和非打印字符。

        -s 将相邻的多个空行“挤”在一个空行里。

        -n 显示行号。

      特点:cat命令显示文件时会同时显示所有内容。大型文件会在显示屏上一晃而过,难以阅读,所以cat命令比较适合显示内容小于一屏的文件。

      more和less

      命令格式more/less [options]  [file...]

      选项:

        -c 重绘屏幕,而不是接着滚屏显示。

        -s 将多个相邻的空行“挤”在同一行里。

        -r [less命令选项] 显示原始控制字符。

      特点:more和less都可以在显示屏上浏览文本文件。less命令比more命令更加强大。

      less,more导航命令(在使用more/less命令之后的动作命令)。以后就用less好了。

      

    命令 more less 动作
    <空格键> 1 1 前进一页
    [PgDn] 0 1 前进一页
    [向上箭头] 0 1 前进一行
    [向下箭头] 0 1 后退一行
    [PgDn] 0 1 后退一页
    b 1 1 后退一页
    /text 1 1 (text为关键字)向前搜索文本
    ?text 0 1 (text为关键字)向后搜索文本
    n 1 1 重复上个搜索
    N 0 1 反方向重复上个搜索
    q 1 1 退出
    h 1 1 帮助

       ③head

      命令格式:head [options]  [file...]

      选项:

        -num,-n num 显示开始的num行(默认显示10行)。

        -q 不显示文件标题,只显示文件内容。  

      特点:显示文件前面的几行。

      注释:如果将一个或者多个文件名作为参数,head命令分别显示每个文件的开始几行,文件内容间使用文件名作为抬头将文件分开。例如 head  -5 ./* 表示显示当前目录的全部文件的前5行

      ④tail

      命令格式:tail [options]  [file...]

      选项:

        -num,-n num 显示最后num行(默认是10行)。

        -q 不显示文件标题,只显示文件内容。

        -f 保持文件处于打开状态,不断显示新添加的行。(follow)

      特点:显示文件的最后几行。

      注释:使用 tail -f 时, 可用这个选项实时监控系统日志文件,一旦使用这个选项,命令就不会返回,一直会处于活动状态,直到按Ctrl+C组合键中断进程。

    2.编辑文件

      vi/vim编辑器的使用:菜鸟教程>>

    3.创建空文件

      touch

      命令格式:touch [file..]

      特点:创建一个空文件。

      例子:touch 001.txt

    4.文件搜索命令

      find 

      命令格式: find [range] [option] [condition]

      //to be continued...

    5.文件移动,复制,

      cp : 复制文件

      cp 001.txt 002.txt  //复制一份001.txt,并命名为002.txt

      cp 001.txt  /etc  //复制001.txt到etc目录下

      cp 001.txt 002.txt /etc //复制001.txt,002.txt到/etc目录下

      cp ~/index.html .  //从你的主目录复制文件index.html到当前目录

      注:当要移动的对象是目录时,必须使用-r选项,否则就会报cp: omitting directory `*'的错误。

    常规文件所有者及权限:

      Linux中每个文件都有三个属性:用户所有者,组所有者和一组权限

      当一个用户创建一个文件时,该用户就是这个文件的用户所有者,(经常)这个用户的主要组也就成为了这个文件的组所有者。

      三种权限类型:r可读,w可写,x可执行

      三种访问级别:u用户所有者,g组所有者,o其他

      

      

      上面的login.html文件只有oracle用户可写,其他成员都只能读取。

    一些命令:

      chmod可以用来修改文件的权限

      第一个参数由一组字母组成,表明访问级别,然后跟+-=,再跟另一组字母,表明要改变的权限。第二个参数指明要改变的文件。

    图片来自《RedHat用户基础》

    一些例子:

    图片来自《RedHat用户基础》

    注:八进制计数法,确定权限

    r可读为4,w写入是2,x执行是1

    r  100

    w  010

    x  001

     

    777  rwx rwx rwx

    755 rwx r-x r-x

    640 rw- r-- ---

    701 rwx --- --x

     

    例如: chmod 600 diary

    运行上述命令之后,diary的权限是rw- --- ---

    新建文件默认664,新建目录默认775

    chgrp可以用来修改文件的组所有者

      chgrp GROUP FILE

    chown命令可以改变用户的所有者

      chown USER FILE

     

    输出重定向:

    例子:pwd > result.txt 将当前目录重定向到result.txt中。

       echo hello > 001.txt

    【注意:如果result.txt已经存在,重定向将会删除并重建一个空的文件存放输出结果】

     还有一个符号:>>,如果文件存在,新的输出结果将会追加在文件末尾。如果文件不存在系统将会建立一个文件,填充输出结果。

     用户和组相关

    几个重要的文件:

    /etc/passwd文件存放着用户名与用户ID的对应关系。用户密码不存储在这里

    oracle:x:501:501::/home/oracle:/bin/bash

    用户名:密码:用户ID:主要组 ID::主目录:登陆Shell

    用户ID:Linux内核用这个整数识别用户

    主要组ID:Linux内核用这个整数识别用户的主要组

    主目录:用户登陆时,其登陆的Shell将用这个目录作为当前工作目录。这是普通用户可以写入的几个目录之一,通常为用户私有。

    登陆Shell:用户登陆时的默认Shell,通常为/bin/bash

    /etc/shadow文件存放着用户的密码 【影子密码】

    test:$1$MukwPn9g$TiId2t/NxX7WQF0yzbCTx.:17742:0:99999:7:::

    注:普通用户不可以查看此文件的内容,root用户可以查看,且密码被加密。用户可以使用passwd命令修改自己的密码(不接收参数,例如passwd)。root用户可以更改用户的密码(接收参数[用户名],例如passwd test)。

    /etc/group文件将组名和组ID 联系在一起,并且定义了哪些用户属于哪些组。

    test:x:504:   

    组名称:组密码:组ID:组成员

    组名称:可读的组名称

    组密码:组的密码,比较少用

    组ID:整数组ID

    组成员:定义组成员的用户列表,用逗号隔开

    注:文件系统上的每个文件都有一个用户所有者和一个组所有者

    几个命令:

    id 常常被用来确定用户成员的身份信息。

    例子:

      命令:id test

      输出:uid=503(test) gid=504(test) groups=504(test)

    whoami 输出当前用户的用户名

    users 打印当前登陆用户的简单列表

    例子:

      命令:users

      输出:oracle root root root

    w 打印当前登陆的用户,提供了更为详细的信息

    例子:

      命令:w

    输出:

    11:00:37 up 2:20, 5 users, load average: 0.05, 0.03, 0.00
    USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
    oracle pts/1 192.168.70.1 08:42 0.00s 0.17s 0.07s w
    root pts/2 192.168.70.1 09:23 23:26 0.04s 0.04s -bash
    root tty1 :0 09:29 2:20m 4.37s 4.37s /usr/bin/Xorg :0 -nr -verbos
    root pts/3 :0.0 09:30 1:28m 0.01s 0.01s /bin/bash

    USER 登陆用户的用户名

    TTY 登陆用户的终端

    FROM 如果用户从网络上登陆,用户使用的主机名

    LOGOIN@ 用户会话开始时间

    PCPU 在‘WHAT’字段中命名的唯一一个当前进程所消耗的CPU时间总量

    WHAT 用户当前运行的进程

    su命令可以让用户切换用户(switch user)

    例子:su 用户名

      su test 

      如果当前用户是root用户,则直接切换,若是普通用户,则需要输入密码才能切换。

     

    命令列表


    关机 halt poweroff
    cal 简单日历程序
    ps 显示单终端上启动的所有进程。
    ps aux 显示所有正在系统中运行的进程。
    who 命令判断谁在系统上
    service iptables stop 关闭防火墙(需root权限)
    ps -ef|grep redis-server 查找某个进程的信息

    id test 查看某个用户的用户ID(用户名),主要组ID(主要组名),用户所属的所有组(组名称)

       

    选项列表


    -r  (recursive) 递归,许多命令都有递归选项,能够访问目录树的所有分支,比并依次对其进行处理。

    通配符


     

    字符 描述
    * 匹配0个或者多个字符(开头的点'.'除外)
    匹配一个字符(开头的'.'除外)
    [...] 匹配在给出的列表或者范围内的任意一个字符,[a-zA-Z0-9]
    [^...] 匹配在给出的列表或者范围外的任意一个字符
  • 相关阅读:
    orale数据库的SQL查询
    pl/sql 过程 函数(写一个过程,输入部门编号,在控制台打印这个部门的名称,总人数,平均工资(基本工资+奖金))
    游标练习
    oracle 中使用 pl/sql代码块
    oracle 中怎样实现分页和去处重复
    小米的登陆页面
    tomcat建立双向https安全连接
    简单标签处理过程
    java反射机制
    tomcat配置加密的连接器https
  • 原文地址:https://www.cnblogs.com/synchronizer/p/9347838.html
Copyright © 2011-2022 走看看