Linux常用命令精讲

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux常用命令精讲相关的知识,希望对你有一定的参考价值。

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 [选项] 要删除的文件或目录
选项:

  1. -f:不提醒,直接强制删除
  2. -i:提醒用户确认
  3. -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常用命令精讲的主要内容,如果未能解决你的问题,请参考以下文章

Linux常用命令精讲

Liunx常用命令精讲:理论讲解

RHEL8(CentOS)网络管理精讲

Shall编程精讲

(转)linux route命令深入浅出与实战案例精讲

Linux 系统精讲