Linux目录文件管理_2

ps: 红字字体为重要部分, 仔细看


一、 目录、文件基本命令(mkdir、tree、touch、rmdir、rm、cp、mv、)

1. mkdir: 创建目录;

常用选项:

①。  -p:     递归创建目录

[[email protected] ~]# mkdir a/b/c              #当前没有a/b/c目录, 所以创建不成功
mkdir: cannot create directory `a/b/c‘: No such file or directory    
  #提示没找到a/b/c 目录
[[email protected] ~]# mkdir -p a/b/c                   #可以结合-p选项递归创建a/b/c目录
[[email protected] ~]# mkdir -p a/B/C
[[email protected] ~]# tree -C a                      #查看a目录的结构
a
|-- B
|   `-- C
`-- b
    `-- c

②。 -v:     可视化

[[email protected] ~]# mkdir -pv a/A/B/C
mkdir: created directory `a/A‘
mkdir: created directory `a/A/B‘
mkdir: created directory `a/A/B/C‘

2. tree:显示目录结构;

常用选项:

①。 -C:     显示颜色

[[email protected] ~]# tree -C a                            #查看a目录的结构
a
|-- B
|   `-- C
`-- b
    `-- c

3. touch:创建文件;

[[email protected] ~]# touch a/A/B/C/1

4. rmdir:用于删除空目录, 如果目录中含有文件, 则无法删除, 所以不常用;

5. rm: 删除文件或目录;

常用选项:

①.。 -i:     删除时提醒

[[email protected] ~]# rm a/A/B/C/1                       #删除刚创建的文件1
rm: remove regular empty file `a/A/B/C/1‘? y         #输入y则删除,输入n为不删除

②。 -r:     删除目录

[[email protected] ~]# rm -r a/A/B/C/            #删除a/A/B/下的C目录  
rm: remove directory `a/A/B/C‘? y           #输入y则删除,输入n为不删除 
[[email protected] ~]# ls -l a/A/B/              #可以看到, a/A/B下没有了C目录
total 0

③。 -f:     强制删除(删除时不提醒)

[[email protected] ~]# rm -rf a/A/B            #删除a/A下的B目录
[[email protected] ~]# ls -l a/A/                                             
total 0
[[email protected] ~]# mkdir -p a/A/1/2/3/4/   #结合-p创建递归目录
[[email protected] ~]# rm -rf a/A              #删除A目录.
[[email protected] ~]# ls a                    #可以看到,A目录下的子目录一块删除
B

6. cp:复制文件和目录;

常用选项:

①。 -r:     复制目录

[[email protected] ~]# ls -l | grep ‘^d‘           #过滤当前以d开头的目录
drwxr-xr-x. 3 root root 4096 Mar 10 05:09 a
[[email protected] ~]# cp a /etc/                  #如果不输入-r选项, 不允许拷贝目录
cp: omitting directory `a‘
[[email protected] ~]# cp -r a /etc/

②。 -a:     复制时文件属性保持一致

[[email protected] ~]# cp -a a /home/                       
drwxr-xr-x. 2 root root 4096 Mar 10 05:40 /home/a               #红色表示文件属性
当目标文件已存在时, 复制源文件会提示是否覆盖. 如果不希望覆盖, 即使用cp的绝对路径.
[[email protected] ~]# cp 1.txt /home/
[[email protected] ~]# cp 1.txt /home/                                         
cp: overwrite `/home/1.txt‘? y
[[email protected] ~]# /bin/cp 1.txt /home/

7. mv:移动文件或改名;

常用选项:

①。 -i:     移动或改名时提醒.

