Linux基础命令(二)

Linux目录和文件管理


1.Linux目录结构

Linux呈倒数结构,从‘ / ’作为起点,一切文件或目录从‘ / ’表示
Linux只有一个‘ / ’,类比于Windows有多个‘ / ’(一个盘一个‘ / ’)
Linux基础命令(二)

如表示docs目录位置
/bin/mark/docs //就相当于Windows(C:\bin\mark\docs)类似
:‘ / ’作为起点,目录和文件之间以‘ / 号’分割
常见的Linux目录

/etc/       //存放所有配置文件
/bin/       //存放所有用户都可执行的系统命令
/sbin/      //存放只有管理员(root)或具有管理员权限用户才可执行的系统命令
/mnt/       //默认为空,用于临时挂载
/var/       //动态存放目录,存放动态文件;如日志、邮件等
/dev/       //存放设备等文件;如硬盘、光盘等
/home/      //普通用户家目录
/root/      //管理员root的家目录
/usr/       //用户自行安装软件存放目录
/boot/      //存放内核、启动文件目录

Linux下一切皆文件如键盘、鼠标等在Linux中都体现为一个文件,只是某些文件不能直接打开,需通过程序或软件调用去使用

2.查看及检索文件

cd命令


 cd   <要进入的目录路径>

切换所在目录(相当于Windows中鼠标双击进入某个目录,直接查看目录下内容)

pwd //查看当前所在目录
Linux基础命令(二)
cd /etc/ //从当前路径切换到/etc/目录
Linux基础命令(二)
cd 或 cd ~ //进入当前登录用户家目录
Linux基础命令(二)
cd - //进入上次切换目录
Linux基础命令(二)
相对路径和绝对路径

相对路径:从当前路径开始表示位置;./为当前目录,../代表上一级路径
绝对路径:从"/"开始完整表示路径的位置


表示"/etc/sysconfig/network-scripts/ifcfg-eth0"文件位置,当前位于"etc/"目录
相对路径 :./sysconfig/network-scripts/ifcfg-eth0或sysconfig/network-scripts/ifcfg-eth0
绝对路径 :/etc/sysconfig/network-scripts/ifcfg-eth0
表示"/etc/hosts"文件位置,当前位于"/etc/sysconfig/network-scripts/"目录
相对路径 ../../hosts
绝对路径 /etc/hosts
:一般相对比绝对使用更方便,可减少文件结构写法,当然按习惯使用即可

cat命令


 cat  [ 选项 ]  文件名 ..

显示文件内容,可同时查看多个文件内容
选项

-n:显示行号
-A:显示文件中所有的特殊符号;如"$"结束符等


cat /etc/hosts //查看/etc/hosts文件内容
Linux基础命令(二)
cat -n /etc/hosts //查看/etc/hosts文件内容并显示行号
Linux基础命令(二)
cat -A /etc/hosts //查看/etc/hosts文件内容及其所有特殊符号
Linux基础命令(二)

more命令


 more  [ 选项 ]  文件名 ...

全屏方式分页显示文件内容,可同时分页查看多个文件
快捷键

Enter键:向下一行
空格键:向下翻一页
q键:退出


more /root/anaconda-ks.cfg //分页查看/root/anaconda-ks.cfg文件
Linux基础命令(二)
Linux基础命令(二)
:more只能往下翻,不能往上翻

less命令


 less  [ 选项 ]  文件名 ...

与more命令相同,但支持往上往下翻页,并支持搜索功能
快捷键

Page UP键:往上翻页
Page Down键:往下翻页 
/文字:文件中查找指定文件
n:跳转到文件中搜索文字中的下一个地址
N:跳转到文件中搜索文件中的上一个地址
q键:退出


less /root/anaconda-ks.cfg
Linux基础命令(二)
Linux基础命令(二)

head命令详解


 head  -n  文件名 ...

查看文件开头的一部分内容(默认为10行)
head /root/anaconda-ks.cfg //查看文件开头10行
Linux基础命令(二)
head -3 /root/anaconda-ks.cfg //查看文件开头3行
Linux基础命令(二)

tail命令


 tail  -n  文件名 ...

查看文件结尾的一部分内容(默认为10行)
选项

-f:动态更新查看文件尾部,可实时监控文件变化(Ctrl+C键终止),一般用于日志


