目录和文件管理(一)
1. Linux命令概述
1.1 Linux命令的分类
vLinux命令
■ 用于实现某一类功能的指令或程序
■ 命令的执行依赖于解释器程序(例如:/bin/bash)
vLinux命令的分类
■ 内部命令:属于Shell解释器的一部分
■ 外部命令:独立于Shell解释器之外的程序文件
1.2 Linux命令行格式
vLinux命令的通用命令格式
■ 命令字 [选项] [参数]
■ 选项及参数含义
● 选项:用于调节命令的具体功能
● 以 “-”引导短格式选项(单个字符),例如“-l”
● 以“--”引导长格式选项(多个字符),例如“--color”
● 多个短格式选项可以写在一起,只用一个“-”引导,例如“-al”
■ 参数:命令操作的对象,如文件、目录名等
[root@sky ~]# ls -l /home/
总用量 4drwx------. 4 sky sky 4096 4月 27 10:41 sky |
v命令行编辑的几个辅助操作
■ Tab键:自动补齐
■ 反斜杠“\”:强制换行
■ 快捷键 Ctrl+U:清空至行首
■ 快捷键 Ctrl+K:清空至行尾
■ 快捷键 Ctrl+L:清屏
■ 快捷键 Ctrl+C:取消本次命令编辑
1.3 获得命令帮助
v内部命令help
■ 查看Bash内部命令的帮助信息
v命令的“--help”选项
■ 适用于大多数外部命令
v使用man命令阅读手册页
■ 使用“↑”、“↓”方向键滚动文本
■ 使用Page Up和Page Down键翻页
■ 按Q或q键退出阅读环境、按“/”键后查找内容
v管道和重定向
#将命令的man手册页信息保存到文本文件
[root@sky ~]# man ls | col -b > lshelp.txt
|
col命令用于过滤文本中的一些特殊控制字符
管道:使用竖杠符号“|”表示,将前面命令的输出结果作为后面命令的处理对象(输入)
重定向输出:使用大于号“>”表示,将正常输出结果保存到“>”号后边指定的文件中
2.目录和文件基本操作
2.1 查看及切换目录
vpwd命令
■ 用途:查看工作目录(Print Working Directory)
vcd命令
■ 用途:切换工作目录(Change Directory)
■ 格式:cd [目录位置]
[root@sky ~]# cd /etc/httpd <==绝对路径
[root@sky httpd]# cd conf
[root@sky conf]# cd ~sky <==相对路径
[root@sky sky]# pwd
/home/sky[root@sky sky]# ls -dl ../sky <==相对路径
drwx------. 4 sky sky 4096 4月 27 10:41 ../sky |
vls命令
■ 用途:列表(List)显示目录内容
■ 格式:ls [选项]... [目录或文件名]
■ 常用命令选项
● -l :以长格式显示
● -a:显示所有子目录和文件的信息,包括隐藏文件
● -A:类似于“-a”,但不显示“.”和“..”目录的信息
● -d:显示目录本身的属性
● -h:以更易读的字节单位(K、M等)显示信息
● -R:递归显示内容
● --color:以颜色区分不同类型文件
[root@sky ~]# ls install.log* <==星号通配符
install.log install.log.syslog[root@sky ~]# ls -lh install.??? <==问号通配符
-rw-r--r--. 1 root root 45K 4月 27 10:19 install.log
[root@sky ~]# ls -a
. .chewing .gnome install.log.syslog .tcshrc.. .cshrc .gnome2 .lesshst .Trash ……[root@sky ~]# alias myls=\'ls -alh\' <==定义命令别名
[root@sky ~]# myls /usr/src
总用量 16Kdrwxr-xr-x. 4 root root 4.0K 4月 27 10:09 .
drwxr-xr-x. 13 root root 4.0K 4月 27 10:09 ..drwxr-xr-x. 2 root root 4.0K 9月 23 2011 debugdrwxr-xr-x. 2 root root 4.0K 9月 23 2011 kernels
|
vdu命令
■ 用途:统计目录及文件的空间占用情况(estimate file space usage)
■ 格式:du [选项]... [目录或文件名]
v常用命令选项
■ -a:统计时包括所有的文件,而不仅仅只统计目录
■ -h:以更易读的字节单位(K、M等)显示信息
■ -s:只统计每个参数所占用空间总的大小
[root@sky ~]# du -sh /home
36K /home |
2.2 创建目录和文件
创建目录命令——mkdir
vmkdir命令
■ 用途:创建新的目录(Make Directory)
■ 格式:mkdir [-p] [/路径/]目录名
[root@sky ~]# mkdir -p /multimedia/movie/cartoon
[root@sky ~]# ls -R /multimedia
/multimedia:movie/multimedia/movie:cartoon/multimedia/movie/cartoon: |
创建文件命令——touch
vtouch命令
■ 用途:新建空文件,或更新文件时间标记
■ 格式:touch 文件名…
[root@sky ~]# cd /multimedia/movie/cartoon
[root@sky cartoon]# touch HuaMulan.rmvb NeZhaNaoHai.mp4
[root@sky cartoon]# ls -lh
总用量 0-rw-r--r--. 1 root root 0 5月 22 18:50 HuaMulan.rmvb-rw-r--r--. 1 root root 0 5月 22 18:50 NeZhaNaoHai.mp4
|
创建连接文件——ln
vln命令
■ 用途:为文件或目录建立链接(Link)
■ 格式:ln [-s] 源文件或目录… 链接文件或目标目录
v常用命令选项
■ -s:建立符号链接文件(省略此项则建立硬链接)
[root@sky ~]# ln -s /etc/httpd/conf/httpd.conf /etc/
[root@sky ~]# ls -lh /etc/httpd.conf
lrwxrwxrwx. 1 root root 26 5月 22 18:52 /etc/httpd.conf -> /etc/httpd/conf/httpd.conf <==指向目标链接文件[root@sky ~]# ln /usr/sbin/system-config-network /sbin/netconfig
[root@sky ~]# ls -lh /sbin/netconfig
-rwxr-xr-x. 2 root root 188 11月 12 2010 /sbin/netconfig <==“2”代表文件的硬链接数
|
软链接与硬链接的区别主要在于:删除原始文件后,软链接将失效,但硬链接仍旧可用;软链接适用于目录或文件,但硬链接只可用于文件,不能为目录建立硬链接。
v关于链接文件
■ 符号链接:
● 指向原始文件所在的路径,又称为软链接
■ 硬链接:
● 指向原始文件对应的数据存储位置
● 不能为目录建立硬链接文件
● 硬链接与原始文件必须位于同一分区(文件系统)中
2.3 复制、删除、移动目录和文件
复制文件或目录——cp
vcp命令
■ 用途:复制(Copy)文件或目录
■ 格式:cp [选项]... 源文件或目录… 目标文件或目录
v常用命令选项
■ -r:递归复制整个目录树
■ -p:保持源文件的属性不变
■ -f:强制覆盖目标同名文件或目录
■ -i:需要覆盖文件或目录时进行提醒
[root@sky ~]# cp -r /boot/grub/ /etc/host.conf aaa/
[root@sky ~]# ls aaa/
grub host.conf删除文件或目录——rm
vrm命令
■ 用途:删除(Remove)文件或目录
■ 格式:rm [选项]... 文件或目录
v常用命令选项
■ -f:强行删除文件或目录,不进行提醒
■ -i:删除文件或目录时提醒用户确认
■ -r:递归删除整个目录树
[root@sky ~]# rm -i aaa/host.conf
rm:是否删除普通文件 "aaa/host.conf"?y[root@sky ~]# rm -rf aaa/grub/
[root@sky ~]# ls aaa/
host.conf |
移动文件或目录——mv
vmv命令
■ 用途:移动(Move)文件或目录
—— 如果目标位置与源位置相同,则相当于改名
■ 格式:mv [选项]... 源文件或目录… 目标文件或目录
root@sky ~]# mv mytouch mkfile
[root@sky ~]# ls -lh mytouch mkfile
ls: 无法访问mytouch: 没有那个文件或目录-rw-r--r--. 1 root root 0 5月 22 19:06 mkfile
[root@sky ~]# mv mkfile aaa/
[root@sky ~]# ls -l aaa/mkfile
-rw-r--r--. 1 root root 0 5月 22 19:06 aaa/mkfile
|
查找文件所在位置——which
vwhich命令
■ 用途:查找Linux命令文件并显示所在的位置
—— 搜索范围由 PATH 环境变量指定
■ 格式:which 命令或程序名
[root@sky ~]# which mkdir
/bin/mkdir[root@sky ~]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin[root@sky ~]# which cd <==cd是Shell内部命令,因此查不到对应文件
/usr/bin/which: no cd in (/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
|
查找文件或目录——find
vfind命令
■ 用途:用于查找文件或目录
■ 格式:find [查找范围] [查找条件]
v常用查找条件
■ -name:按文件名称查找
■ -size:按文件大小查找
■ -user:按文件属主查找
■ -type:按文件类型查找,普通文件(f),目录(d),块设备文件(b),字符设备文件(c)
[root@sky ~]# find /etc -name "resol*.conf"
/etc/resolv.conf |
#查找/boot目录中所有的目录文件,忽略其他文件
[root@sky ~]# find /boot -type d
/boot/boot/grub |
目录和文件管理(二)
1. 查看及检索文件
1.1 查看文件内容
vcat命令
■ 用途:显示出文件的全部内容
■ 命令格式:cat [选项] 文件名 …
[root@sky ~]# cat /etc/host.conf
order hosts,bind[root@sky ~]# cat /etc/resolv.conf
search localdomain[root@sky ~]# cat /etc/resolv.conf /etc/host.conf
search localdomainorder hosts,bind |
vmore命令
■ 用途:全屏方式分页显示文件内容
■ 命令格式:more [选项] 文件名…
■ 交互操作方法:
● 按Enter键向下逐行滚动
● 按空格键向下翻一屏
● 按q键退出
[root@sky ~]# more /etc/httpd/conf/httpd.conf
……# This is the main Apache server configuration file. It contains the
# configuration directives that give the server its instructions.
# for a discussion of each configuration directive.
--More--(1%)
|
vless命令
■ 用途:与more命令相同,但扩展功能更多
■ 命令格式:less [选项] 文件名
■ 交互操作方法:
● Page Up向上翻页,Page Down向下翻页
● 其他功能与more命令基本类似
[root@sky ~]# ls -lh /etc/*.conf | more
-rw-r--r--. 1 root root 148 5月 15 2009 /etc/asound.conf-rw-r--r--. 1 root root 1.8K 10月 16 2009 /etc/cas.conf-rw-r--r--. 1 root root 21K 2月 22 2013 /etc/dnsmasq.conf
|
vhead命令
■ 用途:查看文件开头的一部分内容(默认为10行)
■ 命令格式:head -n 文件名
[root@sky ~]# head -4 /etc/passwd <==显示第1行至第4行的内容
root:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologin |
vtail命令
■ 用途:查看文件结尾的少部分内容(默认为10行)
■ 格式:tail -n 文件名
tail -f 文件名
[root@sky ~]# tail -2 /var/log/messages <==显示文件的最后两行
May 25 10:06:24 sky tpvmlpd2[2677]: device type not supported
May 25 10:06:24 sky tpvmlpd2[2275]: aborting |
1.2 统计和检索文件内容
vwc命令
■ 用途:统计文件中的单词数量(Word Count)等信息
■ 命令格式:wc [选项]... 目标文件...
v常用命令选项
■ -l:统计行数
■ -w:统计单词个数
■ -c:统计字节数
[root@sky ~]# wc /etc/hosts
2 10 158 /etc/hosts <==文件总共4行,23个单词,185个字节
|
vgrep命令
■ 用途:在文件中查找并显示包含指定字符串的行
■ 命令格式:grep [选项]... 查找条件 目标文件
■ 常用命令选项
● -i:查找时忽略大小写
● -v:反转查找,输出与查找条件不相符的行
■ 查找条件设置
● 要查找的字符串以双引号括起来
● “^……”表示以……开头,“……$”表示以……结尾
● “^$”表示空行
[root@sky ~]# grep "ftp" /etc/passwd <==查找包含ftp字符串的行
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin |
[root@sky ~]# grep -v "^#" /etc/vsftpd/vsftpd.conf | grep -v "^$" <==显示vsftpd.conf文件中以“#”开头的行和空行以外的内容
anonymous_enable=YESlocal_enable=YESwrite_enable=YESlocal_umask=022 |
2.备份与恢复文档
2.1 使用压缩与解压缩工具
vgzip命令、bzip2命令
■ 用途:制作压缩文件、解开压缩文件
■ 命令格式:gzip [-9] 文件名...
bzip [-9] 文件名...
gzip -d .gz格式的压缩文件
bzip2 -d *.bz2格式的压缩文件
v常用命令选项
■ -9:表示高压缩比,多在创建压缩包时用
■ -d:用于解开已经压缩过的文件
vtar命令
■ 用途:制作归档文件、释放归档文件
■ 格式:tar [选项]... 归档文件名 源文件或目录
tar [选项]... 归档文件名 [-C 目标目录]
v常用命令选项
■ -c:创建 .tar 格式的包文件
■ -x:解开.tar格式的包文件
■ -v:输出详细信息
■ -f:表示使用归档文件
■ -p:打包时保留原始文件及目录的权限
■ -t:列表查看包内的文件
■ -C:解包时指定释放的目标文件夹
■ -z:调用gzip程序进行压缩或解压
■ -j:调用bzip2程序进行压缩或解压
#将/etc /boot目录进行备份,压缩为sysfile.tar.gz文件存放到当前目录
#将test.tar.bz2压缩包解压到/tmp目录下
[root@localhost ~]# tar jxf test.tar.bz2 -C /tmp
|
3.使用vi文本编辑器
v文本编辑器的作用
■ 创建或修改文本文件
■ 维护Linux系统中的各种配置文件
vLinux中最常用的文本编辑器
■ vi:类Unix系统中默认的文本编辑器
■ vim:vi编辑器的增强版本,习惯上也称为vi
[root@sky ~]# alias vi=\'/usr/bin/vim\' <==设置别名,以便执行vi时自动调用增强版编辑器
[root@sky ~]# which vi
alias vi=\'/usr/bin/vim\'
/usr/bin/vim
|
3.1 vi编辑器的工作模式
v三种工作模式
■ 命令模式、输入模式、末行模式
v不同模式之间的切换
|
3.2 命令模式的基本操作
v光标移动
v复制、粘贴、删除
v文件内容查找
v撤销编辑及保存退出
3.3 末行模式的基本操作
v保存文件及退出vi编辑器
v打开新文件或读入其他文件内容
v文件内容替换