linux目录管理和文件管理常用命令

1、目录管理

1.1、Linux的目录结构

.:当前目录

..:上一级目录

/:根目录

/bin:二进制,可执行的命令

/boot:引导,操作系统用于引导系统启动的文件,内核、grub

/dev:设备文件

Linux的设备类型:

字符设备:c,线性设备

块设备:b,随机设备

/etc:配置文件

/home:用户的家目录,/home/USERNAME,jerry,/home/jerry

/root:管理员的家目录

/lib,lib64:库文件

/media:挂载点目录,通常用于挂载便携性设备

/mnt:挂载点目录,挂载额外的文件系统

/misc:备份目录

/opt:可选目录,通常第三方软件偶尔安装于此路径下

/proc:伪文件系统:内存中内核的映射

/selinux:安全加强的Linux

/srv:伪文件系统,通常用于访问硬件设备属性信息

/tmp:临时文件目录

/usr:储存只读文件

/var:经常会发生变化的文件:比方说日志等

1.2、linux下的文件以及文件的目录命名规则:

1.长度不能超过255个字符

2.不能使用/(斜线)当文件名, 建议不要使用特殊字符

3.严格区分大小写

1.3、目录管理常用命令

cd    更换工作目录用法:cd [DIRECTORY]

cd .. 返回上级目录

cd ~  返回家目录

cd    回家目录

cd -    在上个目录和当前目录之间切换

cd ~USERNAME    切换到USERNAME的家目录

# cd /usr/share    #切换到share目录下

pwd:显示当前目录

dirname:显示指定路径的目录

# dirname /usr/bin/
/usr
# dirname a/b/ 
a 
# dirname a 
.

mkdir建立目录用法:mkdir [OPTION] DIRECTORY

-p:父目录    如果我们指定z的话,z的父目录y不存在的话会自动先创建y,如果y的父目录x不存

在的话会自动先创建x

-v:显示创建过程

