Linux系列 Linux常用命令(2)

简介: Linux系列 Linux常用命令(2)

前言

本章将会讲解Linux系列目录和文件管理。Linux常用命令:2022年,我每天都会用的linux常用命令


一.Linux常用命令后续


image.png


1.创建目录和文件

(1)mkdir命令 创建新的目录(Make Directory)

mkdit命令用于创建新的空目录,使用要创建的目录位置作为参数(可以有多个)。


例:
[root@localhoat -]# mkdir public_html
(root@localhost -]# Is ~d public_html
public_heml

如果需要一次性创建嵌套的多层目录,必须结合“-p”选项,否则只能在已经存在的目录中创

建一层子目录。

例:
[root@localhost -]# mkdir -p /multimedia/movie/cartoon
[root@localhost -]# ls -R /multimedia

(2)touch——创建空文件

touch命令本来用于更新文件的时间标记,但在实际使用中经常用于创建新的测试文件,该命令

使用文件名作为参数,可以同时创建多个文件,当目标文件已存在时,将更新该文件的时间标记,否则将创建指定名称的空文件。


例如,以下操作将在/multimeda/rmovie/cartoon 目录中创建两个空文件,文件名分别为HuaMuLan.rmvb和NeZhaNaottai.mp4.


[root@localhost -]# cd /multimedia/movie/cartoon
[root@]localhost cartoon]# touch HuaNulan.rmvb NeZhaNaoHai.mp4
(root@localhost cartoon)# ls -lh

(3)In命令——创建链接(Link)文件

In命令用于为文件或目录建立链接文件(类似于Wirdows系统中的快捷方式).提高用户定位文件或目录的效率,链接文件分为软链接和硬链接两种类型,其中软链接又称为符号链接,无论是访问软链接还是硬链接,与直接访问原始文件的效果基本相同。


软链接与硬链接的区别主要在于,删除原始文件后,软链接将失效,但硬链接仍然可用;软链接适用于文件或目录,但硬链接只可用于文件,不能为目录建立硬链接:软链接与原始文件可以位于不同的文件系统中,但硬链接必须与原始文件在同一个文件系统(如一个Lirux分区)内。使用lh命令时,默认创建的是硬链接。如果需要创建软链接,必须结合“-s”选项明确指定。


ln命令的基本使用格式如下:


ln [-s] 源文件成目录....链接文件或目标位置

当目标位置是一个已经存在的目录时,新创建的链接文件将保存到该目录中,并使用与源文件或目录相同的名称。


例如,以下操作将为文件/bin/bxip2创建一个软链接文件/bin/wx/bzip2(未指定链接名称时,使用与原始文件相同的文件名)

[root@localhost -]# mkdir /bin/vx
[root@localhost -]# ln -a /bin/bzip2 /bin/wx/
[root@localhost -]# ls -lh /bin/wx/bzip2

2.复制、删除、移动目录和文件

(1)cp—复制(Copy)文件或目录

cp命令用于复制文件或目录,将需要复制的文件或目录(源)重建一份并保存为新的文件或目录(可保存到其他目录中).cp命令的基本使用格式如下:

cp  [选项]....源文件或目录...目标文件或目录


4896c2612fcb4d9c90a0435fcd82a4b4.png

需要复制多个文件或目录时,目标位置必须是目录,且目标目录必须已经存在,Cp命令较常用到的几个选项如下。


-f:覆盖目标同名文件或目录时不进行提醒,而直接强制(Force)复制。

-i:覆盖目标同名文件或目录时提醒用户确认(hteractive.交互式)。

-p:复制时保持(Preserve)源文件的权限,属主及时间标记等属性不变。

-r:复制目录时必须使用此选项,表示递归复制所有文件及子目录。

例如,以下两个操作将把/bin/touch命令程序复制到当前目录下.并命名为mytouch,另外将

/etc/yum.conf 文件复制一份作为备份,添加.bak扩展名.仍存放在/etc目录中。

