Linux运维必须要掌握的命令

Linux 命令

一、文件管理

1.1 cd

语法:cd [dirName]

功能:用于切换当前工作目录至 dirName(目录参数)。

说明:其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录)。另外,”~” 也表示为 home 目录 的意思,”.” 则是表示目前所在的目录,”..” 则表示目前目录位置的上一层目录。

1.2 ls

语法:ls [-alrtAFR] [name…]

功能:用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。

参数:

  • -a 显示所有文件及目录 (ls内定将文件名或目录名称开头为”.”的视为隐藏档,不会列出)
  • -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
  • -r 将文件以相反次序显示(原定依英文字母次序)
  • -t 将文件依建立时间之先后次序列出
  • -A 同 -a ,但不列出 “.” (目前目录) 及 “..” (父目录)
  • -F 在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/”
  • -R 若目录下有文件,则以下之文件亦皆依序列出

1.3 pwd

语法:pwd [–help] [–version]

功能:用于显示工作目录。

参数:

  • –help 在线帮助
  • –version 显示版本信息

1.4 mkdir

语法:mkdir [-p] dirName

功能:用于建立名称为 dirName 之子目录。

参数:

  • -p 确保目录名称存在,不存在的就建一个

1.5 rmdir

语法:rmdir [-p] dirName

功能:删除空的目录。

参数:

  • -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除

1.6 cat

语法:cat [-AbeEnstTuv] [–help] [–version] fileName

功能:用于连接文件并打印到标准输出设备上。

参数:

  • n 或 –number:由 1 开始对所有输出的行数编号
  • -b 或 –number-nonblank:和 -n 相似,只不过对于空白行不编号
  • -s 或 –squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行
  • -v 或 –show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外
  • -E 或 –show-ends : 在每行结束处显示 $
  • -T 或 –show-tabs: 将 TAB 字符显示为 ^I
  • -e : 等价于 -vE
  • -A, –show-all:等价于 -vET
  • -e:等价于”-vE”选项
  • -t:等价于”-vT”选项

1.7 chmod

语法:chmod [-cfvR] [–help] [–version] mode file…

功能:控制文件如何被他人所调用。

参数:

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

1.8 chown

语法:chown [-cfhvR] [–help] [–version] user[:group] file….

功能:将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。

参数:

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

1.9 file

语法:file [-bcLvz] [-f <名称文件>] [-m <魔法数字文件>…] [文件或目录…]

功能:用于辨识文件类型。

参数:

  • -b:列出辨识结果时,不显示文件名称
  • -c:详细显示指令执行过程,便于排错或分析程序执行的情形
  • -f<名称文件>:指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称
  • -L:直接显示符号连接所指向的文件的类别
  • -m<魔法数字文件>:指定魔法数字文件
  • -v:显示版本信息
  • -z:尝试去解读压缩文件的内容
  • [文件或目录…] 要确定类型的文件列表,多个文件之间使用空格分开,可以使用shell通配符匹配多个文件

1.10 find

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

功能:用来在指定目录下查找文件。

参数:

  • -name:按照文件名查找文件
  • -amin n:在过去 n 分钟内被读取过
  • -anewer file:比文件 file 更晚被读取过的文件
  • -atime n:在过去n天内被读取过的文件
  • -cmin n:在过去 n 分钟内被修改过
  • -cnewer file:比文件 file 更新的文件
  • -ctime n:在过去n天内被修改过的文件

1.11 ln

语法:ln [参数] [源文件或目录] [目标文件或目录]

功能:为某一个文件在另外一个位置建立一个同步的链接。

参数:

  • -b:删除,覆盖以前建立的链接
  • -d:允许超级用户制作目录的硬链接
  • -f:强制执行
  • -i:交互模式,文件存在则提示用户是否覆盖
  • -n:把符号链接视为一般目录
  • -s:软链接(符号链接)
  • -v:显示详细的处理过程
  • -S:”-S<字尾备份字符串> “或 “–suffix=<字尾备份字符串>”
  • -V:”-V<备份方式>”或”–version-control=<备份方式>”
  • –help:显示帮助信息
  • –version:显示版本信息

软链接

  • 软链接:以路径的形式存在,类似于Windows操作系统中的快捷方式;
  • 软链接:可以 跨文件系统 ,硬链接不可以;
  • 软链接:可以对一个不存在的文件名进行链接;
  • 软链接:可以对目录进行链接;

硬链接

  • 硬链接:以文件副本的形式存在。但不占用实际空间;
  • 不允许给目录创建硬链接;
  • 硬链接只有在同一个文件系统中才能创建;

1.12 less

语法:less [参数] 文件

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

参数:

  • -b:<缓冲区大小> 设置缓冲区的大小
  • -e:当文件显示结束后,自动离开
  • -f:强迫打开特殊文件,例如外围设备代号、目录和二进制文件
  • -g:只标志最后搜索的关键词
  • -i:忽略搜索时的大小写
  • -m:显示类似more命令的百分比
  • -N:显示每行的行号
  • -o:<文件名> 将less 输出的内容在指定文件中保存起来
  • -Q:不使用警告音
  • -s:显示连续空行为一行
  • -S:行过长时间将超出部分舍弃
  • -x:<数字> 将”tab”键显示为规定的数字空格
  • /字符串:向下搜索”字符串”的功能
  • ?字符串:向上搜索”字符串”的功能
  • n:重复前一个搜索(与 / 或 ? 有关)
  • N:反向重复前一个搜索(与 / 或 ? 有关)
  • b:向后翻一页
  • d:向后翻半页
  • h:显示帮助界面
  • Q:退出less 命令
  • u:向前滚动半页
  • y:向前滚动一行
  • 空格键:滚动一页
  • 回车键:滚动一行
  • [pagedown]:向下翻动一页
  • [pageup]:向上翻动一页

