Linux-Day2

1.文件目录结构

  • 文件和目录被组织成一颗倒置的树的结构
  • 文件系统从根开始,“/”
  • 文件名称严格区分大小写
  • 隐藏文件以“.”开头
  • 路径的分隔符为“/“

2.文件命名规范

  • 文件字符最长为255个字符
  • 包括路径在内文件名称为4095个
  • 颜色表示
    • 蓝色》》表示文件夹或者目录
    • 绿色》》表示可执行的文件
    • 红色》》压缩文件
    • 蓝色》》链接文件
    • 灰色》》表示其他文件
    • 白色》》单独的文件
  • 除了斜杠和NULL,其他所有字符都可以使用
  • linux里面对大小写是敏感的

3.文件系统结构

  • /boot引导文件的存放位置,内核文件、引导加载器都在此
  • /bin 所有的用户都可以使用的命令
  • /sbin 管理类命令
  • /lib 启动时程序使用的基本库文件.so结尾
  • /lib64 专门存放X86_64系统用到的文件
  • /root管理员的家目录
  • /media便携式移动设备的挂载点
  • /mnt临时文件的挂载点
  • /dev 设备文件和特殊文件的存放位置
  • /opt 第三方的应用的安装
  • /tmp 临时文件的存放位置
  • /usr存放安装程序
  • /var 存放经常变化的文件,比如日志
  • /proc存放内存启动和相关虚拟文件
  • /sys 输出当前系统上的硬件相关的文件
  • /srv 系统上允许的服务用的数据

4.Linux应用程序的组成

  • 二进制的文件

    • /bin
    • /sbin
    • /usr/bin
    • /usr/local/bin
    • /usr/local/sbin
  • 库文件
    • /lib
    • /lib64
    • /usr/lib
    • /usr/lib64
  • 配置文件
    • /etc
    • /etc/name
    • /usr/local/etc
  • 帮助文件
    • /usr/share/man

5.绝对路径和相对路径

  • 绝对路径

    • 以根开始
    • 完整的文件的存放位置
    • 可以读取到任何一个文件
  • 相对路径
    • 不以根开始
    • 现对于当前的位置来决定
    • 可以简短表示一个文件或者文件夹
    • .当前目录
    • ..父亲目录

6.目录名和基名

  • basename
  • dirname
7.切换目录
  • cd 切换目录 change directory

    • 可以使用相对路径
    • 可以使用绝对路径
    • 可以直接写cd切换到家目录x
    • cd - 可以切换上一次的目录

8.显示当前的工作目录

pwd print working directory

9.列出目录或者文件

ls list

命令格式: Usage:ls [OPTION]...[FILE]...

ls -a 显示所有文件

-rw-------. 1 root root 1743 Jul 14 15:54 anaconda-ks.cfg
-rw-r--r--. 1 root root 1791 Jul 14 15:56 initial-setup-ks.cfg
权限 硬盘的引用次数 属主 属组 大小 访问时间 文件名称
ls -R递归显示目录
ls -d显示目录本身
ls -l(数字1)文件分行显示
ls -S 安装文件的大小排序
ls -r倒叙显示
ls -t按照时间来排序
ls -lh显示人类易读的方式
ls -d */显示当前目录下的文件夹
l.只显示隐藏文件夹

10.linux下的目录类型

  • -用来表示文件
  • d用来表示目录
  • b块设备
  • c表示字符设备
  • I表示符号链接文件
  • s socket套接字

11.查看文件状态

atime 访问时间  查看文件内容就会发生变化
mtime 修改时间 改变内容就会发生变化
ctime 改动时间 原数据发生变化

12.创建新文件

  • touch 创建空文件和刷新时间,如果文件存在,则刷新时间,如果文件不存在则创建文件
  • -a 只修改 atime和ctime
  • -m只修改mtime和ctime

13.文件通配符

  • *所有
  • ?匹配的是任意单个字符
  • ~表示用户的家目录
  • [123]其中一个
  • [0-9]表示数字
  • ls file[a-z]字母(有坑)
  • [:lower:] 小写字母
  • [:upper:] 大写字母
  • [:alpha:]所有字母 a-zA-Z

