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命令行的过程中,选项和参数的称谓经常混淆,甚至前后顺序也允许颠倒,但一般不会影响命令的执行效果,所以很多时候并不做严格区分
- 点赞
- 收藏
- 关注作者
评论(0)