rh124-02通过命令管理文件和目录

author author     2022-08-29     181

关键词:

第二章 通过命令管理文件和目录


课程目标:

认识重要的系统目录

了解绝对路径和相对路径

通过命令创建,拷贝,移动,删除文件和目录

使用通配符匹配一个或多个文件


2.1  Linux文件系统的结构

Linux一切皆为文件

目录结构


常见的重要目录说明:


/usr  

安装的软件,共享库,程序数据.重要的子目录有

/usr/bin用户命令

/usr/sbin管理员命令

/usr/local本地自定义安装的软件(一般为通过源代码安装的软件)


/etc

系统,软件的配置文件


/var

存放系统引导启动时产生的可变文件,文件通常动态更改的,例如数据库文件,缓存目录,日志文件,打印池文件,网页等


/run

系统启动后期运行的程序的运行时数据,包括进程的pid文件,锁文件等.这些文件一般在系统重启后会重建


/home

一般用户的主目录都在该目录下以用户名为名字的子目录的形式存在


/root

系统管理员root的主目录


/tmp

存放临时文件,文件一般存放超过10天以上都会自动删除,可以通过对系统的设定,更改删除这些临时文件的期限


/boot

存放系统引导时候需要的文件


/dev

存放设备文件




注意:

在rhel7中,  /bin , /sbin , /lib , /lib64都以字符链接的形式链接到/usr/目录下,例如

/bin --> /usr/bin

/sbin --> /usr/sbin



2.2 通过名字定位文件或目录

介绍 pwd,cd,ls命令  cd =change directory  改变目录  cd ~ 到根目录,cd -上次的目录 ,ctrl+l 或clear 是清屏


绝对路径: 所有路径描述都必须是以 "/" 开头

相对路径: 所有路径直接以文件名字或者 "." 或者 ".."开头   在当前绝对跟径下的相对目录。你的背景路径在哪里,相对路径在哪里。执行的结果是不同的,相对路径不一定对,因为依靠背景路径,比如在etc下 ls ./run无结果,但是在根下执行同样的命令就有输出。

../   上一级目录     ls ../看上面一个目录的内容

./当前目录

etc/sysconfig/

路径区分大小写



2.3 通过命令行工具管理文件   ctrl+shift+T  再打开一个窗口,可以作远程


命令作用需要掌握的参数

ls列表-l , -h , -a , -t ,d   list列表命令

touch创建空白文件

cp拷贝文件-a 保留属性 , -r

mv移动文件-f

rm删除文件-f , -r

mkdir创建目录-p , -f



练习:用student身份登陆desktop虚拟机上完成练习

在用户家目录下创建6个文件 song1.mp3 ~ song6.mp3

把上出创建的songX.mp3文件移动到Music目录下

在用户家目录下创建三个目录,分别为 friends,family,work

切换到friends目录下,把Music目录下的song1.mp3 ~ song3.mp3 拷贝到当前目录

切换到family目录下,把Music目录下的song4.mp3 ~ song6.mp3 移动到当前目录

切换到用户主目录

删除family目录

切换到friends目录,把目录下的所有文件删除

切换到主目录,把friends目录删除.





2.4  使用正则表达式匹配一个或多个文件


$ mkdir glob;cd glob

$ touch alfa bravo charlie delta echo able baker cast dog easy


*  匹配零个或若干个任意字符

?  匹配一个任意字符

[ac]* 包含a或者c任意一个字符开头的字符串

[ac]? 以a和c不开头,并且两个字符组成的字符串

{a..k}  

~

转义符,取消符号的特殊作用







课堂听讲笔记:


1、lsblk看磁盘大小

nautilus /usr 显示图形界面



2、ls命令

[[email protected] home]#    ls -l /home

total 4

drwx------. 17 student student 4096 Apr 29 10:31 student

[[email protected] home]#    ls -l -h  /home    可以看大小     命令:ls -lh /home   h一定要和l一起用,区别就是单位变成K了。

total 4.0K

