Linux常用命令精讲 1.1 Linux命令基础 1.Linux命令(由开发人员编写的软件提供)  用于实现某一类功能的指令或程序  命令的执行依赖于解释器程序(例如:/bin/bash) 2.Linux命令分类

  1. 内部命令(属于Shell解释器的一部分):由Shell(用于实现用户和内核的交互)自带
  2. 外部命令(独立于Shell解释器之外的程序):用户自行安装或发行版自带GNU软件提供 判断内部或外名命令:type 例: type echo //类型为内部命令

type ps //类型为外部命令

3.Linux命令的格式 命令字 [ 选项 ] 参数 详解:

命令字:具体使用命令
选项:具体调节命令字的作用;短格式-(简单、不易懂)、长格式--(易懂、不好记)

例: rm -rf //-rf就为短格式选项,多个短格式选项可写在一起 rm --force //--force为长格式选项,多个长格式不可组合书写 参数:命令字的操作对象,给谁用 4.Linux常用快捷键 Tab:自动补齐 反斜杠"":强制换行 Ctrl+U:删除光标到行首 Ctrl+K:删除光标到行尾 Ctrl+A:跳转到行首 Ctrl+E:跳转到行尾 Ctrl+L或clear:清楚屏幕内容 Ctrl+C:中断当前操作 Shift+PgUP:往上翻页 Shift+PgDOwn:往下翻页 5.Linux命令帮助获取 内部命令:help 内部命令 //查看Bash内部命令的帮助信息 外部命令:外部命令 --help //适用于大多数外部命令 通用:man 命令

  1. 使用"↑"、"↓"方向键滚动文本
  2. 使用Page Up和Page Down键翻页
  3. 按Q或q键退出阅读环境、按"/"键查找内容;n跳转到下一个查找内容、N跳转到上一个查找内容 例: help echo //内部命令帮助获取

ls --help //外部命令帮助获取

man ls 或 man echo		//通用命令在线手册获取
man ls | col -b >ls_man.txt  //将ls手册导出为ls_man.txt文件;col -b去除特殊字符

1.2 ls和du命令 1.ls(list)命令详解 ls [选项] 目录或文件位置 选项:

  1. -l:(长格式)列表方式显示目录内容,显示权限、时间等信息
  2. -a:显示所有(All)子目录和文件的信息
  3. -A:与-a选项的作用基本类型,但"."".."两个特殊隐藏目录不显示
  4. -d:显示目录(Directory)本身的属性,而不是显示目录中的内容
  5. -h:以更人性化(Human)的方式显示出目录或文件的大小,需结合-l选项
  6. -R:以递归(Recursive)的方式显示指定目录及其子目录中的所有内容 例: ls -lA /etc/ //以长格式显示/etc/下所有隐藏文件或目录

2.du(disk usage)命令详解 用于统计指定目录(或文件)所占用磁盘空间的大小 du [选项] 文件或目录位置 选项:  -a:统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录  -h:以更人性化的方式(默认以KB计数,但不显示单位)显示结果  -s:只统计所占空间总的(Summary)大小,而不是统计每个子目录、文件的大小 du -sh /root/ //统计/etc/目录大小

1.3 mkdir和touch命令 1.touch命令详解 创建空文件,用于测试;当目录文件已存在时,更新该文件的时间标记 touch 文件位置及名称 例: touch /tmp/a.doc //在/tmp/目录下新建a.doc空文件

touch /tmp/{1..100} //在/tmp/目录下新建数字从1-100的空文件

2.mkdir(make directory)命令详解 mkdir [选项] 目录位置及名称 选项:  -p:一次性创建嵌套的多层目录 例: mkdir /hehe/ //在根目录下创建hehe

mkdir -p /data/hehe/	//依次创建/data/目录再创建/data/hehe/目录

1.4 cp、rm和mv命令 1.cp(copy)命令详解 cp [选项] 源文件或目录 目标文件或目录 选项:  -f:覆盖目标同名文件或目录时不进行提醒,而直接强制(Force)复制  -i:覆盖目标同名文件或目录时提醒用户确认(Interactive,交互式)  -p:复制时保持(Preserve)源文件的权限、属主及时间标记等属性不变  -r:复制目录时必须使用此选项,表示递归复制所有文件及子目录 例: cp /etc/hosts /tmp/ //拷贝/etc/hosts文件到/tmp/目录下

cp /etc/hosts /tmp/a		//拷贝/etc/hosts文件到/tmp/目录下并改名为a文件

cp -r /etc/ /tmp/ //拷贝/etc/目录下所有内容到/tmp/目录下 cp -p /etc/hosts.bak /tmp/ //拷贝/etc/hosts.bak文件到/tmp/目录下,并保存原有权限 2.rm(remove)命令详解 rm [选项] 要删除的文件或目录 选项: 4. -f:不提醒,直接强制删除 5. -i:提醒用户确认 6. -r:递归删除整个目录树 例: rm -rf ./{1..100} //不询问删除/tmp/{1..100}文件

注:"rm -rf /*",命令极度危险,切勿尝试 3.mv(move)命令详解 将指定的文件或目录转移位置 如果目标位置与源位置相同,则相当于执行重命名操作 mv [选项] 源文件或目录 目标文件或目录 例: mv /etc/hosts.bak /tmp/ //将/etc/hosts.bak文件移动到/tmp/目录下,并保持原文件名

mv /etc/hosts.bak /tmp/hehe //将/etc/hosts.bak文件移动到/tmp/目录下并改名为hehe

mv /etc/hosts /etc/hosts.bak //将/etc/hosts文件重命名为hosts.bak 1.5 which和find命令 1.which命令详解 查找Linux命令程序所在位置 which 命令 | 程序名  默认当找到第一个目标后不再继续查找  若在所有搜索路径中查找,加"-a"选项  无法查找内部命令所对应的程序文件 例: which ls //搜索ls命令所在的完整路径 which cd //搜索cd命令所在的完整路径

注:因此使用过程中一定注意which只能搜索外部命令 2.find命令详解 精细查找文件或目录d find [ 查找范围 ] [ 查找条件表达式 ] 常用查找条件:  按名称查找:"-name",支持通配符""、"?"  按文件大小查找:"-size",可使用"+"、"-"作为容量条件  按文件属主查找:"-user"  按文件类型查找:"type" 例: find /etc/ -name "host" //搜索/etc/目录下所有以host开头的文件或目录

find /etc/ -name "host?"			//搜索/etc/目录下所有以host开头的文件或目录

注:“*”匹配多个字符,“?”匹配单个字符
find /etc/ -size +1M				//搜索/etc/目录下所有大于1M的文件或目录

find /etc/ -size -1M				//搜索/etc/目录下所有小于1M的文件或目录

注:-size中k容量单位为小写字母,其余全为大写;如“1k”、“1M”、“1G”等
find /boot/efi/ -user root	//搜索/boot/efi/目录下所有创建者为root的文件或目录

注:创建者即文件或目录的所有者,一般为创建人,如root用户新增的文件所有者即为root,也可通过"chown"命令更改所有者
find /etc/ -type d				//搜索/etc/目录下所有的目录

注:除"d(目录)"类型外,常见的还有"f(普通文件)"、"b(块设备文件)"、"c(字符设备文件)"等;块设备代表(硬盘、内存等)、字符设备代表(键盘等)

逻辑运算符:  -a:而且(and),显示所有条件全部满足的结果  -o:或者(or),显示满足其中一个条件的结果