14.创建目录

mkdir创建目录

  • -p递归创建
  • -pv显示创建目录的过程

显示目录树安装的命令

yum install -y tree

目录树的显示

[root@promote c]# tree .

-d 只显示文件夹

-L # 只显示#层

15.创建目录

rmdir只能是删除非空目录

  • -p递归删除空的父录
  • -pv显示删除的过程
  • rm -rf可以删除非空目录

16.复制文件和文件夹

cp copy 默认情况下是别名,\cp 原来本身命令是不提示覆盖的

-i 显示提示信息
-n 不覆盖
-r 递归复制
-d 只复制链接文件,不复制源文件
-a 归档
-v 显示过程
-b 在复制的过程中进行备份
[root@localhost test]# \cp -b file1 f1
[root@localhost test]# ls -l
total 12
-rw-r--r--. 1 root root 24 Jul 16 11:50 f1
-rw-r--r--. 1 root root 24 Jul 16 09:06 f1~
-rw-r--r--. 1 root root 24 Jul 16 09:05 file1
-rw-r--r--. 1 root root 0 Jul 16 09:02 file10
-rw-r--r--. 1 root root 0 Jul 16 09:02 file2
-rw-r--r--. 1 root root 0 Jul 16 09:02 file3
-rw-r--r--. 1 root root 0 Jul 16 09:02 file4
-rw-r--r--. 1 root root 0 Jul 16 09:02 file5
-rw-r--r--. 1 root root 0 Jul 16 09:02 file6
-rw-r--r--. 1 root root 0 Jul 16 09:02 file7
-rw-r--r--. 1 root root 0 Jul 16 09:02 file8
-rw-r--r--. 1 root root 0 Jul 16 09:02 file9
[root@localhost test]# cat f1
zhuxiayu111
zhuxiayu111
--backup==number备份文件加数字
-p复制保留原来的属性
  • 如果源文件是文件的话

    • 目标文件是文件

      • 目标文件如果不存在的话,则新建目标文件,并把内容写到目标文件中
      • 如果目标文件存在的话,本来的命令是直接覆盖,建议使用-i来提示用户
    • 目标文件是文件夹
      • 在文件夹中创建一个同名的文件,并把文件内容写到新文件中
  • 如果源文件为多个文件的话
    • 目标必须是文件夹,文件夹必须存在,其他的情况则必须报错
  • 如果源文件是文件夹的话
    • 目标文件是文件:不可以
    • 目标文件必须是文件夹,必须使用-r选项
    • 如果目标文件不存在:则直接创建目标文件夹,并把源文件夹的数据都复制到目标文件夹
    • 如果目标文件存在
      • 如果是文件的话,则报错
      • 如果是文件夹:则在目标文件夹中创建同名文件夹,并把所有数据都复制到新的文件夹

17.移动文件夹还可以重命名

mv move

-i 提示
-f 强制
-b 备份
--backup=number 备份后面加数字
-v 显示过程

18.删除

rm remove

-i  提示
-r -R 递归删除
-f 强制删除
rm -rf 慎用

19.链接

软链接(相当于windows得快捷方式)

  • 创建命令 ln -s 源文件 目标文件
  • 可以对目录做软连接
  • 指向另外一个文件或者目录的路径,大小是路径的长度的字符
  • 对磁盘应用次数没有影响
  • 可以跨分区
  • 源文件发生改变,目标软连接会发生改变
  • 源文件删除,软连接将不能访问

硬连接

  • 磁盘引用次数会发生变化
  • 只想的是硬盘上的同一块区域
  • 磁盘的引用数会随着赢链接次数来增加
  • 不能对目录做硬连接
  • 不能跨越分区
  • 源文件发生改变,目标硬连接会发生改变
  • 源文件删除,硬连接将没有影响

20.查看文件类型