1.13 lsattr

语法:lsattr [-adlRvV] [文件或目录…]

功能:用于显示文件属性。

参数:

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

1.14 mv

语法:

mv [options] source dest

mv [options] source... directory

功能:为文件或目录改名、或将文件或目录移入其它位置。

参数:

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

1.15 rcp

语法:rcp [-pr] [源文件或目录] [目标文件或目录]

功能:用于复制远程文件或目录。

参数:

  • -p:保留源文件或目录的属性,包括拥有者,所属群组,权限与时间
  • -r:递归处理,将指定目录下的文件与子目录一并处理

1.16 rm

语法:rm [options] name…

功能:用于删除一个文件或者目录。

参数:

  • -i:删除前逐一询问确认
  • -f:即使原档案属性设为唯读,亦直接删除,无需逐一确认
  • -r:将目录及以下之档案亦逐一删除

1.17 touch

语法:touch [-acfm] [-d<日期时间>] [-r<参考文件或目录>] [-t<日期时间>] [–help] [–version] [文件或目录…]

功能:用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,则创建一个新的文件。

参数:

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

1.18 which

语法:which [文件…]

功能:用于查找文件。

参数:

  • -n<文件名长度>:指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名
  • -p<文件名长度>:与-n参数相同,但此处的<文件名长度>包括了文件的路径
  • -w:指定输出时栏位的宽度
  • -V:显示版本信息

1.19 cp

语法:cp [options] source… directory

功能:用于复制文件或目录。

参数:

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

1.20 scp

语法:scp [可选参数] file_source file_target

功能:用于Linux之间复制文件和目录。

参数:

  • -B:使用批处理模式(传输过程中不询问传输口令或短语)
  • -C:允许压缩(将-C标志传递给ssh,从而打开压缩功能)
  • -p:保留原文件的修改时间,访问时间和访问权限
  • -q:不显示传输进度条
  • -r:递归复制整个目录
  • -v:详细方式显示输出。scp和ssh会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题
  • -c cipher:以cipher将数据传输进行加密,这个选项将直接传递给ssh
  • -F ssh_config:指定一个替代的ssh配置文件,此参数直接传递给ssh
  • -i identity_file:从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh
  • -l limit:限定用户所能使用的带宽,以Kbit/s为单位
  • -o ssh_option:如果习惯于使用ssh_config中的参数传递方式
  • -P port:注意是大写的P, port是指定数据传输用到的端口号

1.21 read

语法:read [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name …]

功能:用于从标准输入读取数值。

参数:

  • -a:后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分割符
  • -d:后面跟一个标志符,其实只有其后的第一个字符有用,作为结束的标志
  • -p:后面跟提示信息,即在输入前打印提示信息
  • -e:在输入的时候可以时候命令补全功能
  • -n:后跟一个数字,定义输入文本的长度,很实用
  • -r:屏蔽 \,如果没有该选项,则 \ 作为一个转义字符,有的话 \ 就是个正常的字符了
  • -s:安静模式,在输入字符时不再屏幕上显示,例如login时输入密码
  • -t:后面跟秒数,定义输入字符的等待时间
  • -u:后面跟fd,从文件描述符中读入

1.22 wc

语法:wc [-clw] [ – help] [ – version] [文件…]

功能:用于计算字数。

参数:

  • -c 或 –bytes 或 –chars 只显示Bytes数
  • -l 或 –lines 只显示行数
  • -w 或 –words 只显示字数
  • –help:在线帮助
  • –version:显示版本信息

1.23 grep

语法:grep [op] pattern file

功能:用于过滤/搜索的特定字符。可使用正则表达式能多种命令配合使用

参数:

  • -C:除了显示符合样式的那一行之外,并显示该行之前后的内容
  • -i:忽略字符大小写的差别
  • -l:列出文件内容符合指定的样式的文件名称
  • -n:在显示符合样式的那一行之前,标示出该行的列数编号

1.24 tail

语法:tail [参数] [文件]

功能:用于查看文件的内容。

参数:

  • -f:循环读取
  • -q:不显示处理信息
  • -v:显示详细的处理信息
  • -c<数目>:显示的字节数
  • -n<行数>:显示行数
  • –pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
  • -q, –quiet, –silent 从不输出给出文件名的首部
  • -s, –sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

1.25 tar

语法:tar [op] dirName

功能:用来压缩和解压文件。

参数:

  • -A:新增压缩文件到已存在的压缩
  • -c:建立新的压缩文件
  • -d:记录文件的差别
  • -r:添加文件到已经压缩的文件
  • -u:添加改变了和现有的文件到已经存在的压缩文件
  • -x:从压缩的文件中提取文件
  • -t:显示压缩文件的内容
  • -z:支持gzip解压文件
  • -v:显示操作过程
  • -k:保留原有文件不覆盖
  • -m:保留文件不被覆盖
  • -W:确认压缩文件的正确性
  • -C:切换到指定目录
  • -f:指定压缩文件

公众号:青梅煮码  小程序:青梅煮码  个人博客:www.dxel.cn

二、系统管理

2.1 ps

语法:ps [options] [–help]

功能:用于显示当前进程 (process) 的状态。

