hello-sky

目录和文件管理(一)

 
1. Linux命令概述
1.1 Linux命令的分类
vLinux命令
     ■ 用于实现某一类功能的指令或程序
     ■ 命令的执行依赖于解释器程序(例如:/bin/bash)
vLinux命令的分类
     ■ 内部命令:属于Shell解释器的一部分
     ■ 外部命令:独立于Shell解释器之外的程序文件
 
1.2 Linux命令行格式
vLinux命令的通用命令格式
     ■ 命令字  [选项]  [参数]
     ■ 选项及参数含义
      ●  选项:用于调节命令的具体功能
      ●  以 “-”引导短格式选项(单个字符),例如“-l”
      ●  以“--”引导长格式选项(多个字符),例如“--color”
      ●  多个短格式选项可以写在一起,只用一个“-”引导,例如“-al”
     ■ 参数:命令操作的对象,如文件、目录名等
[root@sky ~]# ls -l /home/
总用量 4
drwx------. 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
总用量 16K
drwxr-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 debug
drwxr-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 localdomain
order 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/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
 
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=YES
local_enable=YES
write_enable=YES
local_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文件存放到当前目录
[root@sky ~]# tar zcvf sysfile.tar.gz /etc /boot
 
#将/home及/etc/passwd、/etc/shadow文件进行备份,在/tmp目录生成usershome.tar.bz2压缩包
[root@sky ~]# tar jcvf /tmp/usershome.tar.bz2 /home /etc/passwd /etc/shadow
 
#将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文件内容替换
 





分类:

技术点:

相关文章: