Linux命令

一、基础命令

详细学习各个命令的使用方法,请访问
https://www.linuxprobe.com/

echo、date、timedatectl、reboot、poweroff、wget、ps、pstree、top、nice、pidof、kill、ifconfig、uname、uptime、free、who、last、ping、tracepace、netstat、history、sosreport

  1. 快捷方式
    Tab键:快速填充(两个tab可以显示以re开头的所有命令,一个tab可以填充命令)

    [root@linuxprobe ~]# re<Tab键><Tab键>
    

    Ctrl+c:结束进程
    Ctrl+d:键盘输入结束
    Ctrl+l:清空当前终端中已有的内容(清屏)

  2. echo命令
    在终端设备上输出字符串或变量提取后的值

    [root@linuxprobe ~]# echo LinuxProbe.com
    LinuxProbe.com
    [root@linuxprobe ~]# echo $SHELL
    /bin/bash
    
  3. date命令
    查看当前系统时间

    [root@linuxprobe ~]# date
    Sat Sep 5 09:13:45 CST 2020
    

    按照年月日的格式

    [root@linuxprobe ~]# date "+%Y-%m-%d %H:%M:%S"
    2020-09-05 09:14:35
    

    设置系统的当前时间

    [root@linuxprobe ~]# date -s "20201101 8:30:00"
    Sun Nov 1 08:30:00 CST 2020
    

    查看今天是一年的第几天

    [root@linuxprobe ~]# date "+%j"
    306
    
  4. timedatectl
    设置系统的时间
    在这里插入图片描述

  5. reboot:重启系统(需要root权限)

  6. poweroff:关闭系统

  7. wget:下载网络文件

  8. ps:查看系统中的进程状态(process)
    在这里插入图片描述
    在这里插入图片描述

  9. pstree命令:以树状图的形式展示进程之间的关系,英文全称为“process tree”

  10. top命令:动态地监视进程活动及系统负载等信息

  11. nice命令:调整进程的优先级

    [root@linuxprobe ~]# nice -n -20 bash
    
  12. pidof命令:查询某个指定服务进程的PID号码值

  13. kill命令:终止某个指定PID值的服务进程

  14. ifconfig:获取网卡配置与网络状态等信息,英文全称为“interface config”

    使用ifconfig命令查看网络状态信息时,需要重点查看的4项信息分别是什么?
    答:这4项重要的信息分别是网卡名称IP地址网卡物理地址以及RX/TX的收发流量数据大小

  15. uname命令:查看系统内核版本与系统架构等信息
    如果要查看当前系统版本的详细信息,则需要查看redhat-release文件

    [root@linuxprobe ~]# cat /etc/redhat-release
    Red Hat Enterprise Linux release 8.0 (Ootpa)
    
  16. uptime命令:用于查看系统的负载信息
    它可以显示当前系统时间、系统已运行时间、启用终端数量以及平均负载值等信息。平均负载值指的是系统在最近1分钟、5分钟、15分钟内的压力情况(下面加粗的信息部分),负载值越低越好:

    [root@linuxprobe ~]# uptime
    22:49:55 up 10 min, 1 users, load average: 0.01, 0.19, 0.18
    

    top命令中包含了这些信息

  17. free命令:用于显示当前系统中内存的使用量信息

  18. who命令:用于查看当前登入主机的用户终端信息

  19. last命令:用于调取主机的被访记录

  20. ping命令:用于测试主机之间的网络连通性
    在这里插入图片描述

  21. tracepath命令:用于显示数据包到达目的主机时途中经过的所有路由信息

  22. netstat命令:用于显示如网络连接、路由表、接口状态等的网络相关信息,英文全称为“network status”

  23. history命令:用于显示执行过的命令历史

  24. sosreport命令:用于收集系统配置及架构信息并输出诊断文档

查找定位文件命令

pwd、cd、ls、tree、find、locate、which

  1. pwd命令:显示用户当前所处的工作目录,英文全称为“print working directory”

  2. cd命令:切换当前的工作路径,英文全称为“change directory”,语法格式为“cd [参数] [目录]”

  3. ls命令:显示目录中的文件信息
    ls命令的-a参数可以看到全部文件
    -l参数可以查看文件的属性、大小等详细信息

    [root@linuxprobe ~]# ls -al
    total 48
    dr-xr-x---. 15 root root 4096 Jul 24 06:33 .
    dr-xr-xr-x. 17 root root  224 Jul 21 05:04 ..
    
  4. tree命令:以树状图的形式列出目录内容及结构

  5. find命令:按照指定条件来查找文件所对应的位置,语法格式为“find [查找范围] 寻找条件”
    在这里插入图片描述

  6. locate命令:按照名称快速搜索文件所对应的位置,语法格式为“locate文件名称”

  7. which命令:按照指定名称快速搜索二进制程序(命令)所对应的位置,语法格式为“which命令名称”

文本文件编辑命令

