Linux系统配置(基本命令)

简介: 命令分类、内部命令、外部命令、命令格式、命令帮助、基本命令操作、查看及切换目录、创建目录和文件、复制、删除、移动、查找目录和文件

前言

     在Linux操作系统中,凡是在字符操作界面中输入的能够完成特定操作和任务的字符串都可以称为命令,严格来说,命令通常只代表了实现某一类功能的指令或程序的名称

一、命令概述

1、命令分类

     Linux命令的执行必须依赖于Shell命令解释器.,Shell实际上是在Linux操作系统中运行的一种特殊程序,它位于操作系统内核与用户之间,负责接收用户输入的命令并进行解释,将需要执行的操作传递给系统内核执行,Shell在用户和内核之间充当了翻译官的角色,当用户登录到Linux系统时,会自动加载一个Shell程序,以便给用户提供可以输入命令的操作系统,Bash是Linux操作系统中默认使用的Shell程序,文件位于/bin/bash,根据Linux命令与Shell程序的关系, Linux命令一般分为两种类型

(1)内部命令

     内部命令是指集成于Shell解释器程序(如Bash)内部的一些特殊指令,也称为内建(Built-in)指令,内部命令属于Shell的一部分,所以没有单独对应的系统文件,只要Shell解释器被运行,内部指令也就自动载入内存了,用户可以直接使用,内部命令无须从硬盘中重新读取文件,因此执行效率较高

(2)外部命令

     外部命令是指Linux操作系统中能够完成特定功能的脚本文件或二进制程序,每个外部命令对应系统中的一个文件,是属于Shell解释器程序之外的命令,所以称为外部命令.,Linux操作系统必须知道外部命令对应的文件位置,才能够由Shell加载并执行,Linux操作系统默认会将存放外部命令、程序的目录(如/bin、/usr/bin、/usr/local/bin等)添加到用户的搜索路径中,当使用位于这些目录中的外部命令时,用户不需要指定具体的位置,因此在大多数情况下,不用刻意去分辨内部命令和外部命令,其使用方法是基本类似的

2、命令格式

     在使用内部命令或外部命令时,参照一个通用的命令行使用格式,可方便理解Linux命令的作用和工作方式,通用的命令行使用格式如下

命令字 [选项] [参数]

     其中,命令字、选项、参数之间用空格分开,多余的空格将被忽略,[]括起来的部分表示可以省略,即命令行可以只有命令字,也可以只有命令字、选项,或者只有命令字、参数

(1)命令字

     命令字即命令名称,是整条命令中最关键的一部分,在Linux的字符操作界面中,使用命令字唯一确定一条命令,因此在输入命令时一定要确保输入的命令字正确,并且,在Linux的命令环境中无论是命令名还是文件名,对英文字符的处理是区分大小写的,操作时需要细心

(2)选项

     选项的作用是调节命令的具体功能,决定这条命令如何执行,同一个命令字配合不同的选项使用时,可以获得相似但具有细微差别的功能,命令使用的选项有如下一些特性

  • 不同的命令字能够使用的选项也会不同(选项的个数和内容)
  • 选项的数量可以是多个,也可以省略,同时使用多个选项时,选项之间使用空格分隔,若不使用选项,将执行命令字的默认功能
  • 使用单个字符的选项时,一般在选项前使用"-"符号(半角的减号符)引导,称为短格式选项,多个单字符选项可以组合在一起使用,如“-al”等同于“-a -l”
  • 使用多个字符的选项时,一般在选项前使用“--”符号(两个半角的减号符)引导,称为长格式选项,如 “--help”
  • 有些命令字对于同一功能会同时提供长、短两种格式的选项,长格式的选项意义明确,容易记忆,而短格式的选项结构简单、输入快捷,两种格式可以混用 

(3)参数

     命令参数是命令字的处理对象,通常情况下命令参数可以是文件名、目录(路径)名或用户名等内容

3、命令帮助

help 内部命令 查看某个内部命令的帮助信息
外部命令 --help 查看某个外部命令的帮助信息
man 命令 查看某个命令的帮助手册
命令1 | 命令2 将命令1结果运行命令2
命令1&& 命令2 命令1和命令2同时运行
命令>文件位置 命令输出结果保存到指定位置的某个文件{覆盖}
命令>>文件位置 命令输出结果保存到指定位置的某个文件{追加}

     例:
     history | col -b > history.txt        将历史记录保存至history.txt

二、基本命令操作

1、查看及切换目录

(1)pwd

[root@host ~]# pwd 查看当前工作目录
/root

(2)cd

cd 文件夹位置 切换到某个文件目录
cd 当前路径下的文件夹 进入当前路径下的某文件夹
cd / 回到根目录
cd ~或cd 回到当前用户的主目录
cd .. 回到上级目录
cd - 回到上次命令所处的目录

(3)ls

ll 显示当前文件夹下所有文件和文件夹(ll等同于ls -l,做了关联,用alias可查看)
ll -a 显示当前文件夹下所有文件和文件夹(包含隐藏文件)
ls -a 显示所有文件,包含隐藏文件
ls -A 显示所有文件,包含隐藏文件,但不包含.和..
ls -l 显示为long format(长格式),列出文件的类型、权限、所有者、组群、大小、创建日期、文件是否是到系统其它地方的链接,以及链接的指向
ls -L 显示链接文件的具体位置(软硬链接)
ls -R 递归显示文件夹下的每个层次的文件夹及文件
ls -d 不展开目录,只显示目录自身,一般与-l配合使用{-ld}以显示目录自身的属性信息(只显示当前目录的内容)
ls -S 以文件大小排序显示,默认从大到小 -r后,从小到大
ls -U 按存放顺序排序显示
ls -X 按扩展名的首字母来排序
ls -t 按数据修改时间 排序(先显示时间最近的)
ls -ul 按访问时间排序(先显示时间最近的)
ls -h 显示文件大小单位需结合-l使用

     常用

     ls -ld                                              只显示当前目录详细属性,不显示目录下内容

     ls -lh 文件路径1 文件路径2           同时查看两个文件信息


     查看/etc/passwd.txt信息

     ls -lh /etc/passw?.txt                      ?代表一个未知字符

     ls -lh /etc/pa*.txt                               *代表多个未知字符

