Linux常用基本命令操作

目录

一、认识shell

1、什么是shell

2、命令的本质

3、内部命令和外部命令

4、hash缓存

5、命令执行的过程

6、如果打了一个命令,提示该命令不存在

7、命令提示符

8、Linux系统文件夹

二、Linux常用命令

1、通用Linux命令行格式

2、编辑Linux命令行的辅助操作

3、获得命令帮助

3.1内部命令:help

3.2外部命令:--help

3.3man(常见)

4、Linux七大文件属性

5、目录操作

5.1 pwd

5.2 cd

5.3 ls

5.3.1具体文件格式

 5.3.2通配符

5.3.3设置别名-alias

5.4 du

5.5mkdir

 6、文件操作

6.1 touch

6.2建立软硬链接文件

6.2.1硬链接介绍

6.2.2建立硬链接的通式

​6.2.3软链接介绍

6.2.4建立软链接的通式

​6.2.5软硬链接的区别

6.3 cp

6.4 mv

​6.5 rm

6.6 shred

7、查找文件

7.1 which或whereis

7.2 locate

​7.3 find

7.4 find和locate优缺点对比


一、认识shell

1、什么是shell

  • Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁
  • Shell 既是一种命令语言,又是一种程序设计语言
  • Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务
  • 在用户和内核之间充当“翻译官”
  • 用户登录Linux系统时,自动加载一个Shell程序
  • Bash是Linux系统中默认使用的Shell程序,位于/bin/bash

Linux常用基本命令操作_第1张图片

2、命令的本质

其实就是一个程序,一串代码。而用一个程序得先安装这个程序

ls命令由代码构成,执行的任务是显示当前文件夹中的所有文件=程序

3、内部命令和外部命令

shell 分为内部命令和外部命令,一般先执行内部命令,hash 再执行外部命令

内部命令 外部命令
集成于Shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令 Linux系统中能够完成特定功能的脚本文件或二进制程序
属于Shell的一部分 属于Shell解释器程序之外的命令
没有单独对应的系统文件 每个外部命令对应了系统中的一个文件
自动载入内存,可以直接使用 必须知道其对应的文件位置,由Shell加载后才能执行
  • help命令可以查看内部命令

Linux常用基本命令操作_第2张图片

  •  type 命令区分内部和外部命令

Linux常用基本命令操作_第3张图片

  • whereis 查找命令具体的位置所在

  • 开启或关闭内部命令

关闭:enable -n         内部命令

开启:enable             内部命令

Linux常用基本命令操作_第4张图片

4、hash缓存

外部命令使用过后会被记录在内存(缓存,但是会占用内存,临时性的),可以加快读取速度。

如果将缓存的外部命令移到其他默认的目录中,无法再次使用,需要清掉hash值之后 ,才可以继续使用

Linux常用基本命令操作_第5张图片

hash -d             //单独删除缓存里某个的命令

hash -r             //清空hash命令缓存

5、命令执行的过程

①首先判断是内部还是外部命令,如果是内部命令直接执行

②如果是外部命令,先看缓存空间是否有该外部命令,如果有按照hash缓存空间中的位置执行,如果缓存位置中没有直接报错

③如果是第一次执行外部命令,去看系统中规定的那五个特殊文件夹中是否有,有就直接执行,没有报错命令不存在

6、如果打了一个命令,提示该命令不存在

①该命令输写错误

②命令没有安装到Linux系统中

③命令不在规定的路径下

④运行过该命令,但是命令所在的位置发生了改变

7、命令提示符

#表示root用户登录

$表示的是普通用户

su - 用户名          //切换用户

命令提示符解析:

Linux常用基本命令操作_第6张图片

8、Linux系统文件夹

Linux常用基本命令操作_第7张图片

二、Linux常用命令

1、通用Linux命令行格式

命令字    空格     [选项]    空格    [对象]

 注:

命令字:

  • 是整条命令中最关键的一部分
  • 唯一确定一条命令

选项:

  • 短格式选项:使用“-”符号引导,- 字母
  • 长格式选项:使用 “--”符号引导,-- 单词

对象:

  • 命令字处理的对象
  • 不写默认当前文件或文件夹 

“;”号:可以在一行中隔开命令,执行多个命令

2、编辑Linux命令行的辅助操作