参数:

  • -A:列出所有的行程
  • -w:显示加宽可以显示较多的资讯
  • -au:显示较详细的资讯
  • -aux:显示所有包含其他使用者的行程
  • au(x) 输出格式 : USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
  • USER:行程拥有者
  • PID:pid
  • %CPU:占用的 CPU 使用率
  • %MEM:占用的记忆体使用率
  • VSZ:占用的虚拟记忆体大小
  • RSS:占用的记忆体大小
  • TTY:终端的次要装置号码 (minor device number of tty)
  • STAT:该行程的状态:
  • D:不可中断的静止 (通悸□□缜b进行 I/O 动作)
  • R:正在执行中
  • S:静止状态
  • T:暂停执行
  • Z:不存在但暂时无法消除
  • W:没有足够的记忆体分页可分配
  • <:高优先序的行程
  • N:低优先序的行程
  • L:有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
  • START:行程开始时间
  • TIME:执行的时间
  • COMMAND:所执行的指令

2.2 kill

语法:kill [-s <信息名称或编号>] [程序] 或 kill [-l <信息编号>]

功能:用于删除执行中的程序或工作。

参数:

  • -l <信息编号>:若不加<信息编号>选项,则-l参数会列出全部的信息名称
  • -s <信息名称或编号>:指定要送出的信息

2.3 clear

语法:clear 或 快捷键:ctrl+l

功能:用于清除屏幕。

2.4 top

语法:top

功能:动态显示当前系统正在执行的进程的相关信息。

参数:

  • -i+时间:设置间隔时间
  • -u+用户名:指定用户名
  • -p+进程号:指定进程
  • -n+次数:循环显示的次数

2.5 history

语法:history

功能:查询命令历史记录。

参数:

  • -c:清除所有的命令历史

2.6 su

语法:su [-fmp] [-c command] [-s shell] [–help] [–version] [-] [USER [ARG]]

功能:用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。

参数:

  • -f 或 –fast 不必读启动档(如 csh.cshrc 等),仅用于 csh 或 tcsh
  • -m -p 或 –preserve-environment 执行 su 时不改变环境变数
  • -c 变更为帐号为 USER 的使用者并执行指令(command)后再变回原来使用者
  • -s shell 或 –shell=shell 指定要执行的 shell (bash csh tcsh 等),预设值为 /etc/passwd 内的该使用者(USER) shell
  • –help:显示说明文件
  • –version:显示版本资讯
  • – -l 或 –login 这个参数加了之后,就好像是重新 login 为该使用者一样,大部份环境变数(HOME SHELL USER等等)都是以该使用者(USER)为主,并且工作目录也会改变,如果没有指定 USER ,内定是 root
  • USER 欲变更的使用者帐号
  • ARG 传入新的 shell 参数

2.7 who

语法:who – [husfV] [user]

功能:用于显示系统中有哪些使用者正在上面;

参数:

  • -H:显示各栏位的标题信息列
  • -i:显示闲置时间,若该用户在前一分钟之内有进行任何动作,将标示成”.”号,如果该用户已超过24小时没有任何动作,则标示出”old”字符串
  • -m:此参数的效果和指定”am i”字符串相同
  • -q:只显示登入系统的帐号名称和总人数
  • -s:此参数将忽略不予处理,仅负责解决who指令其他版本的兼容性问题
  • -w:显示用户的信息状态栏
  • –help:在线帮助
  • –version:显示版本信息

2.8 reboot

语法:reboot [-n] [-w] [-d] [-f] [-i]

功能:用于用来重新启动计算机。

参数:

  • -n:在重开机前不做将记忆体资料写回硬盘的动作
  • -w:并不会真的重开机,只是把记录写到 /var/log/wtmp 档案里
  • -d:不把记录写到 /var/log/wtmp 档案里
  • -f:强迫重开机,不呼叫 shutdown 这个指令
  • -i:在重开机之前先把所有网络相关的装置先停止

2.9 shutdown

语法:shutdown [-t seconds] [-rkhncfF] time [message]

功能:用来进行关机程序。

参数:

  • -t seconds:设定在几秒钟之后进行关机程序
  • -k:并不会真的关机,只是将警告讯息传送给所有只用者
  • -r:关机后重新开机
  • -h:关机后停机
  • -n:不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自行关机
  • -c:取消目前已经进行中的关机动作
  • -f:关机时,不做 fcsk 动作(检查 Linux 档系统)
  • -F:关机时,强迫进行 fsck 动作
  • time:设定关机的时间
  • message:传送给所有使用者的警告讯息

2.10 procinfo

语法:procinfo [-abdDfhimsSv] [-F <输出文件>] [-n <间隔秒数>]

功能:用于显示系统状态。

参数:

  • -a:显示所有信息
  • -b:显示磁盘设备的区块数目,而非存取数目
  • -d:显示系统信息每秒间的变化差额,而非总和的数值。本参数必须配合”-f”参数使用
  • -D:此参数效果和指定”-d”参数类似,但内存和交换文件的信息为总和数值
  • -f:进入全画面的互动式操作界面
  • -F<输出文件>:把信息状态输出到文件保存起来,而非预设的标准输出设备
  • -h:在线帮助
  • -i:显示完整的IRP列表
  • -m:显示系统模块和外围设备等相关信息
  • -n<间隔秒数>:设置全画面互动模式的信息更新速度,单位以秒计算
  • -s:显示系统的内存,磁盘空间,IRP和DMA等信息,此为预设值
  • -S:搭配参数”-d”或”-D”使用时,每秒都会更新信息,不论是否有使用参数”-n”
  • -v:显示版本信息

公众号:青梅煮码  小程序:青梅煮码  个人博客:www.dxel.cn

三、网络管理

3.1 ifconfig

语法:ifconfig [网络设备] [down up -allmulti -arp -promisc] [add<地址>] [del<地址>] [<硬件地址>] [io_addr] [irq] [media<网络媒介类型>] [mem_start<内存地址>] [metric<数目>] [mtu<字节>] [netmask<子网掩码>] [tunnel<地址>] [-broadcast<地址>] [-pointopoint<地址>] [IP地址]

功能:用于显示或设置网络设备。

参数:

  • add<地址>:设置网络设备IPv6的IP地址
  • del<地址>:删除网络设备IPv6的IP地址
  • down:关闭指定的网络设备
  • <hw<网络设备类型><硬件地址>:设置网络设备的类型与硬件地址
  • media<网络媒介类型>:设置网络设备的媒介类型
  • mem_start<内存地址>:设置网络设备在主内存所占用的起始地址
  • metric<数目>:指定在计算数据包的转送次数时,所要加上的数目
  • mtu<字节>:设置网络设备的MTU
  • netmask<子网掩码>:设置网络设备的子网掩码
  • tunnel<地址>:建立IPv4与IPv6之间的隧道通信地址
  • up:启动指定的网络设备
  • -broadcast<地址>:将要送往指定地址的数据包当成广播数据包来处理
  • -pointopoint<地址>:与指定地址的网络设备建立直接连线,此模式具有保密功能
  • -promisc:关闭或启动指定网络设备的promiscuous模式
  • [IP地址]:指定网络设备的IP地址
  • [网络设备]:指定网络设备的名称

3.2 ping

语法:ping [-dfnqrRv] [ – c <完成次数>] [ – i <间隔秒数>] [ – 我<网络界面>] [ – l <前置载入>] [ – p <范本样式>] [ – 小号<数据包大小>] [ – 吨<存活数值>] [主机名称或IP地址]

功能:用于检测主机连通性。

参数:

  • -d:使用Socket的SO_DEBUG功能
  • -c <完成次数>:设置完成要求回应的次数
  • -f:极限检测
  • -i <间隔秒数>:指定收发信息的间隔时间
  • -I <网络界面>:使用指定的网络界面送出数据包
  • -l <前置载入>:设置在送出要求信息之前,先行发出的数据包
  • -n:只输出数值
  • -p <范本样式>:设置填满数据包的范本样式
  • -q:不显示指令执行过程,开头和结尾的相关信息除外
  • -r:忽略普通的路由表,直接将数据包送到远端主机上
  • -R:记录路由过程
  • -s <数据包大小>:设置数据包的大小
  • -t <存活数值>:设置存活数值TTL的大小
  • -v:详细显示指令的执行过程

3.3 telnet

语法:telnet [op] [ip或域名] [端口]

功能:用于远端登入。

3.4 netstat

语法:netstat [-acCeFghilMnNoprstuvVwx] [ – <网络类型>] [ – ip] [ – acCeFghilMnNoprstuvVwx ] [ – 甲<网络类型>] [ – IP ]

功能:用于显示网络状态;

参数:

  • -a (all):显示所有选项,默认不显示LISTEN相关
  • -t (tcp):仅显示tcp相关选项
  • -u (udp):仅显示udp相关选项
  • -n:拒绝显示别名,能显示数字的全部转化成数字
  • -l:仅列出有在 Listen (监听) 的服務状态
  • -p:显示建立相关链接的程序名
  • -r:显示路由信息,路由表
  • -e:显示扩展信息,例如uid等
  • -s:按各个协议进行统计
  • -c:每隔一个固定时间,执行该netstat命令

3.5 wget

语法:wget(选项)(参数)

功能:用来从指定的URL下载文件。

参数:

  • -a<日志文件>:在指定的日志文件中记录资料的执行过程
  • -A<后缀名>:指定要下载文件的后缀名,多个后缀名之间使用逗号进行分隔
  • -b:进行后台的方式运行wget
  • -B<连接地址>:设置参考的连接地址的基地地址
  • -c:继续执行上次终端的任务
  • -C<标志>:设置服务器数据块功能标志on为激活,off为关闭,默认值为on
  • -d:调试模式运行指令
  • -D<域名列表>:设置顺着的域名列表,域名之间用“,”分隔
  • -e<指令>:作为文件“.wgetrc”中的一部分执行指定的指令
  • -h:显示指令帮助信息
  • -i<文件>:从指定文件获取要下载的URL地址
  • -l<目录列表>:设置顺着的目录列表,多个目录用“,”分隔
  • -L:仅顺着关联的连接
  • -r:递归下载方式
  • -nc:文件存在时,下载文件不覆盖原有文件
  • -nv:下载时只显示更新和出错信息,不显示指令的详细执行过程
  • -q:不显示指令执行过程
  • -nh:不查询主机名称
  • -v:显示详细执行过程
  • -V:显示版本信息
  • –passive-ftp:使用被动模式PASV连接FTP服务器
  • –follow-ftp:从HTML文件中下载FTP连接文件

四、磁盘管理

4.1 df

语法:df(选项)(参数)

功能:用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。

参数:

  • -a:包含全部的文件系统
  • –block-size=<区块大小>:以指定的区块大小来显示区块数目
  • -h:以可读性较高的方式来显示信息
  • -H:与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes
  • -i:显示inode的信息
  • -k:指定区块大小为1024字节
  • -l:仅显示本地端的文件系统
  • -m:指定区块大小为1048576字节
  • –no-sync:在取得磁盘使用信息前,不要执行sync指令,此为预设值
  • -P:使用POSIX的输出格式
  • –sync:在取得磁盘使用信息前,先执行sync指令
  • -t<文件系统类型>或–type=<文件系统类型>:仅显示指定文件系统类型的磁盘信息
  • -T:显示文件系统的类型
  • -x<文件系统类型>或–exclude-type=<文件系统类型>:不要显示指定文件系统类型的磁盘信息
  • –help:显示帮助
  • –version:显示版本信息

