Linux命令行常用命令

初识shell

shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。实际上shell是一个命令解释器,它解释用户输入的命令并且把用户的意图传达给内核。(可以理解为用户与内核之间的翻译官角色)

在这里插入图片描述

我们还可以使用shell实现对Linux系统单的大部分管理,例如:

1.文件管理

2.用户管理

3.权限管理

4.磁盘管理

5.软件管理

6.网络管理

7.。。。。。

使用shell的两种方式

  • 交互式命令行
    • 默认等待用户输入命令,输入一行回车后执行一行
    • 效率低,适合少量的工作
  • shell脚本
    • 将需要执行的命令和逻辑判断语句都写入一个文件中,一起运行
    • 效率高,适合完成复杂、重复性的工作

bash shell提示符

登录Linux系统之后,默认进入交互式的命令行界面,在光标前边会出现提示符

[root@localhost~]#
[用户名@主机名   目录名]权限标识(#是最高权限)
  • 用户名
    • 当前登录的用户
  • 主机名
    • 当前这台主机的名字,默认叫’localhost‘
  • 目录名
    • 当前光标所在的目录
    • 当前用户家目录表示成~
  • 权限标识
    • 超级管理员权限就表示为#
    • 普通用户标识为$

最高提示符格式被$ps1控制,我们可以查看这个变量

[root@localhost ~]# echo $PS1
[\u@\h \W]\$
# \u表示是用户名 \h表示的是主机名 \W表示的当前所在目录 \$是权限标识
[root@localhost ~]# export PS1="{\u@\h}\W \$"
{root@localhost}~ $
# 可以通过export命令修改PS1变量,让提示符可以根据你的习惯变化

shell语法

命令 选项 参数

[root@localhost ~]#cal --year -m 2020
  • 命令
    • cal是命令,用于查看日历
  • 选项
    • –year是选项,表示显示一整年,这个是一个长选项,也就是单词都拼全了,需要两条-符号
    • -m是短选项,是首字母,表示每个星期的星期一作为第一天
    • 对于有些命令而言,可以不写选项,这样命令会有个默认的行为
    • 短选项可以多个合并在一起,比如上面的命令可以写成-ym ,其中y是year的简写,可以和m写在一起,而长选项不支持写在一起
  • 参数
    • 2020是参数,参数是命令作用的对象,表示查看的是2020年的日历

可以使用–help命令来查看cal命令的所有选项

[root@localhost ~]# cal --help
用法:
cal [选项] [[[]]]
选项:
-1, --one 只显示当前月份(默认)
-3, --three 显示上个月、当月和下个月
-s, --sunday 周日作为一周第一天
-m, --monday 周一用为一周第一天
-j, --julian 输出儒略日
-y, --year 输出整年
-V, --version 显示版本信息并退出
-h, --help 显示此帮助并退出

常用命令

注意Linux会准确的识别出命令的大小写,所以大家需要注意大小写的问题。命令选项和参数之间是用空格进行分隔,请大家在输入的时候注意不要缺失空格。

学习Linux最重要的就是以下三个方面

1. 命令的积累
2. 原理的掌握
3. 大量的实战

ls

用于显示指定工作目录下的内容(列出目前工作目录所包含的文件及子目录)

ls [-alrtAFR] [name...]

选项:

  • -a 显示所有文件及目录(.开头的隐藏文件也会列出)
  • -l 除文件名称外,还将文件类型、权限、拥有者、文件大小等详细列出
  • -r 将文件以相反次序显示(原定依英文字母次序)
  • -t 将文件依建立时间的先后顺序列出
  • -A 同-a,但不列出“.”(当前目录)和“…”(父目录)
  • -F 在列出的文件名称后加—符号,例如可执行文件加“*”,目录则加“/”
  • -R 若目录下有文件,则以下的文件都按序列出
  • -h 将显示出来的文件大小以合适的单位显示出来

实例

  • 查看当前目录下的文件

    [root@localhost ~]#ls
    
  • 查看根目录下的文件,查看/usr目录下的文件

    [root@localhost ~]#ls /
    [root@localhost ~]#ls /usr
    
  • 查看当前目录下所有文件,包括隐藏文件

    [root@localhost ~]#ls -a
    
  • 查看当前目录下文件详情,包括隐藏文件

    [root@localhost ~]#ls -lha
    
  • 查看当前目录下的文件,并且显示出目录、文件、程序的区别

    [root@localhost ~]#ls -F
    anaconda-ks.cfg dirb/ dird/ file2 file4 ping*
    dira/           dirc/ dire/ file1 file3 file5
    # 可以看到普通文件只有文件名,可执行文件后面带*,文件夹后面带/
    

扩展知识

[root@localhost ~]# ls -ahl
总用量 24K
dr-xr-x---. 3 root root 139 42 14:00 .
dr-xr-xr-x. 17 root root 224 621 2020 ..
-rw-------. 1 root root 128 42 09:37 .bash_history
-rw-r--r--. 1 root root 18 1229 2013 .bash_logout
-rw-r--r--. 1 root root 176 1229 2013 .bash_profile
-rw-r--r--. 1 root root 176 1229 2013 .bashrc
-rw-r--r--. 1 root root 100 1229 2013 .cshrc
drwxr-xr-x. 2 root root 32 42 14:00 dir
-rw-r--r--. 1 root root 129 1229 2013 .tcshrc
-rw-r--r--. 1 root root 0 42 14:00 test.txt

1.第一列共10位,第1位表示文档类型, d 表示目录, - 表示文件, l 表示链接文件, d 表示可随机存取的设备,如U盘等, c 表示一次性读取设备,如鼠标、键盘等。后9位,依次对应三种身份所拥 有的权限,身份顺序为:owner、group、others,权限顺序为:readable、writable、 excutable。如: -r-xr-x— 的含义为当前文档是一个文件,拥有者可读、可执行,同一个群组下的 用户,可读、可写,其他人没有任何权限。

2.第二列表示链接数,表示有多少个文件链接到inode号码。

3.第三列表示拥有者

4.第四列表示所属群组

5.第五列表示文档容量大小,单位字节

6.第六列表示文档最后修改时间,注意不是文档的创建时间哦

7.第七列表示文档名称。以点(.)开头的是隐藏文档

cd

用于切换当前工作目录

 cd [dirName]

实例

  • 跳转到/usr/bin目录下

    [root@localhost ~]# cd /usr/bin
    
  • 跳转到自己的home目录

    [root@localhost ~]#cd ~
    
  • 跳转到当前目录的上一层

    [root@localhost ~]#cd ..
    
  • 跳转到之前所在的位置

    [root@localhost ~]#cd -
    

pwd

显示工作目录

pwd [-LP]
  • -L 打印$PWD变量的值
  • -P打印当前的物理路径,不带有任何的符号链接

默认情况下, pwd 的行为和带 -L 选项一致

[root@localhost ~]#export PWD=/usr/bin
[root@localhost bin]#
# 修改了$PWD变量,会导致当前光标的路径发生变化,只是显示切换了,但是实际目录没有修改

clear

用于清除屏幕

clear

使用快捷键 ctrl+l 也可以实现一样的效果

echo

用于字符串的输出

 echo [-neE] 字符串

选项:

  • -n 不输出行尾的换行符
  • -e 允许对下面列出的加反斜线转义的字符进行解释
    • \ 反斜线
    • \a 报警符(BEL)
    • \b 退格符
    • \c 禁止尾随的换行符
    • \f 换页符
    • \n 换行符
    • \r 回车符
    • \t 水平制表符
    • \v 纵向制表符
  • -E 禁止对在STRINGs中的那些序列进行解释

实例

  • 显示出hello Linux

    [root@localhost ~]#echo "hello Linux"
    
  • 用两行显示出hello Linux

    [root@localhost ~]#echo -e "hello\nLinux"
    
  • 输出hello Linux的时候让系统发出警报声

    [root@localhost ~]#echo -e "hello\aLinux"
    

系统命令

poweroff

用于关闭计算器并切断电源

poweroff [-n] [-w] [-d] [-f] [-i] [-h]

选项

  • -n 在关机前不做将记忆体资料写回硬盘的动作

  • -w 并不会真的关机,只是把记录写到/var/log/wtmp档案里

    /var/log/wtmp是一个二进制文件,记录每个用户的登录次数和持续时间等信息

  • -d 不把记录写到/var/log/wtmp文件里

  • -i 在关机之前先把所有网络相关的装置先停止

  • -p 关闭操作系统之前将系统中所有的硬件设置为备用模式

reboot

用来重启计算机

reboot [-n] [-w] [-d] [-f] [-i]

选项

  • -n 在重开机前不做将记忆体资料写回硬盘的动作
  • -w 并不会真的重开机,只是把记录写到 /var/log/wtmp 档案里
  • -d 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d)
  • -f 强迫重开机,不呼叫 shutdown 这个指令
  • -i 在重开机之前先把所有网络相关的装置先停止

