linux文件和目录管理命令

本文详细介绍了Linux系统下的文件和目录命名规则、常见硬件设备的文件名、文件类型的辨识方法,以及常用的文件操作命令,如mkdir、rm、touch、ln、cp、mv等,帮助读者掌握Linux环境下高效管理文件的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、 文件目录命名规则

Linux 系统中,文件和目录的命名规则如下:

1、除了字符“/”之外,所有的字符都可以使用,但是要注意,在目2、录名或文件名中,使用某些特殊字符并不是明智之举。例如,在命名时应避免使用 <、>、?、* 和非打印字符等。如果一个文件名中包含了特殊字符,例如空格,那么在访问这个文件时就需要使用引号将文件名括起来。
2、目录名或文件名的长度不能超过 255 个字符。
3、目录名或文件名是区分大小写的。如 DOG、dog、Dog 和 DOg ,是互不相同的目录名或文件名,但使用字符大小写来区分不同的文件或目录,也是不明智的。
4、与 Windows 操作系统不同,文件的扩展名对 Linux 操作系统没有特殊的含义,换句话说,Linux 系统并不以文件的扩展名开分区文件类型。例如,dog.exe 只是一个文件,其扩展名 .exe 并不代表此文件就一定是可执行文件。

Linux 系统中常见硬件设备的文件名

在 Linux 系统中,硬件设备也是文件,也有各自的文件名称。Linux 系统内核中的 udev 设备管理器会自动对硬件设备的名称进行规范,目的是让用户通过设备文件的名称,就可以大致猜测处设备的属性以及相关信息。

硬件设备 文件名称

1、IDE设备	        /dev/hd[a-d],现在的 IDE设备已经很少见了,因此一般的硬盘设备会以 /dev/sd 开头。
2、SCSI/SATA/U盘	/dev/sd[a-p],一台主机可以有多块硬盘,因此系统采用 a~p 代表 16 块不同的硬盘。
3、软驱	            /dev/fd[0-1] 
4、打印机	        /dev/lp[0-15]
5、光驱	            /dev/cdrom
6、鼠标	            /dev/mouse
7、磁带机	        /dev/st0 或 /dev/ht0

二、linux文件类型

Linux 系统中shell窗口用不同的颜色来区分不同种类的文件,例如绿色代表可执行文件、红色代表压缩文件、浅绿色代表链接文件、白色代表其他文件、黄色代表设备文件等。

但是,不同颜色所代表的文件类型不一定是这样,更准确的对应方式还取决于配置文件 /etc/DIR_COLORS 中的规定。因此,如果想详细了解不同文件类型所对应的颜色,可以使用 man 命令,例如:

[root@localhost ~]# man dir_colors

注意,有些 Linux 发行版单独使用 ls 命令,无法显示出带有不同颜色的文件和目录,此时就需要使用 ls --color=auto 命令,明确令其使用颜色来区分文件类型。

在此基础上,如果不想每次使用 ls 命令时,都显式附带 --color=auto,可以执行如下命令:

[root@localhost ~]# alias ls = ‘ls --color=auto’
#ll -a 查询文件详情

通过给 ls --color==auto 这个整体设置一个别名 ls,这样当后续使用 ls 命令时,就等同于执行 ls --color=auto 命令。

同时,如果想使这个设置永远生效,还需要将其添加到 /etc/bashrc 或 /home/<user>/.bashrc 文件中,前者对所有用户有效,而后者仅对用户<user>有效。

其实,那些默认提供颜色功能的 Linux 发行版,也是通过这个方法开启的功能。

文件类型如下:

1、-	符号开头代表普通文件,包括纯文本文件、二进制文件、各种压缩文件等。

2、d符号开头代表目录,类似 Windows 系统中的文件夹。

3、b	符号开头代表块设备文件,就是保存大块数据的设备,比如最常见的硬盘。

4、符号开头代表c字符设备文件,例如键盘、鼠标等。

5、s符号开头代表套接字文件,通常用在网络数据连接,可以启动一个程序开监听用户的要求,用户可以通过套接字进行数据通信。

6、p符号开头代表管道文件,其主要作用是解决多个程序同时存取一个文件所造成的错误。

7、l 符号开头代表链接文件,类似 Windows 系统中的快捷方式。

命令标识符解析

[root@localhost ~]#

[]:这是提示符的分隔符号,没有特殊含义。
root:显示的是当前的登录用户,笔者现在使用的是 root 用户登录。
@:分隔符号,没有特殊含义。
localhost:当前系统的简写主机名(完整主机名是 localhost.localdomain)。
~:代表用户当前所在的目录,此例中用户当前所在的目录是家目录。
#:命令提示符,Linux 用这个符号标识登录的用户权限等级。如果是超级用户,提示符就是 #;如果是普通用户,提示符就是 $。