输入和输出

  • 标准输入 默认是来自键盘的输入 stdin 0
  • 标准输出 默认输入到终端窗口 stdout 1
  • 标准错误输出 默认输出到终端窗口 stderr2

I/0重定向

  • 2> 将错误输出重定向到文件中
  • >将标准输出重定向到文件中
  • &>将所有的输出都重定向到文件中

禁止、允许覆盖

  • 禁止覆盖 set -C
  • 允许覆盖 set+C

>>追加

/>>将标准输出追加到文件夹中

2>>将错误输出追加到文件中

&>>将所有输出追加到文件中

20.将错误和正确的输出分开

cat log.log
cat error.log

21.合并所有的输出

  • &>覆盖重定向
  • &>>追加重定向
  • command>file2>&1
  • command >>file2>&1
  • ():合并多个文件的输出
  • /dev/null是linux里面无限资源的黑洞

22.从文件导入stdin

  • tr 替换

    [root@bogon test]# cd ~
    [root@bogon ~]# tr 'a-z' 'A-Z'
    DSFFfsf
    DSFFFSF
  • 多行文件导入stdin

    [root@bogon test]# cat >file1<<EOF
    > DSFS
    > FSFSDF
    > FSFS
    > SFF
    > EOF 最后的结尾必须与输入结尾相同
    [root@bogon test]# cat file1
    DSFS
    FSFSDF
    FSFS
    SFF
    #其中eof是约定俗称的

23.管道

管道使用“|”来表示

命令1|命令2|命令3

  • 把命令1的输出结果当成命令2的输入结果把命令2的输出结果当命令3的输出结果

    [root@bogon test]# ls file1|tr 'a-z' 'A-Z'
    FILE1
  • 默认情况下,管道只能传送标准输出

  • 如果需要吧错误输出也传递,则需要|&

  • 一般用来组合多个命令

  • 有一些命令是不接受管道的

24.作业

  • 创建多层级目录(利用中括号)

    mkdir -p /mnt/{bin,boot/dev,etc/{netbook,ssh/{sshd_config},sysconfig},sbin}
    [root@localhost ~]# cd /mnt
    [root@localhost mnt]# tree mnt
    mnt [error opening dir] 0 directories, 0 files
    [root@localhost mnt]# cd
    [root@localhost ~]# tree /mnt
    /mnt
    ├── bin
    ├── boot
    │   └── dev
    ├── etc
    │   ├── netbook
    │   ├── ssh
    │   │   └── {sshd_config}
    │   └── sysconfig
    └── sbin

Linux基础 Day2的更多相关文章

  1. Linux基础练习题(二)

    Linux基础练习题(二) 1.复制/etc/skel目录为/home/tuer1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. [root@www ~]# cp -r ...

  2. 大数据每日干货第四天(linux基础之一目录结构与常用命令)

           为了和qq空间同步,也写的第四天,前面几天明天会发布,本来打算把每天学的东西记录下来,通过朋友给的建议要发的话稍微系统化下,从大数据需要的linux基础,到离线数据分析包括hadoop. ...

  3. Linux课程实践一:Linux基础实践(SSH)

    一.SSH服务 1. 安装SSH (1)查看是否已经安装过ssh服务 rpm -qa |grep ssh (2)进行安装 sudo apt-get install openssh-server Ubu ...

  4. 还是不想改报告,伊阿忆啊哟-Linux基础继续

    hi 虽然今天是最最美好的周六(前不着工作日后不着工作日),但老子还要来改报告,但额就是不想改,你拿我有啥办法啊... 争取完结Linux基础 一.Linux常用命令(三) 4.帮助命令 4.1 帮助 ...

  5. 原来今天是感恩节-Linux基础继续&MySQL和PHP

    hi 原来今天是感恩节.虽然一直没有过这个节日的习惯,但仅仅是听到感恩的消息,都能想到一幅幅画面.愿大家安好! 下午开题会议还是有所收获,悄悄的,就变向那个不喜欢自己的人了. 一.Linux基础(二) ...

  6. 买错的电影票,含着泪也得看-LAMP搭建&Linux基础

    hi 没说过,上周五室友过生请客,在龙湖里吃嗨了喝爽了,回去的路上侃侃而谈.说好的这周一起去看年内最后的大片,火星救援的,谁知道老子眼神不好,买错了电影的时间...把周六的约定提前到了今儿个下午,ma ...

  7. Linux基础3(文件权限)

    文件权限 1.普通权限 (登陆用户对文件或目录的读写执行的权限) 普通权限对管理员用户无效 文件和目录 都有4中类型的用户u 所有者 : 文件.目录的创建者g 所属组 : 文件.目录属于的用户组o 其 ...

  8. Linux课程实践一:Linux基础实践(基础操作)

    一.软件源维护 1. 基本操作 (1)查看源列表 sudo vim /etc/apt/sources.list deb:二进制软件安装包 deb-src:源码包 (2)备份软件源列表 sudo cp ...

  9. 实践一:Linux基础实践

    一.Linux基础实践 1.1 1. 掌握软件源的维护方法,配置系统使用软件源镜像.掌握通过软件源来查找,安装,卸载,更新软件的方法. 这部分内容在许多学长学姐的报告里都有很详细的讲解,我在此就不赘述 ...

