Linux上的文件管理类命令

常用的文件目录管理命令:cd,pwd,ls,mkdir,rmdir,tree,more,less,head,tail,cp,mv,rm。

文件目录的路径在操作系统上分为两种:绝对路径和相对路径。
绝对路径:从根目录开始的路径。
相对路径:从当前位置起始的路径。而当前位置又称作为工作目录,登录系统之后无时无刻都处在文件目录系统中的某个位置,可通过pwd命令来显示当前的工作目录。

cd命令:

命令格式:

cd [options] [Dirname]

作用:切换用户的工作目录,路径可表示为绝对路径或者相对路径。若没有提供dirname路径给命令,则默认切换到当前用户的家目录。另~表示当前用户的家目录;.表示是当前目录;..表示当前目录的上一层目录。

常用选项:

-p:如果要切换到的目标目录是一个符号连接,直接切换到符号连接指向的目标目录
-L:如果要切换的目标目录是一个符号的连接,直接切换到字符连接名代表的目录,而非符号连接所指向的目标目录。
-:当仅实用"-"一个选项时,当前工作目录将被切换到环境变量"OLDPWD"所表示的目录。

使用实例:

切换工作目录:
# cd /home/charlie/    
# pwd          
/home/charlie

#cd ~        ##切换到用户的主目录;
#cd -        ##切换到此前用户所在的目录;
#cd ..       ##返回上级目录

pwd命令:

命令格式:

        pwd [options]

作用:以绝对路径的方式显示用户当前的工作目录。

常用选项:

        --help:显示帮助信息。

        --version:显示版本信息。

使用实例:

# pwd
/homw/charlie

ls命令:

命令格式:

ls [OPTION]... [FILE]...

作用:显示指定文件目录的文件信息,默认显示当前目录下的文件信息。

常用选项:

-a,--all:显示隐藏文件;
-d:仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录列表;
-C:多列显示输出结果。这是默认选项;
-l:以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等;
-t:用文件和目录的更改时间排序;
-h:于-l选项配置使用,将文件大小以适合人类阅读的格式显示。

使用实例:

显示当前目录下的非隐藏文件:

# ls
anaconda-ks.cfg  hello.sh  initial-setup-ks.cfg  tee  公共  模板  视频  图片  文档  下载  音乐  桌面

显示当前目录下的隐藏文件:

# ls -a
.                .bash_history  .bashrc  .cshrc     .gvfs          initial-setup-ks.cfg  .mozilla  .viminfo     公共  图片  音乐
..               .bash_logout   .cache   .dbus      hello.sh       .lesshst              .tcshrc   .vnc         模板  文档  桌面
anaconda-ks.cfg  .bash_profile  .config  .esd_auth  .ICEauthority  .local                tee       .Xauthority  视频  下载

列出文件的详细信息:

# ls -l
总用量 12
-rw-------. 1 root root  953 1月   4 23:41 anaconda-ks.cfg
-rw-r--r--. 1 root root    5 1月  23 22:59 hello.sh
-rw-r--r--. 1 root root 1001 1月  14 14:19 initial-setup-ks.cfg
-rw-r--r--. 1 root root    0 1月  23 21:26 tee
drwxr-xr-x. 2 root root    6 1月  14 14:48 公共
drwxr-xr-x. 2 root root    6 1月  14 14:48 模板
drwxr-xr-x. 2 root root    6 1月  14 14:48 视频
drwxr-xr-x. 2 root root    6 1月  14 14:48 图片
drwxr-xr-x. 2 root root    6 1月  14 14:48 文档
drwxr-xr-x. 2 root root   43 1月  14 23:23 下载
drwxr-xr-x. 2 root root    6 1月  14 14:48 音乐
drwxr-xr-x. 2 root root    6 1月  14 14:48 桌面

显示指定目录的文件信息:

# ls /var/
account  adm  cache  crash  db  empty  games  gopher  kerberos  lib  local  lock  log  mail  nis  opt  preserve  run  spool  target  tmp  yp

mkdir命令:

命令格式:

mkdir [options] [Dirname]

作用:mkdir 用指定的名字建立目录。 缺省时,新建立的目录模式为0777,即不加保护地对所有人 都可读、可写、可执行

常用选项:

-z:设置安全上下文;
-m <目标属性>,--mode <目标属性>:建立目录的时候设置目录的权限;
-p,--parents:若所要建立的目标目录的上层目录不存在,则先创建上层目录后再创建目标目录;
--version:显示版本新;

使用实例:

在/tmp下创建权限为754的test目录:

#mkdir -m 754 /tmp/test
#ls -l /tmp
总用量 0
drwxr-xr--. 2 root root 6 1月  27 21:32 test

在/tmp下创建/tmp/test2/charlie目录:

#rm -rf /tmp/*
#mkdir -p /tmp/test2/charlie
#tree /tmp
/tmp/
└── test2
    └── charlie

2 directories, 0 files

rmdir命令:

命令格式:

rmdir [options] [Dirname]

作用:移除空文件夹。

常用选项:

-p,--parents:删除指定目录后,若该目录的上层目录为空目录,则一并删除;
-v:显示命令执行的详细过程;
--help:显示命令的帮助信息;

使用实例:

移除/tmp下的/tmp/test2/charlie 空文件夹:

#cd /tmp
tmp]#ll test2
总用量 0
drwxr-xr-x. 2 root root 6 1月  27 21:44 charlie
tmp]#rmdir -p test2/charlie/
tmp]#ll
总用量 0

tree命令:

命令格式:

tree [options] [DirPath]

作用:以树状结构图显示指定目录的内容,若没有指定DirPath,默认为当前目录。

常用选项:

-a:显示所有文件和目录,显示隐藏文件和目录张开后的文件内容;
-d:仅显示目录名称
-L #:#代表数字,表示显示的目录层数;
-f:显示完整路径;

使用实例:

显示指定目录的树状结构图:

#tree /tmp
/tmp
└── test2
    └── charlie
        ├── age
        ├── background
        ├── name
        └── skills

6 directories, 0 files

显示完整路径:

#tree -f /tmp
/tmp
└── /tmp/test2
    └── /tmp/test2/charlie
        ├── /tmp/test2/charlie/age
        ├── /tmp/test2/charlie/background
        ├── /tmp/test2/charlie/name
        └── /tmp/test2/charlie/skills

6 directories, 0 files

仅显示到二层结构:

#tree -L 2 /tmp 
/tmp/
└── test2
    └── charlie

2 directories, 0 files

more命令:

命令格式:

more [options] [FileName]

作用:以全屏的方式按页显示文件内容,按Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令)。

常用选项:

-<NUM>:指定每按一次空格键所显示的行数;
-d:显示“[press space to continue,'q' to quit.]”和“[Press 'h' for instructions]”;
-c:不进行滚屏操作。每次刷新这个屏幕;
-s:将多个空行压缩成一行显示;
-u:禁止下划线;
+<数字>:从指定数字的行开始显示。

常用操作:

Enter:向下n行,需要定义。默认为1行
Ctrl+F:向下滚动一屏
空格键:向下滚动一屏
Ctrl+B:返回上一屏
=:输出当前行的行号
:f :输出文件名和当前行的行号
V:调用vi编辑器
!命令:调用Shell,并执行命令 
q:退出more

使用实例:

显示文件内容,但在显示之前先清屏,并且在屏幕的最下方显示完核的百分比:

more -dc /etc/passwd

显示文件内容,每10行显示一次,而且在显示之前先清屏:

more -c -10 /etc/passwd

less命令:

命令格式:

less [options] [FileName]

作用:less 与 more 作用类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

常用选项:

-b <缓冲区大小>:设置缓冲区的大小
-e:当文件显示结束后,自动离开
-f:强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-g:只标志最后搜索的关键词
-i:忽略搜索时的大小写
-m:显示类似more命令的百分比
-N:显示每行的行号
-o <文件名>:将less 输出的内容在指定文件中保存起来
-Q:不使用警告音
-s:显示连续空行为一行
-S:行过长时间将超出部分舍弃
-x <数字>:将“tab”键显示为规定的数字空格

常用操作:

/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
b:向后翻一页
d:向后翻半页
h:显示帮助界面
Q:退出less 命令
u:向前滚动半页
y:向前滚动一行
空格键:滚动一行
回车键:滚动一页
[pagedown]:向下翻动一页
[pageup]:向上翻动一页

命令实例:

显示多个文件:

#less /tmp/hello.sh /etc/passwd
hello,world
/tmp/hello.sh (file 1 of 2) (END) - Next: /etc/passwd

head命令:

命令格式:

head [options] [FILE]

作用:head 命令用来显示文件的开头至标准输出中。如果指定了多于一个文件,在每一段输出前会给出文件名作为文件头。如果不指定文件,或者文件为"-",则从标准输入读取数据。

常用选项:

-n <NUM>:定义显示头部内容的行数;
-c <NUM>:定义显示头部内容的字符数;
-v:显示文件名的头信息;
-q:不显示文件名的头信息;

使用实例:

显示/etc/passwd/文件的前五行:

#head -n 5 /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

tail命令:

命令格式:

tail [options] [FILE]

作用:作用于head命令类似,用来显示文件的尾部至标准输出中。如果指定了多于一个文件,在每一段输出前会给出文件名作为文件头。如果不指定文件,或者文件为"-",则从标准输入读取数据。

常用选项:

-n <NUM>:指定显示尾部内容的行数;
-c <NUM>:指定显示尾部内容的字符数;

使用实例:

显示多个文件的最后五行:

#tail -n 5 /etc/passwd /etc/fstab
==> /etc/passwd <==
setroubleshoot:x:988:983::/var/lib/setroubleshoot:/sbin/nologin
charlie:x:1000:1000:charlie:/home/charlie:/bin/bash
mariadb:x:1001:982::/home/mariadb:/sbin/nologin
gentoo:x:1002:5000::/users/gentoo/:/bin/bash
fedora:x:1003:1003::/users/fedora:/bin/bash

==> /etc/fstab <==
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=b6faf8c0-7347-4e45-a10b-ac5058ce9361 /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0

cp命令:

命令格式:

1. cp [option]... [-T] SOURCE DEST
2. cp [option]...SOURCE...DIRECTORY
3. cp [option]...-t DIRECTORY SOURCE

作用:cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。

常用选项:

-i:交互式,在覆盖操作前提醒用户确认;
-r:递归复制目录及内部的所有内容;
-a:归档复制,尽可能保持文件的结构和属性;
-d:复制符号链接作为符号链接而不是复制它指向的文件;
-p,--preserve[=ATTR_LIST]:保持原有文件的属性信息,其中ATTR_LIST选项包括mode,ownership,timestamp,links,xattr,context,all等;
-f:强制覆盖,不作覆盖提醒;
-v:显示命令执行过程;

使用实例:

复制文件并保留文件的timestamp信息:

#cp --preserve=timestamp /etc/passwd /tmp/
# ll /etc/passwd /tmp/passwd 
-rw-r--r--. 1 root root 2458 1月  27 12:58 /etc/passwd
-rw-r--r--. 1 root root 2458 1月  27 12:58 /tmp/passwd

复制目录并保留其原有的属性到指定路径:

#cp -pr /var/log /tmp/

将文件归档为备份文件:

#cp -a /etc/fstab /tmp/fstab.bak
# ll /tmp/fstab.bak /etc/fstab 
-rw-r--r--. 1 root root 465 1月   4 23:37 /etc/fstab
-rw-r--r--. 1 root root 465 1月   4 23:37 /tmp/fstab.bak

mv命令:

命令格式:

1. mv [OPTION]... [-T] SOURCE DEST
2. mv [OPTION]... SOURCE... DIRECTORY
3. j mv [OPTION]... -t DIRECTORY SOURCE...

作用:用于对文件或目录的重命名,或者将文件从一个目录移动至另外一个目录中。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。
注意事项:mv与cp命令的结果不同,mv好像文件“搬家”,文件个数并未增加。而cp对文件进行复制,文件个数增加了。

常用选项:

-i:交换操作,覆盖前先询问用户确认。
-f:强制覆盖重复文件或目录;
-t,--target-directory=<DIR>:指定全部的源文件要移动到的目标目录;

使用实例:

文件重命名:

# mv /tmp/charlie /tmp/jack
# ll /tmp
总用量 0
-rw-r--r--. 1 root root 0 1月  28 11:19 jack

移动目录中的文件内容到指定路径:

# mv /tmp/test/* /tmp/test2
# tree /tmp
/tmp
├── jack
├── test
└── test2
    └── mv
        └── doc

3 directories, 2 files

rm命令:

命令格式:

rm [option] [FILE]

作用:rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。由于使用rm命令所删除的文件无法恢复,因此在删除文件时最好做好确认。

常用选项:

-f:强制删除文件或目录;
-i:交互模式,在删除已有文件或目录前先与用户确认;
-r:递归,将指定的目录下的所有文件与子目录一并处理;
-v:显示详细的执行过程;
-d:删除空目录;

使用实例:

交互模式下删除文件:

# rm -i /tmp/jack 
rm:是否删除普通空文件 "/tmp/jack"?y

递归删除目录:

[root@localhost ~]# rm -r /tmp/test2/
rm:是否进入目录"/tmp/test2/"? y
rm:是否进入目录"/tmp/test2/mv"? y
rm:是否删除普通空文件 "/tmp/test2/mv/doc"?y
rm:是否删除目录 "/tmp/test2/mv"?y
rm:是否删除目录 "/tmp/test2/"?y
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容