三、linux常用基本命令

pwd命令

pwd 命令,是 Print Working Directory (打印工作目录)的缩写,功能是显示用户当前所处的工作目录。

mkdir、rmkdir命令

mkdir 命令,是 make directories 的缩写,用于创建新目录,此命令所有用户都可以使用。
rmkdir命令,remove make  directories 的缩写,用于删除空目录,如果有子目录时会提示需要一级一级删,也可以 加选项 -  p 递归删除

touch命令

touch 命令不光可以用来创建文件(当指定操作文件不存在时,该命令会在当前位置建立一个空文件),此命令更重要的功能是修改文件的时间参数(但当文件存在时,会修改此文件的时间参数)。

选项:
-a:只修改文件的访问时间;
-c:仅修改文件的时间参数(3 个时间参数都改变),如果文件不存在,则不建立新文件。
-d:后面可以跟欲修订的日期,而不用当前的日期,即把文件的 atime 和 mtime 时间改为指定的时间。
-m:只修改文件的数据修改时间。
-t:命令后面可以跟欲修订的时间,而不用目前的时间,时间书写格式为 YYMMDDhhmm。

ln 命令

ln 命令用于给文件创建链接,根据 Linux 系统存储文件的特点,链接的方式分为以下 2 种:

软链接:类似于 Windows 系统中给文件创建快捷方式,即产生一个特殊的文件,该文件用来指向另一个文件,此链接方式同样适用于目录。
硬链接:文件的基本信息都存储在 inode 中,而硬链接指的就是给一个文件的 inode 分配多个文件名,通过任何一个文件名,都可以找到此文件的 inode,从而读取该文件的数据信息。

[root@localhost ~]# ln [选项] 源文件 目标文件

cp 命令

cp 命令,主要用来复制文件和目录,同时借助某些选项,还可以实现复制整个目录,以及比对两文件的新旧而予以升级等功能

[root@localhost ~]# cp [选项] 源文件 目标文件

选项:

-a:相当于 -d、-p、-r 选项的集合,这几个选项我们一一介绍;
-d:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软	链接;
-i:询问,如果目标文件已经存在,则会询问是否覆盖;
-l:把目标文件建立为源文件的硬链接文件,而不是复制源文件;
-s:把目标文件建立为源文件的软链接文件,而不是复制源文件;
-p:复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间);
-r:递归复制,用于复制目录;
-u:若目标文件比源文件有差异,则使用该选项可以更新目标文件,此选项可用于对文件的升级和备用。

rm命令

rm命令是强大的删除命令,它可以永久性地删除文件系统中指定的文件或目录。在使用 rm 命令删除文件或目录时,系统不会产生任何提示信息。

[root@localhost ~]# rm[选项] 文件或目录

选项:

-f:强制删除(force),和 -i 选项相反,使用 -f,系统将不再询问,而是直接删除目标文件或目录。
-i:和 -f 正好相反,在删除文件或目录之前,系统会给出提示信息,使用 -i 可以有效防止不小心删除有用的文件或目录。
-r:递归删除,主要用于删除目录,可删除指定目录及包含的所有内容,包括所有的子目录和文件。

mv命令

mv 命令(move 的缩写),既可以在不同的目录之间移动文件或目录,也可以对文件和目录进行重命名。

[root@localhost ~]# mv 【选项】 源文件 目标文件

选项:

-f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖;
-i:交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项);
-n:如果目标文件已经存在,则不会覆盖移动,而且不询问用户;
-v:显示文件或目录的移动过程;
-u:若目标文件已经存在,但两者相比,源文件更新,则会对目标文件进行升级;

四、linux系统命令执行过程

Linux 命令的执行过程分为如下 4 个步骤

