zoukankan      html  css  js  c++  java
  • Linux_(2)基本命令(下)

    六、文件搜索命令
    11 :which
    功能描述:显示系统命令所在目录
    命令所在路径:/usr/bin/which
    执行权限:所有用户
    语法:which [命令名称]
    范例:$ which ls

    12 :find
    功能描述:查找文件或目录
    命令所在路径:/usr/bin/find
    执行权限:所有用户
    语法:find [搜索路径] [搜寻关键字]
    例1:在目录/etc中查找文件init
    find /etc -name init
    例2:在根目录下查找大于100MB的文件
    find / -size +102400
    例3:在home目录下查找所有者为lw3的文件
    $ find /home -user lw3
    例4:在/home下查找24小时内被修改过属性的文件和目录
    $ find /home -ctime -1
    例5:在/根目录下查找大于100MB小于200MB的文件
    $ find / -size +102400 -a -size -204800
    例6:在/etc下查找xml文件
    $ find /etc -name xml
    $ find /etc -name xml -o -name conf

    13 :locate
    功能描述:寻找文件或目录
    指令英文原义:list files in databases
    指令所在路径:/usr/bin/locate
    执行权限:All User
    语法:locate [搜索关键字]
    例1:列出所有跟file相关的文件
    $ locate file
    locate a.txt

    14 :updatedb
    功能描述:建立整个系统目录文件的数据库
    指令英文原义:update the slocate database
    指令所在路径:/usr/bin/updatedb
    执行权限:root
    语法:updatedb
    例1:# updatedb

    15 :grep
    功能描述:在文件中搜寻字串匹配的行并输出
    命令所在路径:/bin/grep
    执行权限:所有用户
    语法:grep [指定字串] [源文件]
    例1:从文件//home/lw/dns2搜索包含“emp”字符串的行
    grep emp /home/lw/dns2
    例2:从/etc/目录下搜索扩展名为.conf且包含“text”字符串的文件的行
    grep text /etc/*.conf

    16.wc [选项] 文件/统计
    统计文件中的行、词、字数
    cat a.txt

    17.sort [-r]/[-u] 文件、排序
    按序重排文本并送显示
    sort a.txt

    18.diff [选项] 文件/差异
    报告文本差异内容
    diff -b a.txt c.txt
    19.cmp 报告文本差异位置
    cmp -c c.txt a.txt
    20.uniq 去除文件中重复的行(不修改文件,显示内容中去除重复的行)
    uniq -c a.txt

    21.cut 显示文件中的某一列(列用:分隔)
    cut -c 1-10 文件名 --显示1到10列的信息
    --cut -fz -d: 文件名
    22.paste 将文本按列拼接(左右分布)
    paste a.txt c.txt

    七、压缩解压命令
    31. gzip
    功能描述:压缩文件
    命令所在路径:/bin/gzip
    执行权限:所有用户
    语法:gzip 选项[文件]
    例1:
    touch t1 创建文件
    gzip t1 压缩后文件格式:.gz

    32. gunzip
    功能描述:解压缩.gz的压缩文件
    命令所在路径:/bin/gunzip
    执行权限:所有用户
    语法:gunzip 选项[压缩文件]
    例1:
    gunzip t1.gz

    33. tar
    功能描述:打包目录
    命令所在路径:/bin/tar
    执行权限:所有用户
    语法:tar 选项[cvf] [目录]
    -c 产生.tar打包文件
    -v 显示详细信息
    -f 指定压缩后的文件名
    -z 打包同时压缩
    压缩后文件格式:.tar.gz
    例1:将目录oracle压缩成一个打包并压缩的文件
    $ tar -zcvf oracle.tar.gz oracle

    tar命令解压缩语法:
    -x 解包.tar文件
    -v 显示详细信息
    -f 指定解压文件
    -z 解压缩
    例2:$ tar -zxvf oracle.tar.gz

    34. 压缩解压命令:zip
    功能描述:压缩文件或目录
    命令所在路径:/usr/bin/zip
    执行权限:所有用户
    语法: zip 选项[-r] [压缩后文件名称] [文件或目录]
    -r 压缩目录
    压缩后文件格式:.zip
    例1: 压缩文件
    先将当前位置切到当前用户目录下:
    $ touch t1 --创建文件
    $ zip t1.zip t1
    例2: 压缩目录
    $ mkdir dir1 --创建目录
    $ zip -r dir1.zip dir1

    35. 压缩解压命令:unzip
    功能描述:解压.zip的压缩文件
    命令所在路径:/usr/bin/unzip
    执行权限:所有用户
    语法:unzip [压缩文件]
    例1:解压文件
    rm t1
    $ unzip t1.zip
    例2:解压目录
    $ unzip dir1.zip

    36. 压缩解压命令:bzip2
    功能描述:压缩文件
    命令所在路径:/usr/bin/bzip2
    执行权限:所有用户
    语法: bzip2 选项[-k] [文件]
    -k 产生压缩文件后保留原文件
    压缩后文件格式:.bz2
    例1:
    $ bzip2 -k t1

    37. 压缩解压命令:bunzip2
    命令所在路径:/usr/bin/bunzip2
    执行权限:所有用户
    语法:bunzip2 选项[-k] [压缩文件]
    -k 解压缩后保留原文件
    范例:$ bunzip2 -k t1.bz2


    八、用户组和用户管理
    41.添加用户组 groupadd
    groupadd groupname

    42.删除用户组
    groupdel groupname
    43.修改用户组
    groupmod lw3 -n lw_3
    groupmod

    44.切换用户组
    newgrp <groupname>
    如果一个用户同时属于多个用户组,
    可以用 newgrp 命令切换至目的组,以便能够拥有该组的权限。
    id --用户当前组

    45. 查看所有组
    所有组其实就是 /etc/group 文件的内容做一些过滤。
    cat /etc/group

    46.查看用户所在组
    groups <username>

    47. 添加用户
    useradd <username> -d <path> -m -g –G –p
    常用的就是上面几个参数,意思分别为:
    -d :指定用户主目录。如果此目录不存在,同时使用 -m 就会创建此目录。
    -m :创建用户主目录
    -g :用户所属组 ID
    -G :用户所属组名
    -p :登录密码。注意这个登录密码不是明文,是指加密后的密码。

    useradd testuser –m –G lw
    将会创建一个 testuser 的用户,并自动创建 /home/testuser 的用户主目录,并将用户添加至 lw 组中。

    48. 删除用户
    userdel –f –r <username>
    -r :删除用户主目录以及邮箱中的邮件
    -f :强行删除文件,即使属主不是该用户
    userdel -fr lw2

    49. 修改用户
    usermod <username> -d <path> -m -g –G –p
    参数意思与 useradd 大致相同
    usermod lw2 -G lw

    50. 用户密码
    passwd <username> :修改密码
    passwd –d <username> :命令将用户的密码删除,即下次登录无须密码。
    passwd –l <username> :锁定用户,使其无法登录

    九、流和管道
    51.流
    键盘输入流 stdin(0) <、<<
    屏幕输出流 stdout(1) >、>>、&>、z>
    错误输出流 stderr(2)

    重定向
    >覆盖
    >>追加

    重定向标准输入流:
    用cat > c.txt 将读取用户键盘输入的数据,并保存到c.txt文件中,指定"!"为结束符
    cat > c.txt <<!
    用cat > a.txt < b.txt 将标准输入流改为读取b.txt文件内容的流。
    ls -l
    重定向标准输出流:
    ls -l > b.txt 以覆盖方式输出到文件b.txt中。
    cal 2018 >> cal.txt 以追加方式输出到文件cal.txt中。
    重定向错误输出流:
    remove 2>> error.txt 将错误信息输出到error.txt。

    52.管道"|"
    将前一个过滤器的输出直接送入后一个过滤器的输入。
    ls -l | more

    53.过滤"grep"
    ps -ef | grep /bin | more
    ps 查看系统中的所有进程
    | 管道
    grep 过滤
    /bin 使用“/bin”进行过滤
    more 分屏显示

    十、VI
    61. 进入:vi、vim、
    vi filename
    62.退出
    :q
    :q!
    :wq
    :wq!
    63. 3种模式:
    正常模式:键盘上的所有键都有可能是个命令。
    末行模式:在正常模式下按“:、?、/”可以进入末行模式。返回Esc。
    输入模式:在正常模式下按"a(append追加)、i(insert插入)、o(open打开,新开启1行即换行)"可以进入输入模式。返回Esc。
    64.正常模式下vi操作
    I 在当前行首插入,并进入“插入模式”
    A 在当前行尾追加,并进入“插入模式”
    O 在当前行之前新开一行,并进入“插入模式”
    dd 删除当前行 //3dd删除当前的3行
    yy 复制当前行
    P 将“粘贴板”中的内容粘贴到当前行
    u 撤销前一个操作
    U 撤销1行内的所有操作
    25 G 去25行
    s 删除当前字符,并进入“插入模式”
    S 删除当前行,并进入插入模式
    x1 <del> 删除1个字符
    nx 删除下n个字符
    dw 删至词尾
    ndw 删除后n个词
    d$ 删至行尾
    d^ 删至行首
    nd$ 删除后n行
    yy 选定光标所在行复制
    yw 选定光标所在词复制
    nyw 选定光标所在位置到之后n个单词复制
    y$ 选定光标所在位置到行尾的部分复制
    y^ 选定光标所在位置到行首的部分复制
    nyy 选定光标所在位置到之后n行复制
    cc 剪切当前行
    ncc 剪切当前行及之后的n行
    p 粘贴在光标之右
    P 粘贴在光标之左
    r 替换操作
    / <文本> 向前查找
    ? <文本> 向后查找
    ?? // 重复上次查找
    65.末行模式命令
    显示行号:set nu
    不显示行号:set nonu
    :w filename
    :wq
    :q!
    :! <命令> 运行Linux命令,然后返回 例如:!pwd
    :r <文件名> 把文件插入到光标处
    :r! <命令> <文件名> 把<命令>的输出插入到当前文本中
    :nr <文件> 把<文件>插入到第n行
    :sh 转到shell
    :so <文件> 读取<文件>,再执行文件里面的命令
    :2,8 copy 10 复制
    delete n 删除
    m move n 将m行移动到n行的位置

  • 相关阅读:
    MySQL存储过程参数【4】
    MySQL存储过程的变量【3】
    MySQL存储过程入门【2】
    MySQL存储过程简介【1】
    MySQL删除重复行的方式
    在MySQL单个表中找到重复的值
    MySQL比较两个表不同的数据
    【思维】P5743 【深基7.习8】猴子吃桃——有趣的解法,归纳推导
    对判断质数的算法的优化
    【思维】P1321 单词覆盖还原
  • 原文地址:https://www.cnblogs.com/BradMiller/p/9279961.html
Copyright © 2011-2022 走看看