4.2 du

语法:du [op] [file]

功能:显示目录或文件的大小

参数:

  • -a:显示目录中个别文件的大小
  • -b:显示目录或文件大小时,以byte为单位
  • -c:除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和
  • -D:显示指定符号连接的源文件大小
  • -h:以K,M,G为单位,提高信息的可读性
  • -H:与-h参数相同,但是K,M,G是以1000为换算单位
  • -k:以1024 bytes为单位
  • -m:以1MB为单位
  • -s:仅显示总计

4.3 fdisk

语法:fdisk(选项)(参数)

功能:用于观察硬盘实体使用情况,也可对硬盘分区。

参数:

  • -b<分区大小>:指定每个分区的大小
  • -l:列出指定的外围设备的分区表状况
  • -s<分区编号>:将指定的分区大小输出到标准输出上,单位为区块
  • -u:搭配”-l”参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址
  • -v:显示版本信息

4.4 pvs

语法:pvs(选项)(参数)

功能:用于输出格式化的物理卷信息报表。

参数:

  • –noheadings:不输出标题头
  • –nosuffix:不输出空间大小的单位

4.5 mount

语法:mount(选项)(参数)

功能:用于加载文件系统到指定的加载点。

参数:

  • -V:显示程序版本
  • -l:显示已加载的文件系统列表
  • -h:显示帮助信息并退出
  • -v:冗长模式,输出指令执行的详细信息
  • -n:加载没有写入文件“/etc/mtab”中的文件系统
  • -r:将文件系统加载为只读模式
  • -a:加载文件“/etc/fstab”中描述的所有文件系统

4.6 mkfs

语法:mkfs(选项)(参数)

功能:用于在设备上(通常为硬盘)创建Linux文件系统。

参数:

  • fs:指定建立文件系统时的参数
  • -t<文件系统类型>:指定要建立何种文件系统
  • -v:显示版本信息与详细的使用方法
  • -V:显示简要的使用方法
  • -c:在制做档案系统前,检查该partition是否有坏

4.7 umount

语法:umount(选项)(参数)

功能:用于卸载已经加载的文件系统。

参数:

  • -a:卸除/etc/mtab中记录的所有文件系统
  • -h:显示帮助
  • -n:卸除时不要将信息存入/etc/mtab文件中
  • -r:若无法成功卸除,则尝试以只读的方式重新挂入文件系统
  • -t<文件系统类型>:仅卸除选项中所指定的文件系统
  • -v:执行时显示详细的信息
  • -V:显示版本信息

4.8 fsck

语法:fsck(选项)(参数)

功能:用于检查并且试图修复文件系统中的错误。

参数:

  • -a:自动修复文件系统,不询问任何问题
  • -A:依照/etc/fstab配置文件的内容,检查文件内所列的全部文件系统
  • -N:不执行指令,仅列出实际执行会进行的动作
  • -P:当搭配”-A”参数使用时,则会同时检查所有的文件系统
  • -r:采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式
  • -R:当搭配”-A”参数使用时,则会略过/目录的文件系统不予检查
  • -s:依序执行检查作业,而非同时执行
  • -t<文件系统类型>:指定要检查的文件系统类型
  • -T:执行fsck指令时,不显示标题信息
  • -V:显示指令执行过程

4.9 sync

语法:sync(选项)

功能:用于强制被改变的内容立刻写入磁盘,更新超块信息。

参数:

  • –help:显示帮助
  • –version:显示版本信息

4.10 swapon

语法:swapon(选项)(参数)

功能:用于激活Linux系统中交换空间,Linux系统的内存管理必须使用交换区来建立虚拟内存。

参数:

  • -a:将/etc/fstab文件中所有设置为swap的设备,启动为交换区
  • -h:显示帮助
  • -p<优先顺序>:指定交换区的优先顺序
  • -s:显示交换区的使用状况
  • -V:显示版本信息。
本文转载于网络 如有侵权请联系删除