drwx------. 17 student student 4.0K Apr 29 10:31 student


ls -a   才可以看到以.开头的文件或文件夹,这是为了保护一些重要文件,降低误操作的机率。


[[email protected] home]# ls /etc/cron.d/ -l -d    只看一个文件,不会显示很多

drwxr-xr-x. 2 root root 72 Jul 11  2014 /etc/cron.d/


3、cp命令


[[email protected] student]# cp /etc/hosts ./     copy到当前文件夹


[[email protected] student]# cp /etc/hosts ./newhosts copy到当前文件夹并改名   相对路径


[[email protected] student]# cp /etc/hosts /home/student/hosts2   绝对路径

[[email protected] student]# cp -a /etc/hosts /home/student/hosts3    保留文件的属性,如ls -lh时可以看到时间还是原来最初生成的时间



[[email protected] ~]$ cp/home/student/hosts2 /tmp/

bash: cp/home/student/hosts2: No such file or directory

[[email protected] ~]$ cp /home/student/hosts2 /tmp/

[[email protected] ~]$ cp -a /home/student/hosts2 /tmp/hosts22

[[email protected] ~]$ ll /tmp/hosts*

-rw-r--r--. 1 student student 231 Apr 29 13:39 /tmp/hosts2

-rw-r--r--. 1 student student 231 Apr 29 13:34 /tmp/hosts22


备份时需要保留属性,所以用这个-a参数   可以保留下组和名



拷目录:


[[email protected] ~]$ cp /home/student /tmp/  一般管理员不具有权限,需要加-r参数

cp: omitting directory ‘/home/student’

[[email protected] ~]$ ^C

[[email protected] ~]$ ^C

[[email protected] ~]$ cp -r /home/student /tmp/

[[email protected] ~]$ ls /tmp/student

Desktop    Downloads  hosts2  hostsnew  Pictures  tanpao.txt  Templates

Documents  hosts      hosts3  Music     Public    Tanpao.txt  Videos

[[email protected] ~]$ ls -ld /tmp/student

drwx------. 17 student student 4096 Apr 29 13:42 /tmp/student


4、移文件


[[email protected] ~]$ mv /home/student/tanpao.txt  /tmp


[[email protected] ~]$ su -              切换成超级用户

Password: 

Last login: Sat Apr 29 10:55:59 CST 2017 on :0

[[email protected] ~]# mv /home/student/T

Tanpao.txt  Templates/  

[[email protected] ~]# mv /home/student/Tanpao.txt /tmp/tanpao.txt     超级用户会提示是否覆盖

mv: overwrite ‘/tmp/tanpao.txt’? 


[[email protected] ~]# exit    退出超级用户

logout

[[email protected] ~]$ ^C



5、删除文件(相对跟径和绝对跟径)

[[email protected] ~]$ rm hosts2

rm: remove write-protected regular file ‘hosts2’? y

[[email protected] ~]$ rm /home/student/hosts

rm: remove write-protected regular file ‘/home/student/hosts’? y

[[email protected] ~]$ ls -lh /home/student/

total 8.0K

drwxr-xr-x. 2 student student   6 Jan  5  2015 Desktop

drwxr-xr-x. 2 student student   6 Jan  5  2015 Documents

drwxr-xr-x. 2 student student   6 Jan  5  2015 Downloads

-rw-r--r--. 1 root    root    231 Jul 11  2014 hosts3

-rw-r--r--. 1 root    root    231 Apr 29 13:33 hostsnew

drwxr-xr-x. 2 student student   6 Jan  5  2015 Music

drwxr-xr-x. 2 student student   6 Jan  5  2015 Pictures

drwxr-xr-x. 2 student student   6 Jan  5  2015 Public

-rw-r--r--. 1 root    root      0 Apr 29 13:30 Tanpao.txt

drwxr-xr-x. 2 student student   6 Jan  5  2015 Templates

drwxr-xr-x. 2 student student   6 Jan  5  2015 Videos


6、创建目录

[[email protected] ~]$ mkdir /tmp/test

