Linux常用命令

207 阅读11分钟
  1. ls (list的缩写)
    • 作用:列出指定目录中的目录,以及文件
    • 常用参数:
      • ls -a  列出目录所有文件,包含以.开始的隐藏文件
      • ls -A  列出除.及..的其它文件
      • ls -l   列出文件名、文件权限、所有者、文件大小等信息
      • ls -lh  以易读方式(以K,M,G为单位)显示文件大小
      • ls -r  反序排列
      • ls -lt  以文件修改时间排序
      • ls -lSh  以文件大小排序
    • 实例:
      • ls -l | grep "^-" | wc -l 查看当前目录下文件个数
      • ls -l | grep "^d" | wc -l 查看当前目录下子目录个数
      • ls -lt | head -n (n 显示前n个文件或目录) 按修改时间倒序显示当前目录
      • ls -l *.txt  列出当前目录中所有后缀名为txt的文件
  2. mv
    • 作用:为文件或目录改名、或将文件或目录移入其它位置
    • 用法:
      • mv 文件名 文件名 将源文件名改为目标文件名
      • mv 文件名 目录名 将文件移动到目标目录
      • mv 目录名 目录名 目标目录已存在,将源目录移动到目标目录;目标目录不存在则改名
  3. cp
    • 作用:复制文件或目录
    • 常用参数:
      • -r 复制目录下所有的子目录和文件
      • -f 强制覆盖已存在的目标文件
      • -i 询问目标文件已存在时是否覆盖
      • -a 复制的文件与原文件时间一样
  4. scp (secure copy)
    • 作用: 远程复制文件或目录
    • 常用参数:
      • -r 递归复制整个目录
      • -v 详细方式输出
      • -q 不显示传输进度条
      • -C 允许压缩
    • 用法:
      • scp -r [源文件或目录] [用户名]@[ip或域名]:[目标文件或目录]
  5. du
    • 作用: 显示指定的目录或文件所占用的磁盘空间
    • 常用参数:
      • -k 以KB为单位显示文件大小
      • -s 仅显示总计
      • -c 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和
    • 实例:
      • du -hc test/ data/ 显示多个文件或目录各自占用磁盘空间的大小以及它们的总和
      • du -hc --max-depth=1 data/ 输出当前目录下各个子目录所使用的空间
  6. df
    • 作用:显示磁盘空间使用情况
    • 常用参数:
      • -a 全部文件系统列表
      • -h 以方便阅读的方式显示信息
      • -l 只显示本地磁盘
  7. free
    • 作用:显示系统内存使用情况,包括物理内存、交互区内存(swap)和内核缓冲区内存
    • 常用参数:
      • -b 以Byte显示内存使用情况(k、m、g以此类推)
      • -s<间隔秒数> 持续观察内存使用状况
      • -t 显示内存使用总和
  8. mkdir
    • 作用: 创建文件夹
    • 常用参数:
      • -m, --mode=模式 设定权限<模式> (类似 chmod)
      • -p, --parents 创建多级目录
    • 实例:
      • mkdir -p -m 664 d1/d2/d3/d4 创建目录的同时设定权限为664
  9. rm
    • 作用: 删除一个文件或者目录
    • 常用参数:
      • -i 删除前逐一询问确认
      • -r 删除整个目录
      • -f 强制删除
  10. cat
    • 作用: 连接文件并打印到标准输出设备上(通常用于查看文件内容)
    • 常用参数:
      • -n 或 --number 由 1 开始对所有输出的行数编号
      • -b 或 –number-nonblank 和 -n 相似,只不过对于空白行不编号
    • 实例:
      • cat > test.txt 创建test.txt的新文件 
      • cat -n txt1 > txt2 把txt1的内容加上行号后输入到txt2里
      • cat -b txt1 txt2 >> txt3 把txt1和txt2的内容加上行号(空白行不加)后将内容附加到txt3里
      • cat /dev/null > /etc/test.txt 清空/etc/test.txt文档内容
  11. more
    • 作用: 功能类似于cat, more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空格键(space)就往下一页显示,按 b 键就会往回(back)一页显示
    • 常用参数:
      • -num 一次显示的行数
      • +num 从第 num 行开始显示
      • -s 当遇到有连续两行以上的空白行,就代换为一行的空白行
    • 常用操作命令:
      • 空格键、Ctrl+F 向下滚动一屏
      • B键、Ctrl+B 返回上一屏
      • Enter 向下n行,需要定义。默认为1行
      • = 输出当前行的行号
      • :f 输出文件名和当前行的行号
      • V 调用vi编辑器
      • !命令 调用Shell,并执行命令
      • q 退出more
  12. less
    • 作用:  less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件
    • 常用参数:
      • -i 忽略搜索时的大小写
      • -N 显示每行的行号
      • -m 显示类似more命令的百分比
      • -o <文件名> 将less 输出的内容在指定文件中保存起来
      • -s 显示连续空行为一行
    • 常用操作命令:
      • /字符串:向下搜索“字符串”的功能
      • ?字符串:向上搜索“字符串”的功能
      • n:重复前一个搜索(与 / 或 ? 有关)
      • N:反向重复前一个搜索(与 / 或 ? 有关)
      • b 向上翻一页
      • 空格键 滚动一页
      • 回车键 滚动一行
      • [pagedown]: 向下翻动一页
      • [pageup]: 向上翻动一页
    • 实例:
      • ps -aux | less -N  ps查看进程信息并通过less分页显示
      • less 1.log 2.log  查看多个文件, 使用n查看下一个文件,使用p查看前一个文件
  13. head
    • 作用: 输出文件开头部分,默认情况下显示文件的头10行
    • 常用参数:
      • -n,--lines=[-]K 显示前K行。如果K前有-,则表示显示除最后K行外的所有行
  14. tail
    • 作用: 输出文件末尾部分,默认情况下显示文件的头10行
    • 常用参数:
      • -f 循环读取,不断刷新(常用于查看递增的日志文件)
      • -n<行数> 显示行数(从后向前)
  15. which
    • 作用:查找命令是否存在,以及命令的存放位置(which指令会在环境变量$PATH设置的目录里查找符合条件的文件)
    • 实例:
      • which php
  16. whereis
    • 作用:查找符合条件的文件,文件包括二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)
    • 常用参数:
      • -b 只查找二进制文件
      • -m 只查找说明文件
      • -s 只查找源代码文件
  17. locate
    • 作用:通过数据库(/var/lib/locatedb)快速定位文件
    • 常用参数:
      • -l num(要显示的行数)
      • -r 使用正则运算式做为寻找条件;例如:locate -r '^/var.reason$'  查找/var目录下,以reason结尾的文件
  18. find
    • 作用:查找文件。在硬盘查找,实时查找,精确查找,但速度慢
    • 使用格式:
      • find [指定目录] [指定条件] [指定动作]。指定目录:是指所要搜索的目录和其子目录。如果不指定,则默认为当前目录;指定条件:是指所要搜索的文件的特点;指定动作:是指对搜索的结果如何处理
    • 常用参数:
      • -name 根据文件名称查找(严格区分大小写,如果文件名中间有空格,则必须把文件名用双引号引起来)
      • -iname 根据文件名查找(不区分大小写)
      • -perm 按文件权限查找文件
      • -user 按文件属主查找文件
      • -group 按照文件所属的组来查找文件
      • -type 查找某一类型的文件, 例如:d - 目录、l - 符号链接文件、p - 管道文件、f - 普通文件
      • -size n 按照文件大小查找,n是单位(k、M、G)
      • -amin n  查找系统中最后n分钟访问的文件
      • -atime n  查找系统中最后n*24小时访问的文件
      • -cmin n 查找系统中最后n分钟被修改文件状态的文件
      • -ctime n 查找系统中最后n*24小时被修改文件状态的文件
      • -mmin n  查找系统中最后n分钟被改变文件数据的文件
      • -mtime n  查找系统中最后n*24小时被改变文件数据的文件
    • 实例:
      • find . -name '*.log'  在当前目录查找以.log结尾的文件
      • find . -perm 777  查找当前目录下权限为777的文件
      • find -size +10k  查找大于10K的文件
      • find . -type f -mtime +10 -exec rm -f {} ; 在当前目录中查找更改时间在10日以前的文件并删除
      • find . -name '*.log' mtime +5 -ok -exec rm {} ; 当前目录中查找所有文件名以.log结尾、更改时间在5日以上的文件并删除,在删除之前先给出提示,按y键删除文件,按n键不删除
      • find . -f -name 'passwd*' -exec grep "pkg" {} ; 当前目录下查找文件名以passwd开头,内容包含"pkg"字符的文件
      • find . -name "*.txt" -exec sz {} \; 在当前目录下查找以.txt结尾的文件并下载
      • find . -name "*.jpg" -exec cp -vf {} /a/b \; 在当前目录下查找以.jpg结尾的文件并复制到/a/b目录下
      • find -type f -name '*.js' | xargs grep -lF 'editor' 查找当前目录下所有以js结尾的并且其中包含'editor'字符的普通文件(xargs命令每次只获取一部分文件而不是全部)
  19. grep
    • 作用:查找文件里符合条件的字符串
    • 常用参数:
      • -n 显示匹配内容的所在文件中行数
      • -r 递归查找符合条件的文件
      • -v 反向查找,显示不包含匹配文本的所有行
  20. ps (process status)
    • 作用:用来查看当前运行的进程状态
    • 常用参数:
      • -A 列出所有的行程
      • -a 显示同一终端下所有进程
      • -c 显示进程真实名称
      • -e 显示环境变量
      • -f 显示进程间的关系
      • -r 显示当前终端运行的进程
      • -u root 显示指定用户的进程
      • -aux 显示所有包含其他使用者的行程
    • 实例:
      • ps -ef  显示当前所有进程环境变量及进程间关系(标准的格式,列少但命令显示完整)
      • ps aux 显示所有包含其他使用者的行程(BSD风格,列多)
      • ps aux | grep '(cron|syslog)' 找出与 cron 与 syslog 这两个服务有关的进程
      • ps -elf | grep php | grep report | grep -v grep | awk '{print $4}' |xargs kill -9  //杀掉查询的所有进程命令
      • ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head  //取进程占用cpu最高的前10个进程
      • ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head //取进程占用内存(MEM)最高的前10个进程
  21. top
    • 作用:实时显示 process 的动态
    • 常用参数:
      • -d 改变显示的更新速度 例如:top -d 3  //表示更新周期为3秒
      • -c 显示完整的进程命令
      • -s 安全模式,将交谈式指令取消, 避免潜在的危机
      • -S 以累积模式显示程序信息
      • -p <进程号> 指定进程显示
      • -n <次数>循环显示次数  例如:top -n 2  //表示更新两次后终止更新显示
    • 交互命令:
      • h 显示top交互命令帮助信息
      • c 切换显示命令名称和完整命令行
      • m 以内存使用率排序
      • P 根据CPU使用百分比大小进行排序
      • T 根据时间/累计时间进行排序
      • W 将当前设置写入~/.toprc文件中
      • o或者O 改变显示项目的顺序

  22. kill
    • 作用:杀死进程
    • 常用参数:
      •  -l 信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称
      • -a 当处理当前进程时,不限制命令名和进程号的对应关系
      • -p 指定kill 命令只打印相关进程的进程号,而不发送任何信号
      • -s 指定发送信号
      • -u 指定用户
    • 实例:
      • kill -9 123456  //彻底杀死进程
      • kill -9 $(ps -ef | grep hnlinux)  //杀死指定用户所有进程-方法一
      • kill -u hnlinux  //杀死指定用户所有进程-方法二
  23. wc (word count)
    • 作用:统计指定的文件中字节数、字数、行数,并将统计结果输出
    • 常用参数:
      • -c 统计字节数,只显示Bytes数
      • -l 统计行数,例如:cat test.txt | wc -l  //统计输出结果的行数
      • -m 统计字符数
      • -w 统计词数,一个字被定义为由空白、跳格或换行字符分隔的字符串
  24. tar
    • 作用:压缩和解压文件
    • 常用参数:
      • -j 支持bzip2压缩
      • -z 支持gzip压缩
      • -c 建立新的压缩文件
      • -f 指定压缩文件
      • -x 从压缩包中抽取文件
      • -r 添加文件到已经压缩文件包中
      • -v 显示操作过程
    • 实例:
      • tar -zcvf log.tar.gz 1.log,2.log  //压缩文件为.tar.gz的包
      • tar -zxvf log.tar.gz  //解压文件
  25. chmod
    • 作用:用于改变linux系统文件或目录的访问权限
    • 常用参数:
      • -c 当发生改变时,报告处理信息
      • u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是
      • + 表示增加权限、- 表示取消权限、= 表示唯一设定权限
      • r 读权限(数字4表示),w 写权限(数字2表示),x 执行权限(数字1表示),s 特殊权限
      • -R 递归改变文件目录的权限
  26. chown
    • 作用:将指定文件的拥有者改为指定的用户或组
    • 常用参数:
      • -c 显示更改的部分的信息
      • -R 递归改变文件目录的拥有者
    • 实例:
      • chown root:root file.txt //将文件file.txt的拥有者设为root,群体的使用者root
      • chown -R root:root /home/data //将指定目录下的所有文件与子目录的拥有者皆设为root,群体的使用者root
  27. chattr
    • 作用:用于改变文件属性
    • 常用参数:
      • +<属性> 开启文件或目录的该项属性
      • -<属性> 关闭文件或目录的该项属性
      • a:即Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件
      • b:不更新文件或目录的最后存取时间
      • c:将文件或目录压缩后存放
      • i:即Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件
      • s:彻底删除文件,不可恢复,因为是从磁盘上删除,然后用0填充文件所在区域
      • u:当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件,用来防止意外删除文件或目录
    • 实例:
      • chattr +i /etc/passwd  //加锁,文件不能删除,不能更改,不能移动
      • chattr -i /etc/passwd  //解锁
      • lsattr /etc/passwd  //显示文件属性