工作中Linux常用命令
1、Shell
什么是Shell?shell 本质上是 linux 命令,是Linux系统中运行的一种特殊程序,一条一条命令组合在一起,实现某一个目的,就变成了shell脚本。
Shell作用于用户和内核之间,简单的说,用户输入命令后,shell向系统解释该命令,然后处理操作系统的输出结果、,所以shell可以理解为,用户与操作系统之间的命令解释器。
注:bash是Linux系统中默认使用的shell程序,Shell程序存放在/bin/bash中。
2、Linux系统命令分类
Linux命令分为内部命令和外部命令。
内部命令与 外部命令的区别
|
|
---|---|
集成于Shell解释器程序内部的特殊指令,也称作内奸(Built-in)指令 | Linux系统中能够完成特定功能的脚本文件或者二进制程序 |
属于Shell的一部分 | 属于shell外的命令 |
没有单独对应的系统文件 | 每个外包命令对应了系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道器对应的文件位置,由shell加载后,送入内存后才执行 |
3、Linux命令行格式
通用的命令行使用格式
命令字 [选项,例如:-a --help等] [参数,例如:路径、目录和文件名等]
3.1 选项
短格式选项:使用“-”符号引导,例如:ls命令的-h -l等
长格式选项:使用“–”符号引导,例如:–help
3.2 参数
命令字的处理对象,可以是文件名、目录(路径)或者用户名等内容,接在命令后面的参数可以是零到多个。
4、Linux命令辅助/快捷键
Tab:连续两个tab自动补全唯一命令或者提示可能命令
反斜杠\:强制换行
Crtl+u:清空至行首
Crtl+k:清空至行尾
Crtl+l:清屏=clear
Crtl+c:取消本次命令编辑
4.1 Linux在线求助
help
help可以获取简要的帮助信息,help根据不同类型的命令有两种不同的用法
内部命令使用help格式 help 命令字
外部命令使用help格式 命令字 --help
注如何区分内部命令和外部命令:
type 命令字
例:
man
man 命令字,man是manual(操作说明)的简写,详细解释改命令字
5、常用命令
命令行提示符
[root@localhost ~]# // [当前登陆系统的用户@主机名 当前所在的目录]
#表示为管理员登录
$表示为普通用户登录
5.1主机名 hostname
查看当前主机的完整名称
hostname
临时设置主机名
hostname 主机名
永久设置主机名
hostnamectl set-hostname 主机名
//注:设置完用户名后,需要刷新环境,使用 su/bash
vi /etc/hostname 修改文件中文件名后并保存,重启电脑后,主机名才能更新。
切换用户
su 用户 //切换后所在目录不变
su - 用户 //切换后所在目录变成用户家目录
//注:高权限用户切换低权限用户不需要输入密码,反之则需要
查看当前系统版本信息
cat /etc/redhat-release
cat /etc/*release
查看当前内核版本
uname -r
5.2 查看当前的绝对路径 pwd
在Linux层次结构中,想要知道当前所处的目录,可以用pwd命令,该命令显示整个路径名。
pwd
5.3 设置别名 alias
alias 命令别名=命令
删除别名 unalias 别名
例:
5.4 切换工作目录 cd
cd 目标位置 //切换到目标位置
cd ~ //切换到当前用户的宿主主目录
cd - //切换到上一次执行cd命令之前所在的目录
相对路径:相对路径就是指由这个文件所在的路径引起的跟其它文件(或文件夹)的路径关系。
绝对路径:绝对路径是指目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径。以根/为起始。
相对路径的表现形式
表现形式 | 说明 |
---|---|
直接使用目录名或文件名 | 表示当前工作目录中的子目录、文件的位置 |
以“.”开头 | 表示以当前的工作目录作为起点 |
以“…”开头 | 表示以当前目录的上一级目录(父目录)作为起点 |
以“~用户名”形式开头 | 表示指定用户的宿主目录作为起点 |
5.5 列表显示目录内容 ls
ls 选项 参数
Linux文件或者目录名称最长可以有265个字符,“.”代表当前目录,“…”代表上一级目录,以“.”开头的文件为隐藏文件,需要用 -a 参数才能显示。
-a 显示指定目录下所有子目录与文件,包括隐藏文件
-A 和-a一样,只是不列出当前目录和上一层目录
-l 以列表方式显示文件的详细信息
-h 配合 -l 以人性化的方式显示文件大小
-i 显示inode值
-R 递归显示
-d 将目录名象其它文件一样列出,而不是列出它们的内容。
列出的信息的含义:
文件颜色区别
颜色 | 文件类型 |
---|---|
灰色文件 | 其他文件 |
绿色文件 | 可执行文件 |
黄色文件 | 块设备文件 |
红色文件 | 压缩文件 |
蓝色文件 | 目录/文件夹 |
天蓝色文件 | 链接文件 |
5.6 统计目录及文件空间占用情况 du
du 选项 参数
-a 统计磁盘空间占用时包括所有的文件,而不仅仅之统计目录
-h 以KB显示,不显示单位
-s 统计总占用大小
5.7 创建新目录 mkdir
mkdir [选项]目录位置及名称
-p 当创建目录时,其中有目录是为创建的需要添加该选项
5.8 修改文件的时间戳记 touch
touch可以用来修改文件的打开时间、修改时间以及创建新文件
touch 文件名 创建新文件 //也可以与正则使用创建多个文件或后面跟着多个文件名创建多个新文件
例:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OjD1MknX-1652411365138)(C:\Users\15560\AppData\Roaming\Typora\typora-user-images\image-20220512154720387.png)]
5.9 创建链接文件ln(软链接、硬链接)
链接分两种类型:
硬链接:
ln 源文件或目录 链接文件或目标位置
软链接:
ln -s 源文件或目录 链接文件或目标位置
软链接与硬链接的区别和相同
软链接:
查询过程:软链接指向的是源文件的文件名,然后在从源文件找到对应的inode值,最后找到数据,进行操作。
源文件删除后,软链接失效
源文件or软链接修改后会影响所有文件的内容
源文件与软链接的inode值不一致(软链接的inode值的内容仅指向原文件的文件名)
软链接可对文件或目录进行创建符号链接
硬链接:
查询过程:访问硬链接文件,硬链接文件指向inode值(与源文件相同),再指向数据
删除源文件后硬链接仍有效。
源文件or硬链接文件修改后会影响到所有文件内容
源文件与硬链接文件的inode值相同
硬链接仅能对文件进行创建(对目录不行)
例:
5.10 复制文件或目录 cp
cp 选项 源文件 目标文件
-f 覆盖同名文件或目录不进行提示
-i 覆盖同名文件或目录进行提示
-p 复制时保存源文件的权限、属主及时间标记等
-r 复制目录
注:cp -f 覆盖时还是会有提示,是应为系统给cp设置了别名:cp= cp -i,所以还是有提示,如果想要跳过提示,可以通过删除别名实现。为了防止失误,非必要建议不要跳过提示。
5.11 删除文件或目录 rm
rm 选项 参数
-i 删除文件或目录进行提示
-r 删除目录
-f 删除文件或目录不进行提示
5.12 移动文件或目录 mv
mv 选项 源文件或目录 目标文件或目录
//注如果移动文件在同路径下只是修改了目标文件名可以理解为对源文件的重命名
5.13 查找命令或文件存放目录 which
which 参数
-a 显示所有结果
-v 显示版本信息
which $PATH //显示环境变量
5.14 查找文件或目录 find
find通过递归方式,根据目录的名称、类型、大小等不同属性进行精细查找
格式:find 查找范围(查找文件或子目录的目录位置) 查找条件表达式(查找条件类型)
find可以通过条件来选择查找类型:
-name(按名称查找):根据目标文件的名称进行查找,允许使用“*”和“?”通配符
-size(按文件大小查找):根据目标文件的大小进行查找,一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件
-user(按文件属主查找):根据文件是否属于目标用户进行查找
-type(按文件类型查找):根据文件的类型进行查找,文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)链接(l)等
-group (按文件组名查找):根据文件所在用户组查找
例:
find -name
find -size
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3aTdxAmt-1652411365140)(C:\Users\15560\AppData\Roaming\Typora\typora-user-images\image-20220513102911900.png)]
“-”:小于等于X
“+”:大于X
“X”:大于X-1但小于等于X
find -type
find -user
多条件组合:-a(且逻辑)-o(或逻辑)!(非逻辑)
拓展:
-atime 按访问时间查询
-mtime 文件内容修改时间查询
-ctime 文件属性修改时间查询 // ctime以天为单位、cmin以分钟为单位