随机推荐

  1. Python编程导论第2版|百度网盘免费下载|新手学习

    点击下方即可免费下载 百度网盘免费下载:Python编程导论第2版 提取码:18g5 豆瓣评论: 介绍: 本书基于MIT 编程思维培训讲义写成,主要目标在于帮助读者掌握并熟练使用各种计算技术,具备用计 ...

  2. hdu6755 Mow

    半平面交+数组模拟双端队列 人生第一次代码过两百行啊...加油加油 #include<iostream> #include<algorithm> #include<cma ...

  3. 委托、匿名方法到lambda表达式

    在项目中我们经常会接触lambda表达式,链式操作简洁明了.帮我们省了不少事.面对这么神奇的一个东西,是不是也应该了解了解它的本质呢. 今天我们通过一步一步的演变揭开lambda表达式的本质 一.委托 ...

  4. PHP fileinode() 函数

    定义和用法 fileinode() 函数返回指定文件的 inode 编号. 如果成功,该函数返回指定文件的 inode 编号.如果失败,则返回 FALSE. 语法 fileinode(filename ...

  5. PHP filegroup() 函数

    定义和用法 filegroup() 函数返回指定文件的组 ID. 如果成功,该函数返回指定文件所属组的 ID.如果失败,则返回 FALSE. 语法 filegroup(filename) 参数 描述 ...

  6. Vue无限滚动加载数据

    Web项目经常会用到下拉滚动加载数据的功能,今天就来种草Vue-infinite-loading 这个插件,讲解一下使用方法! 第一步:安装 npm install vue-infinite-load ...

  7. bzoj 4238 电压

    LINK:电压 一张图 每个点可以为黑点或百点 每一条边的两端都必须为一黑一白.询问又多少条边满足除了这条边不满足条件其余所有边都满足条件. 分析一下这个所谓的条件 每一条边的两端必须为一黑一白 所以 ...

  8. 【HNOI2009】最小圈 题解(SPFA判负环+二分答案)

    前言:模拟赛考试题,不会做,写了个爆搜滚蛋仍然保龄. --------------------- 题目链接 题目大意:给定一张有向图,求一个环,使得这个环的长度与这个环的大小(所含结点个数)的比值最小 ...

  9. 都2020年了,你还不知道怎么学习Python吗?

    众所周知,Python应用广泛,涵盖后端开发.游戏开发.网络爬虫.网站开发.数据挖掘.科学运算.大数据分析.云计算.人工智能等领域,感觉像神一样的存在.Python这么火,那么从入门到精通学习Pyth ...

  10. Android后台数据接口交互实现注册功能

    首先,在ecplise里面新建一个叫做TestServices的web工程.在WebContent--WEB-INF--libs文件夹下导入两个jar包:mysql-connector-java-6. ...