Linux基础命令(待更新)

一、什么是命令?

​ 用来实现某一功能的指令或程序,在Linux中,命令的执行依赖于解释器shell,shell和咱们敲的这些命令都是一样的,都是运行在linux内核之上的应用程序,在内核的眼里都是内核要调度执行的进程。这些进程在运行之前,都是一个一个的可执行文件。只是shell是在linux启动之后就会由init进程自动加载执行的。他也对应着一个可执行文件。可以通过查看/etc/passwd文件中每条记录的最后一个字段查看每个用户在启动后执行的shell可执行文件路径,也可以通过SHELL环境变量查看当前启动的shell。echo $SHELL

我们在命令行下敲命令的时候,shell会根据用户敲的命令名字,在环境变量PATH指定的路径下寻找和命令名字匹配的一个可执行文件,找到后shell会创建一个子进程,在子进程中加载并执行该可执行文件。所以我们平时敲的大部分命令都是一个已经存在的可执行文件,那么这个可执行文件放在哪里呢,通过whereis就可以看到命令所对应的可执行文件的路径了,例如要看看ls这个命令在哪里,就执行 whereis ls就可以看到ls的路径了。如果你把这个文件删掉,那么shell就会告诉你找不到这条命令。咱们平时敲的命令主要分为两种,一种是以可执行文件存在的外部命令,一种是没有可执行文件的内置命令。这里的外部和内置是从shell的角度说的。那么怎么判断一条命令是shell内置命令还是外部命令呢,用type查看就可以了,比如查看cd,在命令行下敲type cd,shell的输出是cd is a shell builtin,那么cd就是一条shell内置命令。

二、命令的一般格式

命令 [选项] 参数1 参数2…

  • 选项又分长选项和短选项,有些选项还带参数
  • 参数1 参数2 是命令的参数,不是选项的参数
  • 有些命令或二进制程序还带有子命令
  1. 在选项部分,有时候是-,有时候是--,-是短选项,就是短小参数,通常包含一个连字号和一个大小写字母,如-s -h 等,--就是长选项,就是包含两个连字号和一些大小写字母组成,如--size,--help等。

  2. 因为选项可以合并,如-sh,为了区分sh是一个选项还是两个选项s和h的组合。对于组合用单连字符-,如果是单一选项sh则要用双连字符--。如--sh表明sh是单一的选项,不是s和h的组合。

  3. 一个命令中可能存在二者可以相互替换的长选项与短选项,如-a--append

  4. 选项前面除了有-和--外,还可以有+,例如date +%Y/%m/%d

  5. 对于一些命令,单双字符规则并不适用,例如find -name -fstype

三、查看及切换目录

ls —— 用途:查看目录和文件属性及目录下内容
	格式:ls  [选项]  目录或文件名…
	[root@rhel8 opt]# ls -l /etc/passwd
	-rw-r--r--. 1 root root 1080 3月  24 18:50 /etc/passwd
常用选项:
 	-l	以长格式显示目录下的内容列表及详细属性。
    -d	仅显示目录本身,而不显示目录下的内容列表
    -t	用文件和目录的更改时间排序
    -a	显示所有目录文件,包括隐藏的内容
    -h	人性化显示目录下内容的大小(kB、MB、GB)
    -R	递归查看目录下所有内容

四、查看文件内容

查看文件内容
	cat —— 用途:查看文本文件内容
命令行一般格式:cat  选项   文件…
	[root@rhel8 ~]# cat -n /etc/profile
	[root@rhel8 ~]# cat -b /etc/profile

常用选项
 	-n	查看时以行号的形式显示文件内容
 	-b	查看时以行号的形式显示文件内容,对空行不编号

五、查看系统及内核版本