相关文章

  • php面向对象第三篇(__set,__get,__isset,__unset)的用法

    封装的四个魔术常量: __set,__get,__isset,__unset四个方法。 问题:构造函数与析构函数的用法:<?php classpeople { function__construct($_name,$_age) { $this->name=$_name; $this->age=$_age; echo"是个对象了".'<br>'; } function__destruct()//注意,析构函数不能有参数哈 { echo"被销毁了..."; } } $p1=newpeople('cyg',20); ?>复制//__set与__get函数的用法:<?php classpeople { private$name='cyg'; function__get($name)//然后是获取到$value所赋值的变量了$name了 {//然后返回把... re

  • 19 条效率至少提高 3 倍的 MySQL 技巧

    来源:https://zhuanlan.zhihu.com/p/49888088本文我们来谈谈项目中常用的MySQL优化方法,共19条,具体如下: 1、EXPLAIN 做MySQL优化,我们要善用EXPLAIN查看SQL执行计划。下面来个简单的示例,标注(1、2、3、4、5)我们要重点关注的数据:type列,连接类型。一个好的SQL语句至少要达到range级别。杜绝出现all级别。 key列,使用到的索引名。如果没有选择索引,值是NULL。可以采取强制索引方式。 key_len列,索引长度。 rows列,扫描行数。该值是个预估值。 extra列,详细说明。注意,常见的不太友好的值,如下:Usingfilesort,Usingtemporary。2、SQL语句中IN包含的值不应过多MySQL对于IN做了相应的优化,即将IN中的常量全部存储在一个数组里面,而且这个数组是排好序的。但是如果数值较多,产生的消耗也是比较大的。再例如:selectidfromtwherenumin(1,2,3)对于连续的数值,能用between就不要用in了;再或者使用连接来替换。3、SELECT语句务必指明字段

  • Weex学习笔记

    我是按照http://alibaba.github.io/weex/doc/demo/modal.html这个网址的内容进行weex学习的,这只是笔记。Weex由,<template>:required.JustusesHTMLsyntaxanddescribesthestructureofaWeexpage,whichisbuilduponseveraltags.Eachtagmeansatypeofcomponent. <style>:optional.Describesthepresetationdetails,andthecontentisbasedonCSSsyntax. <script>:optional.DescribesthedataandbehaiverwithJavaScriptsyntax.Itdefinesdataandhowthesedataareprocessedetc.复制<template> <!--(required)thestructureofpage--> </template&

  • annotationProcessor 自动生成代码(上)

    概要有时候,我们需要开发大量重复的代码。每段代码,只有少数成员变量命名不同。这样的场景在开发接口层时,感觉尤为明显。 接口类可能只是实现类的抽象形式。但每个实现方法,我们都要写一遍接口。且每个接口方法的命名,可能和实现方法完全一致。 那么,能否有一种方案,让我们用代码自行生成接口呢?这个方案之前是apt,如今是annotationProcessor快速开始annotationProcessor的使用大概分为两部分:annotation和annotation-compiler。总体原理是,我们定义annotation,然后在合适的地方使用annotation。当编译器编译到我们使用annotation的地方时,变会执行annotation-compiler生成相应的代码。通过annotation的定义位置和相关参数,我们可以生成不同的代码。annotation首先我们新建Java-Library,并定义注解类:importjava.lang.annotation.ElementType; importjava.lang.annotation.Retention; importjava.l

  • 2018年Python web五大主流框架

    我们都知道风靡一时的Python语言作为人工智能战场上主要使用的枪外,还被广泛应用在Web开发、游戏开发、人工智能、云计算开发、大数据开发、数据分析、科学运算、爬虫、自动化运维、自动化测试等领域,其实Python在各领域的应用最方便的就是使用框架,可以让程序员以更少的代码实现自定义功能,还可以将更多的精力集中在业务逻辑上,更加的轻松便利!那么2018年Pythonweb五大主流框架,你知道吗? 序言:现在很多学习Python的人员更多的是趋向于爬虫、人工智能、数据分析等,Pythonweb开发确实这些方向工作岗位最多的一个!曾经有一位老前辈和说到“Pythonweb开发堪称全能”。他说:如果你会Pythonweb开发,那么你在制造行业,就是做ERP系统开发;你在电商行业,就是做电商平台;你在游戏行业,就是做游戏后台开发;你在金融行业,就是做量化交易;你在.......行业,就是做.................................既然Pythonweb这么厉害,那么我们了解2018Python主流的五大框架也就显得很有必要了:1.DjangoDjango是一个开源的Web

  • [原创]Fluent NHibernate之旅(四)-- 关系(上)

    经过了前面三篇的介绍,相信大家对FluentNHibernate已经有一定的了解了,在我们学习中,Fluent也已经进入了RTM版本。这次的版本发布离RC版只有半个月不到,修正了很多bug,同时补充了大量的功能,在每天更新中,也看到了大量的单元测试,我们相信FluentNHibernate已经相对稳定成熟了。RTM相对于RC版本来说,使用方法没有太大的变化,所以不做讲解。我们后面的教程,会使用RTM版本来演示,希望大家能及时更新(点击下载最新版)。FluentNHibernate之旅系列导航:一、开篇:ISessionFactoryConfiguration二、实体映射:EntityMapping三、继承映射:InheritenceMapping今天我们将说一下ORM中的R映射,我们现在的数据库大多都是关系型数据库了,所以可以说关系在我们数据库设计中也是非常重要的部分,NHibernate也非常重视这一块,但在传统方式中,配置就比较麻烦,不是说我们Fluent能简单,只是传统方式的xml看上去不太美观,而Fluent这种代码式方式,更能符合我们Developer的习惯。数据库关系数据库

  • for遍历list Python_不属于python循环语句的是

    大家好,又见面了,我是你们的朋友全栈君。for循环是最常用的循环语句,在各种高级编程语言中都会被频繁使用,在python中也不例外,除了常规的for循环或者嵌套的for循环语法以外,python还有一种精巧的list内的for循环语句的语法,如果能熟练掌握这种语法对提高编程的效率有很大的帮助,今天我给大家我给大家分享一些我收集的关于list内使用for循环的小技巧,希望对大家有所帮助:1.简单替换for循环它的主要语法结构如下:my_list=[表达式for循环项in循环体(if条件)]这里表达式可以为循环项,也可以为循环项的函数或者方法,下面我们看给例子:name="DonaldTrump" #list内的for循环语法,只使用一句代码 my_list=[cforcinname] print(name) print(my_list)复制传统的for循环语法是这么写的:name="DonaldTrump" #传统for循环语法,需要使用三句代码 my_list=[] forcinname: my_list.append(c) print(

  • 【Linux技巧】linux下快速查找文件

    在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区别的。区别: (1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。 (2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。 拓展: (1)which查看可执行文件的位置,只有设置了环境变量的程序才可以用 (2)whereis寻找特定文件,只能用于查找二进制文件、源代码文件和man手册页 (3)locate配合数据库查看文件位置,详情:locate-h查看帮助信息一.find命令基本格式:findpathexpression按照文件名查找(1)find/-namehttpd.conf  #在根目录下查找文件httpd.conf,表示在整个硬盘查找     (2)find/etc-namehttpd.conf  #在/etc目录下文件httpd.conf      (3)find/etc-name'*srm*'  #使用通配符*(0或者任意多个)。表示在

  • 利用python爬取三甲医院

    网站 url=https://www.yixue.com/ 复制 爬取过程 这个过程没有什么好说的,直接上代码 importrequests importpandasaspd frombs4importBeautifulSoup url="https://www.yixue.com/%E5%85%A8%E5%9B%BD%E4%B8%89%E7%94%B2%E5%8C%BB%E9%99%A2%E5%90%8D%E5%8D%95#.E5.8C.97.E4.BA.AC.E5.B8.82.E4.B8.89.E7.94.B2.E5.8C.BB.E9.99.A2.E5.90.8D.E5.8D.95" payload={} headers={} response=requests.request("GET",url,headers=headers,data=payload) Soup=BeautifulSoup(response.text,'lxml') output=Soup.find(class_="mw-parser-output") li=output.select('ul&g

  • 犹豫了许久,还是写个年总结记录一下吧

      之所以犹豫了许久,是因为,直觉告诉我,发这篇文章出来,园子里肯定会掀起波澜,而我却身处于漩涡中央。看到园子没以前那么热闹了,那就来吧,豁出去了,生死看淡,不服就干!一起热闹热闹吧!毕竟很快就要过年啦~   旧的一年很快就过去,新的一年即将开始,年复一年,一个又一个的轮回。看到许多人都在写年终总结和新年计划了,回首自己过去这一年,感觉平平无奇,也没什么作为。惟稍作记录,聊以慰藉!我从来没有想过三十岁时会是现在的自己,到了我们这个年纪真的是上有老下有小,唉~   08年刚上大学时,(我是这样子的:如右图)专业是电子信息工程,硬件专业,我一窍不通且完全没兴趣学(三年补考了三十六次,总算拿到了大专毕业证),于是自己自学网页设计,尤记得那个时候有网页三剑客,后来感觉那个没有什么前途,我想做网站,去图书馆找了2本做网站的书,一本是asp,一本是php。要说大学图书馆的技术书,真心太落伍了,当时在想是asp呢还是php呢?我看了下各自介绍,发现asp是微软的,当时心里一想,微软可是大公司,那就asp吧(当时也没人跟我说微软已经抛弃asp了),我蒙着头很努力的撸完了一本书,打算自己做个网站,某一天

  • [古怪问题] Marshal.GetActiveObject 在管理员模式下无法正常运行

    问题: varobj=Marshal.GetActiveObject("PowerPoint.Application")  该代码在管理员模式下运行无法正常获取正在运行的PPT PowerPoint.Application对象,而在非管理员模式下可以正常获取。     针对该问题,微软的msdn官方文档,也没有给予说明。 https://docs.microsoft.com/zh-cn/dotnet/api/system.runtime.interopservices.marshal.getactiveobject?redirectedfrom=MSDN&view=netframework-4.7.2#%E5%AE%89%E5%85%A8%E6%80%A7     搜索资料: https://stackoverflow.com/questions/23698462/marshal-getactiveobjectoutlook-application-throws-mk-e-unavailable-when-debu 怀

  • js的事件学习笔记

    目录0、参考1、事件流冒泡传播事件捕获2、事件绑定--onclick接口onclick类的接口,只能注册一个同类事件onclick类的接口,使用button.onclick=null的方式注销事件3、事件绑定--addEventListener接口addEventListener接口,可以注册多个同类事件,发生时,依次执行回调函数addEventListener接口无法注销以匿名函数注册的事件4、事件对象5、阻止冒泡传播和阻止默认行为6、事件带来的问题7、事件委托(代理)8、模拟事件触发9、总结 0、参考 JavaScript高级程序设计(第三版),第13章 1、事件流 js的事件流分为捕获和冒泡两类,目前主流的方式是使用冒泡,在特殊情况下才会启用捕获(比如这种需求:一个div中有多个子元素,希望可以用鼠标在页面上拖动整个div而不触发子元素的事件,就可以用事件捕获) 冒泡传播 考虑如下的DOM结构,外面有3层div盒子,最内部有一个button按钮 <divclass="box1"> <divclass="box2"> <divclass="box3"&

  • C# 接收form表单中多个相同name值的问题

    以前接收form表单的值直接用FormCollection或自定义类来接收,当有多个相同Name的值时会自动用“,”隔开,这样就有了一个问题,当值中本身就含有“,”时就比较难处理了。 所以解决方法就是 string[]txtArr=Request.Params.GetValues[“name”]复制 这样就不用自己根据“,”分割了

  • Spring MVC执行流程

    客户端发起Http请求到服务器的DispatchServlet(前端控制器) 根据HttpServletRequest请求,HandlerMapping(处理器映射器)查找Handler返回对应的HandlerExecutionChain 根据HandlerExecutionChain获取HandlerAdapter(处理器适配器) 执行Handler(处理器),返回视图路径和模型数据 ViewResolve(视图解析器)根据视图路径和模型数据创建View(视图)并返回 DispatchServlet(前端控制器)进行View渲染,将Model数据在View中填充 DispatchServlet(前端控制器)返回结果

  • 产品更新 | 云原生综合运维平台SchedulX V 0.2.0 已发布,支持部署服务至云服务器

    星汉未来云原生综合运维平台SchedulXV0.2.0版本已更新,支持部署服务至云服务器。欢迎大家下载体验。 开源地址:https://github.com/galaxy-future/schedulx   新增功能 增加云服务器服务部署 通过云原生综合运维平台SchedulXV0.2.0版本,运维人员可以轻松完成云服务器代码包的部署。同时,在算力调度引擎BridgX1分钟1000台云主机弹性能力的加持下,运维人员还能应对服务集群节点扩容、代码发布等需求。云原生综合运维平台SchedulX后续版本还将支持Docker镜像部署以及公有云K8s集群部署等场景,敬请期待。   在服务部署->服务列表模块,点击已经创建的服务名称,在发布模板->创建模板模块,通过输入基础信息、下载编译包、发布程序和服务启动四个步骤完成服务部署的创建。创建后,可在服务列表中点击发布触发发布程序。   ①基础信息 在服务部署->服务列表->发布模板->创建模板->基础信息模块,输入模板名称,选择云服务器部署,并选择规则对应的集群拉取编译制品库中的编译

  • 分组依据一列数据的最大或者最小值查询查询其他列对应数据

    select*from(selectROW_NUMBER()over(partitionbyProductTypeIDorderbySortCodedesc)rum,*fromdbo.T_ProductType_Imgimgwhereimg.IsDelete='False' )temwhererum=1复制  

  • Java服务端API接口统一加密和解密

      packagecom.ubest.scf.base.encrypt; importorg.apache.commons.codec.binary.Base64; importjavax.crypto.Cipher; importjavax.crypto.KeyGenerator; importjavax.crypto.spec.SecretKeySpec; /** *前后端数据传输加密工具类 * *@authormonkey */ publicclassAesEncryptUtils{ //参数分别代表算法名称/加密模式/数据填充方式 privatestaticfinalStringALGORITHMSTR="AES/ECB/PKCS5Padding"; /** *加密 * *@paramcontent加密的字符串 *@paramencryptKeykey值 *@return *@throwsException */ publicstaticStringencrypt(Stringcontent,StringencryptKey)throwsException

  • angular ng-repeat中DOM的重新渲染机制(项目中遇到问题)

    昨天在项目中遇到一个问题:文本框中输入值只要变化就要请求接口获取数据赋值给couponData,这样性能不好。所以和服务器端沟通改成了服务器端一次性返回所有数据,这样前端只要获取一次数据然后保存在对象里面,然后当输入值变化根据匹配规则自己来判断。但是输入值变化每次请求接口获取值赋给couponData之后是可以重新渲染DOM元素的;一次获取保存在对象里面是不能重新渲染DOM元素的!我就查了一下原因如下:输入值变化每次请求接口获取值赋给couponData之后,看一下couponData值如下(每次发请求这个$$hashkey都会变化): 我们可以看到ng-repeat往数组里每个元素加了一个$$hashKey的属性,用于绑定DOM。这个key是由Angular内部的nextUid()方法生成,类似数据库自增,但是是使用字符串。 查看ng-repeat的源码可以发现,当ng-repeat的数组被替换时,它默认并不会重新利用已有的Dom元素,而是直接将其全部删除并重新生成新的数组Dom元素: //将上次生成的所有dom移除 for(keyinlastBlockMap){ if(lastB

  • 【转载】tcp窗口滑动以及拥塞控制

    转自:http://blog.chinaunix.net/uid-26275986-id-4109679.html TCP协议作为一个可靠的面向流的传输协议,其可靠性和流量控制由滑动窗口协议保证,而拥塞控制则由控制窗口结合一系列的控制算法实现。一、滑动窗口协议   关于这部分自己不晓得怎么叙述才好,因为理解的部分更多,下面就用自己的理解来介绍下TCP的精髓:滑动窗口协议。   所谓滑动窗口协议,自己理解有两点:1.“窗口”对应的是一段可以被发送者发送的字节序列,其连续的范围称之为“窗口”;2.“滑动”则是指这段“允许发送的范围”是可以随着发送的过程而变化的,方式就是按顺序“滑动”。在引入一个例子来说这个协议之前,我觉得很有必要先了解以下前提:-1.TCP协议的两端分别为发送者A和接收者B,由于是全双工协议,因此A和B应该分别维护着一个独立的发送缓冲区和接收缓冲区,由于对等性(A发B收和B发A收),我们以A发送B接收的情况作为例子;-2.发送窗口是发送缓存中的一部分,是可以被TCP协议发送的那部分,其实应用层需要发送的所有数据都

  • Deno + mongodb实现增删查改(CRUD)的restful接口

    github地址 https://github.com/yuanchao614/deno-crud 启动项目监听端口Server.ts import{Application}from'https://deno.land/x/oak/mod.ts'; importrouterfrom"./routes.ts";//Bringinginrouter constPORT=3000; constapp=newApplication(); app.use(router.routes());//Passourrouterasamiddleware app.use(router.allowedMethods());//AllowHTTPmethodsonrouter awaitapp.listen({port:PORT}) console.log(`ServerrunningonPORT:${PORT}`) 复制 引入router并定义相应的接口和接口路径(router.ts) import{Router}from"https://deno.land/x/oak/mod.ts"; import{

  • &#39;GL_EXT_shader_framebuffer_fetch&#39; : extension is not supported

    在使用安卓模拟器加载Flutter应用时, 提示'GL_EXT_shader_framebuffer_fetch':extensionisnotsupported: D/skia(14043):Shadercompilationerror D/skia(14043):------------------------ D/skia(14043):1#version300es D/skia(14043):2 D/skia(14043):3#extensionGL_EXT_shader_framebuffer_fetch:require D/skia(14043):4precisionmediumpfloat; D/skia(14043):5precisionmediumpsampler2D; D/skia(14043):6inoutmediumpvec4sk_FragColor; D/skia(14043):7uniformmediumpvec4uleftBorderColor_Stage1_c0_c0; D/skia(14043):8uniformmediumpvec4urightBor

相关推荐

推荐阅读