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. MySQL组复制MGR(四)-- 单主模式与多主模式

    (一)概述 组复制可以运行在单主模式下,也可以运行在多主模式下,默认为单主模式.组的不同成员不能部署在不同模式下,要切换模式,需要使用不同配置重新启动组而不是单个server. 相关参数如下: # 该 ...

  2. Eclipse创建Web项目后新建Servlet时报红叉错误 or 导入别人Web项目时报红叉错误 的解决办法

    如图,出现类似红叉错误. 1.在项目名称上点击右键->Build Path->Configure Build Path 2.在弹出来的框中点击Add Library,如图 3.接下来选择U ...

  3. 第二章 Java基础知识(上)

    2.1.注释 单行注释 // 注释内容 多行注释 /* 注释内容 */ 文档注释 /**注释内容 */ 2.2.关键字 定义:在Java语言中被赋予特殊含义的小写单词 分类: 2.3.标识符 定义:标 ...

  4. I Hate It(区间最大问题,线段树)

    很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少.这让很多学生很反感. 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问.当然,老师有时 ...

  5. ES6标准入门 2/26

    第一章 ECMAScript6 简介 1.首先经典开头,ECMAScript跟JavaScript的关系,前者是后者的规格,后者是前者的一种实现.在日常场合中,这两个词是可以互换的. 2.ES6可以泛 ...

  6. 线程_ThreadLocal

    import threading # 创建ThreadLocal对象 house = threading.local() def process_paper(): user = house.user ...

  7. Python os.renames() 方法

    概述 os.renames() 方法用于递归重命名目录或文件.类似rename().高佣联盟 www.cgewang.com 语法 renames()方法语法格式如下: os.renames(old, ...

  8. C/C++编程笔记:《C语言》—— 数组知识详解,学编程建议收藏!

    作者:龙跃十二链接:https://www.imooc.com/article/300814 ,微信公众号:龙跃十二 数组的基本概念 我们把一组数据的集合称为数组(Array),它所包含的每一个数据叫 ...

  9. UOJ #310 黎明前的巧克力 FWT dp

    LINK:黎明前的巧克力 我发现 很多难的FWT的题 都和方程有关. 上次那个西行寺无余涅槃 也是各种解方程...(不过这个题至今还未理解. 考虑dp 容易想到f[i][j][k]表示 第一个人得到巧 ...

  10. 【01python基础】

    1.python的环境搭建(Python3 下载) Python 官网:https://www.python.org/ Python文档下载地址:https://www.python.org/doc/ ...