快捷键 功能
Tab 键 自动补齐(两次可以显示所有选项)
反斜杠“\” 强制换行或转义
Ctrl+e 或 end 键 光标移到最后
Ctrl+U 清空至行首不包括当前光标处的字符
Ctrl+K 清空至行尾包括当前光标处的字符
Ctrl+a 光标移到最前
Ctrl+w 从当前光标删除到开头
ALT+d 从当前光标删除末尾
Ctrl+l 清屏
Ctrl+c 取消本次命令编辑
Ctrl+s/Ctrl+q 锁屏/解锁
向上下箭头 回看执行过的命令

3、获得命令帮助

3.1内部命令:help

格式说明(扩展)

  • [ ]表示可选项
  • CAPS或< >表示可变化的数据

  • ...表示一个列表可加多个一个或多个

  • x|y|z 表示或的意思

  • -abc 是-a -b -c (有些命令选项有先后顺序) 多个 -abc 一般而言是没有顺序先后 (绝大多数是没有的,只有少数分先后

3.2外部命令:--help

[root@localhost ~]# ls --help
[root@localhost dev]# useradd --help

Linux常用基本命令操作_第8张图片

3.3man(常见)

man 1(可省略)  命令                      //显示命令的用法

man 5 passwd                               //查看passwd文件的格式

man界面中如何查看?

  • “↑”、“↓”键按行移动查看
  • 空格键翻页
  • q键表示退出
  • / 关键字:查找关键字,找到以后n键向下匹配,N键向上匹配

4、Linux七大文件属性

字符 说明
- 普通文件文本文件,包括纯文本文件、二进制文件、各种压缩文件等
c 字符设备文件,一次只能录入一个字符,比如键盘
b 块设备文件,保存大块数据的设备,硬盘读写文件时是一整块一整块的读和写,比如最常见的硬盘
s 套接字文件,根据ip和端口号传递信息,一般隐藏在 /var/run/ 目录下,用于进程间的网络通信
p 管道文件,主要用于进程间通信单向传输 (|  表示管道)
l 符号软连接快捷方式
d 目录文件

5、目录操作

5.1 pwd

显示当前所在目录的完整路径

5.2 cd

切换目录(文件夹)

 cd ~/什么都不加                    //表示当前用户的家目录

cd -                                         //返回上一次的目录,但只有一次机会

 注:

绝对路径 从根(/)开始描述文件的位置 有且唯一 无论在哪里都可以准确找到某一个文件
相对路径 从当前路径开始描述文件的位置 有可能不唯一 如果参照物变了,就找不到文件
5.3 ls

列表,显示当前文件夹下的所有文件

选项 说明
-l 长格式显示详细的文件信息
-d 只显示文件夹的详细信息,不显示该文件夹下的文件信息
-a 显示隐藏文件夹
-A 显示隐藏文件夹,但不包括当前文件夹(.)和上个文件夹(..)
-R 递归显示
-r 倒序显示
-t 时间显示
-s 按文件排序显示
-i 显示文件的inode(相当于身份证号码)号
-h 个性化显示,加单位
-color 显示颜色,其中蓝色表示文件夹,黑色表示普通文件,红色表示压缩文件
5.3.1具体文件格式
ls -l          //查看详细的文件信息

Linux常用基本命令操作_第9张图片

 5.3.2通配符

在生产环境一千万个文件的情况下,使用ls会卡死,需结合通配符使用

匹配文件的名字,通常用于ls命令中的选项

符号 效果
匹配一个字符
* 匹配所有非隐藏的字符无论多长多短,但不匹配 "." 开头的文件,即隐藏文件
{1..10} 1到10
{a..z} a b c ...z
{A..Z} A B C .....Z
[123] 此处括号里值代表一个字符,取其中之一有就显示没有也无所谓
[a-z] 单个小写字母,范围需要注意
[0-9] 单个数字,匹配数字范围(0123456789)
\ 转义符,表示原来的意思
[^zhou] 匹配列表中的所有字符以外的字符
[[:lower:]] 小写字母表示 a-z
[[:upper:]] 大写字母表示 A-Z
[[:digit:]] 任意数字,相当于[0-9]
[[:alpha:]]

任意字母

Linux常用基本命令操作_第10张图片

Linux常用基本命令操作_第11张图片

Linux常用基本命令操作_第12张图片

④  ⑤

Linux常用基本命令操作_第13张图片

Linux常用基本命令操作_第14张图片

Linux常用基本命令操作_第15张图片

5.3.3设置别名-alias

通过别名机制简化常用的、比较长的命令

通式:alias 自定义的命令=“原始命令”

alias             //显示所有的别名
alias myvim='vim /etc/sysconfig/network-scripts/ifcfg-ens33'    
                  //定义修改IP地址等信息的别名为myvim
unalias myvim     //删除别名

Linux常用基本命令操作_第16张图片

5.4 du

查看当前所在文件夹占用了磁盘的多少单元块。默认1单元块为4K, 不满4K按4k算。

通式:du  [选项]  [文件或目录… ]

选项 说明
-a 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
-h 以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果
-s 只统计所占用空间总的(Summary)大小,而不是统计每个子目录、文件的大小
--max-depth=n (-d 1) 最大显示到第n层
--exclude 不计入统计

注:

a s无法同时使用

① ②

Linux常用基本命令操作_第17张图片

Linux常用基本命令操作_第18张图片

④文件夹是可以嵌套的,有的时候,我们只想展示第一级或第二级子文件夹的信息,而不希望 du 统计的层次太深,那么我们可以用 --max-depth(-d) 选项来进行控制

Linux常用基本命令操作_第19张图片

Linux常用基本命令操作_第20张图片

扩展:

ll命令与du命令都有查看文件大小的功能,为什么显示同一个文件的大小却不一样

ll             //显示文件的真实大小

du           //显示文件所占磁盘多少单元块,默认1单元块为4K, 不满4K按4k算,按每4k往上递增

5.5mkdir

创建文件夹

  • 文件名最长255个字节

  • 包括路径在内文件名称最长4095

  • 除了斜杠和NULL,所有字符都有效.但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引号来引用

通式:mkdir  [选项]  目录位置及名称…

命令 说明
mkdir aa 建立aa文件夹
mkdir aa bb cc 一次性建立三个文件夹
mkdir -p 递归建立文件夹
mkdir -v 显示建立文件夹的过程

Linux常用基本命令操作_第21张图片

Linux常用基本命令操作_第22张图片

 6、文件操作

6.1 touch

touch 新文件                    //新建空文件

touch 已存在的文件         //不会破坏已有文件,刷新文件时间

每个文件有三个时间戳:

  • access time 访问时间,atime,读取文件内容
  • modify time 修改时间,mtime,改变文件内容(数据)
  • change time 改变时间,ctime,元数据发生改变(元数据、文件大小、权限 )

Linux常用基本命令操作_第23张图片

6.2建立软硬链接文件
6.2.1硬链接介绍

硬链接相当于源文件的别名,linux下的文件是通过索引节点(Inode)来识别文件,硬链接可以认为是一个指针,指向文件索引节点的指针,系统并不为它重新分配inode。每添加一个一个硬链接,文件的链接数就加1

硬连接之间没有主次之分,删除某个硬链接,只是将其从目录的数据块中删除相关信息,并且文件链接数减一。不会从inode表中删除inode,除非只剩下一个链接数

6.2.2建立硬链接的通式

ln   源文件(绝对路径) 目的位置

Linux常用基本命令操作_第24张图片
6.2.3软链接介绍

软链接又称符号链接,相当于windows上的快捷方式,软链接就是一个普通文件,只是数据块内容有点特殊,存储源文件的存储路径,并不存储原文件内容,通过这个方式可以快速定位到软连接所指向的源文件实体

软链接可对文件或目录创建。软链接和源文件使用不同的inode节点

6.2.4建立软链接的通式

ln    -s   源文件(绝对路径) 目的位置

Linux常用基本命令操作_第25张图片

Linux常用基本命令操作_第26张图片

6.2.5软硬链接的区别
对比项 硬链接 软链接
本质 本质是同一个文件 本质不是同一个文件
inode(相当于身份证号) 和源文件相同 和源文件不同
连接数 创建新的硬链接,链接数会增加,删除硬链接,链接数减少 删除,新建都不会改变
文件夹 不支持 支持
删除源文件 只是链接数减一,但链接文件的访问不受影响 无法访问连接文件
文件类型 和源文件相同 链接文件,和源文件无关
文件大小 和源文件相同(指向硬盘上的同一个文件) 源文件的路径的长度
6.3 cp

复制文件或文件夹

通式:cp  选项 源文件 目标位置

选项 说明
-f 覆盖目标同名文件或目录时不进行提醒,直接强制复制
-i 覆盖目标同名文件或目录时提醒用户确认
-p 复制时保持源文件的权限、属主及时间标记等属性不变
-r 复制目录时必须使用此选项,表示递归复制所有文件及子目录
-a 完整保留所有的信息
-v 可视化
-u 相当于增备,差异备份(只对文件夹起作用)

Linux常用基本命令操作_第27张图片

6.4 mv

移动或改名文件及文件夹

通式:mv  [选项]  源文件或目录   目标文件或目录   单个文件

选项 说明
-f 强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖
-l 交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项)
-n 如果目标文件已经存在,则不会覆盖移动,而且不询问用户
-v 显示文件或目录的移动过程

