Linux常用命令列表

系统操作

  • shutdown -krh timestr msgstr-k为发送msgstr;-r为重启;-h为关机。timestr为now、具体时间(如20:00)、或分钟(如+10)。
  • 帮助页面:
    • man cmdstr
    • man -f cmdstr:在指令/文件名中完全匹配cmdstr。简略指令whatis。注意:使用whatis指令需要事先创建whatis数据库(makewhatis)。
    • man -k cmdstr:在指令/文件名、描述中搜索关键字。简略指令apropos
    • 一些man返回结果的代号:1-shell命令、2-系统内核调用的函数与工具、3-库函数、5-配置文件或文件格式、8-管理命令。

文件系统

  • 查看:
    • ls -d:ls当前目录本身,而不是ls当前目录中的内容。
  • 文件权限:
    • chown newuser filename
    • chgrp newgroup filename
    • chown newuser:newgroup filename
    • chmod 777 filename
    • chmod u/g/o/a+/-/= r/w/x filename
    • 对于文件:“可读”权限能够读取文件内容;“可写”权限能够编辑文件内容;“可执行”权限能够执行该文件。文件的删除属于目录操作,不在此处指定。
    • 对于目录:“可读”权限能够查询该目录下文件名(ls);“可写”权限能够更改该目录结构列表(新建、删除、移动、重命名);“可执行”权限能够进入该目录。
    • umask:显示默认(去除)权限。对于新文件,默认最大权限是666;对于新目录,默认最大权限是777。umask(的后三位)给出了需要减去的权限。
    • umask xxx:设置新的umask值。
    • SUID、SGID与SBIT:SUID仅用于二进制文件,表示其他用户可以临时作为程序所有者来执行。SGID用于二进制文件或目录,表示其他用户可以临时获得程序用户组的支持来执行。SBIT仅用于目录,表示目录中的文件只有创建者和root能够删除。SUID、SGID、SBIT编码4、2、1,在chmod xxx之前一位进行设置。当权限中s、t显示为大写S、T是,表明该处权限本身不具备x。
  • 目录:
    • pwd:当前目录。
    • pwd -P显示软链接指向的目录。当前目录是软链接时,pwd给出的是软链接的位置;而加上-P参数后,pwd给出的是指向的目录位置。
    • mkdir dirname:创建目录。
    • mkdir -p dir1/dir2/dir3:递归创建目录,创建至dir3。
    • rmdir dirname:删除(空)目录。
    • rmdir -p dir1/dir2/dir3:递归删除(空)目录,删除至dir1。
  • 复制、删除、移动:
    • cp src dst:复制、创建链接。当src为单文件时,dst为单文件;当src为多文件时,dst为目录。
    • cp -a src dst等同于cp -pdr src dst。
    • cp -r src dst:递归复制。
    • cp -p src dst:复制时保留源文件属性。当默认复制时,文件属性会与当前用户、当前时间等进行匹配,有时并不想做此改变,可使用-p参数。
    • cp -u src dst:更新复制,dst比src旧才进行复制。
    • cp -d src dst对于符号链接,默认的复制对象是指向文件。若想复制符号链接本身,则使用-d参数。
    • cp -l/s src dst:创建硬/符号链接文件。
    • rm target:删除。
    • mv src dst:移动。
  • 创建链接
    • ln src dst:创建硬链接。注意:硬链接不能用于目录。
    • ln -s src dst:创建软链接。