whoami

用于显示自身用户名称

[root@localhost ~]#whoami
root

快捷键

快捷键作用
^C终止前台运行的程序
^D退出 等价于exit
^L清屏
^A光标移动到命令行的最前端
^E光标移动到命令行的最后端
^U删除光标前所有字符
^K删除光标后所有字符
^R搜索历史命令,利用关键词

帮助命令

history

history [n] n为数字,列出最近的n条命令

选项

  • -c 将目前shell中的所有history命令消除
  • -a 将目前新增的命令写入histfiles, 默认写入 ~/.bash_history
  • -r 将histfiles内容读入到目前shell的history记忆中
  • -w 将目前history记忆的内容写入到histfiles

实例

  • 将history的内容写入一个新的文件中

    [root@localhost ~]#history -w histfiles.txt
    
  • 清空所有的history记录,注意并不清空~/.bash_history文件

    [root@localhos t ~]#history -c
    
  • 使用!执行历史命令

  • !number 执行第几条命令

  • !command从最近的命令查到以command开头的命令执行

  • !!执行上一条

    [root@localhos t ~]#history
    1 history
    2 cat .bash_history
    3 ping -c 3 baidu.com
    4 history
    [root@localhost ~]#!3
    #这里是执行第三条命令的意识
    

help

显示命令的帮助信息

