• linux基础操作必会技能


    Linux最基础笔记

    今天分享的笔记内容是Linux基础操作必备知识点,参考资料是清华大学鲁志老师的课件,主要是常用指令和功能操作。

    特别注意: 在Linux中空格有着专门的意义,所以要特别关注命令行中的空格符,不可以省略空格,否则命令会无法正确执行。

    基本知识

    linux 路径是什么?

    • 相对路径(从当前目录开始)
    • 绝对路径(从根目录 / 开始)
    • file_name :当前目录下的文件
    • folder_name/ :当前目录的文件夹
    • .. :上一级目录
    • ../file:指上一级目录下的文件
    • /home/test :用户家目录

    linux一切皆文件,所以路径很关键

    基本操作

    可以在linux系统中进行实际操作,对接下来介绍的所有命令不理解时,均可使用 --help 来查询,如比如:

    ls --help
    • 1
    • pwd 显示当前目录
    • ls 显示文件夹中文件(夹)列表
    • ls -la #显示全部详细格式
    • ls -lh #以常规方式展示
    • ls /usr/local #显示 /usr/local 文件夹下的文件(夹)
    • tree 以树形结构显示文件夹

    接下来的每步操作后,都可以跑一遍 pwd, ls 和 tree,加深对路径和命令的理解,这个有点像windows系统下的资源管理器。

    • cd 目录切换
    • cd后面为空时,进入默认家目录
    • cd /usr/local # 进入根目录(目录名输入一部分即可按TAB键自动补全)

    创建、删除与复制文件(夹)

    • touch 创建文件
    touch old_file
    • 1
    • mkdir 创建文件夹
    mkdir old_folder
    • 1
    • cp 复制文件(夹)
    用法:cp SOURCE DEST
    cp old_file old_file2 # 复制文件
    cp -r old_folder old_folder2  # 复制文件夹,需要加上 -r
    • 1

    注意:当 DEST 为文件夹且已存在时,会把 SOURCE 整个(包括其自身)复制到 DEST 中。

    mkdir cp_folder
    cp old_file cp_folder
    cp -r old_folder cp_folder
    • 1
    • mv 重命名或移动文件(夹)
    mv old_file new_file        #文件重命名。如果new_file存在,将覆盖new_file。
    mv old_folder new_folder    #文件夹重命名。如果new_folder已经存在,把old_folder移动到new_folder中
    mv new_file new_folder     #将文件移动到新目录
    • 1
    • rmdir 删除文件夹
    rmdir old_folder2   # 只能是空文件夹
    rm 删除文件(夹)
    rm old_file2                 # 删除文件
    rm -r new_folder             # 删除文件夹(可以非空)
    rm -rf xxx # 强制删除文件,慎用!!!!!
    • 1

    查看文件

    • cat 直接查看文件
    cat file_name
    • 1
    • wc 查看文件行数、字数
    wc -l file_name     #查看文件行
    wc -c file_name     #查看文件字数
    • 1
    • head 查看文件前几行
    head file_name       #查看文件前 10 行(思考:为什么只显示 8 行)
    head -n 6 file_name  #查看文件前 6 行
    • 1
    • tail 查看文件后几行
    tail file_name         #查看文件后 10 行
    tail -n 4 file_name    #查看文件后 4 行
    • 1
    • more/less 翻页查看文件
    more file_name  # 按 d 向下翻页,翻完后(或按 q)退出 (由于文件过小,需要把终端调窄才有效果)
    less file_name  # 按 d 向下翻页,u 向上翻页,q 退出
    • 1

    文件信息提取和操作

    • cut 取出文件中的特定列或字符
    cut -f 4 file_name            #取出第 4 列
    cut -d ";" -f 2 file_name     # 以分号作为输入字段的分隔符(默认为制表符),取出第 2 列
    • 1
    • sed 编辑文件
    sed 's/a/A/g' file_name     #将文件中所有的 a 替换为 A
    sed -n '3,6 p' file_name    #打印第3到6行
    sed '2 q' file_name         #打印前2行
    • 1
    • grep 关键词搜索
    grep 'CDS' file_name       #显示匹配上 'CDS' 的所有行
    grep -v 'CDS' file_name    #显示没有匹配上'CDS'的所有行
    grep -w 'gene' file_name    # 必须与整个字匹配 (思考第 8 行中的 gene_id 包含 gene,为什么没有显示这一行)
    • 1
    • sort 排序
    sort -k 4 file_name           # 按照第 4 列排序
    sort -k 5 file_name           # 按照第 5 列排序 (ASCII码顺序)
    sort -k 5 -n file_name        # 按照第 5 列排序 (ASCII数值顺序)
    • 1
    • uniq 去重复
    uniq -c file_name    # 去重复并且计算重复频率(仅能处理串联重复)
    • 1

    压缩和数据流重定向

    • gzip 压缩文件
    gzip file_name
    • 1
    • gunzip 解压缩文件(.gz 文件)
    gunzip file_name.gz
    • 1
    • tar 打包压缩、解压缩文件(夹)
    tar -zcv -f cp_folder.tar.gz cp_folder       #打包压缩文件夹(gzip格式)
    tar -ztv -f cp_folder.tar.gz                 #查看压缩文件夹中的文件名(gzip格式)
    tar -zxv -f cp_folder.tar.gz                 #打开包并解压缩(gzip格式)
    • 1
    参数解释
    • -c 打包压缩
    • -x 解压
    • -t 查看压缩包里的文件名
    • -z .gzip 格式
    • -f 指定压缩文件名

    三个特殊字符的秘密

    >将终端结果输出给文件,会创建新文件或者覆盖原文件

    cat file_name > new_file  # 将文件的内容输出到一个新文件
    cat new_file
    • 1

    >> 将终端结果输出给文件,内容会加在原文件尾部

    sed -n '8 p' file_name >> new_file # 将文件的第 8 行附加到新文件的尾部
    cat new_file
    • 1

    | 管道,将左边命令的标准输出(standard output)作为右边命令接受的标准输入(standard input)

    head -n 6 file_name | tail -n 3
    • 1

    输出文件的前 6 行,通过管道转发给 tail 取出后 3 行,也就是原始文件的 4-6 行。

    cut -f 4 file_name | sort | uniq -c
    • 1

    输出文件的第 4 列,通过管道转发 sort 进行排序,通过管道转发到 uniq 去重复并且计算重复频率。

    Tips

    1. 管道命令只处理前一个命令正确输出,不处理错误输出(standard error)。
    2. 管道命令右边命令,必须能够接收标准输入流命令才行。

    查看、修改文件权限

    使用ls -hl查看文件对应的权限信息,对比操作前后文件权限的变化。

    用户及用户组:

    文件所有者 u(user),用户组 g(group),其他人 o(other),所有人 a(all)

    chmod 修改文件的访问权限,分为数字模式和符号模式。

    数字模式:
    chmod 755 file_name
    chmod -R 755 cp_folder     
    # -R  修改该目录中所有文件的权限
    • 1

    三位数分别表示文件所有者,用户组,其他人。具体规则如下:

    • r 表示可读
    • w 表示可写
    • x 表示可执行

    用数字表示:

    可读 r=4,可写 w=2,可执行 x=1

    例如:

    • 777 表示所有用户对文件具有读、写、执行权限

    • 755 表示文件所有者对文件具有可读、可写、可执行权限,其他用户只具有可读、可执行权限。

    符号模式:
    chmod u+x,go=rx file_name   
    #使文件的所有者加上可执行权限,将用户组和其他人权限设置为可读和可执行

    chmod o-x file_name    
    #使其他人对文件除去可执行权限

    chmod a+x cp_folder    
    #使所有人对文件夹加上可执行权限
    • 1

    规则如下:

    + 加入
    - 除去
    = 设置
    • 1

    其他命令

    • top 监视计算机使用情况

    • date 显示系统的时间和日期

    • which 寻找可执行文件路径

    • ctrl-c 终止当前进程

    • ctrl-z 暂停当前进程

    清理

    rm new_file #删除文件
    rm -r cp_folder  #删除文件夹
    rm cp_folder.tar.gz #删除压缩包
    • 1

    参考资料: https://book.ncrnalab.org/teaching/part-i.-basic-skills/2.linux/2.1.linux-basic-command

    本文由 mdnice 多平台发布

  • 相关阅读:
    【9】openGL调用imGUI&使用其自带例子测试
    【观察者模式】
    说说 event loop
    kafka
    超短高手赚大钱的必备3个问题
    【webpack】HMR热更新原理
    Android-NDK-clang 编译 FFmpeg
    day32多线程02
    一个简单的音乐网站设计与实现(HTML+CSS)
    用cpolar发布Ubuntu上的网页(2)
  • 原文地址:https://blog.csdn.net/ZaoJewin/article/details/134068673