(4)du

     du命令用于显示指定文件(夹)在磁盘中所占的空间信息

du -a 显示所有文件大小包括目录
du -h 以Kb,Mb,Gb为单位,提高信息的可读性
du -s 仅显示总计大小而不是每个文件大小

     常用


     du -sh 文件夹位置         统计一个文件内所有文件共占用总空间大小
     du -sh *                         统计当前目录下每个目录文件夹占用空间大小
     du -ah 文件夹位置        统计文件夹下所有每个文件大小及文件夹总大小

2、创建目录和文件

(1)mkdir

     创建目录

mkdir 文件夹名称 创建文件夹
mkdir -p 文件夹1/文件夹2/文件夹3 创建嵌套的多个文件夹
mkdir {1.2.3.4.5} 创建多个目录

(2)touch

     创建文件

touch 创建文件
touch {1.2.3.4.5}.txt 创建多个文件

(3)ln

     创建链接

ln 源文件或目录 链接文件或链接目录 创建硬链接{源文件删除后链接仍有效}
ln -s 源文件或目录 链接文件或链接目 创建软连接{源文件删除后链接失效}

3、复制、删除、移动

(1)cp

     复制

cp -a 此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容
cp -f 覆盖已经存在的目标文件而不给出提示
cp -i 与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖
cp -p 复制时属性,修改时间,权限,所属用户等不会改变
cp -r 复制目录时必须要输入此选项,复制该目录下所有的子目录和文件
cp -l 不复制文件,只是生成链接文件{硬链接}

(2)rm

     删除

rm -i 删除前逐一询问确认
rm -f 即使原文件属性设为只读,亦强制删除,无需逐一确认
rm -r 将目录及其目录下的文件逐一删除

(3)mv

     移动

mv -f 如果目标文件已经存在,不会询问而直接覆盖
mv -i 若目标文件已经存在时,就会询问是否覆盖

     常用

     mv 文件名1或文件夹名1 文件夹位置                 将文件1或文件夹1移动到某个文件夹
     mv 文件名1或文件夹名1 文件2或文件夹2         将文件1或文件夹1重命名为文件2或文件夹2

4、查找目录和文件

(1)which

     which用于查找命令文件所在位置,其搜索范围可用“echo $PATH”命令查看

which 命令名 查找命令,找到第一个后不再查找
which -a 命令名 查找所有符合名字的命令

(2)find

     文件类型
     d: 目录
     c: 字型设备文件
     b: 区块设备文件
     f: 一般文件

find 目录位置 -name "文件名" 查找某个文件夹下某个文件

     例:

     find . -name "*.c"                  查找出当前目录及其子目录下所有文件后缀为 .c 的文件

find 目录位置 -type 文件类型 查找某个文件夹下某个类型的文件
find . -type f 查找出当前目录及子目录中所有一般文件

     -a:且{两者都要满足},-o:或者{两者满足其一}

find 目录位置 -size +或-文件大小{kB,MB,GB} -a -name "文件名字1" 查找某个目录下名为1且大于或小于某个数值的文件
find 目录位置 -size +或-文件大小{kB,MB,GB} -o -name "文件名字1" 查找某个目录下名为1或大于或小于某个数值的文件

     常用

find /var/log -type f -mtime +7 -ok rm {} \; 查找 /var/log 目录中更改时间在7日以前的普通文件,并在删除之前询问它们
find / -type f -size +1024 -exec ls -l {} \; 查找系统中所有文件长度大于1024kb的普通文件,并列出它们的完整路径
find /home -name “*.log” -mtime +3 exec rm -rf {} \; 查找home目录3天以前的日志文件并删除

结语

     在实际使用Linux命令行的过程中,选项和参数的称谓经常混淆,甚至前后顺序也允许颠倒,但一般不会影响命令的执行效果,所以很多时候并不做严格区分

相关文章
|
24天前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
53 8
|
24天前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
150 6
|
25天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
65 3
|
25天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
62 2
|
6天前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
32 14
Linux 10 个“who”命令示例
|
15天前
|
Linux 数据库
Linux中第一次使用locate命令报错?????
在Linux CentOS7系统中,使用`locate`命令时出现“command not found”错误,原因是缺少`mlocate`包。解决方法是通过`yum install mlocate -y`或`apt-get install mlocate`安装该包,并执行`updatedb`更新数据库以解决后续的“can not stat”错误。
30 9
|
1月前
|
缓存 监控 Linux
|
14天前
|
监控 网络协议 Linux
Linux netstat 命令详解
Linux netstat 命令详解
|
20天前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
63 3
|
24天前
|
存储 运维 Linux
如何在 Linux 系统中使用 envsubst 命令替换环境变量?
`envsubst` 是 Linux 系统中用于替换文本中环境变量值的实用工具。本文分三部分介绍其工作原理、使用方法及实际应用,包括配置文件替换、脚本执行中环境变量替换和动态生成文件等场景,帮助用户高效利用 `envsubst` 进行开发和运维工作。
40 4