help [-dms] [内置命令]

选项

  • -d 输出每个主题的简短描述
  • -m 以伪 man 手册的格式显示使用方法
  • -s 为每一个匹配 PATTERN 模式的主题仅显示一个用法

实例

  • 查看echo的帮助信息

    [root@localhost ~]#help echo
    

man

显示在线帮助手册页

 man 需要帮助的命令或者文件

快捷键

按键用途
空格键向下翻一页
PaGe down向下翻一页
PaGe up向上翻一页
home直接前往首页
end直接前往尾页
/从上至下搜索某个关键词,如“/linux”
?从下至上搜索某个关键词,如“?linux”
n定位到下一个搜索到的关键词
N定位到上一个搜索到的关键词
q退出帮助文档

手册的结构

结构名称代表意义
NAME命令的名称
SYNOPSIS参数的大致使用方法
DESCRIPTION介绍说明
EXAMPLES演示(附带简单说明)
OVERVIEW概述
DEFAULTS默认的功能
OPTIONS具体的可用选项(带介绍)
ENVIRONMENT环境变量
FILES用到的文件
SEE ALSO相关的资料
HISTORY维护历史与联系方式

安装中文man手册

中文man手册翻译的并不完整,但是也可以安装作为一个参考,下面是安装命令,目前可能不能理解是什么意思,后续学习之后就可以看懂命令的含义了。

yum -y install man-pages-zh-CN.noarch
echo "alias cman='man -M /usr/share/man/zh_CN'" >> .bashrc
source .bashrc

实例

  • 查看echo的man手册

    [root@localhost ~]#man echo
    ECHO(1)                       General Commands Manual
             ECHO(1)
    NAME(名称)
           echo - 显示一行文本
    SYNOPSIS(总览)
           echo[OPTION]... [STRING]...
    DESCRIPTION(描述)
            允许在标准输出上显示STRING(s).
            -n 不输出行尾的换行符.
            -e 允许对下面列出的加反斜线转义的字符进行解释.
            -E 禁止对在STRINGs中的那些序列进行解释.
    

alias

用于设置指令的别名

