Linux CMD
一.文件操作
1.ls
ls [选项][目录名]
常用参数
- -l :列出长数据串,包含文件的属性与权限数据等
- -a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)
- -d :仅列出目录本身,而不是列出目录的文件数据
- -h :将文件容量以较易读的方式(GB,kB等)列出来
- -R :连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来。
2.cd
cd 目录
3.pwd
pwd [选项]
常用参数
- -P :显示实际物理路径,而非使用连接(link)路径
- -L :当目录为连接路径时,显示连接路径
4.mkdir
mkdir [选项] 目录
常用参数
- -m, --mode=模式,设定权限<模式> (类似 chmod),而不是 rwxrwxrwx 减 umask
- -p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;
- -v, --verbose 每次创建新目录都显示信息
- --help 显示此帮助信息并退出
- --version 输出版本信息并退出
5.rm
rm [选项] 文件
常用参数
- -f, --force 忽略不存在的文件,从不给出提示。
- -i, --interactive 进行交互式删除
- -r, -R, --recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。
- -v, --verbose 详细显示进行的步骤
- --help 显示此帮助信息并退出
- --version 输出版本信息并退出
6.rmdir
rmdir [选项] 目录
常用参数
- p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。
- -v, --verbose 显示指令执行过程
7. mv
mv [选项] 源文件或目录 目标文件或目录
常用参数
- -b :若需覆盖文件,则覆盖前先行备份
- -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
- -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖
- -u :若目标文件已经存在,且 source 比较新,才会更新(update)
- -t : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后
8.cp
cp [选项] 源文件 目录 或 cp [选项] -t 目录 源文件
常用参数
- -t --target-directory 指定目标目录
- -i --interactive 覆盖前询问(使前面的 -n 选项失效)
- -n --no-clobber 不要覆盖已存在的文件(使前面的 -i 选项失效)
- -f --force 强行复制文件或目录,不论目的文件或目录是否已经存在
- -u --update 使用这项参数之后,只会在源文件的修改时间较目的文件更新时,或是对应的目的文件并不存在,才复制文件
9.touch
touch [选项] 文件
常用参数
- -a 或--time=atime或--time=access或--time=use 只更改存取时间
- -c 或--no-create 不建立任何文档
- -d 使用指定的日期时间,而非现在的时间
- -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题
- -m 或--time=mtime或--time=modify 只更改变动时间
- -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同 -t 使用指定的日期时间,而非现在的时间
10. cat
cat [选项] [文件]
常用参数
- -A, --show-all 等价于 -vET
- -b, --number-nonblank 对非空输出行编号
- -e 等价于 -vE
- -E, --show-ends 在每行结束处显示 $
- -n, --number 对输出的所有行编号,由1开始对所有输出的行数编号
- -s, --squeeze-blank 有连续两行以上的空白行,就代换为一行的空白行
- -t 与 -vT 等价
- -T, --show-tabs 将跳格字符显示为 ^I
- -u (被忽略)
- -v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
11. nl
nl [选项] [文件]
常用参数
- -b :指定行号指定的方式,主要有两种:
- -b a :表示不论是否为空行,也同样列出行号(类似 cat -n)
- -b t :如果有空行,空的那一行不要列出行号(默认值)
- -n :列出行号表示的方法,主要有三种:
- -n ln :行号在萤幕的最左方显示
- -n rn :行号在自己栏位的最右方显示,且不加 0
- -n rz :行号在自己栏位的最右方显示,且加 0
- -w :行号栏位的占用的位数
12. more
more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ]
常用参数
- +n 从笫n行开始显示
- -n 定义屏幕大小为n行
- +/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示
- -c 从顶部清屏,然后显示
- -d 提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能
- -l 忽略Ctrl+l(换页)字符
- -p 通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
- -s 把连续的多个空行显示为一行
- -u 把文件内容中的下画线去掉
13. less
less [参数] 文件
常用参数
- -b <缓冲区大小> 设置缓冲区的大小
- -e 当文件显示结束后,自动离开
- -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
- -g 只标志最后搜索的关键词
- -i 忽略搜索时的大小写
- -m 显示类似more命令的百分比
- -N 显示每行的行号
- -o <文件名> 将less 输出的内容在指定文件中保存起来
- -Q 不使用警告音
- -s 显示连续空行为一行
- -S 行过长时间将超出部分舍弃
- -x <数字> 将“tab”键显示为规定的数字空格
二.文件查找
14. which
which 可执行文件名称
常用参数
- -n 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名
- -p 与-n参数相同,但此处的包括了文件的路径
- -w 指定输出时栏位的宽度
- -V 显示版本信息
15. whereis
whereis [-bmsu] [BMS 目录名 -f ] 文件名
常用参数
- -b 定位可执行文件
- -m 定位帮助文件
- -s 定位源代码文件
- -u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件
- -B 指定搜索可执行文件的路径
- -M 指定搜索帮助文件的路径
- -S 指定搜索源代码文件的路径
16. find
find [选项] [搜索路径] [表达式]
常用参数
- -print find 命令将匹配的文件输出到标准输出
- -exec find 命令对匹配的文件执行该参数所给出的 shell 命令
- -name 按照文件名查找文件
- -type 查找某一类型的文件
3.文件打包上传
17. tar
tar [必要参数] [选择参数] [文件]
常用参数
- -A 新增压缩文件到已存在的压缩
- -B 设置区块大小
- -c 建立新的压缩文件
- -d 记录文件的差别
- -r 添加文件到已经压缩的文件
- -u 添加改变了和现有的文件到已经存在的压缩文件
- -x 从压缩的文件中提取文件
- -t 显示压缩文件的内容
- -z 支持gzip解压文件
- -j 支持bzip2解压文件
- -Z 支持compress解压文件
- -v 显示操作过程
- -l 文件系统边界设置
- -k 保留原有文件不覆盖
- -m 保留文件不被覆盖
- -W 确认压缩文件的正确性
17. gzip
- -gzip [参数] [文件或者目录]
常用参数
- -a或--ascii 使用ASCII文字模式。
- -c或--stdout或--to-stdout 把压缩后的文件输出到标准输出设备,不去更动原始文件。
- -d或--decompress或----uncompress 解开压缩文件。
- -f或--force 强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接。
- -h或--help 在线帮助
4.文件权限
18. chmod
chmod [-cfvR] [--help] [--version] mode file
常用参数
- -c 当发生改变时,报告处理信息
- -f 错误信息不输出
- -R 处理指定目录以及其子目录下的所有文件
- -v 运行时显示详细处理信息 选择参数:
- --reference=<目录或者文件> 设置成具有指定目录或者文件具有相同的权限
- --version 显示版本信息 <权限范围>+<权限设置> 使权限范围内的目录或者文件具有指定的权限 <权限范围>-<权限设置> 删除权限范围的目录或者文件的指定权限 <权限范围>=<权限设置> 设置权限范围内的目录或者文件的权限为指定的值
19. chown
chown [选项] [所有者] [:[组]] 文件
常用参数
- -c 显示更改的部分的信息
- -f 忽略错误信息
- -h 修复符号链接
- -R 处理指定目录以及其子目录下的所有文件
- -v 显示详细的处理信息
- -deference 作用于符号链接的指向,而不是链接文件本身
5. 磁盘存储
20. df
df [选项] [文件]
常用参数
- -a 全部文件系统列表
- -h 方便阅读方式显示
- -H 等于“-h”,但是计算式,1K=1000,而不是1K=1024
- -i 显示inode信息
- -k 区块为1024字节
- -l 只显示本地文件系统
- -m 区块为1048576字节
- --no-sync 忽略 sync 命令
- -P 输出格式为POSIX
- --sync 在取得磁盘信息前,先执行sync命令
- -T 文件系统类型
21. du
du [选项] [文件]
常用参数
- -a或-all 显示目录中个别文件的大小。
- -b或-bytes 显示目录或文件大小时,以byte为单位。
- -c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
- -k或--kilobytes 以KB(1024bytes)为单位输出。
- -m或--megabytes 以MB为单位输出。
- -s或--summarize 仅显示总计,只列出最后加总的值。
- -h或--human-readable 以K,M,G为单位,提高信息的可读性。
- -x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
- -L<符号链接>或--dereference<符号链接> 显示选项中所指定符号链接的源文件大小。
- -S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。 -X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件。
- --exclude=<目录或文件> 略过指定的目录或文件。
- -D或--dereference-args 显示指定符号链接的源文件大小。
- -H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。
- -l或--count-links 重复计算硬件链接的文件
6.性能监控和优化命令
22. top
top [参数]
常用参数
- -b 批处理
- -c 显示完整的治命令
- -I 忽略失效过程
- -s 保密模式
- -S 累积模式
- -i<时间> 设置间隔时间
- -u<用户名> 指定用户名
- -p<进程号> 指定进程
- -n<次数> 循环显示的次数
23. free
free [参数]
常用参数
- -b 以Byte为单位显示内存使用情况
- -k 以KB为单位显示内存使用情况
- -m 以MB为单位显示内存使用情况
- -g 以GB为单位显示内存使用情况
- -o 不显示缓冲区调节列
- -s<间隔秒数> 持续观察内存使用状况
- -t 显示内存总和列。
- -V 显示版本信息。
24. vmstat
- vmstat [-a] [-n] [-S unit] [delay [ count]]
- vmstat [-s] [-n] [-S unit]
- vmstat [-m] [-n] [delay [ count]]
- vmstat [-d] [-n] [delay [ count]]
- vmstat [-p disk partition] [-n] [delay [ count]]
- vmstat [-f]
- vmstat [-V]
常用参数
- -a:显示活跃和非活跃内存
- -f:显示从系统启动至今的fork数量
- -m:显示slabinfo
- -n:只在开始时显示一次各字段名称
- -s:显示内存相关统计信息及多种系统活动数量 delay:刷新时间间隔。如果不指定,只显示一条结果 count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷
- -d:显示磁盘相关统计信息
- -p:显示指定磁盘分区统计信息
- -S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)
25. lostat
lostat [参数] [时间] [次数]
常用参数
- -C 显示CPU使用情况
- -d 显示磁盘使用情况
- -k 以 KB 为单位显示
- -m 以 M 为单位显示
- -N 显示磁盘阵列(LVM) 信息
- -n 显示NFS 使用情况
- -p[磁盘] 显示磁盘和分区的情况
- -t 显示终端和CPU的信息
- -x 显示详细信息
26. lsof
lsof [参数] [文件]
常用参数
- -a 列出打开文件存在的进程
- -c<进程名> 列出指定进程所打开的文件
- -g 列出GID号进程详情
- -d<文件号> 列出占用该文件号的进程
- +d<目录> 列出目录下被打开的文件
- +D<目录> 递归列出目录下被打开的文件
- -n<目录> 列出使用NFS的文件
- -i<条件> 列出符合条件的进程。(4、6、协议、:端口、 @ip )
- -p<进程号> 列出指定进程号所打开的文件
- -u 列出UID号进程详情
7.网络命令
27. ifconfig
ifconfig [网络设备] [参数]
常用参数
- up 启动指定网络设备/网卡
- down 关闭指定网络设备/网卡。
- arp 设置指定网卡是否支持ARP协议
- -promisc 设置是否支持网卡的promiscuous模式,如果选择此参数,网卡将接收网络中发给它所有的数据包
- -allmulti 设置是否支持多播模式,如果选择此参数,网卡将接收网络中所有的多播数据包
- -a 显示全部接口信息
- -s 显示摘要信息(类似于 netstat -i)
- add 给指定网卡配置IPv6地址
- del 删除指定网卡的IPv6地址
28. route
route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]]
常用参数
- -c 显示更多信息
- -n 不解析名字
- -v 显示详细的处理信息
- -F 显示发送信息
- -C 显示路由缓存
- -f 清除所有网关入口的路由表。
- -p 与 add 命令一起使用时使路由具有永久性。
- add:添加一条新路由。
- del:删除一条路由。
- -net:目标地址是一个网络。
- -host:目标地址是一个主机。
- netmask:当添加一个网络路由时,需要使用网络掩码。
- gw:路由数据包通过网关。注意,你指定的网关必须能够达到。
- metric:设置路由跳数。
- Command 指定您想运行的命令 (Add/Change/Delete/Print)。
- Destination 指定该路由的网络目标。
29. ping
ping [参数] [主机名或IP地址]
常用参数
- -d 使用Socket的SO_DEBUG功能
- -f 极限检测。大量且快速地送网络封包给一台机器,看它的回应
- -n 只输出数值
- -q 不显示任何传送封包的信息,只显示最后的结果
- -r 忽略普通的Routing Table,直接将数据包送到远端主机上。通常是查看本机的网络接口是否有问题
- -R 记录路由过程
- -v 详细显示指令的执行过程
- -c 数目:在发送指定数目的包后停止
- -i 秒数:设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次 - -I 网络界面:使用指定的网络界面送出数据包 -l 前置载入:设置在送出要求信息之前,先行发出的数据包
- -p 范本样式:设置填满数据包的范本样式
- -s 字节数:指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节
- -t 存活数值:设置存活数值TTL的大小
30. traceroute
traceroute [参数] [主机]
常用参数
- -d 使用Socket层级的排错功能
- -f 设置第一个检测数据包的存活数值TTL的大小
- -F 设置勿离断位
- -g 设置来源路由网关,最多可设置8个
- -i 使用指定的网络界面送出数据包
- -I 使用ICMP回应取代UDP资料信息
- -m 设置检测数据包的最大存活数值TTL的大小
- -n 直接使用IP地址而非主机名称
- -p 设置UDP传输协议的通信端口
- -r 忽略普通的Routing Table,直接将数据包送到远端主机上
- -s 设置本地主机送出数据包的IP地址
- -t 设置检测数据包的TOS数值
- -v 详细显示指令的执行过程
- -w 设置等待远端主机回报的时间
- -x 开启或关闭数据包的正确性检验
31. netstat
netstat [-acCeFghilMnNoprstuvVwx] [-A<网络类型>] [--ip]
常用参数
- -a或–all 显示所有连线中的Socket
- -A<网络类型>或–<网络类型> 列出该网络类型连线中的相关地址
- -c或–continuous 持续列出网络状态
- -C或–cache 显示路由器配置的快取信息
- -e或–extend 显示网络其他相关信息
- -F或–fib 显示FIB
- -g或–groups 显示多重广播功能群组组员名单
- -h或–help 在线帮助
- -i或–interfaces 显示网络界面信息表单
- -l或–listening 显示监控中的服务器的Socket
- -M或–masquerade 显示伪装的网络连线
- -n或–numeric 直接使用IP地址,而不通过域名服务器
- -N或–netlink或–symbolic 显示网络硬件外围设备的符号连接名称
- -o或–timers 显示计时器
- -p或–programs 显示正在使用Socket的程序识别码和程序名称
- -r或–route 显示Routing Table
- -s或–statistice 显示网络工作信息统计表
- -t或–tcp 显示TCP传输协议的连线状况
- -u或–udp 显示UDP传输协议的连线状况
- -v或–verbose 显示指令执行过程
- -V或–version 显示版本信息
- -w或–raw 显示RAW传输协议的连线状况
- -x或–unix 此参数的效果和指定”-A unix”参数相同
- –ip或–inet 此参数的效果和指定”-A inet”参数相同
32. telnet
telnet [参数] [主机]
常用参数
- -8 允许使用8位字符资料,包括输入与输出
- -a 尝试自动登入远端系统
- -b<主机别名> 使用别名指定远端主机名称
- -c 不读取用户专属目录里的.telnetrc文件
- -d 启动排错模式
- -e<脱离字符> 设置脱离字符
- -E 滤除脱离字符
- -f 此参数的效果和指定"-F"参数相同