# mkdir /tmp/x1         #在tmp下创建x1
# mkdir /tmp/x2/hello   #在tmp下的x2下创建hello,因为x2不存在,所以会报错,不能创建,要使用-p选项
mkdir -pv /tmp/x2/hello    
命令行展开:
/mnt/test2/
a_b,a_c,d_b,d_c
{a,d}_{b,c}
# mkdir -pv /mnt/test2/{a,d}_{b,c}
mkdir: created directory `/mnt/test2‘
mkdir: created directory `/mnt/test2/a_b‘
mkdir: created directory `/mnt/test2/a_c‘
mkdir: created directory `/mnt/test2/d_b‘
mkdir: created directory `/mnt/test2/d_c‘

/mnt/test/x/m  /mnt/test/y   这个怎么同时创建?

[[email protected] ~]# mkdir -pv /mnt/test/x/m  /mnt/test/y   
[[email protected] ~]# mkdir -pv /mnt/test/{x/m,y}     # {}花括号展开  ~USERNAME波浪线展开

rmdir(remove directory):删除目录,只能用于删除空目录

-p:父目录

-v:显示详细过程

# rmdir -pv /root/x/y/z      
rmdir: 正在删除目录 "/root/x/y/z"           
rmdir: 正在删除目录 "/root/x/y"            
rmdir: 正在删除目录 "/root/x"              
rmdir: 正在删除目录 "/root"                
rmdir: 删除目录 "/root" 失败: 目录非空

注:加了-p后,只能删除一线单传的目录:即把z删除后,y目录 空了,就会把y目录删除,当y 删除后,x目录空了,就会把x 目录删除,但是root不空,所以不能删除root目录。

2、文件的管理

2.1、文件的类型

Linux文件类型:

普通文件(-):a.html,b.txt,c.ppt,ls

目录文件(d):

特殊文件:

块设备文件(b):

字符设备文件(c):

符号链接文件(l):

命名管道文件(p):pipe

套接字文件(s):socket

判断普通文件的内容类型,使用file命令:#file 命令

2.2、文件的权限

目录权限:

r:可以对目录执行ls命令,但不允许使用-l选项,而且,不能cd到目录中;

w:可以在目录创建文件;

x:可以对目录执行ls -l 命令,且能够cd进去。

文件系统安全模型:

属主 属组 其它

u,  g,  o

---:000 --> 0

--x:001 --> 1

-w-:010 --> 2

-wx:011 --> 3

r--:100 --> 4

r-x:101 --> 5

rw-:110 --> 6

rwx:111 --> 7

3位二进制对应一个8进制

4位二进制对应一位16进制

0,9,A,B,C,D,E,F

F:1111

9:1001

2.2、文件管理常用命令

cat、tac、more、less、head、tail    显示文件

cat    顺序显示整个文件    cat filename

-n:显示行号

# cat -n /etc/sysctl.conf

从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.

将几个文件合并为一个文件:cat file1 file2 > file

tac    逆序显示文件

more    满屏显示文件内容,向后翻,在翻至文件尾部之前允许向后翻 敲空格键:下一屏,按q结束

-N:显示N行

+N:从第N行开始显示

# more /etc/sysctl.conf

less:向前翻,在翻至文件头部之前允许向前翻敲b键:往前翻一屏回车键,往前翻一行

head:文件的前n行      n默认为10,且默认不显示文件名

-q:隐藏文件名

-v:显示文件名

-n N或-N::显示N行

-c N:显示N个字节

head -v -8 /etc/sysctl.conf
==> /etc/sysctl.conf <==
...

tail:文件的后n行

-n N或-N::显示N行

-f:查看一个文件的尾部内容后,不退出,等待并显示新增的行; 退出使用Ctrl+C结束

文件的创建和删除:在Linux下,目录和文件是不能同名的,在Windows下,也不能,因为Windows下的文件都有后缀

touch

# touch a     #创建a文件

touch:主要命令不是用来创建文件的,是用来修改时间戳的

时间戳:访问时间,修改时间,改变时间

-c:不创建任何文件

-a:只改变访问时间      访问时间改变,改变时间也会改变

-m:只改变修改时间      修改时间改变,改变时间也会改变

-t:指定修改时间到某个指定时间,格式为[CC]YYMMDDhhmm.ss

stat:显示文件或文件系统的状态信息

# stat a    #显示a文件或a文件系统的状态信息
  File: `a‘
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: 802h/2050d	Inode: 131089      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2015-03-05 06:17:01.535994188 -0500    #访问时间
Modify: 2015-03-05 06:17:01.535994188 -0500    #修改时间
Change: 2015-03-05 06:17:01.535994188 -0500    #

创建文件,可以使用文件编辑器   文本编辑器只是编辑纯ASCII码的

word不是文件编辑器,只是字处理器

nano、vim:文本编辑器

rm:删除文件

-i:删除前提醒

-f:强行删除

-r:删除目录  删除目录下所有的文件

# rm hello    删除hello

注:为什么会提示,因为这里的rm命令不是源生的rm命令,是被修改后的rm命令,是rm -i的别名,(命令别名),-i 交互式,如果你删的话,就跟你交互一下,问你要不要删因为现在是管理员,为了避免误删,所以有这个提示,普通用户没有提示

# \rm a        #加了\后就没有提示,就是原来的rm命令
# rm -rf /     #删除根目录,所以一定要小心使用

命令别名:

alias

\COMMAND:使用命令自身,而不使用与命令名称同名的别名

cp:copy    复制和移动文件    cp SRCFILE DEST

-r 或 -R : 复制目录及及目录中的文件的,实现递归复制

-f :  强行复制,如果目标文件存在直接覆盖;如果文件目标不能打开,先把它删了,再重试

-i :  交互式,覆盖前提醒确认

-p :  复制文件后保留原有的属主、属组、权限以及时间戳

-a :  全部复制,归档

复制文件能不能把一个文件复制为另外一个文件(能),能不能把一个文件复制为多个文件(不能),把一个文件复制为多个目标(不能),可不可以把多个文件复制为一个文件(不能),可不可以把多个文件复制到一个目录(能),可不可以把多个文件复制为多个文件(cp不能,可以使用脚本实现)

cp file1 file2 file3

cp命令只有最后一个是目标,此前的所有都是源,不允许一个源多个目标,也不允许多个源多个目标