Linux常用基本命令操作_第28张图片

其他改名操作命令如rename:可批量改名但有一定的局限性(必须是同一后缀)

rename 旧字符 新字符 目标文件

6.5 rm

删除的文件或目录

通式: rm  选项  文件名

选项 说明
-f 强制
-i 交互
-r 递归
6.6 shred

安全地删除文件或目录(不可恢复)

不停地向磁盘内添加写入0,已覆盖原本内容的操作

通式: shred  [OPTION]...  FILE...

选项 说明
-z 最后一次覆盖添加0,以隐藏覆盖操作
-v 能够显示操作进度
-u 覆盖后截断并删除文件
-n 指定覆盖文件内容的次数(默认值是3次)

7、查找文件

7.1 which或whereis

查找Linux外部命令文件

通式:which 文件名

          whereis 文件名

7.2 locate

查找文件或文件夹

通式:locate 选项 查找条件

选项 说明
-i 不区分大小写的搜索
-n N 只列举前N个匹配项目
7.3 find

查找文件或文件夹

通式:find  [查找路径]  [OPTION]  [查找条件]  [处理动作]

  • 查找路径:指定具体目标路径;不指定为默认为当前目录
  • 查找条件:可以对文件名、大小、类型、权限等标准进行查找;默认为找出指定路径下的所有文件
  • 处理动作:对符合条件的文件做操作,默认输出至屏幕(print)