[[email protected] ~]# ls a                       #a目录下有1.txt、2.txt、3.txt
1.txt  2.txt  3.txt     
[[email protected] ~]# echo abc> 1.txt            #将‘abc‘重定向到当前目录的1.txt文件中
[[email protected] ~]# mv 1.txt a                 #将当前目录的1.txt移动到a目录
mv: overwrite `a/1.txt‘? y                   #输入y则覆盖.
[[email protected] ~]# cat a/1.txt                #查看a/1.txt文件内容
abc
[[email protected] ~]# echo 222 > 1.txt           #将‘222‘重定向到当前目录的2.txt文件中
[[email protected] ~]# cat 1.txt           
222
[[email protected] ~]# /bin/mv 1.txt a/               
当目标文件存在是时, 会提示是否覆盖. 如果不希望提示, 需要使用命令的绝对路口/bin/mv, 并进行强制覆盖. 
[[email protected] ~]# cat a/1.txt
222

②。 -v:     可视化

[[email protected] ~]# mv -v a/1.txt ./
`a/1.txt‘ -> `./1.txt‘

二、 查看文件和目录(cat、tac、rev、more、less、tail、head)

1. cat: 查看文件;

常用选项:

①。 -A:     在每行结束处显示‘$‘

[[email protected] ~]# cat 1.txt
abc
def
ijk
[[email protected] ~]# cat -A 1.txt                               
abc$
def$
ijk$

②。 -n:     显示行号

[[email protected] ~]# cat -n 1.txt
     1  abc
     2  def
     3  ijk

2. tac: 文件倒序;

[[email protected] ~]# tac 1.txt
ijk
def
abc

3. rev: 颠倒文件左右内容;

[[email protected] ~]# rev 1.txt
cba
fed
kji

4. more: 当内容为满屏时, 按百分比显示文件内容;

[[email protected] ~]# more /etc/init.d/iptables

5. less: 和more类似, less支持快捷键;

[[email protected] ~]# less /etc/init.d/iptables
下面是快捷键:
               n与N结合/使用: n往下,N往上
               n与N结合?使用: n往上,N往下
               ctrl+f: 往下翻页
               ctrl+b: 往上翻页
               快捷键使用:j像下,k像上
               G跳转到最后一行g跳转到第一行

6. tail: 默认查看文件尾10行;

[[email protected] ~]# tail /etc/passwd
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
named:x:25:25:Named:/var/named:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
rtkit:x:498:499:RealtimeKit:/proc:/sbin/nologin
pulse:x:497:498:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
[[email protected] ~]# tail -3 /etc/passwd                              #查看末尾3行, 加-3
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin

7. head: 默认查看文件前10行;

[[email protected] ~]# head /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
[[email protected] ~]# head -3 /etc/passwd                    #查看前3行. 加-3
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

三、文件及目录属性

[[email protected] ~]# ls -l
total 28
-rw-r--r--.  1 root root   12 Mar 10 05:56 1.txt
drwxr-xr-x. 2 root root 4096 Mar 10 05:38 a

Linux文件类型:

f或者-  :          普通文件
d:                   目录文件
b:                   块设备文件
c:                    字符文件
s:                    套接字文件
l:                     软连接文件
p:                   管道文件

1:                   表示几个文件使用了相同inode号

.:                    selinux

+:                   ACL

Linux文件链接数(即inode)

[[email protected] ~]# ls -ldai a                            #查看a目录本身inode
914018 drwxr-xr-x. 3 root root 4096 Mar 10 05:38 a      #3代表的链数.  914018表示inode
[[email protected] ~]# ls -ali a/
total 8
914018 drwxr-xr-x. 2 root root 4096 Mar 10 05:38 .      #查看当前目录
913921 dr-xr-x---. 3 root root 4096 Mar 10 05:56 ..
915949 -rw-r--r--. 1 root root    0 Mar 10 05:28 2.txt
915950 -rw-r--r--. 1 root root    0 Mar 10 05:28 3.txt
[[email protected] ~]# ls -ali a/1
total 8
915947 drwxr-xr-x. 2 root root 4096 Mar 10 06:27 .
914018 drwxr-xr-x. 3 root root 4096 Mar 10 06:27 ..     #查看a/1目录

从上面的inode中可以看出indeo出现三次:

1。 目录本身

2。 a/目录里的‘.(隐藏)‘当前目录

3。 a/1目录的..(上一级)‘上一级目录

四、修改文件及目录的属性和权限(chown、chmod)

1. chown: 修改目录及文件属性(属主、属组)

[[email protected] ~]# useradd user1                                    #创建用户
[[email protected] ~]# useradd user2
[[email protected] ~]# ls -l  | grep ‘^d‘
drwxr-xr-x. 3 root root 4096 Mar 10 06:27 a
[[email protected] ~]# chown user1 a
[[email protected] ~]# ls -l  | grep ‘^d‘
drwxr-xr-x. 3 user1 root 4096 Mar 10 06:27 a
[[email protected] ~]# chown :user2 a
[[email protected] ~]# ls -l  | grep ‘^d‘
drwxr-xr-x. 3 user1 user2 4096 Mar 10 06:27 a
[[email protected] ~]# chown root:root a
[[email protected] ~]# ls -l  | grep ‘^d‘
drwxr-xr-x. 3 root root 4096 Mar 10 06:27 a

常用选项:

-R:     递归修改属性

[[email protected] ~]# ls -l a
total 4
drwxr-xr-x. 2 root root 4096 Mar 10 06:27 1
[[email protected] ~]# chown -R user1:user2 a/1
[[email protected] ~]# ls -l a
total 4
drwxr-xr-x. 2 user1 user2 4096 Mar 10 06:27 1

2. chmod: 修改文件目录的权限

[[email protected] ~]# ls -l  | grep ‘^d‘
drwxr-xr-x. 3 root root 4096 Mar 10 06:27 a
[[email protected] ~]# chmod 777 a
[[email protected] ~]# ls -l  | grep ‘^d‘
drwxrwxrwx. 3 root root 4096 Mar 10 06:27 a

权限用二进制表示应为:

r=4

w=2

x=1

常用选项:

①。 -R:     递归修改文件、目录权限

[[email protected] ~]# ls -l a
total 4
drwxr-xr-x. 2 user1 user2 4096 Mar 10 06:27 1
[[email protected] ~]# chmod -R 700 a
[[email protected] ~]# ls -l && ls -l a/
drwx------. 3 root root 4096 Mar 10 06:27 a
--------------------------------------------------------
drwx------. 2 user1 user2 4096 Mar 10 06:27 1

五、umask权限掩码

[[email protected] ~]# umask                    #umask默认掩码为0022
0022
创建目录的默认掩码为777-022=755。
创建文件的默认掩码为666-022=644。
[[email protected] ~]# umask 0001          #修改默认掩码
[[email protected] ~]# ls -l | grep aaaa
drwxrwxrw-. 2 root root 4096 Mar 10 06:50 aaaa
[[email protected] ~]# touch a.txt            #创建一个文件
[[email protected] ~]# ls -l | grep a.txt      
-rw-rw-rw-. 1 root root    0 Mar 10 06:48 a.txt

a.txt不属于目录, 切不带有‘x(执行)‘权限. 技术umask改为0001, 而创建的文件权限仍然为666.

如有错误, 请大家指正。

51博客:http://chenxiaojian.blog.51cto.com

时间: 2024-10-05 08:35:34

Linux目录文件管理_2的相关文章

Linux目录文件管理

Linux系统主要目录及其内容 目录 内容 /bin 构建最小系统所需要的命令(最常用的命令) /boot 内核与启动文件 /dev 各种设备文件 /etc 系统软件的启动和配置文件 /home 用户的主目录 /lib C编译器的库 /media 可移动介质的安装点 /opt 可选的应用程序包 /proc 进程的映像 /root 超级用户root的主目录 /sbin 和系统操作有关的命令 /tmp 临时文件存放点 /usr 非系统的程序和命令 /var 系统专用的数据和配置文件 简历目录mkdi

lesson - 4 Linux目录文件管理

内容概要:1. 和目录相关的几个命令mkdir 关注-p选项 rmdir 同样也有一个-p选项rm -r -f 两个常用选项cp -r 针对目录, 有时我们使用/bin/cpmv 重命名或者移动, 有时我们使用/bin/mv, 当我们mv目录时,注意若是目标目录存在的情况下,那么会把源目录移动到目标目录里 2. 和文本相关的命令cattacmoreless 几个快捷键:j, k, g, G, ctrl+b, ctrl+f, 空格head -n tail -n -f 3. 文件或目录的属性属主.属

浅谈Linux目录文件管理

1.查看文件的命令类型1).cat一次性查看文件的所有内容,不适合阅读大篇幅文件使用2).more可以分页看,灵活性强,空格键进行翻页,一行一行查看使用enter键,退出查看使用q3).less支持分页查看,支持向上和向下翻页,支持内容查找,pgup向上翻页,pgdown向下翻页,q退出查看2.head和tail1).head查看开始行,默认查看前10行数据2).tail查看结尾行,默认查看后10行3.gzip文件压缩和解压缩1).gzip常见的选项-q高压缩-d解压缩压缩的文件4.tar归档命

我的LINUX之路----linux目录文件管理

与目录相关的几个命令: mkdir 创建目录 -p 级联创建,例如:在/root目录下,创建11目录,mkdir 11 ,可以创建成功,但要是创建多层目录,比如说,想创建11/22/33/44,此时,mkdir 11/22/33/44 会提示无法创建,这是因为父目录没创建哪来的子目录,就好比,没爸爸哪来的儿子呀! [[email protected] ~]# mkdir 11/22/33/44 mkdir: 无法创建目录"11/22/33/44": 没有那个文件或目录 怎么办,加上个

linux目录文件管理相关命令

目录是一种文件,路径映射文件:路径是指从指定起始点到目的点所经过位置(层次化) 路径分为2种: 绝对路径:从根开始,经过子目录,子子目录,文件:例 /usr/local 相对路径:相对于当前所在路径的路径:例 ./x/y,./ 表示当前路径下,作为参数可省略 # pwd  显示当前所在路径 # ls 显示当前路径下所有文件以及目录 选项: -l 表示长格式,完整信息,信息内容: 文件格式 - :普通文件 d :目录文件 b :块设备文件 c :字符设备文件 l :符号链接文件(软连接文件):链接

linux 第三章目录文件管理(上)

享受生活  热爱挑战                                                                                  明远分享         linux  第三章目录文件管理(上) 每章一段话      人生的确很累,看你如何品味:每天多寻快乐,烦恼别去理会:短短数十寒暑,             何不潇 洒面对.人之所以快乐,并不是因为得到的多,而是因为计较的少,生               活要用大海的胸怀去面对,当别人放

Linux 目录结构及文件基本操作

整理来自 https://www.shiyanlou.com/courses/running/59 在讲 Linux 目录结构之前,你首先要清楚一点东西,那就是 Linux 的目录与 Windows 的目录的区别,或许对于一般操作上的感受来说没有多大不同,但从它们的实现机制来说是完全不同的. 一种不同是体现在目录与存储介质(磁盘,内存,DVD 等)的关系上,以往的 Windows 一直是以存储介质为主的,主要以盘符(C 盘,D 盘...)及分区的来实现文件管理,然后之下才是目录,目录就显得不是那

Linux基础文件管理命令之ls,cd

Linux中提供了大量的命令,使用他们可以简化我们的工作,也许在图形化界面中要点击鼠标十几下操作,而在linux系统中一条命令就可以轻松解决.所以,在Linux系统上工作离不开使用系统提供的命令.要想真正理解Linux系统,就必须从Linux命令学起. linux系统中的命令格式一般如下: 命令格式:   命令  选项  参数     选项:       短选项: -       多个选项可以组合:-a -b = -ab       长选项: -- 参数:命令的作用对象 下面主要介绍ls和cd命

linux 基本文件管理命令

Linux基本文件管理命令 一..cp [OPTION]... [-T] 1>.SOURCE   DEST cp [OPTION]... SOURCE... DIRECTORY cp [OPTION]... -t DIRECTORY SOURCE... 2>.cp  SRC  DEST 2.1>SRC 是文件 如果目标文件不存在:新建DEST,并将src中内容填充至DEST中: 如果目录文件存在: 如果DEST是文件,SRC中的内容覆盖至DEST: 此时建议cp命令使用-i选项: 如果D