Linux基础 Day2
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的更多相关文章
- Linux基础练习题(二)
Linux基础练习题(二) 1.复制/etc/skel目录为/home/tuer1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. [root@www ~]# cp -r ...
- 大数据每日干货第四天(linux基础之一目录结构与常用命令)
为了和qq空间同步,也写的第四天,前面几天明天会发布,本来打算把每天学的东西记录下来,通过朋友给的建议要发的话稍微系统化下,从大数据需要的linux基础,到离线数据分析包括hadoop. ...
- Linux课程实践一:Linux基础实践(SSH)
一.SSH服务 1. 安装SSH (1)查看是否已经安装过ssh服务 rpm -qa |grep ssh (2)进行安装 sudo apt-get install openssh-server Ubu ...
- 还是不想改报告,伊阿忆啊哟-Linux基础继续
hi 虽然今天是最最美好的周六(前不着工作日后不着工作日),但老子还要来改报告,但额就是不想改,你拿我有啥办法啊... 争取完结Linux基础 一.Linux常用命令(三) 4.帮助命令 4.1 帮助 ...
- 原来今天是感恩节-Linux基础继续&MySQL和PHP
hi 原来今天是感恩节.虽然一直没有过这个节日的习惯,但仅仅是听到感恩的消息,都能想到一幅幅画面.愿大家安好! 下午开题会议还是有所收获,悄悄的,就变向那个不喜欢自己的人了. 一.Linux基础(二) ...
- 买错的电影票,含着泪也得看-LAMP搭建&Linux基础
hi 没说过,上周五室友过生请客,在龙湖里吃嗨了喝爽了,回去的路上侃侃而谈.说好的这周一起去看年内最后的大片,火星救援的,谁知道老子眼神不好,买错了电影的时间...把周六的约定提前到了今儿个下午,ma ...
- Linux基础3(文件权限)
文件权限 1.普通权限 (登陆用户对文件或目录的读写执行的权限) 普通权限对管理员用户无效 文件和目录 都有4中类型的用户u 所有者 : 文件.目录的创建者g 所属组 : 文件.目录属于的用户组o 其 ...
- Linux课程实践一:Linux基础实践(基础操作)
一.软件源维护 1. 基本操作 (1)查看源列表 sudo vim /etc/apt/sources.list deb:二进制软件安装包 deb-src:源码包 (2)备份软件源列表 sudo cp ...
- 实践一:Linux基础实践
一.Linux基础实践 1.1 1. 掌握软件源的维护方法,配置系统使用软件源镜像.掌握通过软件源来查找,安装,卸载,更新软件的方法. 这部分内容在许多学长学姐的报告里都有很详细的讲解,我在此就不赘述 ...
随机推荐
- Spring葵花宝典
一 Spring简介 Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架 为了解决企业应用开发的复杂性而创建 二 Spring功能 1. 方便解耦 简化开发 Spring就是一 ...
- 第一课:Centos下配置java环境变量的两种方式(jdk1.8)
配置java环境(yum安装) 1.查出java1.8的全部版本 yum list java-1.8* 2.安装你需要的java1.8 版本(安装的名字根据查询出来的结果输入这里只是举例) yum i ...
- 关系数据可视化gephi
表示对象之间的关系,可通过gephi软件实现,软件下载官方地址https://gephi.org/users/download/ 如何来表示两个对象之间的关系? 把对象变成点,点的大小.颜色可以是它的 ...
- Python之自定义函数
函数 1.定义函数 在Python中定义一个函数要使用def语句,一次写出函数名.括号.括号中的的参数和冒号,然后在缩进块中编写函数体,函数的返回值用return返回.如下所示: def 函数名(参数 ...
- 深入探究JVM之垃圾回收算法实现细节
@ 目录 前言 垃圾回收算法实现细节 根节点枚举 安全点 安全区域 记忆集和卡表 写屏障 并发的可达性分析 低延迟GC Shenandoah ZGC 总结 前言 本篇紧接上文,主要讲解垃圾回收算法的实 ...
- __name__=='__main__'作用
.pyw:python源文件,常用语图形界面程序文件.pyc:Python字节码文件 举个例子吧!!先写一个py文件,命名为MyModule.py,里面内容如下: def mymain(): prin ...
- PHP XML DOM:DOM 是什么?
PHP XML DOM 内建的 DOM 解析器使在 PHP 中处理 XML 文档成为可能. DOM 是什么? W3C DOM 提供了针对 HTML 和 XML 文档的标准对象集,以及用于访问和操作这些 ...
- Python 中 3 个不可思议的返回
第一个:神奇的字典键 some_dict = {} some_dict[5.5] = "Ruby" some_dict[5.0] = "JavaScript" ...
- 极简 Node.js 入门 - 1.4 NPM & package.json
极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...
- Java 基础 —— 注解 Annotation
简介 Annotation 是从 JDK 5.0 引入的. 注解使得我们可以以编译器验证的格式存储程序的额外信息.注解可以生成描述符文件,甚至是新的类定义,并且有助于减轻编写"样板" ...