- 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的文件
- mv
- 作用:为文件或目录改名、或将文件或目录移入其它位置
- 用法:
- mv 文件名 文件名 将源文件名改为目标文件名
- mv 文件名 目录名 将文件移动到目标目录
- mv 目录名 目录名 目标目录已存在,将源目录移动到目标目录;目标目录不存在则改名
- cp
- 作用:复制文件或目录
- 常用参数:
- -r 复制目录下所有的子目录和文件
- -f 强制覆盖已存在的目标文件
- -i 询问目标文件已存在时是否覆盖
- -a 复制的文件与原文件时间一样
- scp (secure copy)
- 作用: 远程复制文件或目录
- 常用参数:
- -r 递归复制整个目录
- -v 详细方式输出
- -q 不显示传输进度条
- -C 允许压缩
- 用法:
- scp -r [源文件或目录] [用户名]@[ip或域名]:[目标文件或目录]
- du
- 作用: 显示指定的目录或文件所占用的磁盘空间
- 常用参数:
- -k 以KB为单位显示文件大小
- -s 仅显示总计
- -c 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和
- 实例:
- du -hc test/ data/ 显示多个文件或目录各自占用磁盘空间的大小以及它们的总和
- du -hc --max-depth=1 data/ 输出当前目录下各个子目录所使用的空间
- df
- 作用:显示磁盘空间使用情况
- 常用参数:
- -a 全部文件系统列表
- -h 以方便阅读的方式显示信息
- -l 只显示本地磁盘
- free
- 作用:显示系统内存使用情况,包括物理内存、交互区内存(swap)和内核缓冲区内存
- 常用参数:
- -b 以Byte显示内存使用情况(k、m、g以此类推)
- -s<间隔秒数> 持续观察内存使用状况
- -t 显示内存使用总和
- mkdir
- 作用: 创建文件夹
- 常用参数:
- -m, --mode=模式 设定权限<模式> (类似 chmod)
- -p, --parents 创建多级目录
- 实例:
- mkdir -p -m 664 d1/d2/d3/d4 创建目录的同时设定权限为664
- rm
- 作用: 删除一个文件或者目录
- 常用参数:
- -i 删除前逐一询问确认
- -r 删除整个目录
- -f 强制删除
- 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文档内容
- more
- 作用: 功能类似于cat, more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空格键(space)就往下一页显示,按 b 键就会往回(back)一页显示
- 常用参数:
- -num 一次显示的行数
- +num 从第 num 行开始显示
- -s 当遇到有连续两行以上的空白行,就代换为一行的空白行
- 常用操作命令:
- 空格键、Ctrl+F 向下滚动一屏
- B键、Ctrl+B 返回上一屏
- Enter 向下n行,需要定义。默认为1行
- = 输出当前行的行号
- :f 输出文件名和当前行的行号
- V 调用vi编辑器
- !命令 调用Shell,并执行命令
- q 退出more
- 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查看前一个文件
- head
- 作用: 输出文件开头部分,默认情况下显示文件的头10行
- 常用参数:
- -n,--lines=[-]K 显示前K行。如果K前有-,则表示显示除最后K行外的所有行
- tail
- 作用: 输出文件末尾部分,默认情况下显示文件的头10行
- 常用参数:
- -f 循环读取,不断刷新(常用于查看递增的日志文件)
- -n<行数> 显示行数(从后向前)
- which
- 作用:查找命令是否存在,以及命令的存放位置(which指令会在环境变量$PATH设置的目录里查找符合条件的文件)
- 实例:
- which php
- whereis
- 作用:查找符合条件的文件,文件包括二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)
- 常用参数:
- -b 只查找二进制文件
- -m 只查找说明文件
- -s 只查找源代码文件
- locate
- 作用:通过数据库(/var/lib/locatedb)快速定位文件
- 常用参数:
- -l num(要显示的行数)
- -r 使用正则运算式做为寻找条件;例如:locate -r '^/var.reason$' 查找/var目录下,以reason结尾的文件
- 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命令每次只获取一部分文件而不是全部)
- grep
- 作用:查找文件里符合条件的字符串
- 常用参数:
- -n 显示匹配内容的所在文件中行数
- -r 递归查找符合条件的文件
- -v 反向查找,显示不包含匹配文本的所有行
- 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个进程
- 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 改变显示项目的顺序
- kill
- 作用:杀死进程
- 常用参数:
- -l 信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称
- -a 当处理当前进程时,不限制命令名和进程号的对应关系
- -p 指定kill 命令只打印相关进程的进程号,而不发送任何信号
- -s 指定发送信号
- -u 指定用户
- 实例:
- kill -9 123456 //彻底杀死进程
- kill -9 $(ps -ef | grep hnlinux) //杀死指定用户所有进程-方法一
- kill -u hnlinux //杀死指定用户所有进程-方法二
- wc (word count)
- 作用:统计指定的文件中字节数、字数、行数,并将统计结果输出
- 常用参数:
- -c 统计字节数,只显示Bytes数
- -l 统计行数,例如:cat test.txt | wc -l //统计输出结果的行数
- -m 统计字符数
- -w 统计词数,一个字被定义为由空白、跳格或换行字符分隔的字符串
- 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 //解压文件
- chmod
- 作用:用于改变linux系统文件或目录的访问权限
- 常用参数:
- -c 当发生改变时,报告处理信息
- u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是
- + 表示增加权限、- 表示取消权限、= 表示唯一设定权限
- r 读权限(数字4表示),w 写权限(数字2表示),x 执行权限(数字1表示),s 特殊权限
- -R 递归改变文件目录的权限
- chown
- 作用:将指定文件的拥有者改为指定的用户或组
- 常用参数:
- -c 显示更改的部分的信息
- -R 递归改变文件目录的拥有者
- 实例:
- chown root:root file.txt //将文件file.txt的拥有者设为root,群体的使用者root
- chown -R root:root /home/data //将指定目录下的所有文件与子目录的拥有者皆设为root,群体的使用者root
- chattr
- 作用:用于改变文件属性
- 常用参数:
- +<属性> 开启文件或目录的该项属性
- -<属性> 关闭文件或目录的该项属性
- a:即Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件
- b:不更新文件或目录的最后存取时间
- c:将文件或目录压缩后存放
- i:即Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件
- s:彻底删除文件,不可恢复,因为是从磁盘上删除,然后用0填充文件所在区域
- u:当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件,用来防止意外删除文件或目录
- 实例:
- chattr +i /etc/passwd //加锁,文件不能删除,不能更改,不能移动
- chattr -i /etc/passwd //解锁
- lsattr /etc/passwd //显示文件属性