cat、more、head、tail、tr、wc、stat、grep、cut、diff、uniq、sort

  1. cat命令:查看纯文本文件(内容较少的),英文全称为“concatenate”,语法格式为“cat [参数] 文件名称”。(-n 参数 在查看文本内容时显示行号)

    [root@linuxprobe ~]# cat -n initial-setup-ks.cfg 
         1	#version=RHEL8
         2	# X Window System configuration information
         3	xconfig  --startxonboot
         4	# License agreement
    
  2. more命令:查看纯文本文件(内容较多的)

  3. head命令:查看纯文本文件的前N行,语法格式为“head [参数] 文件名称”

    [root@linuxprobe ~]# head -n 2 initial-setup-ks.cfg 
    #version=RHEL8
    # X Window System configuration information
    
  4. tail命令:查看纯文本文件的后N行或持续刷新文件的最新内容,语法格式为“tail [参数] 文件名称”

  5. tr命令:替换文本内容中的字符,英文全称为“transform”,语法格式为“tr [原始字符] [目标字符]”

    把文本内容中的英文全部替换为大写

    [root@linuxprobe ~]# cat anaconda-ks.cfg | tr [a-z] [A-Z]
    
  6. wc命令:统计指定文本文件的行数、字数或字节数,英文全称为“word counts”,语法格式为“wc [参数] 文件名称”
    在这里插入图片描述

  7. stat命令:查看文件的具体存储细节和时间等信息,英文全称为“status”,语法格式为“stat文件名称”。
    Linux系统中的文件包含3种时间状态,分别是Access Time(内容最后一次被访问的时间,简称为Atime),Modify Time(内容最后一次被修改的时间,简称为Mtime)以及Change Time(文件属性最后一次被修改的时间,简称为Ctime)。

    [root@linuxprobe ~]# stat anaconda-ks.cfg
      File: anaconda-ks.cfg
      Size: 1407      	Blocks: 8          IO Block: 4096   regular file
    Device: fd00h/64768d	Inode: 35321091    Links: 1
    Access: (0600/-rw-------)  Uid: (    0/    root)   Gid: (    0/    root)
    Context: system_u:object_r:admin_home_t:s0
    Access: 2020-07-21 05:16:52.347279499 +0800
    Modify: 2020-07-21 05:09:16.421009316 +0800
    Change: 2020-07-21 05:09:16.421009316 +0800
     Birth: -
    
  8. grep命令:按行提取文本内容,是最广泛的文本搜索匹配工具
    参数-n:用来显示行号
    参数-v:反向选择–仅列出没有”关键词“的行
    在这里插入图片描述

  9. cut命令:按“列”提取文本内容,语法格式为“cut [参数] 文件名称”

  10. diff命令:用于比较多个文件之间内容的差异,英文全称为“different”,语法格式为“diff [参数] 文件名称A 文件名称B”
    diff --brief命令显示比较后的结果,判断文件是否相同:

    [root@linuxprobe ~]# diff --brief diff_A.txt diff_B.txt
    Files diff_A.txt and diff_B.txt differ
    

    -c参数:描述文件内容具体的不同

    [root@linuxprobe ~]# diff -c diff_A.txt diff_B.txt
    *** diff_A.txt 2020-08-30 18:07:45.230864626 +0800
    --- diff_B.txt 2020-08-30 18:08:52.203860389 +0800
    ***************
    *** 1,5 ****
    ! Welcome to linuxprobe.com
    Red Hat certified
    ! Free Linux Lessons
    Professional guidance
    Linux Course
    --- 1,7 ----
    ! Welcome tooo linuxprobe.com
    !
    Red Hat certified
    ! Free Linux LeSSonS
    ! .....
    Professional guidance
    Linux Course
    
  11. uniq命令:用于去除文本中连续的重复行,英文全称为“unique”

    [root@linuxprobe ~]# uniq uniq.txt 
    
  12. sort命令:用于对文本内容进行再排序
    在这里插入图片描述

    [root@linuxprobe ~]# sort -u sort.txt 
    Free Linux Lessons
    Linux Course
    Red Hat certified
    Welcome to linuxprobe.com
    

文件目录管理命令

