作者简介:一名在校云计算网络运维学生、每天分享网络运维的学习经验、和学习笔记。
座右铭:低头赶路,敬事如仪
个人主页:网络豆的主页
目录
前言
一.Linux常用命令后续
1.创建目录和文件
(1)mkdir命令 创建新的目录(Make Directory)
(2)touch——创建空文件
(3)In命令——创建链接(Link)文件
2.复制、删除、移动目录和文件
(1)cp—复制(Copy)文件或目录
(2)rm命令删除(Remove)文件或目录
(3)mv命令移动(Move)文件或目录
3.查找目录和文件
(1)which命令——查找用户所执行的命令文件存放的目录
(2)find命令——查找文件或目录
前言
本章将会讲解Linux系列目录和文件管理。Linux常用命令:2022年,我每天都会用的linux常用命令
一.Linux常用命令后续
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 [选项]....源文件或目录...目标文件或目录
需要复制多个文件或目录时,目标位置必须是目录,且目标目录必须已经存在,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
(3)mv命令移动(Move)文件或目录
mv命令用于将指定的文件或目录转移位置,如果目标位置与源位置相同,则效果相当于为文件
或目录改名,mv命令的基本使用格式如下。
mv [选项]... 源文件或目录...目标文件或目录
需要移动多个文件或目录时,目标位置必须是目录,且目标目录必须已经存在。如果在同一个目录下移动文件或目录,则相当于执行重命名操作。例如,以下操作将把当前目录中的mytouch程序文件改名为mkfile.
|root@localhost ~]# mv mytouch mkfile
[root@localhost ~]# la -lh mytouch mkfile
ls:无法访问mytouch:没有那个文件或成目录
如果移动一个文件或目录到一个已经存在的文件夹中,可以只指定目标文件夹位置,例如,以
下操作将把mkfile文件移动到public_html 目录(已经存在)中,文件名仍然是mikfile.
[root@]ocalhost -]# mv mkfile public_html/
[root@]ocalhost -]# la -l public html/mkfile
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
(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”组合两个条件,前者表示两个条件必须同时满足,后者表示只需满足其中任何一个条件即可。
创作不易,求关注,点赞,收藏,谢谢~