[[email protected] ~]$ ls -ld /tmp/test

drwxrwxr-x. 2 student student 6 Apr 29 13:51 /tmp/test

[[email protected] ~]$ 



[[email protected] etc]$ cp /etc/hosts /tmp/test/

[[email protected] etc]$ ls /tmp/test

hosts

[[email protected] etc]$ 


删除目录

[[email protected] /]$ rm /tmp/test    

rm: cannot remove ‘/tmp/test’: Is a directory

[[email protected] /]$ rm -r /tmp/test   删除目录需要-r,同时不提示,但是root用户就会提示

如果需要提示

[[email protected] /]$ rm -i -r /tmp/test

rm: descend into directory ‘/tmp/test’? n


用超级管理员来作操作:

[[email protected] ~]# mkdir /tmp/test

[[email protected] ~]# cp /etc/host* /tmp/test

[[email protected] ~]# cd /tmp/test

[[email protected] test]# ls

host.conf  hosts  hosts.allow  hosts.deny


删除所有文件(千万注意,不要在/目录下作这个操作

[[email protected] ~]# cd /tmp/test

[[email protected] test]# ls

host.conf  hosts  hosts.allow  hosts.deny

[[email protected] test]# pwd

/tmp/test

[[email protected] test]# rm ./*

rm: remove regular file ‘./host.conf’? y

rm: remove regular file ‘./hosts’? y

rm: remove regular file ‘./hosts.allow’? y

rm: remove regular file ‘./hosts.deny’? y


rm -rf ./* 这个可以不用提示一下删除掉


一次性创建我个目录

[[email protected] test]# mkdir /tmp/test/a/b

mkdir: cannot create directory ‘/tmp/test/a/b’: No such file or directory

[[email protected] test]# mkdir /tmp/test/a

[[email protected] test]# mkdir /tmp/test/a/b

[[email protected] test]# mkdir -p /tmp/test/a/b












本文出自 “IT正能量” 博客,谢绝转载!

rh124-06文件系统权限

...目标: 能够解析Linux文件系统权限的工作机制 掌握实用命令工具修改文件权限和属主 掌握特权位和粘贴位权限,用户权限掩码 6.1了解基本的文件系统权限r 读权限: 对于文件,代表用户可以读取文件的内容 对于目录,代表用... 查看详情

rh124-05管理本地用户和组-2

管理本地账号5.3c相关命令:useradd,usermod,userdel,passwd,groupadd,groupmod,gpasswd,groupdel相关文件:/etc/login.defs ,/etc/passwd,/etc/shadow,/etc/gpasswd,/etc/gshadow需要掌握:创建,修改,删除用户、用户组,修改用户组身份,设定用户密码添加用... 查看详情

17-ubuntu-文件和目录命令-切换目录-相对路径和绝对路径

...~,表示相对当前目录所在的目录位置.例:当前桌面目录下,通过相对路径切换到桌面目录下的Entertainment目录 2.绝对路径:在输入路径时,最前面是/或者~,表示从根目录或家目录开始的具体位置.例:从Entertainment目录通过绝对路径切... 查看详情

rh124-14文件系统和磁盘设备管理

...写数据的设备.在物理机器上,设备文件默认都存放在/dev/目录下,第一个硬盘是/dev/sda,第二个硬盘是/dev/sdb,如此类推.第一个硬盘的第一个分区是/dev/sda1,第二个分区是/dev/sda2,如此类推. 在xen或kvm的虚拟机上,硬盘的名字则是/dev/xvda或/... 查看详情

mkdirtouchrm和rmdir命令

...不要把所有的文件都存放在主目录中,可以创建子目录,通过它们来更有效地组织文件。 查看详情

rh124章2命令行管理文件(代码片段)

RHEL7中/bin----->/usr/bin/sbin---->/usr/sbindf-h//查看分区使用空间/dev不占空间,系统启动时创建/dev/cdrom----->/dev/sr0/run存放在内存中的数据,关机消失,进程状态、IP等信息/tmp、/usr/tmp、/var/tmp任何用户可在其中创建文件,其中文件... 查看详情

rh124-11系统网络管理

...P/IP四层模型 应用层 传输层 定义了tcp和udp协议.应用程序通过使用tcp或udp协议定义的端口,来标识应用层协议.    常见协议对应的端口可参考/etc/services firefox,ie --->百度:80 网络层 定义了IP协议,IP协议通过使用IP... 查看详情

rh134-01通过kickstart完成无人值守自动化部署

第一章通过Kickstart完成无人值守自动化部署       kickstart给用户提供了一种自动化安装红帽企业Linux的方法,该方法通过定义一个kickstart文件来完成安装过程中的问答从而实现无人值守安装。 1、定义... 查看详情

linux常用命令

...盘与目录2.进程3.网络1.磁盘与目录1.df或df-h  我们可以通过df或df-h命令,打印设备上挂载了多少个磁盘设备,以及磁盘里还有多少可用空间。2.ls  ls可以打印当前目录下的所有文件和目录,你可以通过ls命令,把当前所有的... 查看详情

rh124章4创建查看和编辑文本文件笔记

标准输入、标准输出、标准错误先执行某条命令,再echo$?,查看状态值0为标准输出,非0则为标准错误\>,>>,2>(标准错误重定向)标准输出、标准错误同时重定向到file文件data>>file2>&1find/-useruser01-typef>>fileA2&... 查看详情

rh358管理dns和dns服务器--使用unbound配置缓存名称服务器(代码片段)

...。5.配置防火墙允许DNS流量。6.启用并启动unbound服务。7.通过执行查询和检查缓存的内容来验证缓存名称服务。完成实验总结DNS服务器软件:bind,powerdns,dnsmasq,unbound,coredns1.安装和配置Unbound缓存名称服务器... 查看详情

目录文件管理

推荐步骤:文件内容管理,使用man命令查看ls帮助通过输出到自己名字.txt文件,使用cat命令查看自己名字.txt文件内容结合cat分页查看数据,使用less命令查看自己名字.txt文件,搜索关键字ls,使用n查看下一个和N查看上一个关键... 查看详情

通过 Java 程序传递 Hadoop 程序命令

】通过Java程序传递Hadoop程序命令【英文标题】:PassingHadoopprogramcommandsthroughJavaProgram【发布时间】:2014-07-1912:11:27【问题描述】:谁能告诉我是否有任何方法可以将hadoop命令从java程序传递给hdfs(例如:为删除目录和文件创建“ha... 查看详情

每天一个linux命令(29)--linuxchmod命令

...的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。  文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何 查看详情

shell批量移动文件

...用如下的方式去批量删除文件:那是否可以采用类似方式通过find命令来批量移动文件呢?很遗憾,不能采用这种方式来实现理由:像cd和ls命令只需要一个input,而像mv和cp等命令都需要两个input,需要source和target。通过管道只能获... 查看详情

rh124-05管理用户密码-3

5.4管理用户密码相关文件:/etc/passwd,/etc/shadow相关命令:chage,usermodchage命令的参数: -l 显示帐户年龄信息 -E  #chage-E2014-12-28romeo -d  #-d0下次登陆系统强制修改密码 -M 将两次改变密码之间相距的最大天数设为“最大天数” -m&n... 查看详情

windows常用命令

...有可以执行的命令help[命令]获取某个命令的帮助,也可以通过命令/?形式获取帮助注:所有通过运行执行的命令也可以在DOS中运行cdcd或cd/回到根目录dirdir列出当前目录下的文件夹和文件,文件夹会有<DIR>标识mdmda创建名为a的... 查看详情

mount挂载目录和文件管理

...分区,网络存储等设备装到某个Linux目录。各种命令工具通过访问Linux目录来操作这些设备。访问光盘的内容Windows:光盘文件------->光驱设备------->CD驱动器(图标) 访问点(挂载点):访问设备内容需要通过访问点  ... 查看详情