tail /root/anaconda-ks.cfg //查看文件结尾10行
Linux基础命令(二)
tail -3 /root/anaconda-ks.cfg //查看文件结尾3行
Linux基础命令(二)
tail -f /var/log/messages //动态查看公共消息日志文件
Linux基础命令(二)

wc命令


 wc   [ 选项 ]   文件

统计文件中的单词数量(Word Count)、文件大小、文件行数等信息
选项

-l:统计行数 
-w:统计单词个数,以空格区分
-c:统计字节数


wc /etc/hosts //统计/etc/hosts的情况
Linux基础命令(二)
:当使用wc命令时,不跟任何选项,默认使用wc -lwc
wc -l /etc/hosts //统计/etc/hosts文件的行数
Linux基础命令(二)
wc -l /etc/passwd //统计/etc/passwd文件行数,得出系统中的账户数量
Linux基础命令(二)
find /etc -name "*.conf" | wc -l //统计.conf结尾的文件数量
Linux基础命令(二)

grep命令


 grep  [ 选项 ]  ...  <查找条件>  <目标文件>

在文件中查找并显示包含指定字符串的行
选项

-i:查找时忽略大小写
-v:反转查找,输出与条件不相符的行

查找条件

查找的字符串应以双引号("")括起来
"^..."表示以...开头,"...$"表示以...结尾
"^$"表示空行


grep "f" /etc/inittab //过滤显示文件中包含f的行(仅匹配小写字符f)
Linux基础命令(二)
grep -i "f" /etc/inittab //过滤显示文件中包含f的行(忽略大小写,大小写f)
Linux基础命令(二)
grep "f$" /etc/inittab //过滤显示文件中以f结尾的行
Linux基础命令(二)
grep "^i" /etc/inittab //过滤显示文件中以i开头的行
Linux基础命令(二)
grep -v "^#" /etc/inittab //过滤显示文件中除#开头的其余行
Linux基础命令(二)
grep -v "^$" /etc/inittab //过滤显示文件中除空行外的其余行
Linux基础命令(二)
grep -v "^#" /etc/inittab | grep -v "^$" //显示文件中有效行(不显示空行和#开头行)
Linux基础命令(二)

  • 3.文件压缩与归档

    gzip与gunzip


gzip  [ -9 ]  <文件名>...                                              //压缩
gzip  -d  XX.gz格式的压缩文件 or  gunzip XX.gz格式的压缩文件          //解压缩

使用gzip压缩算法压缩文件、解开压缩文件(可减少文件占用,但不是绝对的)
选项

-9:高压缩比,压缩出的文件较小(从0~9,数字越大,压缩比越高,默认为6)
-d:用于解压缩文件


dd if=/dev/zero of=/root/test bs=100M count=1 //生成大小为100M的测试文件
Linux基础命令(二)
gzip /root/test //使用gzip方式压缩文件,原文件丢失变为test.gz
Linux基础命令(二)
gzip -d /root/test.gz //解压test.gz文件到原目录下
Linux基础命令(二)
:只可解压使用gzip方式压缩的文件,后缀为.gz
gzip -9 /root/test //高压缩比使用gzip压缩文件,默认为6
Linux基础命令(二)
gunzip /root/test.gz //使用gunzip命令解压,与gzip -d效果一样
Linux基础命令(二)

bzip2与bunzip2


bzip2  [ -9 ]  <文件名>...                                         //压缩
bzip2  -d XX.bz2格式的压缩文件 or bunzip2 XX.bz2格式的压缩文件        //解压缩

使用bzip2压缩算法压缩文件、解开压缩文件(可减少文件占用,但不是绝对的)
选项

-9:高压缩比,压缩出的文件较小(从0~9,数字越大,压缩比越高,默认为6)
-d:用于解压缩文件


bzip2 /root/test //使用bzip2方式压缩文件,原文件丢失变为test.bz2
Linux基础命令(二)
bzip2 -d /root/test.bz2 //解压test.bz2文件到原目录下
Linux基础命令(二)
:只可解压使用bzip2方式压缩的文件,后缀为.bz2
bzip2 -9 /root/test //高压缩比使用bzip2压缩文件,默认为6
Linux基础命令(二)
bunzip2 /root/test.bz2 //使用bunzip2命令解压,与bzip2 -d效果一样
Linux基础命令(二)

xz