查看红帽系统版本信息
[root@rhel8 ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux release 8.0 (Ootpa)


查看内核版本信息
[root@rhel8 ~]# uname -r
4.18.0-80.el8.x86_64

六、查看CPU信息

Architecture:        x86_64				# 架构 32位处理器/64位处理器
CPU op-mode(s):      32-bit, 64-bit     # CPU 运行模式
Byte Order:          Little Endian      # 字节序:小端法
CPU(s):              2                  # CPU 数量
On-line CPU(s) list: 0,1                # 在线的cpu数量 有些时候为了省电或者过热,某些CPU会停止运行
Thread(s) per core:  2                  # 每个核心的线程数
Core(s) per socket:  1                  # 每个插槽上有几个核心
Socket(s):           1                  # #服务器面板上cpu槽位数量
NUMA node(s):        1                  # NUMA数量
Vendor ID:           GenuineIntel       # 厂商 ID
CPU family:          6                  # CPU 系列
Model:               85                 # 型号
Model name:          Intel(R) Xeon(R) Platinum 8269CY CPU @ 2.50GHz # 型号名称
Stepping:            7                  # 步进
CPU MHz:             2500.002
BogoMIPS:            5000.00
Hypervisor vendor:   KVM  				# 超管理器厂商
Virtualization type: full 				# 虚拟化类型
L1d cache:           32K				# L1d 缓存
L1i cache:           32K         		# L1i 缓存
L2 cache:            1024K         		# L2 缓存
L3 cache:            36608K             # L3 缓存
NUMA node0 CPU(s):   0,1                # NUMA 节点0 CPU
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves arat avx512_vnni

七、查看内存大小及空闲情况

[root@rhel8 ~]# free –h	或	[root@rhel8 ~]# cat /proc/meminfo   内存中的文件
              total        used        free      shared  buff/cache   available
Mem:          1.8Gi       659Mi       644Mi       9.0Mi       502Mi       981Mi
Swap:         2.0Gi          0B       2.0Gi

ls /proc/meminfo  -l
-r--r--r--. 1 root root 0 12月 23 11:44 /proc/meminfo   表示不占用磁盘空间

八、查看主机名及网卡信息

查看主机名
[root@rhel8 ~]# hostname
rhel8
查看网卡信息
[root@rhel8 ~]# ifconfig

九、创建目录

创建目录格式
mkdir 命令格式 mkdir 【选项】【目录名】
命令选项:
    -p	递归创建多个目录
    -m	创建目录时并设置目录权限
    [root@rhel8 ~]# mkdir /test/

    [root@rhel8 ~]# mkdir -p /test/t1/t2/t3/
    [root@rhel8 ~]# ls -R /test/

    [root@rhel8 ~]# mkdir -m ugo=rwx /xxoo/
    [root@rhel8 ~]# ls -ld /xxoo/
    drwxrwxrwx. 2 root root 6 3月  24 22:35 /xxoo/

十、创建文件

创建文件格式
touch  用途:新建空白文件
格式1:touch	[目录]文件名
    [root@rhel8 ~]# touch /test/test.txt
    [root@rhel8 ~]# ls /test/
    t1  test.txt
    格式2:touch  文件名
    [root@rhel8 ~]# touch 1.txt
    [root@rhel8 ~]# ls 
    1.txt  anaconda-ks.cfg

十一、less分屏阅读工具

less 工具是对文件或其它输出进行分页显示的工具,常用于查看内容量较大的文件
命令格式:
less [参数]  文件
命令常用参数:-N  显示每行的行号
[root@rhel8 test]# less -N /var/log/messages
查看选项参数
键盘上下键逐行查看
/字符串:从上向下搜索“字符串”的功能,配合n、N使用
?字符串:从下向上搜索“字符串”的功能,配合n、N使用
pgdn   		向下翻动一页
pgup	 	向上翻动一页
q			退出

十二、head与tail

head命令
head 用来显示文件的开头至标准输出中,默认head命令打印其相应文件的开头10行
常用参数
-n<行数> 指定显示的行数
[root@rhel8 ]# head   -n 2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin

tail命令 
tail 	 用来显示文件的末尾至标准输出中,默认tail命令打印其相应文件的末尾10行
常用参数
-n<行数>  显示的行数
-f	     动态显示
[root@rhel8 ~]# tail  -n 2 -f /var/log/messages 
Mar 25 00:11:21 Chinese dnf[17239]: 
Mar 25 00:11:21 Chinese systemd[1]: Started dnf makecache

十三、grep文件过滤工具

grep命令
 Linux系统中grep命令是一种强大的文本搜索工具,它能利用正则表达式搜索文本,并把匹配的行打印出来,用于查找文件里符合条件的字符串。   
命令格式:grep  [选项]  “查找条件”  目标文件
常用选项
-v 	显示不包含匹配文本的所有行
-i 	忽略字符大小写的差别
-n	标示出该行的列数编号
[root@rhel8 bin]# grep "root" /etc/passwd
[root@rhel8 bin]# grep -n "root" /etc/passwd
[root@rhel8 bin]# grep -i "ROOT" /etc/passwd
[root@rhel8 bin]# grep -v "root" /etc/passwd

十四、关机和重启

linux下常用的关机命令有:
shutdown( 安全的将系统关机   root用户使用)、
	shutdown命令安全地将系统关机。 有些用户会使用直接断掉电源的方式来关闭linux,这是十分危险的。因为linux与windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失﹐使系统处于不稳定的状态﹐甚至在有的系统中会损坏硬件设备。
	而在系统关机前使用shutdown命令﹐系统管理员会通知所有登录的用户系统将要关闭。并且login指令会被冻结﹐即新的用户不能再登录。
  shutdown执行它的工作是送信号〔signal〕给init程序﹐要求它改变runlevel。Runlevel 0被用来停机〔halt〕﹐runlevel 6是用来重新激活〔reboot〕系统﹐而runlevel 1则是被用来让系统进入管理工作可以进行的状态﹔这是预设的﹐假定没有-h也没有-r参数给shutdown。要想了解在停机〔halt〕或者重新开机〔reboot〕过程中做了哪些动作﹐你可以在这个文件/etc/inittab里看到这些runlevels相关的资料。
halt(shutdown  –h)、
	 其实halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。
poweroff、
	poweroff 发送指示系统断电的ACPI信号。
	poweroff 指令也是类似的状态,它也允许你不管系统的状态,直接把电脑的电源切断
init
	init是所有进程的祖先﹐它的进程号始终为1﹐所以发送TERM信号给init会终止所有的用户进程﹑守护进程等。shutdown 就是使用这种机制



1、halt		 立刻关机
	halt 其实跟 shutdown 沒多大分別,只不过 shutdown 在关机时会把系统的服务都关闭之后,才关闭电脑,而 halt 指令则允许不管系统的状态怎么样,直接停止电脑的运作
2、poweroff	 立刻关机  
	
3、shutdown  –h  now   立刻关机    
4、shutdown -c   	  取消关机操作  
5.、shutdown  -h 10    10分钟后自动关机
重启命令:reboot   shutdown
1、reboot			    立刻重启	
2、shutdown  -r  now     立刻重启
3、shutdown  -r  10	    过十分钟后重启

在执行关机之前,执行一下sync命令。
sync   将磁盘缓冲区的数据同步到硬盘中,以免数据丢失。在关机重启前都要执行。

十五、mount挂载

  • 什么是挂载?

将镜像、光盘、分区等设备以挂载的方式存放在某个 目录下,可以通过命令访问该目录来操作这些设备

命令格式:mount 设备路径 挂载点目录 划分分区 格式化 ntfs 盘符

[root@localhost ~]# mount /dev/cdrom /mnt
mount: /mnt: WARNING: device write-protected,
mounted read-only.
[root@localhost ~]# ll /mnt
总用量 48
dr-xr-xr-x 4 root root  2048 4月   4 2019
AppStream  
dr-xr-xr-x 4 root root  2048 4月   4 2019
BaseOS
dr-xr-xr-x 3 root root  2048 4月   4 2019 EFI
-r--r--r-- 1 root root  8266 3月   1 2019 EULA
-r--r--r-- 1 root root  1455 4月   4 2019
extra_files.json
-r--r--r-- 1 root root 18092 3月   1 2019 GPL
dr-xr-xr-x 3 root root  2048 4月   4 2019
images
dr-xr-xr-x 2 root root  2048 4月   4 2019
isolinux
-r--r--r-- 1 root root   103 4月   4 2019
media.repo
-r--r--r-- 1 root root  1669 3月   1 2019 RPMGPG-KEY-redhat-beta
-r--r--r-- 1 root root  5134 3月   1 2019 RPMGPG-KEY-redhat-release
-r--r--r-- 1 root root  1796 4月   4 2019
TRANS.TBL
  • umount 卸载

卸载以挂载的设备
命令格式:umount 挂载点目录

[root@localhost ~]# umount /mnt
[root@localhost ~]# ll /mnt
总用量 0
drwxr-xr-x. 2 root root 6 12月 18 20:59 hgfs

如有错误,还请斧正!

posted @ 2020-12-25 11:20  予之路  阅读(33)  评论(0编辑  收藏  举报