• Linux 基础知识


    tree : 将所有文件以树的形式列出来

    ========================================================

    临时关闭防火墙
    systemctl stop firewalld
    永久关闭防火墙
    systemctl disable firewalld

    临时关闭selinux安全机制
    setenforce 0
    永久关闭selinux安全机制
    sed -i '7 s/enforcing/disabled/' /etc/selinux/config

    Linux命令格式

    Linux 命令的通用格式:命令字 [选项] [参数]

     选项:用于调节命令的具体功能

     "-" 引导短格式选项

     "--" 引导长格式选项

    注意:多个短格式选项可以合并,但是多个长格式选项,不能合并

    参数:命令的对象,如文件、目录名等

    Linux 下的换行符 ' '

    Windows 下的换行符 ' '

    命令快捷键

    tab 键:自动补齐文件名,命令等;按两次 tab 键,系统将输出可用的所有名称列表

    反斜杠 "":强制换行、续行符、转义符

    ctrl+U:快速删除光标之前所有字符(可视为剪切)

    ctrl+K:快速删除光标之后所有字符(可视为剪切)

    ctrl+Y:黏贴刚才所删除(剪切)的字符

    ctrl+L:清屏

    ctrl+C:取消当前命令行编辑;结束当前执行的命令

    ctrl+D:从 shell 提示中注销关闭,类似输入 exit

    ctrl+A:把光标移动到行首,类似于 Home 键

    ctrl+E:把光标移动到行尾,类似于 End 键

    ctrl+Z:转入后台运行

    ctrl+R:在历史命令中查找(常用并且很好用)

     重要文件及包含的内容

    /

    根目录

    包含了几乎所有的文件目录。相当于中央系统

    /boot

    引导程序,内核等存放的目录

    /sbin

    超级用户可以使用的命令的存放目录

    /bin

    普通用户可以使用的命令的存放目录

     /lib

    根目录下的所有程序的共享库目录

    /dev

    设备文件目录

    /home

    普通用户的家目录

    /root

    用户 root 的$HOME目录

    /etc

    全局的配置文件存放目录

    /usr

    这个目录中包含了命令库文件和在通常操作中不会修改的文件

    /usr/lib

    目标库文件,包括动态连接库加上一些通常不是直接调用的可执行文件的存放目录

    /usr/bin

    一般使用者使用并且不是系统自检等所必需可执行的目录

    /usr/sbin

    管理员使用的非系统必须的可执行文件存放目录

    /usr/local

    安装本地程序的一般默认路径

    Linux基础命令

    线上查询及帮助命令

      man

    查看命令帮助,命令的词典,更复杂的还有 info,但不常用。

    用来提供在线帮助,使用权限是所有用户。在Linux系统中存储着一部联机使用的手册,以供用户在终端上查找。使用man命令可以调阅其中的帮助信息,非常方便实用。

    用法:man 命令字

    man [-acdfhkKtwW] [-m system] [-p string] [-C config_file] [-Mpath] [-P pager] [-S section_list][section] name ...

    -C config_life:指定设定文件 man.conf,缺省值是 /etc/man.conf

      help

    查看 Linux 内置命令的帮助,比如 cd 命令。--help 也可以使用

    用法1:help 内部命令字

    用法2:命令字 --help

    即命令的"--help"选项,适用于大多数外部命令

    文件和目录操作命令

      cd

    全拼 change directory,功能是从当前工作目录切换到指定的工作目录。

      cp

    全拼 copy,其功能为复制文件或目录。

      find 

    查找的意思,用于查找目录及目录下的文件。

      mkdir

    全拼 make directories,其功能是创建目录

      mv

    全拼 move,其功能是移动或重命名文件

      pwd 

    全拼 print working directory,其功能是显示当前工作目录的绝对路径。

      rm

    全拼 remove,其功能是删除一个或多个文件或目录。

      touch

    创建新的空文件,改变已有文件的时间戳属性。

      tree

    功能是以树形结构显示目录下的内容。

      basename

    显示文件名或目录名。

      dirname

    显示文件或目录路径。

      chattr

    改变文件的扩展属性。

      lsattr

    查看文件的扩展属性。

      file

    显示文件的类型。

      md5sum

    计算和校验文件的 MD5 值。

    查看文件及内容处理命令

      cat

    全拼 concatenate,功能是用于连接多个文件并且打印到屏幕输出或重定向到指定文件中。

      tac

    tac 是 cat 的反向拼写,因此命令的功能为反向显示文件内容。

      more

    分页显示文件内容

      less

    分页显示文件内容,more命令的相反用法。

      head

    显示文件内容的头部。

      tail 

    显示文件内容的尾部。常用的是 tail -f 动态显示文件追加的内容。

      cut

    将文件的每一行按指定分隔符分割并输出。

      split

    分割文件为不同的小片段

      paste

    按行合并文件内容

      sort

    对文件的文本内容排序。

      uniq

    去除重复行。

      wc

    统计文件的行数、单词数或字节数。

      iconv

    转换文件的编码格式。

      dos2unix

    将 DOS 格式文件装换成 UNIX 格式

      diff

    全拼 difference,比较文件的差异,常用于文本文件。

      vimdiff

    命令行可视化文件比较工具,常用于文本文件。

      rev

    反向输出文件内容。

      grep/egrep

    过滤字符串。

      join

    按两个文件的相同字段合并

      tr

    替换或删除字符。

      vi/vim

    命令行文本编辑器

    文件压缩及解压缩命令

      tar

    打包压缩

      unzip

    解压文件

      gzip

    gzip 压缩工具

      zip

    压缩工具

    信息显示命令

      uname

    显示操作系统相关信息的命令。

      hostname

    显示或者设置当前系统的主机名。

      dmesg

    显示开机信息,用于诊断系统故障。

      uptime

    显示系统运行时间及负载。

      stat

    显示文件或文件系统的状态。

      du

    计算磁盘空间使用情况。

      df

    报告文件系统磁盘空间的使用情况。

      top

    实时显示系统资源使用情况。

      free

    查看系统内存。

      date

    显示与设置系统时间。

      cal

    查看日历等时间信息。

    搜索文件命令

      which

    查找二进制命令,按环境变量 PATH 路径查找。

      find

    从磁盘遍历查找文件或目录。

      whereis

    查找二进制命令,按环境变量 PATH 路径查找。

      locate

    从数据库(/var/lib/mlocate/mlocate.db)查找命令,使用 updatedb 更新库。

    用户管理命令

      useradd

    添加用户。

      usermod

    修改系统已经存在的用户属性。

      userdel

    删除用户。

      groupadd

    添加用户组。

      passwd

    修改用户密码。

      chage

    修改用户密码有效期限。

      id

    查看用户的 UID,GID 及归属的用户组。

      su

    切换用户身份。

      visudo

    编辑 /etc/sudoers 文件的专属命令。

      sudo

    以另外一个用户身份(默认 root 用户)执行事先在 sudoers 文件允许的命令。

    基础网络操作命令

      telnet

    使用 TELNET 协议远程登录。

      ssh

    使用 SSH 加密协议远程登录。

      scp

    全拼 secure copy,用于不同主机之间复制文件。

      wget

    命令行下载文件。

      ping

    测试主机之间网络的连通性。

      route

    显示和设置 Linux 系统的路由表。

      ifconfig

    查看、配置、启用或禁用网络接口的命令。

      ifup

    启动网卡。

      ifdown

    关闭网卡。

      netstat

    查看网络状态

      ss

    查看网络状态

    深入网络操作命令

      nmap

    网络扫描命令。

      lsof

    全拼 list open files,也就是列举系统中已经被打开的文件。

      mail

    发送和接收邮件。

      mutt

    邮件管理命令

      nslookup

    交互式查询互联网 DNS 服务器的命令。

      dig

    查找 DNS 解析过程。

      host

    查询 DNS 的命令。

      traceroute

    追踪数据传输路由状况。

      tcpdump

    命令行的抓包工具。

    有关磁盘与文件系统的命令

      mount

    挂载文件系统。

      umount

    卸载文件系统。

      fsck

    检查并修复 Linux 文件系统。

      dd

    转换或复制文件。

      dumpe2fs

    导出 ext2/ext3/ext4 文件系统信息。

      dump

    ext2/ext3/ext4 文件系统备份工具。

      fdisk

    磁盘分区命令,适用于 2TB 以下磁盘分区。

      parted

    磁盘分区命令,没有磁盘大小限额,常用于 2TB 以下磁盘分区。

      mkfs

    格式化创建 Linux 文件系统。

      partprobe

    更新内核的硬盘分区表信息。

      e2fsck

    检查 ext2/ext3/ext4/ 类型文件系统。

      mkswap

    创建 Linux 交换分区。

      swapon

    启用交换分区。

      swapoff

    关闭交换分区。

      sync

    将内存缓冲区的数据写入磁盘。

      resize2fs

    调整 ext2/ext3/ext4 文件系统大小。

    系统权限及用户授权相关命令

      chmod

    改变文件或目录权限。

      chown

    改变文件或目录的属主和属组。

      chgrp

    改变文件用户组。

      umask

    显示或设置权限掩码。

    查看系统用户登陆信息的命令

      whoami

    显示当前有效的用户名称,相当于执行 id -un 命令。

      who

    显示目前登录系统的用户信息。

      w

    显示已经登录系统的用户列表,并显示用户正在执行的指令。

      last

    显示登入系统的用户。

      lastlog

    显示系统中所有用户最近一次登录信息。

      users

    显示当前登录系统的所有用户的用户列表。

      finger

    查找并显示用户信息。

    内置命令及其它

      echo

    打印变量,或直接输出指定的字符串。

      printf

    将结果格式化输出到标准输出。

      rpm

    管理 rpm 包的命令。

      yum

    自动化简单化地管理 rpm 包的命令。

      watch

    周期性的执行给定的命令,并将命令的输出以全屏方式显示。

      alias

    设置系统别名。

      unalias

    取消系统别名。

      date

    查看或设置系统时间。

      clear

    清除屏幕,简称清屏。

      history

    查看命令执行的历史记录。

      eject

    弹出光驱。

      time

    计算命令执行时间。

      nc

    功能强大的网络工具。

      xargs

    将标准输入转换成命令行参数。

      exec

    调用并执行指令的命令。

      export

    设置或者显示环境变量。

      unset

    删除变量或函数。

      type

    用于判断另外一个命令是否是内置命令。

      bc

    命令行科学计算机。

    系统管理与性能监视命令

      chkconfig

    管理 Linux 系统开机启动项。

      vmstat

    虚拟内存统计。

      mpstat

    显示各个可用 CPU 的状态统计。

      iostat

    统计系统 IO。

      sar

    全面地获取系统的 CPU、运行队列、磁盘 I/O、分页(交换区)、内存、CPU 中断和网络等性能数据。

      ipcs

    用于报告 Linux 中进程间通信设施的状态,显示的信息包括消息列表、共享内存和信号量的信息。

      ipcrm

    用来删除一个或更多的消息队列、信号量集或者共享内存标识。

      strace

    用于诊断、调试 Linux 用户空间跟踪器。我们用它来监控用户空间进程和内核的交互,比如系统调用、信号传递、进程状态变更等。

      ltrace

    命令会跟踪进程的库函数调用,它会显现出哪个库函数被调用。

    关机 / 重启 / 注销和查看系统信息的命令

      shutdown

    关机。

      halt

    关机。

      poweroff

    关闭电源。

      logout

    退出当前登录的 shell。

      exit

    退出当前登录的 shell。

      Ctrl + d

    退出当前登录的 shell 的快捷键。

    进程管理相关命令

      bg

    将一个在后台暂停的命令,变成继续执行(在后台执行)。

      fg

    将后台中的命令调至前台继续运行。

      jobs

    查看当前有多少在后台运行的命令。

      kill

    终止进程。

      killall

    通过进程名终止进程。

      pkill

    通过进程名终止进程。

      crontab

    定时任务命令。

      ps

    显示进程的快照。

      pstree

    树形显示进程。

      nice / renice

    调整程序运行的优先级。

      nohup

    忽略挂起信号运行指定的命令。也可以使用 screen。

      pgrep

    查找匹配条件的进程。

      runlevel

    查看系统当前运行级别。

      init

    切换运行级别。

      service/systemctl

    启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态。

      type

    查看命令是外部命令还是内部命令

    内部命令:属于Shell解释器的一部分

    外部命令:独立于Shell解释器之外的程序

      touch

    作用:创建空文件,用于测试。若当前文件已存在时,将更新该文件的时间戳

    格式:touch 文件名

    参数说明

    • a 改变档案的读取时间记录。
    • m 改变档案的修改时间记录。
    • c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
    • f 不使用,是为了与其他 unix 系统的相容性而保留。
    • r 使用参考档的时间记录,与 --file 的效果一样。
    • d 设定时间与日期,可以使用各种不同的格式。
    • t 设定档案的时间记录,格式与 date 指令相同。
    • --no-create 不会建立新档案。
    • --help 列出指令格式。
    • --version 列出版本讯息。

    实例

    文件已存在,使用指令 "touch" 修改文件 "testfile" 的时间属性为当前系统时间:

     touch testfile

    使用指令 "touch" 时,如果指定的文件不存在,则将创建一个新的空白文件。

     touch file 
      mkdir(make directory)

    作用:创建新目录

    格式:mkdir [选项] 目录位置及名称

    常用选项:

      -p 一次性创建嵌套的多层目录

      -v 显示详细

      -m 跳出当前的 umask 值
      du (disk usage)

    作用:用于统计指定目录或文件所占用磁盘空间的大小

    格式:du [选项] 目录或文件名

    常见选项:

      -a 统计磁盘空间占用时所有的文件,而不仅仅是统计目录

      -s 只统计所占用空间总的(summary)大小
      rm(remove)

    作用:删除指定的文件与目录

    格式:rm [选项] 要删除的文件或目录

    常用选项:

      -f 不提示,直接强制删除

      -i 提示用户确认

      -r 递归式删除整个目录树

    实例

    删除文件可以直接使用 rm 命令,若删除目录则必须配合选项 “-r”

    # rm  test.txt 
    rm:是否删除 一般文件 "test.txt"? y  
    # rm  homework  
    rm: 无法删除目录"homework": 是一个目录  
    # rm  -r  homework  
    rm:是否删除 目录 "homework"? y 

    删除当前目录下的所有文件及目录,命令行为:

    rm  -r  *

    文件一旦通过rm命令删除,则无法恢复,所以必须格外小心地使用该命令。

      mv(move)

    作用:将指定文件或目录转移位置(剪切),如果目标位置与源位置相同,则相当于执行重命名操作

    格式:mv [选项] 源文件或目录 目标文件或目录

    参数说明

    • -i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;
    • -f: 在 mv 操作要覆盖某已有的目标文件时不给任何指示;

    mv参数设置与运行结果

    命令格式运行结果
    mv 文件名 文件名 将源文件名改为目标文件名
    mv 文件名 目录名 将文件移动到目标目录
    mv 目录名 目录名 目标目录已存在,将源目录移动到目标目录;目标目录不存在则改名
    mv 目录名 文件名 出错

    实例

    将文件 aaa 更名为 bbb:

     mv aaa bbb

    将 info 目录放入 logs 目录中,注意,如果 logs 目录不存在,则该命令将 info 改名为 logs:

     mv info/ logs

    将 /usr/student 下的所有文件和目录移到当前目录下:

     mv /usr/student/* .
      cp(copy)

    作用:复制文件或目录

    格式:cp [选项] 源文件或目录 目标文件或目录

    常用选项:

      -f 覆盖同名文件或目录,强制(force)复制

      -i 提醒用户确认(interactive,交互式)

      -p 保持(preserve)源文件权限、属性、属主及时间标记等不变

      -r 递归(recursive)复制

    参数说明

    • -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
    • -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
    • -f:覆盖已经存在的目标文件而不给出提示。
    • -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
    • -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
    • -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
    • -l:不复制文件,只是生成链接文件。

    实例

    使用指令"cp"将当前目录"test/"下的所有文件复制到新目录"newtest"下,输入如下命令:

     cp  -r test/ newtest

    注意:用户使用该指令复制目录时,必须使用参数"-r"或者"-R"。

      ls (list)

    作用:列表显示目录内的文件及目录,结合不同选项实现不同的作用

    格式:ls [选项] 目录或文件名

    常用选项:

      -l 以长格式(long)显示文件和目录的列表

      -a 显示所有(all)子目录和文件的信息

      -A 与-a 基本类似,但有两个特殊隐藏目录"."和".."不显示

      -d 显示目录(directory)本身的属性,常与 -l 同时使用

      -h 以更人性化(human)的方式显示出目录或文件的大小,常与 -l 同时使用

      -R 以递归(recursive)的方式显示目录及其子目录中的所有内容

      pwd

    显示当前工作目录

      find

    Linux find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

    作用:精细查找文件或目录

    格式:find [查找范围] [查找条件表达式] 

    参数说明 :

    find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} ;

    PS:[]中的是可以没有的,就是附加选项

    -path:就是文件的路径啦

    -option:就是下面要说明的各个参数,参数后面有的会有操作数,需要注意

    -print:find命令将匹配的文件输出到标准输出。

    -exec : -ok是-exec的一个选项,加上之后执行command时会询问用户

    {} :注意是反斜杠,大括号和反斜杠之间有一个空格

    -;:注意!!!!分号必不可少!!!

    常用查找条件:

      -name 按名称查找 

      -size 按大小查找

      -user 按文件属主查找

      -type 按类型查找

      -perm 按执行权限来查找

      -group 按文件属组查找

      -mtime -n +n 按文件更改时间来查找文件,-n 指 n 天以内,+n 指 n 天以前

      -atime -n +n 按文件访问时间来查找文件

      -ctime -n +n 按文件创建时间来查找文件

    逻辑运算符

      -a(and)逻辑"与"运算

      -o(or)  逻辑"或"运算

    实例

    将当前目录及其子目录下所有延伸档名是 c 的文件列出来

     find . -name *.c

    将当前目录及其子目录中所有一般文件列出

     find . -type f

    将当前目录及其子目录下所有最近 20 天内更新过的文件列出

     find . -ctime -20

    查找 /var/log 目录中更改时间在 7 日以前的普通文件,并在删除之前询问他们

     find /var/log -type f -mtime +7 -ok rm {} ;

    查找当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件

     find . -type f -perm 644 -exec ls -l {} ;

    为了查找系统中所有文件长度为 0 的普通文件,并列出它们的完整路径

     find / -type f -size 0 -exec ls -l {} ;

    场景1:服务器磁盘满,一般由大的日志文件导致,需找到大文件并删除。

    解决1find / -size +500M -print0|xargs -0 du -m|sort -nr

    find指令为找出500M以上的文件,print0和xargs -0配合使用,用来解决文件名中有空格或特殊字符问题。du -m是查看这些文件的大小,并以m为单位显示。最后sort -nr是按照数字反向排序(大的文件在前)

    解决2:上述方法从根路径查找,可能列出一些系统文件。可以在这个查找之前先进行一下过滤。

    使用du -m -d 1 /|sort -nr  先看看根路径下,哪个文件夹比较大,并且有嫌疑是导致磁盘满的罪魁祸首。然后再基于那个目录进行find。

    ----------------------------------------

    场景2: 记得写过一个xxx.c的文件,但是忘了放哪里了

    解决: find / -name *xxx*.c 模糊查找下这个文件

      which

    作用:查找 Linux 命令程序所在的位置

    格式:which 命令|程序名

    注意:默认当只熬到第一个目标后不再继续查找,若需查找全部,加选项 -a

    实例:

    使用指令"which"查看指令"bash"的绝对路径,输入如下命令:

    which bash

    上面的指令执行后,输出信息如下所示:

    /bin/bash 

      stat

    查看文件详细状态信息
      cat

    查看文件内容,可同时显示多个文件的内容

    格式:cat [选项] 文件名

    常用选项:

      -n 显示内容的同时显示行号 (正序)

      -b 显示内容的同时显示行号(空白行不加,正序)

      -A 显示所有的字符(通常 Windows 系统拷贝过来的文件无法直接cat到,需要加此选项)

    实例:

    把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里

     cat -n textfile1 > textfile2

    把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里

     cat -b textfile1 textfile2 >> textfile3

    清空 /etc/test.txt 文档内容

     cat /dev/null >> /etc/test.txt

    cat 也可以用来制作镜像文件。例如要制作软盘的镜像文件,将软盘放好后输入:

     cat /dev/fd0 > OUTFILE

    相反的,如果想把 image file 写到软盘,输入:

     cat IMG_FILE > /dev/fd0

    注:

    OUTFILE:指输出的镜像文件名

    IMG_FILE:指镜像文件

      tac

    与 cat 基本相同,但是倒序显示
      nl

    与 cat 基本相同,但是空行不显示
      more

    全屏方式分页显示文件内容

    Linux more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。

    格式:more [选项] 文件名(一般不用选项)

    参数

    • -num 一次显示的行数
    • -d 提示使用者,在画面下方显示 [Press space to continue, 'q' to quit.] ,如果使用者按错键,则会显示 [Press 'h' for instructions.] 而不是 '哔' 声
    • -l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
    • -f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
    • -p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
    • -c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
    • -s 当遇到有连续两行以上的空白行,就代换为一行的空白行
    • -u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
    • +/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
    • +num 从第 num 行开始显示
    • fileNames 欲显示内容的文档,可为复数个数

    实例

    逐页显示 testfile 文档内容,如有连续两行以上空白行则以一行空白行显示。

    more -s testfile

    从第 20 行开始显示 testfile 之文档内容。

    more +20 testfile

    常用操作命令

    • Enter 向下n行,需要定义。默认为1行
    • Ctrl+F 向下滚动一屏
    • 空格键 向下滚动一屏
    • Ctrl+B 返回上一屏
    • = 输出当前行的行号
    • :f 输出文件名和当前行的行号
    • V 调用vi编辑器
    • !命令 调用Shell,并执行命令
    • q 退出more

      less

    less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

    格式:less [选项] 文件名(一般不用选项)

    快捷键:

      按 PgUp、PgDn 键上下翻页

      按 "/" 键查找内容,"n" 下一个,"N" 上一个

    实例

    查看文件

     less log2013.log

    ps查看进程信息并通过 less 分页显示

     ps -ef | less

    查看命令历史使用记录并通过 less 分页显示

     history | less

    浏览多个文件

     less log2013.log log2014.log

    说明:

    输入:n 后,切换到 log2014.log

    输入:p 后,切换到 log2013.log

    附加备注

    1.全屏导航

    • ctrl + F - 向前移动一屏
    • ctrl + B - 向后移动一屏
    • ctrl + D - 向前移动半屏
    • ctrl + U - 向后移动半屏

    2.单行导航

    • j - 向前移动一行
    • k - 向后移动一行

    3.其它导航

    • G - 移动到最后一行
    • g - 移动到第一行
    • q / ZZ - 退出 less 命令

    4.其它有用的命令

    • v - 使用配置的编辑器编辑当前文件
    • h - 显示 less 的帮助文档
    • &pattern - 仅显示匹配模式的行,而不是整个文件

    5.标记导航

    当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:

    • ma - 使用 a 标记文本的当前位置
    • 'a - 导航到标记 a 处

      head

    查看文件开头的一部分内容,默认显示 10 行,可加选项调节
      tail

    查看文件结尾的一部分内容,默认显示 10 行,可加选项调节

    tail -f 动态更新尾部的信息,Ctrl+C 终止
      wc

    作用:统计文件中的单词数量(Word Count)等

    格式:wc [选项] ... 目标文件

    常用选项:

      -l 统计行数

      -w 统计单词个数

      -c 统计字节数
      grep

      cut

    显示每行从开头算起 num1 到 num2 的文字。

    语法


      egrep
    26、gzip
    27、gunzip
    28、bzip2
    29、bunzip2
    30、tar
    31、vi
    32、vim
    33、rpm
    34、yum
    35、md5sum
    36、./configure
    37、make
    38、make install
    39、useradd
    40、passwd
    41、usermod
    42、userdel
    43、groupadd
    44、gpasswd
    45、groupdel
    46、id
    47、groups
    48、finger
    49、w
    50、who
    51、whoami
    52、fuser
      chmod

    修改、设置文件权限

    语法

    chmod [-cfvR] [--help] [--version] mode file...

    参数说明

    mode : 权限设定字串,格式如下 :

    [ugoa...][[+-=][rwxX]...][,...]

    其中:

    • u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
    • + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
    • r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

    其他参数说明:

    • -c : 若该文件权限确实已经更改,才显示其更改动作
    • -f : 若该文件权限无法被更改也不要显示错误讯息
    • -v : 显示权限变更的详细资料
    • -R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
    • --help : 显示辅助说明
    • --version : 显示版本

    实例:

    将文件 file1.txt 设为所有人皆可读取:

     chmod ugo+r file1.txt

    将文件 file1.txt 设为所有人皆可读取:

     chmod a+r file1.txt

    将文件 file1.txt 与 file2.txt 设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入:

     chmod ug+w,o-w file1.txt file2.txt

    将 ex1.py 设定为只有该文件拥有者可以执行:

     chmod u+x ex1.py

    将当前目录下的所有文件与子目录皆设为任何人可读取:

     chmod -R a+r

    此外 chmod 也可以用数字来表示权限如:

     chmod 777 file 

    语法为:

     chmod abc file 

    其中 a,b,c 各为一个数字,分别为 User,Group 及 Other 的权限。

    r=4,w=2,x=1

    若要 rwx 属性则 4+2+1=7;

    若要 rw- 属性则 4+2=6;

    若要 r-x 属性则 4+1=5。

     chmod a=rwx file 

     chmod 777 file 

    效果相同

     chmod ug=rwx,o=x file

     chmod 771 file

    效果相同

    若用 chmod 4755 filename 可使此程序具有 root 的权限 

      chown

    Linux/Unix 是多人多工操作系统,所有的文件皆有拥有者。利用 chown 将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。 。

    一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的文件拥有者,也没有权限把自己的文件拥有者改设为别人。只有系统管理者(root)才有这样的权限。

    语法

     chown 参数 文件...

    参数

    • user : 新的文件拥有者的使用者 ID
    • group : 新的文件拥有者的使用者组(group)
    • -c : 显示更改的部分的信息
    • -f : 忽略错误信息
    • -h :修复符号链接
    • -v : 显示详细的处理信息
    • -R : 处理指定目录以及其子目录下的所有文件
    • --help : 显示辅助说明
    • --version : 显示版本

    实例

    将文件 file1.txt 的拥有者设为 runoob,群体的使用者 runoobgroup

     chown runoob:runoobgroup file1.txt

    将当前目录下的所有文件与子目录的拥有者皆设为 runoob,群体的使用者 runoobgroup

     chown -R runoob:runoobgroup *
      chgrp

    用于变更文件或目录的所属群组

    在UNIX系统家族里,文件或目录权限的掌控以拥有者及所属群组来管理。您可以使用chgrp指令去变更文件与目录的所属群组,设置方式采用群组名称或群组识别码皆可。

    格式:chgrp 参数 所属群组 文件或目录

    参数

           -c或--changes 效果类似"-v"参数,但仅回报更改的部分。

      -f或--quiet或--silent  不显示错误信息。

      -h或--no-dereference  只对符号连接的文件作修改,而不更动其他任何相关文件。

      -R或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。

      -v或--verbose  显示指令执行过程。

      --help  在线帮助。

      --reference=<参考文件或目录>  把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同。

      --version  显示版本信息。

    实例:

    改变文件的群组属性

      chgrp -v bin log2012.log

    根据指定文件改变文件的群组属性

      chgrp --reference=log2012.log log2013.log


    56、alias
    57、unalias
      umask

    指定在建立文件时预设的权限掩码。

    umask可用来设定[权限掩码]。[权限掩码]是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限。

    语法

     umask 权限掩码

    参数

      -S 以文字的方式来表示权限掩码

    实例

    使用指令 "umask" 查看当前权限掩码:

     umask

    使用指令 "umask" 设置权限掩码

     umask 022 
    59、setfacl
    60、getfacl
    61、fdisk
    62、mkfs
    63、mkswap
    64、swapon
    65、swapoff
    66、dd
    67、parted
    68、partprobe
    69、partx
    70、mount
    71、umount
    72、df
    73、xfs_growfs
    74、resize2fs
    75、blkid
    76、pvscan
    77、vgscan
    78、lvscan
    79、pvcreate
    80、vgcreate
    81、lvcreate
    82、pvdisplay
    83、vgdisplay
    84、lvdisplay
    85、pvremove
    86、vgremove
    87、lvremove
    88、vgextend
    89、lvextend
    90、vgreduce
    91、lvreduce
    92、uname
    93、lsb_release
    94、mdadm
    95、quotacheck
    96、quotaon
    97、quotaoff
    98、edquota
    99、setquota
    100、quota
    101、repquota
    102、init
    103、reboot
    104、chroot
    105、grub2
    106、runlevel
    107、ntsysv
    108、chkconfig
    109、fsck
    110、xfs_repair
    111、systemctl
    112、ps
    113、top
    114、uptime
    115、pgrep
    116、pstree
    117、nohup
    118、jobs
    119、fg
    120、bg
    121、kill
    122、killall
    123、pkill
    124、at
    125、atq
    126、atrm
    127、date
    128、crontab
      chattr

    用于改变文件属性

    这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:

    1. a:让文件或目录仅供附加用途。
    2. b:不更新文件或目录的最后存取时间。
    3. c:将文件或目录压缩后存放。
    4. d:将文件或目录排除在倾倒操作之外。
    5. i:不得任意更动文件或目录。
    6. s:保密性删除文件或目录。
    7. S:即时更新文件或目录。
    8. u:预防意外删除。

    格式:chattr [-RV][-v<版本编号][+/-/=<属性>] [文件或目录...]

    参数

           -R 递归处理,将指定目录下的所有文件及子目录一并处理。

      -v<版本编号> 设置文件或目录版本。

      -V 显示指令执行过程。

      +<属性> 开启文件或目录的该项属性。

      -<属性> 关闭文件或目录的该项属性。

      =<属性> 指定文件或目录的该项属性。

    实例:

    用 chattr 命令防止系统中某个关键文件被修改:

     chattr +i /etc/resolv.conf

     lsattr /etc/resolv.conf

    会显示如下属性

     ----i-------- /etc/resolv.conf

    让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件:

     chattr +a /var/log/messages

      lsattr

    Linux lsattr命令用于显示文件属性。

    用chattr执行改变文件或目录的属性,可执行lsattr指令查询其属性。

    语法

      lsattr 参数 文件或目录

    参数

    • -a  显示所有文件和目录,包括以"."为名称开头字符的额外内建,现行目录"."与上层目录".."。
    • -d  显示,目录名称,而非其内容。
    • -l  此参数目前没有任何作用。
    • -R  递归处理,将指定目录下的所有文件及子目录一并处理。
    • -v  显示文件或目录版本。
    • -V  显示版本信息。


    131、chage
    132、unset

      reset
    133、su
    134、sudo
    135、visudo
    136、source
    137、history
    138、sync
    139、export
    140、John
    141、nmap
    142、ln
    143、extundelete
    144、dumpe2fs
    145、tune2fs
    146、file
    147、last
    148、lastlog
    149、users
    150、lastb
    151、ifconfig
    152、ip
    153、ethtool
    154、mii-tool
    155、nslookup
    156、route
    157、netstat
    158、ping
    159、traceroute
    160、hostname
    161、ss
    162、lsof
    163、ifdown
    164、ifup
    165、hostnamectl
    166、sysctl
    167、echo
    168、sleep
    169、free
    170、ntpdate


    171、watch
    172、tree

  • 相关阅读:
    Oracle诊断:在程序的运行中,有时候数据库会断开连接
    Linux shell
    Java继承和多态-Static关键字
    Oracle诊断:使用USER_SEGMENTS分配给表的物理空间大小
    Linux shell -查找字符(find,xargs,grep)
    Linux shell
    Linux shell
    Linux shell
    Java heap size
    Oracle诊断: 服务器启后,无法连接
  • 原文地址:https://www.cnblogs.com/2567xl/p/11234475.html
Copyright © 2020-2023  润新知