Linux常用命令精讲
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux常用命令精讲相关的知识,希望对你有一定的参考价值。
Linux常用命令精讲
1.1 Linux命令基础
1.Linux命令(由开发人员编写的软件提供)
? 用于实现某一类功能的指令或程序
? 命令的执行依赖于解释器程序(例如:/bin/bash)
2.Linux命令分类
- 内部命令(属于Shell解释器的一部分):由Shell(用于实现用户和内核的交互)自带
-
外部命令(独立于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 命令
- 使用"↑"、"↓"方向键滚动文本
- 使用Page Up和Page Down键翻页
- 按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 [选项] 目录或文件位置
选项:
- -l:(长格式)列表方式显示目录内容,显示权限、时间等信息
- -a:显示所有(All)子目录和文件的信息
- -A:与-a选项的作用基本类型,但"."".."两个特殊隐藏目录不显示
- -d:显示目录(Directory)本身的属性,而不是显示目录中的内容
- -h:以更人性化(Human)的方式显示出目录或文件的大小,需结合-l选项
- -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 [选项] 要删除的文件或目录
选项:
- -f:不提醒,直接强制删除
- -i:提醒用户确认
- -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),显示满足其中一个条件的结果
以上是关于Linux常用命令精讲的主要内容,如果未能解决你的问题,请参考以下文章