Linux命令精讲

一.Shell及Linux命令基础

(一)Shell

1.Linux系统中运行的一种特殊程序

2.在用户和内核之间充当“翻译官”

3.用户登录Linux系统时,自动加载一个Shell程序

4.Bash是Linux系统中默认使用的Shell程序

(文件位于/bin/bash)

image-20220509151930420

(二)Linux命令基础

1.Linux命令的分类

内部命令与外部命令的区别

image-20220509152204892

2.Linux命令行的格式

通用的命令行使用格式

image-20220509152452498

分别对应的功能:操作 功能 要执行的对象 (英文字符区分大小写)

  • 命令字

是整条命令中最关键的一部分

唯一确定一条命令

  • 选项

短格式选项:使用“-”符号引导(多个单字符选项可以组合在一起使用)

长格式选项:使用“--”符号引导

  • 参数

命令字的处理对象

可以是文件名、目录(路径)名或用户名等内容

个数可以是零到多个

3.编辑Linux命令行的辅助操作

Tab键:自动补齐

反斜杠“\”:强制换行

Ctrl+U组合键:清空至行首

Ctrl+K组合键:清空至行尾

Ctrl+L组合键:清屏

Ctrl+C组合键:取消本次命令编辑

4.获得命令帮助的方法

  • 内部命令 help

查看Shell内部命令的帮助信息

  • 命令的“–help”选项

适用于大多数Linux外部命令

  • 使用man命令阅读手册页

使用"“↑”、“↓”(ENTER)方向键滚动一行文本
使用Page Up和Page Down(空格)键翻页
按Q或q键退出阅读环境
按“\”键查找内容,n键向下查找,N键向上查找

二.Linux命令帮助

(一)查看当前的工作目录-pwd(绝对路径)

pwd命令用于显示用户当前所在的工作目录位置,工作目录是用户操作文件或其他子目录的默认位置起点。

image-20220509162427687

(二)切换工作目录-cd

将用户的工作目录更改到其他位置

image-20220509162723879

补充:cd … 切换到上一层目录(父目录)

绝对路径:以根目录为起点的路径叫绝对路径 cd /
相对路径:以当前目录为起点的路径

相对路径表现形式

image-20220509162934786

(三)列表显示目录内容-ls
  • 显示目录中内容,包括子目录和文件相关属性信息

image-20220509163406466

  • 常用选项

image-20220509163456388

-l #将文件信息属性详细列出,通常直接使用ll,因为设置了别名

-R #递归显示,比如一个目录下还有文件,则把那个文件也一起列出

-d #查看目录本身信息,不显示目录下的内容

-i #显示inode值

-h #友好显示文件大小

-a #遍历所有文件及目录(ls内定将文件名或目录开头为“.”的视为隐藏档,不会列出)

-A #跟-a唯一的不同是不列出当前目录和上一层目录

颜色区别:

色数据文件 TXT

绿色 可执行文件

黄色 块设备文件

红色 压缩包

蓝色 文件夹

天蓝色 连接文件(快捷方式)

  • 结合通配符

“?”:匹配文件名中的一个未知字符

“*”:匹配文件名中的任意多个字符

“[]”:表示可以匹配字符组中的任意一个字符[abc]、[a-f]

(四)设置别名-alias
  • 通过别名机制简化常用的、比较长的命令

alias命令别名=‘命令’(=等号两边都不要空格,命令用‘’单引号)

示例:设置myls为ls -alh的别名
alias myls=‘ls -alh’

  • 取消别名
    unalias 命令别名
(五)统计目录及文件空间占用情况-du
  • 统计指定目录(或文件)所占用磁盘空间的大小

image-20220509171039648

  • 常用选项

-a :统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录

-h : 以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果

-s : 只统计所占用空间总的大小,而不是统计每个子目录、文件的大小

  • 示例

统计出/var/log目录所占用空间的大小

image-20220509171231350

(六)创建新目录-mkdir
  • 创建新的空目录

image-20220509171419123

  • 示例

在当前目录下创建名为public_html的子目录

image-20220509171728335

创建目录/aa,在/aa目录下创建子目录bb,在/aa/bb目录下创建子目录cc

image-20220509171740622

(七)创建空文件-touch命令
  • 更新文件的时间标记

  • 经常用于创建多个新的空文件

image-20220509172035636

  • 示例

创建两个空文件,文件名分别为aa和bb

image-20220509172045001

(八)创建链接文件-ln
  • 为文件和目录建立链接文件,类似于windows系统的快捷方式

  • 链接文件类型

软链接(又称为符号链接ln-s)

建立软连接时源文件需要使用绝对路径表示。源文件位置不变,软链接文件位置不管在哪都有用,相对路径改变文件位置将失效。
例:ln -s 源文件或目录…链接文件或目标位置

硬链接

ln 源文件或目录…链接文件或目标位置
源文件以绝对路径表示,硬链接相对于创建一个别名文件,源文件删除后仍然有用。

image-20220509172632986

  • 示例

image-20220509172648489

img

ln -s 创建软链接,相当于创建一个快捷方式

ln 创建硬链接,相当于复制了一份副本

  • 硬软链接区别:

硬链接不能跨分区建立连接,无法对文件夹创建

删除硬件连接可以继续访问硬链接