[root@localhost -]# cp /bin/touch./mytouch
[root@localhost -]# cp /etc/yum.conf /etc/yum.conf.bak

如果需要复制的数据包括完整的目录,则用要结合“一”选项才能成功执行,否则目录将被忽略。


例:

例:
[root@localhost -]# cp -r /boot/grub/ /etc/host.conf public_html/
[root@localhost -]# ls public_html/

(2)rm命令删除(Remove)文件或目录

rm命令用于删除指定的文件或目录,在Linux命令行界面中,删除的文件是难以恢复的,因此使用m命令删除文件时需要格外小心,rm命令使用要删除的文件或目录名作为参数。

常用的几个选项如下(与cp命令的对应选项含义基本相似)所述。


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

对于已经确定不再使用的数据(包含目录,文件),通常结合“-rf”选项直接进行删除而不进行提示


例:
[root@localhont -]# rm -rf public_html/grub/
[root@localhost -]# 1s public_html/

如果需要在执行删除操作前进行确认,可以使用“-i”选项(不要和一f选项同时使用).rm命令将对每个待删除的文件或目录提示用户是否真的删除,需要输入y(表示删除)或n(表示不删除)进行确认,例如,以下操作将以提示确认的方式删除public_html目录中的host.conf文件(根据提示信息输入y确认删除)

[root@localhoat -]# rm -i public_html/host.conf
rm:是否删除普通文件"public_html/hoat.conf"?y

ccb26f6c90d5403c9f95c58811f4624b.png

(3)mv命令移动(Move)文件或目录

mv命令用于将指定的文件或目录转移位置,如果目标位置与源位置相同,则效果相当于为文件

或目录改名,mv命令的基本使用格式如下。

mv [选项]... 源文件或目录...目标文件或目录


需要移动多个文件或目录时,目标位置必须是目录,且目标目录必须已经存在。如果在同一个目录下移动文件或目录,则相当于执行重命名操作。例如,以下操作将把当前目录中的mytouch程序文件改名为mkfile.


|root@localhost ~]# mv mytouch mkfile
[root@localhost ~]# la -lh mytouch mkfile
ls:无法访问mytouch:没有那个文件或成目录

2be0776f4bd7445899908d18af5388ee.png

如果移动一个文件或目录到一个已经存在的文件夹中,可以只指定目标文件夹位置,例如,以

下操作将把mkfile文件移动到public_html 目录(已经存在)中,文件名仍然是mikfile.

[root@]ocalhost -]# mv mkfile public_html/
[root@]ocalhost -]# la -l public html/mkfile

262b12dde7244fd88025859a71979da8.png

3.查找目录和文件

(1)which命令——查找用户所执行的命令文件存放的目录

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


which命令使用要查找的命令或程序名作为参数,默认当找到第一个目标后即不再继续查找,若希望在所有搜索路径中查找,可以添加“-a”选项,例如,执行“which ls”命令后,可以找到名为ls的位于/uur/bin/ls的命令程序文件,具体操作如下。

[root@localhost -]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/uar/bin:/root/bin
[root@localhoat -]# which Is
alias ls-'is --color-auto'
     /usr/bin/ls

需要注意的是,由于Shell内置的命令并没有对应的程序文件,因此使用which查找内部命令时将找不到对应的程序,例如,查找内部命令history的位置时,会提示在搜索路径中没有这个程序文件.具体操作如下:

[root@lonalhost -]# which hiatory


b336f7e305084b0aba574c2bc095e3a3.png

(2)find命令——查找文件或目录

find命令是Linux操作系统中功能非常强大的查找命令,可以根据目标的名称,类型,大小等不同属性进行精细查找,find命令在查找时采用递归的方式,其使用形式相当灵活,也可以相当复杂。这里只介绍最常用的几种用法,find命令的基本使用格式如下:


find [查找范围][查找条件表达式]