查找类型 关键字 说明
按名称查找 -name

根据目标文件的名称进行查找,允许使用“*”及“?”通配符

-iname  "文件名称"      //不区分大小写

按文件大小查找 -size 根据目标文件的大小进行查找,一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件,常用的容量单位包括 kB(注意 k 是小写)、MB、GB
按文件属主查找 -user 根据文件是否属于目标用户进行查找
按文件类型查找 - type 根据文件的类型进行查找文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等
按inode号 - inum 根据文件inode号查找
按权限查找 - perm 按文件权限查找
最大搜索目录深度 - maxdepth level 将你的文件已分级的形式查找
最小搜索目录深度 - mindepth level 同上 find /etc -maxdepth 2 -mindepth 2

 根据文件名和inode查找:

Linux常用基本命令操作_第29张图片

Linux常用基本命令操作_第30张图片

根据属主、属组查找:

-user USERNAME    //查找属主为指定用户(UID)的文件
-group GRPNAME   //查找属组为指定组(GID)的文件
-uid UserID               //查找属主为指定的UID号的文件
-gid GroupID            //查找属组为指定的GID号的文件
-nouser                     //查找没有属主的文件    无主
-nogroup                  //查找没有属组的文件

根据文件类型:

Linux常用基本命令操作_第31张图片

组合条件:

组合条件 说明
-a
-o
-not

根据文件大小查找:

Linux常用基本命令操作_第32张图片

处理动作:

处理动作 说明
-print 默认的处理动作,显示至屏幕
-ls 类似于对查找到的文件执行"ls -dils"命令格式输出
-fls file

查找到的所有文件的长格式信息保存至指定文件中,相当于

-ls > file

-delete 删除查找到的文件,慎用!
-ok COMMAND {} \; 对查找到的每个文件执行由COMMAND指定的命令,对于每个文件执行命令之前,都会交互式要求用户确认
-exec COMMAND {} \; 对查找到的每个文件执行由COMMAND指定的命令

拓展:查找30天以上超过1MB,以log结尾的普通文件,并移动到opt目录

find / -mtime +30 -size +1M -type f -name “*log” -exec mv {} /opt \;

7.4 find和locate优缺点对比
locate find
优点 查找速度快 精确查找,实时查找,支持查找的功能多
缺点 不具备实时性,模糊查找不够精确,不是去磁盘查找而是去数据库中查找 相比较慢,在磁盘中一块一块地查找

8、修改颜色

命令一:echo "PS1='\[\e[1;34m\][\u@\h \W]#\[\e[0m\]'" >> ~/.bashrc
命令二:. ~/.bashrc

Linux常用基本命令操作_第33张图片

你可能感兴趣的:(linux,运维,服务器)