实例

  • 查看系统当前的别名

    [root@localhost ~]# alias # 查看系统当前的别名
    alias cp='cp -i'
    alias egrep='egrep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias grep='grep --color=auto'
    alias l.='ls -d .* --color=auto'
    alias ll='ls -l --color=auto'
    alias ls='ls --color=auto'
    alias mv='mv -i'
    alias rm='rm -i'
    alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --
    show-tilde'
    [root@localhost ~]# ll
    总用量 4
    -rw-------. 1 root root 1241 822 2018 anaconda-ks.cfg
    drwxr-xr-x. 2 root root 19 821 12:15 home
    [root@xwz ~]# type -a ls # 查看命令类型
    ls 是 `ls --color=auto' 的别名
    ls 是 /usr/bin/ls
    
  • 修改别名,比如使用wl来查看IP地址相关信息

    [root@localhost ~]# alias wl='ip address'
    [root@localhost ~]# wl
    
  • 为了让别名永久生效,可以讲修改别名的命令写入 bashrc 文件,这个文件中的命令会在每次登陆命令行的时候执行

     [root@localhost ~]# echo "alias wl='ip address'" >> /etc/bashrc
    

-tty-only --read-alias --show-dot –
show-tilde’
[root@localhost ~]# ll
总用量 4
-rw-------. 1 root root 1241 8月 22 2018 anaconda-ks.cfg
drwxr-xr-x. 2 root root 19 8月 21 12:15 home
[root@xwz ~]# type -a ls # 查看命令类型
ls 是 `ls --color=auto’ 的别名
ls 是 /usr/bin/ls


- 修改别名,比如使用wl来查看IP地址相关信息