其中,查找范围对应的是在其中查找文件或子目录的目录位置(可以有多个).而查找条件则决定了find命令根据哪些属性,特征进行查找,较常用的几种查找条件类型如下所述


按名称查找:关键字为“-name”,根据目标文件的名称进行查找,允许使用“*”及“?”通配符。

按文件大小查找:关键字为“-size”.根据目标文件的大小进行查找,一般使用“+”和‘-”号设置超过或小于指定的大小作为查找条件,常用的容量单位包括kB(注意k是小写)MB.GB.

按文件属主查找:关键字为‘-user°,根据文件是否属于目标用户进行查找。

按文件类型查找:关键字为‘-type”.根据文件的类型进行查找,这里的类型指的是普通文件(f).目录(d).块设备文件(b)、字符设备文件(c)等,块设备指的是成块读取数据的设备(如硬盘,内存等),而字符设备指的是按单个字符读取数据的设备(如键盘,鼠标等)。

设置find命令的查找条件时,若需要使用“*”或“?”通配符,最好将文件名用双引号括起来,以避免当前目录下符合条件的文件干扰查找结果,例如.以下操作将在/etc目录中递归查找名称以“resol”开头,以‘.conf”结尾的文件

[root@localhost -]# find /etc -name "resol*.conf"
/etc/resolv.conf

使用“-type”查找条件可以过滤出指定类型的文件,例如,以下操作将在/boot目录中查找出所有的文件夹(对应的类型为d),而忽略其他类型的文件。

[root@localhost -]# find /boot -type d
/boot
/boot/qrub
....

需要同时使用多个查找条件时,各表达式之间可以使用逻辑运算符“-a”与“-o”分别表示而且(and),或者(or)。


例如,以下两个操作使用了两个查找条件,即“超过1024kB”和“名称以vnlinuz开头”,但分别使用“-a”“-o”组合两个条件,前者表示两个条件必须同时满足,后者表示只需满足其中任何一个条件即可


a899795f42954176b2a51ca2908e6694.png

目录
相关文章
|
12天前
|
Shell Linux 程序员
【Linux】Shell 命令以及运行原理
【Linux】Shell 命令以及运行原理
|
4天前
|
Linux 应用服务中间件 nginx
linux小技巧: 可以补全命令 别名永久有效
linux小技巧: 可以补全命令 别名永久有效
|
4天前
|
缓存 关系型数据库 MySQL
linux 基本知识与命令
linux 基本知识与命令
|
4天前
|
网络协议 Linux 数据库
蓝易云 - Linux常用命令dhcpd命令
在使用dhcpd命令之前,需要确保已经正确配置了dhcpd.conf文件,该文件定义了DHCP服务器的行为和要分配的IP地址范围等信息。
10 0
|
4天前
|
Linux Docker 容器
蓝易云 - 【Linux】如何在linux系统重启或启动时执行命令或脚本(也支持docker容器内部)
以上就是在Linux系统和Docker容器中设置启动时运行命令或脚本的方法。希望对你有所帮助。
18 0
|
5天前
|
Linux 开发工具
蓝易云 - Linux虚拟机常用命令
以上就是一些常用的Linux命令,希望对你有所帮助。
16 0
|
5天前
|
存储 Linux 开发工具
Linux 基础(从环境搭建到基础命令)
Linux 基础(从环境搭建到基础命令)
|
8天前
|
存储 Linux 网络安全
在 Linux 中通过 SSH 执行远程命令时,无法自动加载环境变量(已解决)
SSH远程执行命令时遇到“命令未找到”问题,原因是Linux登录方式不同导致环境变量加载差异。解决方案:将环境变量写入`/etc/profile.d/`下的文件,或手动在命令前加载环境变量,如`source /etc/profile`。
|
9天前
|
关系型数据库 MySQL Java
1.Linux常用命令
1.Linux常用命令
35 1
|
13天前
|
Linux
【超全】Linux命令思维导图总结 值得收藏
【超全】Linux命令思维导图总结 值得收藏
17 0