linux常用命令详解--目录和文件管理
更新时间:2023-08-14 18:31:01 阅读量: 人文社科 文档下载
- Linux常用命令详解推荐度:
- 相关推荐
Linux 中基本的文件和目录管理命令,包括创建目录/文件、复制删除等操作
目录和文件管理
1. ls、 pwd与cd命令的更多用法
2.统计目录或文件占用的磁盘空间du
3.创建目录和文件mkdir、touch、ln
4.设置命令别名alias
5.复制/删除/移动操作cp、rm、mv
1.ls、 pwd与cd命令的更多用法
1)利用 -R 选项递归显示目录内容: [root@svr5 ~]# ls -R /boot/ //递归查看/boot/目录
/boot/: //显示/boot文件夹下的内容 config-2.6.18-348.el5 initrd-2.6.32.61.img vmlinux-2.6.32.61.bz2 config-2.6.32.61 symvers-2.6.18-348.el5.gz vmlinuz-2.6.18-348.el5 grub System.map-2.6.18-348.el5 vmlinuz-2.6.32.61
initrd-2.6.18-348.el5.img System.map-2.6.32.61
/boot/grub: //显示/boot/下子目录grub/的内容 device.map grub.conf minix_stage1_5 stage2
e2fs_stage1_5 iso9660_stage1_5 reiserfs_stage1_5 ufs2_stage1_5 fat_stage1_5 jfs_stage1_5 splash.xpm.gz vstafs_stage1_5
ffs_stage1_5 menu.lst stage1 xfs_stage1_5
Linux 中基本的文件和目录管理命令,包括创建目录/文件、复制删除等操作
2)利用 -l 选项以长格式显示对象的详细信息: [root@svr5 ~]# ls -l /boot/vmlinuz-2.6.18-348.el5 //查看内核文件 -rw-r--r-- 1 root root 2125660 2012-11-29 /boot/vmlinuz-2.6.18-348.el5
3)利用 -h 选项显示人性化(更易读)的容量单位,需要与 -l 选项一起使用: [root@svr5 ~]# ls -lh /boot/vmlinuz-2.6.18-348.el5
-rw-r--r-- 1 root root 2.1M 2012-11-29 /boot/vmlinuz-2.6.18-348.el5
4)利用 -a、-A 选项列出的内容包含隐藏的文件/目录(以.开头的)
使用 -a 时,两个特殊的文件夹 . 和 .. 也会显示出来,分别表示当前目录、父目录: [root@svr5 ~]# ls -a /root
.Desktop .gtkrc-1.2-gnome2 .redhat
...dmrc .ICEauthority .scim
anaconda-ks.cfg .eggcups install.log .tcshrc
.bash_history .gconf install.log.syslog .Trash
.bash_logout .gconfd .lesshst .viminfo
.bash_profile .gnome ls-man.txt .Xauthority
.bashrc .gnome2 .metacity .xsession-errors
.chewing .gnome2_private .nautilus
.cshrc .gstreamer-0.10 .recently-used.xbel
若改用 -A 选项,则 . 和 .. 不会显示出来,但其他的隐藏对象会列出来:
Linux 中基本的文件和目录管理命令,包括创建目录/文件、复制删除等操作
[root@svr5 ~]# ls -A /root
anaconda-ks.cfg .dmrc .gtkrc-1.2-gnome2 .recently-used.xbel
.bash_history .eggcups .ICEauthority .redhat
.bash_logout .gconf install.log .scim
.bash_profile .gconfd install.log.syslog .tcshrc
.bashrc .gnome .lesshst .Trash
.chewing .gnome2 ls-man.txt .viminfo
.cshrc .gnome2_private .metacity .Xauthority
Desktop .gstreamer-0.10 .nautilus .xsession-errors
5)利用 -d选项查看目录本身,而不是列出目录下的内容: [root@svr5 ~]# ls -ld / //查看根目录本身的详细信息 drwxr-xr-x 26 root root 4096 09-22 16:52 /
[root@svr5 ~]# ls -l / //不加-d时只能列出其下内容,无法看本身属性
总计 166
drwxr-xr-x 2 root root 4096 09-17 12:21 bin
drwxr-xr-x 3 root root 1024 09-26 09:53 boot
drwxr-xr-x 12 root root 4460 09-26 08:47 dev
drwxr-xr-x 100 root root 12288 09-24 16:44 etc
drwxr-xr-x 7 root root 4096 09-24 16:44 home
drwxr-xr-x 11 root root 4096 09-17 12:20 lib
Linux 中基本的文件和目录管理命令,包括创建目录/文件、复制删除等操作
drwxr-xr-x 8 root root 4096 09-21 00:05 lib64
drwx------ 2 root root 16384 07-10 17:12 lost+found
drwxr-xr-x 2 root root 4096 09-22 16:52 media
....
6)查看及切换工作目录
验证pwd和cd的基本用法: [root@svr5 ~]# pwd //查看当前所在的工作目录 /root
[root@svr5 ~]# cd /boot/grub/ //切换到/boot/grub文件夹 [root@svr5 grub]# pwd //确认切换结果
/boot/grub
[root@svr5 grub]# cd /usr/src/ //切换到/usr/src文件夹 [root@svr5 src]# pwd //确认切换结果
/usr/src
cd命令的特殊切换目标:
[root@svr5 src]# cd - //后退到前一个工作目录 /boot/grub
[root@svr5 grub]# pwd //确认切换结果
/boot/grub
[root@svr5 grub]# cd .. //切换到上一层目录(父目
Linux 中基本的文件和目录管理命令,包括创建目录/文件、复制删除等操作
录)
[root@svr5 boot]# pwd //确认切换结果
/boot
[root@svr5 boot]# cd //返回宿主目录(等同于cd ~) [root@svr5 ~]# pwd //确认切换结果
/root
[root@svr5 ~]# cd ~zengye //切换到用户zengye的宿主目录
[root@svr5 zengye]# pwd //确认切换结果
/home/zengye
[root@svr5 zengye]# cd ../../ //切换到父目录的父目录 [root@svr5 /]# pwd
/
[root@svr5 /]# cd root/Desktop/ //切换到当前目录下root子目录下
//的Desktop文件夹
[root@svr5 Desktop]# pwd //确认切换结果
/root/Desktop
[root@svr5 Desktop]# cd ~ //返回宿主目录
[root@svr5 ~]#
2. 统计目录或文件所占用的空间
ls -l命令看到的目录或文件大小,只是对象本身的容量,而不是占用空间。在Linux
Linux 中基本的文件和目录管理命令,包括创建目录/文件、复制删除等操作
文件系统中,分配存储空间的最小单位称为“块大小”,默认一般是4KB,即使这个文件只有1个字节,也至少需要分给它一个块来存放,因此其占用的空间也就最少是4KB。
例如,文件/etc/redhat-release的大小只有54字节,但实际占用了2个块。使用ls和du命令可做对比分析(-h选项表示人性化输出): [root@svr5 ~]# ls -lh /etc/redhat-release
-rw-r--r-- 1 root root 54 2012-11-13 /etc/redhat-release
[root@svr5 ~]# du -h /etc/redhat-release
8.0K /etc/redhat-release
当du命令统计的对象是目录时,默认会分别统计目录本身和其下的子目录,如果只希望看目标文件夹总共占用的空间,可使用 -s选项,如下所示: [root@svr5 ~]# du -h /boot/ //全部统计
236K /boot/grub
41M /boot/
[root@svr5 ~]# du -sh /boot/ //只统计对象总占用空间 41M /boot/
3.创建目录和文件mkdir、touch、ln
1)使用mkdir创建新文件夹
在/opt/目录下创建一个名为mytools的文件夹:
[root@svr5 ~]# mkdir /opt/mytools
[root@svr5 ~]# ls -ldh /opt/mytools/ //确认新建目录的属性
Linux 中基本的文件和目录管理命令,包括创建目录/文件、复制删除等操作
drwxr-xr-x 2 root root 4.0K 09-26 10:29 /opt/mytools/
在当前目录下创建2个文件夹,名称分别为dir1、dir2: [root@svr5 ~]# mkdir dir1 dir2
[root@svr5 ~]# ls -ldh dir*
drwxr-xr-x 2 root root 4.0K 09-26 10:31 dir1
drwxr-xr-x 2 root root 4.0K 09-26 10:31 dir2
递归创建多层目录时,需要使用 -p 选项,否则会报错: [root@svr5 ~]# mkdir /opt/public/study/doc //直接建多层目录失败 mkdir: 无法创建目录 “/opt/public/study/doc”: 没有那个文件或目录
[root@svr5 ~]# mkdir -p /opt/public/study/doc //加 -p 选项后执行成功 [root@svr5 ~]# ls -R /opt/public/ //确认新建的目录结构 /opt/public/:
study
/opt/public/study:
doc
/opt/public/study/doc:
[root@svr5 ~]#
2)使用touch命令创建空文件、更新文件时间
touch操作已存在的文件时,会更新此文件的访问时间/修改时间:
Linux 中基本的文件和目录管理命令,包括创建目录/文件、复制删除等操作
[root@svr5 ~]# ls -lh ls-man.txt
-rw-r--r-- 1 root root 7.4K 09-25 17:58 ls-man.txt
[root@svr5 ~]# touch ls-man.txt //更新文件的时间标记 [root@svr5 ~]# ls -lh ls-man.txt
-rw-r--r-- 1 root root 7.4K 09-26 10:36 ls-man.txt
指定不存在的文件作为touch的操作对象时,实际相当于创建新文件。此操作通常用于测试,新建文件的大小为0、内容为空: [root@svr5 ~]# touch file1.txt //创建一个文件
[root@svr5 ~]# touch file2.doc file3.jpg //同时创建多个文件 [root@svr5 ~]# ls -lh file*
-rw-r--r-- 1 root root 0 09-26 10:39 file1.txt
-rw-r--r-- 1 root root 0 09-26 10:39 file2.doc
-rw-r--r-- 1 root root 0 09-26 10:39 file3.jpg
3)使用ln创建快捷方式(符号链接)
为版本文件redhat-release建一个符号链接(-s选项),确认链接文件及使用效果: [root@svr5 ~]# ln -s /etc/redhat-release /etc/version
[root@svr5 ~]# ls -lh /etc/version //查看新建链接文件的属性
lrwxrwxrwx 1 root root 19 09-26 10:45 /etc/version -> /etc/redhat-release [root@svr5 ~]# cat /etc/version //访问链接文件与访问源文件等效 Red Hat Enterprise Linux Server release 5.9 (Tikanga)
Linux 中基本的文件和目录管理命令,包括创建目录/文件、复制删除等操作
为命令行的网卡配置程序system-config-network-tui建一个符号链接: [root@svr5 ~]# ln -s /usr/sbin/system-config-network-tui /sbin/netconfig [root@svr5 ~]# ls -lh /sbin/netconfig
lrwxrwxrwx 1 root root 35 09-26 10:49 /sbin/netconfig -> /usr/sbin/system-config-network-tui
[root@svr5 ~]
# netconfig
....
在tty终端下只要执行netconfig就可以打开网卡配置工具,如图-6所示,不用记忆原来冗长的配置程序名称。
图-6
使用ln还可以同时为多个文件创建符号链接,这种情况下目标要求是一个文件夹,创建好的链接文件与源文件同名。例如,以下操作可以为/bin/目录下的mkdir、touch命令创建符号链接,保存到/root/dir1/文件夹下:
[root@svr5 ~]# ln -s /bin/mkdir /bin/touch /root/dir1/
[root@svr5 ~]# ls -lh /root/dir1/
总计 0
Linux 中基本的文件和目录管理命令,包括创建目录/文件、复制删除等操作
lrwxrwxrwx 1 root root 10 09-26 11:01 mkdir -> /bin/mkdir
lrwxrwxrwx 1 root root 10 09-26 11:01 touch -> /bin/touch
4.设置命令别名alias
1)查看及验证当前已定义的命令别名: [root@svr5 ~]# alias
alias cp='cp -i'
alias l.='ls -d .* --color=tty' //--color指定ls命令的色彩模式 alias ll='ls -l --color=tty' //执行ll相当于ls -l
alias ls='ls --color=tty'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@svr5 ~]# ll install.log //验证别名使用效果
-rw-r--r-- 1 root root 33139 07-10 17:29 install.log
[root@svr5 ~]# ls -l install.log //直接执行原始命令,效果相同 -rw-r--r-- 1 root root 33139 07-10 17:29 install.log
2)定义一个名为lh的命令别名(实际执行“ls -lh”),验证使用效果:
[root@svr5 ~]# alias lh='ls -lh --color=tty'
[root@svr5 ~]# alias
Linux 中基本的文件和目录管理命令,包括创建目录/文件、复制删除等操作
alias cp='cp -i'
alias l.='ls -d .* --color=tty'
alias lh='ls -lh --color=tty' //执行lh相当于ls -h
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
....
[root@svr5 ~]# lh /boot/vmlinuz-2.6.18-348.el5 //验证别名使用效果
-rw-r--r-- 1 root root 2.1M 2012-11-29 /boot/vmlinuz-2.6.18-348.el5 [root@svr5 ~]# ls -lh /boot/vmlinuz-2.6.18-348.el5
-rw-r--r-- 1 root root 2.1M 2012-11-29 /boot/vmlinuz-2.6.18-348.el5
3)取消已定义的别名:
[root@svr5 ~]# unalias lh //取消名为lh的命令别名 [root@svr5 ~]# alias lh //再查看时已经找不到lh别名了 -bash: alias: lh: not found
[root@svr5 ~]# unalias -a //取消所有已定义的命令别名 [root@svr5 ~]# alias //再查看时内容为空
注意:alias、unalias操作只在当前环境有效,注销后重登录或者开启新的bash程序即可恢复默认的别名设置。
5.复制/删除/移动操作cp、mv、rm
1)使用cp命令复制文件/目录
Linux 中基本的文件和目录管理命令,包括创建目录/文件、复制删除等操作
将文件ls-man.txt复制为ls-man.txt.bak: [root@svr5 ~]# cp ls-man.txt ls-man.bak
[root@svr5 ~]# ls -lh ls-man.*
-rw-r--r-- 1 root root 7.4K 09-26 10:36 ls-man.txt
-rw-r--r-- 1 root root 7.4K 09-26 11:17 ls-man.txt.bak
将文件/etc/redhat-release复制到当前/root/目录下,并改名为rhversion: [root@svr5 ~]# cp /etc/redhat-release /root/rhversion
[root@svr5 ~]# cat /root/rhversion //验证复制后的新文件 Red Hat Enterprise Linux Server release 5.9 (Tikanga)
同时复制多个文件到/root/dir2/下:
[root@svr5 ~]# cp /etc/redhat-release install.log* /root/dir2/
[root@svr5 ~]# ls /root/dir2/
install.log install.log.syslog redhat-release
将文件夹/boot/grub/复制到当前目录下(需加-r选项,表示递归): [root@svr5 ~]# cp /boot/grub/ ./
cp: 略过目录 “/boot/grub/” //未加 -r 选项时会略过目录 [root@svr5 ~]# cp -r /boot/grub/ ./ //加 -r 选项后成功复制 [root@svr5 ~]# ls ./grub/ //确认复制后的结果 device.map grub.conf minix_stage1_5 stage2
Linux 中基本的文件和目录管理命令,包括创建目录/文件、复制删除等操作
e2fs_stage1_5 iso9660_stage1_5 reiserfs_stage1_5 ufs2_stage1_5
fat_stage1_5 jfs_stage1_5 splash.xpm.gz vstafs_stage1_5
ffs_stage1_5 menu.lst stage1 xfs_stage1_5
当cp的目标位置已经有同名的对象时,由于命令别名里有设置“cp -i”,所以默认会提示用户逐个确认(y确认、n放弃)。例如,可再次执行上述复制/boot/grub到当前目录的操作,确认复制效果: [root@svr5 ~]# alias cp //别名优先于外部命令 alias cp='cp -i'
[root@svr5 ~]# cp -r /boot/grub/ ./
cp:是否覆盖“./grub/xfs_stage1_5”? y //确认覆盖
cp:是否覆盖“./grub/e2fs_stage1_5”? n //放弃,不覆盖 cp:是否覆盖“./grub/fat_stage1_5”?
//逐个确认太繁琐,按Ctrl+c终止执行 若要在cp时强行覆盖,可使用 -f 选项。为了排除命令别名影响(-i 与 -f 互斥,且 -i 优先),可通过绝对路径/bin/ls调用cp命令,否则-f选项看不到效果:
[root@svr5 ~]# cp -rf /boot/grub/ ./ //加 -f 选项后仍出现提示 cp:是否覆盖“./grub/xfs_stage1_5”?
[root@svr5 ~]# /bin/cp -rf /boot/grub/ ./ //以绝对路径调用,强制覆盖成功 [root@svr5 ~]#
2)使用mv命令移动或改名文件/目录
Linux 中基本的文件和目录管理命令,包括创建目录/文件、复制删除等操作
将此前复制到当前目录下的grub文件夹改名为grub-test: [root@svr5 ~]# ls -ld grub*
drwxr-xr-x 2 root root 4096 09-26 11:33 grub //原名称
[root@svr5 ~]# mv grub grub-test //执行改名操作 [root@svr5 ~]# ls -ld grub*
drwxr-xr-x 2 root root 4096 09-26 11:33 grub-test //新名称 将grub-test目录下以stage开头的文件移动到/root/dir2/目录下:
[root@svr5 ~]# mv grub-test/stage* /root/dir2/ //执行移动操作 [root@svr5 ~]# ls grub-test/stage*
ls: grub-test/stage*: 没有那个文件或目录 //查看原文件已不存在 [root@svr5 ~]# ls /root/dir2/stage*
/root/dir2/stage1 /root/dir2/stage2 //确认移动后的文件
3)使用rm命令删除文件/目录
删除刚刚移动到/root/dir2/目录下的文件stage1:
[root@svr5 ~]# rm /root/dir2/stage1
rm:是否删除 一般文件 “/root/dir2/stage1”? n //默认会提示,输入n取消 [root@svr5 ~]# rm -f /root/dir2/stage1 //加 -f 选项强制删除 [root@svr5 ~]# ls /root/dir2/stage*
/root/dir2/stage2 //确认删除结果,已没有stage1
Linux 中基本的文件和目录管理命令,包括创建目录/文件、复制删除等操作
删除当前目录下的grub-test文件夹: [root@svr5 ~]# rm -f grub-test/
rm: 无法删除 “grub-test/”: 是一个目录 //未加 -r 选项时无法删除目录 [root@svr5 ~]# rm -rf grub-test/ //加 -r 选项后删除成功 [root@svr5 ~]# ls -ld grub* //确认删除结果
ls: grub*: 没有那个文件或目录
正在阅读:
linux常用命令详解--目录和文件管理08-14
Dusmji新世纪大学英语综合教程2答案01-21
2015版钢结构第2章习题10-24
商业购物中心案例分析—上海正大广场05-17
AS - 001基于FPGA的HDB3编译码的建模与实现 - 图文03-02
中国名著好段摘抄11-20
第4章 社会主义改造的理论练习题12-20
2011-2012离散数学A卷试题06-07
新人教版七年级下册第六章实数数学教案03-16
关于财务报表中相关数据的计算公式04-15
- 粮油储藏基础知识
- 论文范文(包括统一封面和内容的格式)
- 经典解题方法
- 综合部后勤办公用品管理办法+领用表
- 学生宿舍突发事件应急预案
- 16秋浙大《生理学及病理生理学》在线作业
- 四分比丘尼戒本(诵戒专用)
- 浙江财经大学高财题库第一章习题
- 九大员岗位职责(项目经理、技术负责人、施工员、安全员、质检员、资料员、材料员、造价员、机管员)
- 旅游财务管理习题(学生版)
- 德阳外国语高二秋期入学考试题
- 投资学 精要版 第九版 第11章 期权市场
- 控制性详细规划城市设计认识
- bl03海运提单3国际贸易答案
- 2010-2011学年湖北省武汉市武珞路中学七年级(上)期中数学试卷
- VB程序填空改错设计题库全
- 教师心理健康案例分析 - 年轻班主任的心理困惑
- 民间借贷司法解释溯及力是否适用?
- 三联书店推荐的100本好书
- 《化工原理》(第三版)复习思考题及解答
- 详解
- 命令
- 常用
- 文件
- 目录
- linux
- 管理
- 全国2015届高中历史试题汇编(11月第二期):R单元 近代以来中国的思想解放潮流及重大思想理论成果
- SQL语句练习答案
- 2011级高等数学(上)期中考试试卷(9学分)
- 我爱你中国的汉字
- 高中生物必修三第一章
- 伦茨9326PE GDC软件调试的设置
- 三自由度球面并联机构的型综合
- 第四次模拟考试总结会讲话稿
- 计算机教学工作计划通用范本_1
- 7.5摩擦力学案教科版八年级物理下册
- 关于皮炎湿疹的详细介绍
- 大学生的创业计划书,就该这么写.doc
- 在家装电路施工中特别需要关注以下几点
- 金融专业实习报告
- 建筑监理标准用表大全
- 住房外煞的化解之道
- 施工单位职业健康安全法律法规
- 工程规范目录汇编
- 高绩效团队建设讲解
- 小学一年级语文下册第八单元测试卷