文件操作

  • 显示
    • cat -n filename。-n参数可显示行号。
    • more filename:逐页显示。
    • less filename:逐页显示。less is MORE,相较more,less可以向前翻页、向前查找等。主要操作如下:
      • 空格:向下一页。
      • b:向上一页。
      • /str:向下查找str。
      • ?str:向上查找str。
      • n:向下继续查找。
      • N:向上继续查找。
      • q:退出。
    • head/tail -n number filename:显示文件头/尾number行。默认为10行,当number为负数时,为显示去除那些行的结果。
    • touch filename:若filename不存在,则创建文件;若filename存在,则更新mtime与atime(无参数制定时,默认为当前时间)。mtime为修改时间;atime为读取时间;ctime为状态时间。注意:cp -a并不能复制ctime属性。
  • 查找
    • which filename:查找二进制文件。在$PATH指定的路径中查找。
    • whereis filename:查找-b二进制文件、-m说明文件、-s源码文件。在数据库文件中查找。
    • locate keyword:查找包含关键字的文件。在数据库文件中查找。Linux将系统内所有文件都记录在该数据库文件中,以一定频率更新。
    • find path option:按option查找path中的文件。扫描硬盘查找。
    • find path -name filename:查找path中文件名为filename的文件。
  • 压缩、解压缩
    • tar -z/j -c/x -v -f filename (-C) dirname:-z参数使用gzip;-j参数使用bzip2;-c打包;-x解包;-v显示信息;-f指定包名。
    • tar -zcvf/jcvf filename dirname:将dirname打包创建压缩包filename。
    • tar -zxvf/jxvf filename -C dirname:(在dirname目录下)解压filename。
  • vi
    • 一般模式:
      • H:本屏第一行第一字符。
      • L:本屏最后一行第一字符。
      • 1G/gg:文件第一行。
      • G:文件最后一行。
      • nG:文件第n行。
      • /str:向下查找。
      • ?str:向上查找。
      • n:继续向下查找。
      • N:继续向上查找。
      • :s/str1/str2:本行第一个str1替换为str2。
      • :s/str1/str2/g:本行str1替换为str2。最后参数g为(指定行)全部替换的意思。
      • :s/str1/str2/gc:本行str1替换为str2,并逐个询问。最后参数c为替换前进行询问的意思。
      • :1,$s/str1/str2/g:全文str1替换为str2。开头参数1,$位置为指定的行号区间,1为第一行,$为最后一行。
      • :%s/str1/str2/g:同:1,$s/str1/str2/g。开头参数%为1,$的意思。
      • dd/yy:删除/复制当前行。
      • ndd/nyy:删除/复制当前n行。
      • d1G/y1G:删除/复制当前行到第一行数据。
      • dG/yG:删除/复制当前行到最后一行数据。
      • d0/y0:删除/复制当前行光标到第一个字符数据。
      • d$/y$:删除/复制当前行光标到最后一个字符数据。
      • p:在光标下一行粘贴。
      • P:在光标上一行粘贴。
      • u:撤销操作。
      • Ctrl+r:重复操作,就是撤销撤销操作。
    • 切换至编辑模式:
      • i:当前插入。
      • o:下一行插入。
      • r:替换。
    • 命令行模式:
      • :w:保存。
      • :q:退出。
      • :wq:保存退出。
      • :q!:不保存退出。
      • :w !sudo tee %:无权限情况下保存。其中:w !{cmd}将整个文件缓存作为cmd的输入。%为当前文件名。tee中stdout的输入未使用,丢弃。
      • :set nu:显示行号。
      • :set nonu:取消显示行号。

磁盘操作

  • 容量显示
    • df -ahT filename:显示文件系统容量。-a会显示(包括特殊的)所有文件系统,-h使用便于阅读单位格式,-T显示文件系统类型。当df命令后面跟随文件时,则显示该文件所在的文件系统容量。df命令主要读取super block中的信息,故返回结果速度较快。
    • du:显示(当前目录下)各子目录容量。
    • du -a:显示(当前目录下)各子目录、各文件容量。
    • du -h:以便于阅读的单位格式返回结果。
    • du -s:仅返回(当前目录下)总容量。
    • du -d depth:指定子目录的最大进入深度。
    • du -ah -d 1:列出(当前目录下)的目录、文件容量。
  • 分区
    • fdisk -l:列出(所有设备的)分区信息。
    • fdisk -l devname:列出指定设备devname的分区信息。
    • fdisk devname:对devname进行分区操作。具体指令在进入分区模式后,可使用m查询。
    • mkfs -t type devname:格式化,即对devname使用type文件系统格式进行格式化。
    • fsck -t type devname:磁盘检查,即对devname使用type文件系统格式进行磁盘检查。
    • parted devname operation:支持2T以上硬盘的分区相关操作命令。
  • 挂载
    • mount:显示目前挂载信息。
    • mount -l:显示目前挂载信息(包含Label)。
    • mount devname mountpos:将devname挂载到mountpos上。若Linux不能自动识别devname的type,可使用-t参数指定。注意,开机自动挂载的信息保存在文件/etc/fstab中。
    • mount -o loop xxx.iso mountpos:挂载iso文件。注意,-o loop挂载方法也可以用于挂载一个大文件,作为分区使用。
    • umount mountpos:卸载。

内存进程

  • free:显示内存容量。

2 thoughts on “Linux常用命令列表”

  1. Pingback: topfuck123gals.mobi

评论已关闭。