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

2、命令的本质

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

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

3、内部命令和外部命令

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

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

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

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

  • 开启或关闭内部命令

关闭:enable -n         内部命令

开启:enable             内部命令

4、hash缓存

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

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

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

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

5、命令执行的过程

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

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

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

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

①该命令输写错误

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

③命令不在规定的路径下

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

7、命令提示符

#表示root用户登录

$表示的是普通用户

su - 用户名          //切换用户

命令提示符解析:

8、Linux系统文件夹

二、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

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          //查看详细的文件信息

 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:]]

任意字母

④  ⑤

5.3.3设置别名-alias

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

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

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

5.4 du

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

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

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

注:

a s无法同时使用

① ②

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

扩展:

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显示建立文件夹的过程

 6、文件操作

6.1 touch

touch 新文件                    //新建空文件

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

每个文件有三个时间戳:

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

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

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

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

6.2.2建立硬链接的通式

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

6.2.3软链接介绍

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

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

6.2.4建立软链接的通式

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

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

复制文件或文件夹

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

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

6.4 mv

移动或改名文件及文件夹

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

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

其他改名操作命令如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查找:

根据属主、属组查找:

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

根据文件类型:

组合条件:

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

根据文件大小查找:

处理动作:

处理动作说明
-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优缺点对比
locatefind
优点查找速度快精确查找,实时查找,支持查找的功能多
缺点不具备实时性,模糊查找不够精确,不是去磁盘查找而是去数据库中查找相比较慢,在磁盘中一块一块地查找

8、修改颜色

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

  • 15
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值