# cp /etc/passwd /tmp/     #把etc目录下passwd文件复制到tmp目录下,并保持原来的名字
# cp /etc/passwd /tmp/test   #复制etc目录下passwd文件到tmp目录下。

注:如果目标test不存在,则复制到tmp下并命名为test。如果test存在的话,则看是目录还是文件,是文件则提示我们 是不是覆盖掉,即删除原来的test文件,将passwd复制过来重新命名为test;是目录,则把passwd放到test目录下,并保存为原来的名字

# cp /etc/passwd /etc/issue /etc/inittab /tmp/abc
cp: 目标"/tmp/abc" 不是目录             #说明多个源 目标就必须是目录

cp命令默认下不会复制目录,如果要复制目录,cp有个递归选项:-R或-r都可以,即复制目录及目录下的所有文件

# cp /etc/init.d/ /tmp/
cp: 略过目录"/etc/init.d/"
[[email protected] ~]# cp -r /etc/init.d /tmp/passwd       passwd是tmp下的一个文件
passwd -> rc.d/init.d

注:创建了一个链接,而且是指向当前的链接文件,但是是错的,因为tmp下没有init.d这个文件在Linux上显示位红色

# cp -r /etc/init.d/ /tmp/hello    #复制etc目录下init.d目录到tmp目录下,创建并命名为hello

mv    移动文件及目录 用法:mv [OPTION]...SOURCE DEST

-f:强行移动,如果目标文件存在直接覆盖;如果文件目标不能打开,先把它删了,再重试

-i:交互式,移动覆盖前提醒确认

-b:若需覆盖文件,则覆盖前先行备份。

# mv /etc/abc /tmp/def     #将/etc/abc移动到/tmp/下,并重命名为def

通配符:bash支持文件名通配,globbing

*:任意长度的任意字符

?:任意单个字符

[]:指定范围内的任意单个字符

[0-9]:所有的数字

[a-z]或[A-Z]所有的字母

[0-9a-z]或[0-9A-Z]所有的数字和字母

字符集和:

[:digit:] :所有的数字,相当于0-9    [0-9],[[:digit:]]

[:lower:] :所有的小写字母

[:upper:] :所有的大写字母

[:alpha:] :所有的数字

[:alnum:] :相当于[0-9a-z]所有的数字和字母

[:space:] :空白符号

[:punct:] :所有标点符号

[^]:脱字符,取反,指定范围外的任意但个字符

# cp -v /etc/i* /tmp/      #将etc目录下以i开头的文件复制到tmp下
# cp /etc/*.conf /tmp/      #将所有已.conf结尾的文件复制到tmp下
# cp /etc/i*.conf /tmp/        #以i开头,后面跟任意字符,最后以.conf结尾
# cp /etc/i?.conf /tmp/        #以i开头,后面跟任意一个字符,最后以.conf结尾
# cp /etc/i[abcd].conf /tmp/   #以i开头,后面跟abcd中任意一个字符,最后以.conf结尾
# cp /etc/i[abcd]*.conf /tmp/  #以i开头,后面跟abcd中任意一个字符,后面再跟任意一个字符,最后以.conf结尾
时间: 2024-11-10 14:17:23

linux目录管理和文件管理常用命令的相关文章

(17)文件和目录管理类的常用命令2

1.mkdir命令:创建目录(文件夹) mkdir 命令,是 make directories 的缩写,用于创建新目录,此命令所有用户都可以使用. mkdir 命令的基本格式为: [[email protected] ~]# mkdir [-mp] 目录名 -m 选项用于手动配置所创建目录的权限,而不再使用默认权限. mkdir -m 711 test2 在创建 test2 时,使用了 -m 选项,通过设定 711 权限值来给予新的目录 drwx--x--x 的权限 -p 选项递归创建所有目录,

(18)文件和目录管理类的常用命令3

1.mv 命令(move 的缩写) 既可以在不同的目录之间移动文件或目录,也可以对文件和目录进行重命名.该命令的基本格式如下: [[email protected] ~]# mv [选项] 源文件 目标文件 选项: -f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖: -i:交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项): -n:如果目标文件已经存在,则不会覆盖移动,而且不询问用户: -v:显示文件或目录的移动过程: -u:若目标文件已经存在,但两者相比,源文件更新,则