touch、mkdir、cp、mv、rm、dd、file、tar

  1. touch命令:用于创建空白文件或设置文件的时间,语法格式为“touch [参数] 文件名称”
    在这里插入图片描述

    [root@linuxprobe ~]# touch -d "2020-05-04 15:44" anaconda-ks.cfg 
    [root@linuxprobe ~]# ls -l anaconda-ks.cfg 
    -rw-------. 1 root root 1260 May  4 15:44 anaconda-ks.cfg
    
  2. mkdir命令:用于创建空白的目录,英文全称为“make directory”
    创建单个空白目录

    [root@linuxprobe ~]# mkdir linuxprobe
    [root@linuxprobe ~]# cd linuxprobe
    

    结合-p参数来递归创建出具有嵌套层叠关系的文件目录

    [root@linuxprobe linuxprobe]# mkdir -p a/b/c/d/e
    
  3. cp命令:用于复制文件或目录,英文全称为“copy”,语法格式为“cp [参数] 源文件名称 目标文件名称”
    在这里插入图片描述

  4. mv命令:用于剪切或重命名文件,英文全称为“move”

  5. rm命令:用于删除文件或目录,英文全称为“remove”
    在这里插入图片描述

  6. dd命令:用于按照指定大小和个数的数据块来复制文件或转换文件,语法格式为“dd if=参数值of=参数值count=参数值bs=参数值”
    在这里插入图片描述

  7. file命令:用于查看文件的类型

  8. tar命令:用于对文件进行打包压缩或解压

二、管道符、重定向与环境变量

输入输出重定向

输入重定向:将文件作为命令的标准输入
输出重定向:把原本要输出到屏幕的数据信息写入到指定文件中
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
标准输出重定向和错误输出重定向的区别:
标准输出可将原本要输出到屏幕的信息写入到文件中,而错误的输出重定向则依然把信息输出到了屏幕上

[root@linuxprobe ~]# ls -l linuxprobe > /root/stderr.txt 
[root@linuxprobe ~]# ls -l linuxprobe 2> /root/stderr.txt 
-rw-r--r--. 1 root root 0 Mar  1 13:30 linuxprobe

管道命令符

作用:把前一个命令原本要输出到屏幕的信息当作后一个命令的标准输入

例:
把grep搜索命令的输出值传递给wc统计命令,即把原本要输出到屏幕的用户信息列表再交给wc命令作进一步的加工,因此只需要把管道符放到两条命令之间即可

[root@linuxprobe ~]# grep /sbin/nologin /etc/passwd | wc -l
40

命令行的通配符

在这里插入图片描述
例:
搜索/etc/目录中所有以.conf结尾的配置文件有哪些:

[root@linuxprobe ~]# ls -l /etc/*.conf
-rw-r--r--. 1 root root 55 Feb 1 2019 /etc/asound.conf
-rw-r--r--. 1 root root 25696 Dec 12 2018 /etc/brltty.conf
-rw-r--r--. 1 root root 1083 Apr 4 2018 /etc/chrony.conf
-rw-r--r--. 1 root root 1174 Aug 12 2018 /etc/dleyna-server-service.conf
-rw-r--r--. 1 root dnsmasq 26843 Aug 12 2018 /etc/dnsmasq.conf
-rw-r--r--. 1 root root 117 Jan 16 2019 /etc/dracut.conf
-rw-r--r--. 1 root root 20 Aug 12 2018 /etc/fprintd.conf
-rw-r--r--. 1 root root 38 Nov 16 2018 /etc/fuse.conf

常用的转义字符

在这里插入图片描述
例:
我们先定义一个名为PRICE的变量并赋值为5,然后输出以双引号括起来的字符串与变量信息:

[root@linuxprobe ~]# PRICE=5
[root@linuxprobe ~]# echo "Price is $PRICE"
Price is 5

希望能够输出“Price is $5”

[root@linuxprobe ~]# echo "Price is \$$PRICE"
Price is $5

重要的环境变量

命令在Linux中的执行分为4个步骤:
第1步:判断用户是否以绝对路径或相对路径的方式输入命令(如/bin/ls),如果是绝对路径则直接执行,否则进入第2步继续判断。

第2步:Linux系统检查用户输入的命令是否为“别名命令”,即用一个自定义的命令名称来替换原本的命令名称。
可以用alias命令来创建一个属于自己的命令别名,语法格式为“alias别名=命令”。若要取消一个命令别名,则是用unalias命令,语法格式为“unalias别名”。

第3步:Bash解释器判断用户输入的是内部命令还是外部命令。内部命令是解释器内部的指令,会被直接执行;而用户在绝大部分时间输入的是外部命令,这些命令交由步骤4继续处理。可以使用“type命令名称”来判断用户输入的命令是内部命令还是外部命令:

[root@linuxprobe ~]# type echo
echo is a shell builtin
[root@linuxprobe ~]# type uptime
uptime is /usr/bin/uptime

第4步:系统在多个路径中查找用户输入的命令文件,而定义这些路径的变量叫作PATH,可以简单地把它理解成是“解释器的小助手”,作用是告诉Bash解释器待执行的命令可能存放的位置,然后Bash解释器就会乖乖地在这些位置中逐个查找。

[root@linuxprobe ~]# echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/root/bin

在这里插入图片描述

三、Vim编辑器与Shell脚本

vim文本编辑器

命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。

输入模式:正常的文本录入。

末行模式:保存或退出文档,以及设置编辑环境。

四、遇到的问题

Linux中vim命令无法执行?

参考https://blog.csdn.net/weixin_45636641/article/details/108267025
将vim安装包下载一下

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值