xz  [ -9 ]  <文件名>...                                    //压缩
xz  -d  XX.xz格式的压缩文件                            //解压缩

使用xz压缩算法压缩文件、解开压缩文件(可减少文件占用,但不是绝对的)
选项

-9:高压缩比,压缩出的文件较小(从0~9,数字越大,压缩比越高,默认为6)
-d:用于解压缩文件


xz /root/test //使用xz方式压缩文件,原文件丢失变为test.xz
Linux基础命令(二)
xz -d /root/test.xz //解压test.xz文件到原目录下
Linux基础命令(二)
:只可解压使用xz方式压缩的文件,后缀为.xz
xz -9 /root/test ///高压缩比使用xz压缩文件,默认为6
Linux基础命令(二)
xz -d /root/test.xz //解压test.xz文件到原目录下
Linux基础命令(二)
三种压缩方式对比

  • gzip对于要在Unix/Linux系统下使用的文件是最好的;虽然bzip2已经普及,但gzip仍然会长期使用存在
  • bzip2使用了和gzip不同的算法,并且会产生比gzip更小的文件,但需花费更长的时间进行压缩
  • xz提供最好的压缩率,但也会花费相当长的时间。比gzip、bzip2新,但有些系统有可能未安装(可以自行安装)
  • 总结:xz > bzip2 > gzip

    tar


tar [ 选项 ] ... <归档文件名>  <源文件或目录>            //创建归档文件
tar [ 选项 ] ... <归档文件名>  [ -C  <目标目录>]           //解压归档文件

选项

-z:调用gzip程序进行压缩或解压
-j:调用bzip2程序进行压缩或解压
-J:调用xz程序进行压缩或程序
-c:创建.tar格式的包文件
-x:解压.tar格式的包文件
-t:列表查看包内文件
-v:输出详细信息
-f:使用归档文件
-p:打包时保留原始文件及目录的权限
-C:解包时指定释放的目标文件夹
-P:归档时以绝对路径归档(可解决"tar: Removing leading '/' from member names"问题)

:使用tar归档,源文件或文件夹不会丢失,依然存在(类似Windows的压缩工具)

(1)归档
tar -zcvf /root/ceshi.tar.gz /boot/ /bin/ //将/boot/和/bin/目录使用gzip方式归档为一个文件,放到/root/下取名为ceshi.tar.gz
Linux基础命令(二)
tar -jcvf /root/ceshi.tar.bz2 /boot/ /bin/ //将/boot/和/bin/目录使用bzip2方式归档为一个文件,放到/root/下取名为ceshi.tar.bz2
Linux基础命令(二)
tar -Jcvf /root/ceshi.tar.xz /boot/ /bin/ //将/boot/和/bin/目录使用xz方式归档为一个文件,放到/root/下取名为ceshi.tar.xz
Linux基础命令(二)
ls -lh /root/ceshi* //列表查看/root/目录下以ceshi开头的文件
Linux基础命令(二)
(2)查看归档文件
tar -ztvf /root/ceshi.tar.gz //查看使用gzip方式压缩的ceshi.tar.gz文件
Linux基础命令(二)
tar -jtvf /root/ceshi.tar.bz2 //查看使用bzip2方式压缩的ceshi.tar.bz2文件
Linux基础命令(二)
tar -Jtvf /root/ceshi.tar.xz //查看使用xz方式压缩的ceshi.tar.xz文件
Linux基础命令(二)
:tar归档文件查看时,只能使用对应压缩方式查看;如使用gzip方式压缩(-z)
(3)解压归档文件
tar -zxvf /root/ceshi.tar.gz -C /tmp/ //将使用gzip方式压缩的ceshi.tar.gz归档文件解压到/tmp/目录下
Linux基础命令(二)
tar -jxvf /root/ceshi.tar.bz2 -C /tmp/ //将使用bzip2方式压缩的ceshi.tar.bz2归档文件解压到/tmp/目录下
Linux基础命令(二)
Linux基础命令(二)
tar -Jxvf /root/ceshi.tar.xz -C /tmp/ //将使用xz方式压缩的ceshi.tar.xz归档文件解压到/tmp/目录下
Linux基础命令(二)
Linux基础命令(二)
:tar解压时一样,采用对应压缩方式的,必须采用对应压缩方式解压;

转载于:https://blog.51cto.com/13770206/2128539

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值