linux学习之路之目录管理和文件管理

我们知道linux文件系统是一个树型结构,在最上层是'/'目录,根目录的下面就是其他目录,而这些目录下面又可以有多个子目录,这样一层一层的就形成一个树型结构图.那是不是我们查找某一个文件必须要从根目录开始往下查找的呢?当然不是,在这里我将会介绍两种路径方式:相对路径和绝对路径. 什么是相对路径和绝对路径? 绝对路径:就是从'/'根目录开始往下一级一级的查找,直到目的所经过的线路. 相对路径:就是相对当前位置而言来找到目的地所经过的线路. 目录的创建 mkdir:用于创建目录 语法格式:mkdir

整理Linux查看系统日志的一些常用命令

整理Linux查看系统日志的一些常用命令 last -a 把从何处登入系统的主机名称或ip地址,显示在最后一行. -d 指定记录文件.指定记录文件.将IP地址转换成主机名称. -f <记录文件> 指定记录文件. -n <显示列数>或-<显示列数> 设置列出名单的显示列数. -R 不显示登入系统的主机名称或IP地址. -x 显示系统关机,重新开机,以及执行等级的改变等信息 以下看所有的重启.关机记录 last | grep reboot last | grep shutd

Linux的简单介绍和常用命令的介绍

Linux的简单介绍和常用命令的介绍 本说明以Ubuntu系统为例 Ubuntu系统的安装自行百度,或者参考http://www.cnblogs.com/CoderJYF/p/6091068.html 自行安装 Linux简介及Ubuntu安装 Linux,免费开源,多用户多任务系统.基于Linux有多个版本的衍生.RedHat.Ubuntu.Debian 安装VMware或VirtualBox虚拟机.具体安装步骤,找百度. 再安装Ubuntu.具体安装步骤,找百度 常用指令 ls      

Linux 系统基础优化和常用命令

目录 Linux 系统基础优化和常用命令 软连接 tar解压命令 gzip命令 netstart命令 ps命令 kill命令 killall命令 SELinux功能 iptables防火墙 Linux中文显示设置(防止中文乱码) df 命令 tree命令 设置主机名 DNS 查看Linux的dns, 唯一配置文件 本地强制dns解析文件 /etc/hosts nslookup命令 计划任务crond服务 软件包管理 windows程序 macos程序 RPM软件包管理器 实例 rpm安装软件 r

linux下维护服务器之常用命令

linux下维护服务器之常用命令! 第1套如下: 正则表达式: 1.如何不要文件中的空白行和注释语句: [[email protected] ~]# grep -v '^$' 文件名 |grep -v '^#' 2.如何查阅系统上面正在运作当中的程序呢? 利用静态的 ps 或者是动态的top,还能以 pstree 来查阅程序树之间的关系! 一个是叧能查阅自己 bash 程序癿『 ps -l 』一个则是可以查阅 所有系统运作癿程序『 ps aux 』 [[email protected] ~]#

linux中vim编辑器各种常用命令及用法

linux中vim编辑器的常用命令以及用法(注意严格区分大小写以及中英文): vim编辑器有三种模式,分别是:编辑模式,输入模式以及末行模式. 模式转换: 编辑模式>>>输入模式: i:在光标所在字符前面,转为输入模式(即转完后在光标所在字符前输入):                      I:在光标所在行的行首,转为输入模式(即转完后在行首输入,不包括行首空                         白) a:在光标所在字符后,转为输入模式(即转完后在光标所在字符后面输入):

Linux学习之Vi编辑器常用命令

VI编辑器常常简称为Vi(visual editor),它可以自行输入.删除.查找.替换.复制.粘贴.块操作等多功能编辑器.用户需要根据自己的需求进行定制,这个是其他编辑程序所没有的一个功能.vi 编辑器并不是一个排版程序,它不像Word或WPS那样可以对字体.格式.段落等其他属性进行编排,它只是一个文本编辑程序.没有菜单,只有命令,且命令繁多.vi有3种基本工作模式:命令行模式.文本输入模式和末行模式.. 基本上vi可以分为三种状态, 分别是 游标控制 k 游标向上移  (添数字 移动字符个数