1、判断路径
判断用户是否以绝对路径或相对路径的方式输入命令(如 /bin/ls),如果是的话直接执行。
2、 检查别名
Linux 系统会检查用户输入的命令是否为“别名命令”。要知道,通过 alias 命令是可以给现有命令自定义别名的,即用一个自定义的命令名称来替换原本的命令名称。
通过 alias 命令是可以给现有命令自定义别名的,即用一个自定义的命令名称来替换原本的命令名称。
3、 判断是内部命令还是外部命令
Linux命令行解释器(又称为 Shell)会判断用户输入的命令是内部命令还是外部命令。其中,内部命令指的是解释器内部的命令,会被直接执行;而用户通常输入的命令都是外部命令,这些命令交给步骤四继续处理。
可用type 命令查询命令类型 如:type cd
4、查找外部命令对应的可执行文件
当用户执行的是外部命令时,系统会在指定的多个路径中查找该命令的可执行文件,而定义这些路径的变量,就称为 PATH 环境变量,其作用就是告诉 Shell 待执行命令的可执行文件可能存放的位置,也就是说,Shell 会在 PATH 变量包含的多个路径中逐个查找,直到找到为止(如果找不到,Shell 会提供用户“找不到此命令”)。
可以命令:echo $PATH 查看环境变量配置
linux 相关学习记录: ls -l 获得当前目录下的所有文件 2、cd 获得指定文件目录位置 3、pwd 获得当前目录位置 4、touch 在指定目录下生成一个空文件 5、cp 将某个文件复制到目标文件 mv 改变文件名或移动文件 rm 删除文件目录 ln 链接文件 cp差不多,但是,文件改了,链接的文件也改变(硬链接) Mkdir 生成目录 rmkdir 删除指定目录 管理文件 file 浏览文件的类型(在有足够权限的情况下) Cat 将文件文本发送到标准输出(如屏幕) Head tail Head 提供文件的前几行的视图,tail提供文件后几行的视图 可以指定显示的文件量 显示前15行的视图 more less 都是从文件文件开头开始,more 可以一次一页浏览文件内容 less 可以利用键盘上的page up page down 进行浏览上下滚动 权限 为abc文件设置权限 -rwxrw-r-- -表示文件 后面三个一组,分为三组 rwx表示当前文件的所有者(读,写,执行权限)rw- 表示跟所有者同一组的其他人(读,写权限)r-- 表示其他人(读权限) lrwxr--r-- l 表示链接 同上 drwxrw-rwx d 表示文件夹或目录 同上 chmod +r 4 Chmod +w 4 chmod +x 4 修改文件的权限 但是比较土 Chmod 775 u 4 修改但前用户权限 chmod 777 g 4 修改组权限 chmod 774 o 4 修改其他人权限 775=111111101(rwxrwxr-x) 777=111111111(rwxrwxrwxr) 这种方式比较专业 chown 修改文件所有者属于谁 如 chown testuser2 4, 就把4这个文件由testuser给了testuser2 操作文件 wc 取得文件中的行数,字数,字符数 注:showoff文件一个文件名 find 可以从目录或子目录中收索所选文件 Locate 收索数据库中的文件 Grep 收索一个没有打开的文件中的字符(查找给定字符串所以在的位置或行) vi 文本编辑器(相当于win notepad)   用vi 打开某文件 # vi 文件目录/文件名 dd 删除一行记录 a 添加记录 esc 退出 wq 保存退出 !q 不保存退出 o 插入文本 export java_home Echo 查看环境变量 echo $path Useradd 添加用户 注:/home下面会自动生成一个关于这个新用户的主目录 Passwd 用户名--》 密码 Userdel 删除用户 Groupadd 提交一个组 Groupdel删除一个组 Sh 有很多:bash,csh,ksh,sh等等,一般用的都是bash Usermod -g testg testuser 修改testg组的用户testuser Su 切换用户 如 su testuser2 Exit 返回或退出 管道 将得到的结果用另外一种方式来显示 如 ls -l /etc | more | 应用的就是管道 分页显示,用MORE Cat /etc/passwd | wc cat /etc/passwd | grep lrj Dmesg | grep eth0 Ls -l | grep "^d" 只查找目录 Ls -l * | grep "^-"| wc-| 只查找文件的数量 重定向(用的比较少) Ls > com.txt 将ls 得到的结果输出到 com.txt中 Ls >> com.txt 将ls 得到的结果追加到com.txt后面 Lsss 2> com.txt lsss为错误命令 所以就是将错误命令信息添加到com.txt中 Wall 全体通知其他人的一个命令 Reboot 重启 Ifconfig 查看IP FTP 往linux上上传文件开启linux上的vsftpd service vsftpd start(stop) 关闭linux中的防火墙 service iptables stop 要使用用户进行上传,比如root 就必须修改etc目录下的两个文件 一个是user_list 一个是ftpusers Chkconfig 开机自启动 如:chkconfig vsftpd on Chkconfig httpd on http服务 chkconfig mysql on mysql服务 Chkconfig sshd on :远程登录服务 一般用putty客户端软件 安装JDK ./JDK gzip 压缩,解压缩 tar sss 指定JAVA_HOME: JAVA_HOME=./USER/... 指定完java_home后还必须输出一下 export java_home Mv sss sss 改名 Ps -ef 观察当前下面的进程 Kill 进程ID 结束进程 Kill -9 强制结束某个进程 Rpm -qa 列出当前系统中所有的安装过的包 Rpm -e 软件名(包名) 卸载软件 Rpm -ivh 软件名 安装软件 Wget 网址 linux上访问地址 Ps -auxf | grep sss:查看linux下正在运行的进程 Linux环境下部署EAR等 vi profile 在profile文件中修改环境变量 如:export JAVA_HOME=... Export CLASS_PATH=... Export PATH=$PATH:$JAVA_HOME/...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值