```shell
[root@localhost ~]# alias wl='ip address'
[root@localhost ~]# wl
  • 为了让别名永久生效,可以讲修改别名的命令写入 bashrc 文件,这个文件中的命令会在每次登陆命令行的时候执行

     [root@localhost ~]# echo "alias wl='ip address'" >> /etc/bashrc
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/410834.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

npm/nodejs安装、切换源

前言 发现自己电脑上没有npm也没有node很震惊,难道我没写过代码么?不扯了,进入正题哈哈…… 安装 一般没有npm的话会报错: 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称而且报这个错,我们执行…

Order By Limit不稳定性

文章目录 前置解决不确定性场景1 Order By索引1.1 背景1.2 不确定性产生原因1.2.1 正常情况下1.2.2 但是 1.3 补充1.4 场景1总结 场景2 Order by id2.1 背景2.2 不会产生不确定性原因1原因2 2.3 推荐使用方式 场景3 filesort3.1 背景3.2 不确定性产生原因3.3 内存排序和磁盘临时…

内衣洗衣机哪个牌子好用?甄选安利四款优质好用的内衣洗衣机

内衣洗衣机是近几年新兴的一种家用电器产品,正日益引起人们的重视。但是,面对市面上品牌繁多、款式繁多的内衣洗衣机,使得很多人都不知道该如何选择。身为一个数码家电博主,我知道这类产品在挑选方面有着比较深入的了解。为此&…

数据结构2月25日

第一道: 第二道: 1、插入到prev和next中间 1.new(struct list_head*)malloc(sizeof(struct list_head*)); if(newNULL) { printf("失败\n"); return; } new->nextprev->next; prev->nextnew; return; 2、删除prve和next…

redis——客户端

Redis是一个典型一对多服务器程序,一个服务器可以与多个客户端进行网络连接,每隔客户端可以向服务器发送命令请求,而服务器则接收并处理客户端发送的命令请求,并向客户端返回命令请求。 通过是一个I/O多路复用技术实现的文件事件处…

3分钟快速实现串口PLC远程下载程序操作说明

3分钟快速实现串口PLC远程下载程序操作说明 搜索蓝蜂物联网官网,即可免费领取样机使用!!先到先得!!! 一. 适用产品型号 其余型号网关此功能正在开发中,敬请期待。 二. 远程下载功能使用流程 …

数据结构--双向链表专题

目录 1. 双向链表的结构2. 实现双向链表预先的准备初始化尾插、头插尾删、头删查找在pos位置之后插⼊数据删除pos位置的数据 3. 顺序表和双向链表的分析 1. 双向链表的结构 注意:这里的“带头”跟前面我们说的“头结点”是两个概念,为了更好的理解直接称…

Nginx的反向代理:实现灵活的请求转发和内容缓存

一、引言:代理服务器的简介 本节介绍代理服务器的基本配置。学习如何通过不同协议将 NGINX 请求传递给代理的服务器,修改发送到代理服务器的客户端请求标头,以及配置来自代理服务器的响应缓冲。 代理通常用于在多个服务器之间分配负载&…

tigramite教程(二)生物地球科学案例研究

文章目录 数据生成与绘图因果发现分析平稳性假设、确定性、潜在混杂因素结构假设参数假设使用PCMCIplus的滑动窗口分析聚合因果图非参数因果效应估计假设的图形和调整集干预的真实情况假设的参数模型和因果效应的估计使用关于图的不同假设进行估计非因果估计项目地址 这个文件…

力扣随笔之颜色分类(中等75)

思路:定义两个指针划分left,right划分三个区域left左边是红色区域,right右边是蓝色区域,left和right之间是白色区域;定义一个遍历指针遍历整个数组,遇到红色与left所指位置数字交换,并将left自加…

鸿蒙开发实战-手写一个Openharmony投屏工具

实战手写一个Openharmony投屏工具,实现代码分享如下: java import javax.imageio.ImageIO; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOExcepti…

一篇文章告诉你ELK Stack是什么

目录 ELK Stack简介 ELK Stack优点 ELK Stack组成 Elasticsearch Elasticsearch简介 Elasticsearch主要特点 Elasticsearch核心概念 Elasticsearch的配置 Logstash Logstash简介 Logstash过滤器之grok正则匹配 Logstash过滤器之mutate数据修改 Logstash过滤器之Ge…

如何快速将每个图片做二维码?批量生成图片码的步骤

现在很多商品的包装上扫码都会展现出物品的图片信息,每个物品都会有单独的一张物品信息图片。那么当导出一批图片后,如何快速将每张图片单独生成一个二维码来使用呢?本文小编将通过图文内容给大家讲解一下图片二维码生成器的批量建码功能该如…

automatic_mine_sweeper —— A project review to improve myself

1. How to understand the whole structure of the project? 1.Cbutton.h 和 Cbutton.cpp文件: Cbutton.h文件- // Cbutton.h : main header file for the CBUTTON application //#if !defined(AFX_CBUTTON_H__240DD99D_BEDE_49BD_A960_3268C3644816__INCLUDED_…

Python实用技巧:处理JSON文件写入换行问题

Python实用技巧:处理JSON文件写入换行问题 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程 👈 希望得到您的订阅…

05 Flink 的 WordCount

前言 本文对应于 spark 系列的 Spark 的 WordCount 这里主要是 从宏观上面来看一下 flink 这边的几个角色, 以及其调度的整个流程 一个宏观 大局上的任务的处理, 执行 基于 一个本地的 flink 集群 测试用例 /*** com.hx.test.Test01WordCount** author Jerry.X.He* ver…

架构设计:流式处理与实时计算

引言 随着大数据技术的不断发展,流式处理和实时计算在各行各业中变得越来越重要。那么什么是流式处理呢?我们又该怎么使用它?流式处理允许我们对数据流进行实时分析和处理,而实时计算则使我们能够以低延迟和高吞吐量处理数据。本…

Bert基础(四)--解码器(上)

1 理解解码器 假设我们想把英语句子I am good(原句)翻译成法语句子Je vais bien(目标句)。首先,将原句I am good送入编码器,使编码器学习原句,并计算特征值。在前文中,我们学习了编…

4.测试教程 - 用例篇

文章目录 1.测试用例的基本要素2.测试用例的给我们带来的好处3.测试用例的设计方法3.1基于需求进行测试用例的设计3.1.1功能需求测试分析3.1.2非功能需求测试分析 3.2具体的设计方法3.2.1等价类3.2.2边界值3.2.3错误猜测法3.2.4判定表3.2.5场景设计法3.2.6因果图3.2.7因果图的需…

c++:vector的相关oj题(136. 只出现一次的数字、118. 杨辉三角、26. 删除有序数组中的重复项、JZ39 数组中出现次数超过一半的数字)

文章目录 1. 136. 只出现一次的数字题目详情代码(直接来异或)思路 2. 118. 杨辉三角题目详情代码1思路代码2思路2 3. 26. 删除有序数组中的重复项题目详情代码思路 4. JZ39 数组中出现次数超过一半的数字题目详情代码1(暴力)思路1代码2&#…