linux文件和目录管理命令

一、 文件目录命名规则

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 查看环境变量配置
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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、付费专栏及课程。

余额充值