软链接可以跨设备,可以支持文件夹

软链接删除源文件不能访问

(九)复制文件或目录-cp
  • 将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录

image-20220509184503160

  • 常用选项

image-20220509184530338

注:复制多个文件或目录时,目标位置必须是目录,且目标目录必须已存在。

(十)删除文件或目录-rm
  • 删除指定的文件或目录

    image-20220509190140074

  • 常用选项

-f:删除文件或目录时不进行提醒,而直接强制删除。
-i:删除文件或目录时提醒用户确认。(y表示删除,n表示不删除)
-r:删除目录时必须使用此选项,表示递归删除整个目录树(应谨慎使用)。

常见用法:rm -rf /*

删除空目录:rmdir

注:不要直接删除系统中已有的目录或配置文件,以避免出现意外故障。

  • 示例

image-20220509190209597

(十一)移动文件或目录/改名-mv
  • 将指定的文件或目录转移位置

  • 如果目标位置与源位置相同,则相当于执行重命名操作

用法:mv [文件名] [目录名]

​ mv [文件名] [文件名]

image-20220509190420679

-i:若指定目录已有同名文件,则先询问是否覆盖旧文件

-f:在mv操作要覆盖已有的目标文件时不给任何指示

当在同一目录下用mv就是改名,如果是跨目录使用mv的话就是移动,相当于剪切的操作。

  • 示例

image-20220509190532972

(十二)查找命令/文件存放目录-which

搜索范围由环境变量PATH决定(echo $PATH)

image-20220509190725656

image-20220509190749173

which命令用于查找Linux命令程序并显示所在的具体位置,其搜索范围主要由用户的环境变量PATH决定(可以执行“echo $PATH”命令查看),这个范围也是Linux操作系统在执行命令或程序时的默认搜索路径。

示例

image-20220509191223314

(十三)查找文件或目录-find

采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找

image-20220509191622542

常用查找条件类型

image-20220509191710244

1.Find工具-name参数案例:

find /etc -name “resol*.conf”

find /data/ -name “*.txt” #查找/data/目录以.txt结尾的文件

find /data/ -name “[A-Z]*” #查找/data/目录以大写字母开头的文件

find /data/ -name “test*” #查找/data/目录以test开头的文件

2.Find工具-size参数案例

find /data/ -size +1M #查文件大小大于1Mb的文件

find /data/ -size 4M #查文件大小为10M的文件

find /data/ -size -1M #查文件大小小于1Mb的文件

-size +4M 表示4M以上不包括4M

-size 4M 表示3M到4M,且不包括3M

-size -4M 表示3M以内包括3M

3.Find工具-type参数案例:

find /boot -type d

find /data/ -type d #查找/data/目录下的文件夹

find /data/ ! -type d #查找/data/目录下的非文件夹

find /data/ -type 1 #查找/data/目录下的链接文件

find /data/ -type d|xargs chomd 755 -R #查目录类型并将权限设置为755

find /data/ -type f|xarge chomd 644 -R #查文件类型并将权限设置为644

4.查找存在的用户的文件

find /home -user 用户名

find /home -user 用户名 -group 组名

设置find命令的查找条件时,若需要使用“*”或“?”通配符,最好将文件名用双引号括起来,以避免当前目录下符合条件的文件干扰查找结果。

find /boot -size +1024k -a/-o -name “vmlinuz*”

使用““-a”"-o"组合两个条件,前者表示两个条件必须同时满足,后者表示只需满足其中任何一个条件即可。

扩展:
  • xargs

可以和管道配合

find ./ -maxdepth 1 -type f -print0 |xarge -o ls -lh

-atime #访问时间

Linux中日志放在/var/log sylog

  • -mtime #文件内容修改时间

-ctime #文件属性修改时间

ctime #以天为单位 cmin #以分钟为单位

find ./ -name “syslog.*.gz” -mtime -5 -exec ls -lh ( ) :

#+5是五天以前 -5是五天以内

在当前目录下(包含子目录),删除所有txt文件

find ./ -name “*.txt” -exec rm { } :

在当前目录下(包含子目录),查找所有txt文件并找出含有字符串“bin”的行

find ./ -name “*.txt” -exec grep “bin” { } :

  • 多条件查找

-a:并且 -o:或者

[root@locaihost~]#find /mnt -user root -a -size +5m -o -type d

[root@localhost~]#find /mnt -user root -o -size +5m

-not表示非:即反向选择

[root@locaihost~]#find /mnt -not -user root

按权限查找:-perm

[root@localhost~]#find /bin/ -perm 755 #等于0755权限的文件或目录

[root@localhost~]#find /bin/ -prem -644 #-prem -644 至少有644权限的文件或目录

nd ./ -name “*.txt” -exec grep “bin” { } :

  • 多条件查找

-a:并且 -o:或者

[root@locaihost~]#find /mnt -user root -a -size +5m -o -type d

[root@localhost~]#find /mnt -user root -o -size +5m

-not表示非:即反向选择

[root@locaihost~]#find /mnt -not -user root

按权限查找:-perm

[root@localhost~]#find /bin/ -perm 755 #等于0755权限的文件或目录

[root@localhost~]#find /bin/ -prem -644 #-prem -644 至少有644权限的文件或目录

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值