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行的位置

  • 相关阅读:
    Vasya and Endless Credits CodeForces
    Dreamoon and Strings CodeForces
    Online Meeting CodeForces
    数塔取数 基础dp
    1001 数组中和等于K的数对 1090 3个数和为0
    1091 线段的重叠
    51nod 最小周长
    走格子 51nod
    1289 大鱼吃小鱼
    POJ 1979 Red and Black
  • 原文地址:https://www.cnblogs.com/BradMiller/p/9279961.html
Copyright © 2011-2022 走看看