Linux学习笔记
Linux运维的岗位:
- 运维开发
- 应用运维
- 系统运维工程师 :最顶级的
- 云计算运维
- 大数据运维
- Linux系统运维
学习路径:
- 系统管理
- 服务管理
- 脚本开发
- 系统扩展
常见站点系统架构演变
单机:
-
Http
-
PHP module
- php app
-
mysql
-
http
-
tomcat
- jsp app
-
Mysql
多机:
缓存:
->page cache -> httpd->php app-> mysql
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oYHSByal-1585625846980)(C:\Users\15209\Pictures\博客\images\linux003.jpg)]
VNC :Virtual Network Computing 协议 :
- 实现虚拟网络计算
- 桌面共享
- TigerVNC,RealVNC
- C/S架构
- vncviewer:client
- vncserver:server
- ftp://172.16.0.1/pub :统一资源定位符
- ip_forward是开放的 server:172.16.0.1 192.168.0.254 192.168.1.254
ftp服务:ftp://172.16.0.1
http服务: http://172.16.01
dhcp服务:172.16.250.X
知识—>技能 :需要经过不断的练习
结果导向:只认功劳不认苦劳
主动学习:
- 动手实践 40%
- 讲给别人听 :70%
- 写博客
- what why when where who
- how
被动学习:
- 听课 :10%
- 笔记 :20%
Linux 运维课程体系:
- Linux入门
- 操作系统基础概念
- 系统管理的基本工具(文件管理,安装包管理)
- linux服务及安全管理 :基本功,每个地方都用得到
- Httdp lamp lnmp
- Cache memcached varnish
- DB:mysql (mariadb)
- Linux集群
- LB Cluster Ngnix LVS
- HA Cluster Keepalived
- Linux Ops:
- ansible
- Linux监控工具
- Monitoring:zabbix
- Shell编程
- Http:
- tomcat lnmt ,lamt session cluster
- 分布式存储系统:
- MogileFS,GlusterFS
- Mysql:
- HA Cluster
- MHA机制
- 备份恢复
- MYSQL Replication
- Read-Writer splitting
- HA Cluster :Corosync+pacemaker, p cs/crmsh
- LB Cluster: haproxy
- NoSQL : redis ,mongadb,HBase
- 运维工具:
- puppet (自动化运维工具) saltstack,cobbler
- 虚拟化:
- linux操作系统原理:虚拟化技术原理
- kvm虚拟化引用详解:xen虚拟化
- 虚拟化网络:SDN 交换机,路由器,二层交易,三层交易
- OpenStack:云栈,能管理物理机还能和Docker结合
- Docker:容器云
- ELK Stack :ElasticSearch (搜索引擎),Logstash(日志搜集),Kibana
- 大数据 :研发很热,Hadoop v2,构建分布式集群,并行存储及分析平台
- HBASE Hive
- Storm ,Spark
- 系统优化:二次优化
- Python编程:
- python开发工程师的目标
- 案列
- 每天一千行代码
- RedHat:
- RHCSA
- RHCE
- RHCA (架构师)
IT技术领域:
- 研发
- 硬件研发
- 软件研发
- 应用
- Linux运维:Iinux生态圈中的各应用程序的应用
- Shell脚本编程: 让应用自动化完成
- Python:专业编程语言
- ansible,openstack
- DevOps:
- development
- Operation
计算机与操作系统:
ENIARC:
-
CPU:运算器,控制器,寄存器,缓存
-
存储器:内存,RAM(Ramdon Access Memory)
-
INput Output
程序:指令+数据
-
算法+数据结构
OS的接口有俩种:
- GUI :Graphic User Interface
- CLI : Command Line Interface
- bash
- zsh
- sh
- csh
- tesh
操作系统的功能:
- 驱动程序
- 进程管理
- 安全
- 网络功能
- 内存管理
- 文件系统
API: Aplication Programer Interface
程序员面对的编程接口
POSIX:Portable Operation System
ABI :Application Binary Interfa
程序应用者面对运行程序的接口
GUN:
源码:编译成为二进制格式
gcc ,glibc,vi ,linux
Linux是由各发行商将源码编译成的
发行版:数百种
Debian:Ubuntu(mint),knopix,(使用于技术更高的)
Slackware: SuSe,OpenSUSE
RedHat :RedHat9.0:
RedHat EnterPrise Linux:RHEL :18个月发行一次 (CentOS)
Fedora Core:6个月一个版本
Gentoo:(后起的)
ArchLinux:
软件程序:版本号
major.minor.release
- linux:0.99,2.2,2.4
- www.kernel.org
Linux :
GUN:发行版也有自己的版本号
Linux基础:
CPU架构
- X86
- X64(amd64)
- m68000,m68k
- arm系列(手持移动终端最常见的CPU)
- ultrsparc solaris
- power:性能极强,功耗和体积很大
- 复杂指令集(Intel)
- 精简指令集(power)
- powerpc,ppc(简装版power),苹果工作站
- HP :alpha hp-ux
汇编语言:portable极差
汇编器:支持交叉编译,cross compile
代码在各个平台编译,才能适用各种平台
- 开源:提供源代码
- 闭源:只提供二进制程序
Stallman:GUN
- 开源协定:
- GPL:General Public License
- 任何一款软件只要遵循GPL协议,版权就归GPL,任务其他人只要内置GPL代码就得遵守GPL协定。
- copyleft
- LGPL协议:更少要求的GPL协定
- 基于库接口调用可以不开源
- FSF :Free
- GPL2 GPL3 :BSD
- Apache:
- ASF:Apache Software Foundation
- 双线授权:
- community:遵循开源协定
- 商业授权版本 (Enterprise):提供额外的服务和功能(企业版)
- 程序管理
- 程序组成部分
- 二进制文件
- 配置文件(bin)
- 库文件(lib)
- 帮助文件
- 程序包管理器
- x:程序的组成文件打包成一个或有限几个文件:安装操作 卸载操作 查询
- Debian :dpkg(deb) apt-get
- RedHat: rpm yum -->dnf
- S.uS.E :rpm , zypper
- ArchLinux:port
- Gentos :边安装边编译(很难玩,要求很高)
- LFS: linux From Scratch
- 安装Linux:
- 虚拟机:linux
- 计算机:CPU,内存,IO(可以复用 -》时序复用,空分复用) 操作系统就是一个虚拟机,将硬件虚拟出来,通过时分复用空分复用。
- 专业的虚拟化软件程序
- VMware
- virtualbox(Oracle)
- Centos的镜像站点:
- http://mirrors.aliyun.com
- http://mirrors.163.com
- http://mirrors.sohu.com
- 开始学的时候最好选择everything版本
- 虚拟机:linux
- 程序组成部分
ISO镜像:
- 硬盘分区:留出一些空间
- 用户界面:
- GUI
- GNome
- KDE
- CLI
- bash
- zsh
- sh
- ~]# ss -tnl :查看系统监听与tcp协议的22端口
- ~]# ifconfig 或者 ip addr list
- eth0:网卡名
- iptables -L -n :查看防火墙
- CentOS7:(关闭防火墙)
- systemctl stop firewalld .service :关闭防火墙,只当时有效
- systemctl disable firewalld.service
- CentOS6:
- service.iptables stop
- chkconfig iptables off
- GUI
- echo $SHELL :查看shell类型
终端设备:
- 多任务
- 多用户 (时序复用,同时使用)
- 用户接口程序(进程)
- 键盘+显示器==terminal
- 物理终端(控制台):console
- 虚拟终端:Ctrl+Alt+F[1-6] tty
- 图形终端: Ctrl+Alt+F7
- 串行终端:如果不需要图形化界面,就不需要显卡 ttyS
- 伪终端:桌面上打开的控制台窗口 :pty
Linux的哲学思想之一:一切皆文件
- 表现之一:硬件设备也表示文文件
- 物理终端: /dev/console
- 虚拟终端: /dev/tty# [1,6]
- 串行终端:/dev/ttyS#
- 伪终端(远程连接窗口): /dev/pts/# #都代表数字
- 在启动设备之后,在其上关联一个用户程序,即可实现与用户的交互
- 查看终端设备:~]#tty
启动GUI
- 在虚拟终端接口运行命令:startx &
接口:
- CLI接口(命令行接口)
- [root@csm ~]# command (前面是命令提示符)
- 只能运行不依赖图形功能的程序
- ~:代码用户当前所在的目录
- root:代表用户
- csm:主机名
- ~]$ :普通用户
- ~]# :管理员账号
- 几个基础指令:
- tty:查看当前终端设备
- ifconfig :或 ip addr list
- echo :回显
- 关机指令:
- Centos : systemctl poweroff systemctl reboot
- *:
- poweroff
- reboot
- halt
Linux的哲学思想:
- 一切皆文件
- 所有的系统资源,包括硬件设备,甚至通信接口等
- open(),read(),close(),delete()
- 由众多功能单一的程序组成
- 一个程序只做件事,并且做好
- 组合小程序完成复杂任务
- 尽量避免和用户交互
- 目标:易于以编程的方式实现自动化任务
- 使用文本文件保存配置信息
- 因为文本是最底层的
文件是什么?文件如何有效的组织起来?
分层级,自顶向下查找。
文件系统:
- 层级结构 有索引
- 所有的文件都从属于/:原初起点 :根目录
- 第二层结构:子目录
- 第三层结构 :倒置树状结构
- 所有的文件都从属于/:原初起点 :根目录
- 目录:实现路径映射
- 文件:存储空间存储的一段数据流式数据
- 对数据可以做到按名存取
- 文件系统: /dev/pts/2 (路径映射)
- 最左侧的/ :表示根目录
- 其他的/ :表示分隔符是/
- windows的分隔符是 \
- 文件的路径表示有俩种:
- 绝对路径
- 相对路径
- 文件名的使用法则:
- 严格区分字符大小写
- 目录也是文件,与文件不能同名(同一个路径下下)
- 文件名支持使用除/外的任意字符:最长不能超过255字符
- 用户有家目录: home
- 用户的起始目录:普通用户管理文件的位置
- 工作目录:
- /etc/sysconfig/network-script/ifcfg-eno16666
- basename: 最右侧的文件名或目录名
- basename左侧的路径:叫dirname
命令的语法通用格式:
- command options arguments
- 多数系统命令都存放在:/bin /usr/local/bin /usr/bin
- 管理命令:/sbin /usr/sbin /usr/local/sbin
- 普通命令: /bin /usr/local/bin /usr/bin
- 共享库: /lib目录下 /lib64 /usr/lib /usr/lib64 /usr/local/lib
- 只能被其他有执行程序入口的程序调用使用
- 32bit的库: /lib , /usr/lib , /usr/local/lib
- 64bit的库: /lib64 ,/usr/lib64
- 运行时会调用库
- 命令必须遵循特定规范:
- 格式规范 :exe ,msi , ELF(linux)
- file /bin/ls :查看文件内容的类型
- 并非所有的命令都有一个在某目录下对应的可执行文件
- 命令分类:
- 由Shell程序自带的命令 :内置命令(builtin)
- 独立的可执行文件: 文件名即命令名(外部命令)—》配置了环境变量
- Shell程序是个独立的程序:负责解析用户提供的命令
- 词法分析
- 语法分析
- 想办法找到这个程序的文件在什么地方 :
- 通过环境变量 PATH:从哪些路径中查找用户键入的命令字符串
- 查找路径的顺序也很关键,自左向右的查找
- 内置命令是不需要查找的
- 查看命令类型:type command
OPTIONS:指定命令的运行特效
-
调整命名执行时的功能
-
指明要运行功能的哪部分代码
-
选项有俩种表现形式:
- 短选项: -C ,例如:-l ,id
- 有些命令的选项没有-:
- 如果同一个命令使用多个短选项,多数可以合并:-l -d =-ld
- 长选项:–word,例如:–help --human-readable
- 短选项: -C ,例如:-l ,id
ARGUMENTS:命令的作用对象
- 注意: 不同命令的参数:有些命令可以同时带多个参数,多个之间用空白字符分隔
获取命令帮助:
- 内部命令
- help command
- 外部命令
- 每个命令都自带简要使用格式的使用帮助
- command --help
- 使用手册
- manual :系统上得有这个手册
- /usr/share/man/
- SECTION
- NAME :功能性说明
- SYNOPSIS: 语法格式
- 选项 :OPTION
- 使用示例 EXAMPLE
- SYNOPIS:
- [] 可以选的内容
- <>:必须提供的内容
- a|b|c :多选一
- …:同类内容可以出现多个
- 每个命令都自带简要使用格式的使用帮助
- 使用手册(man):压缩格式的文件,有章节之分
- 1:用户命令
- 2:系统调用
- 3:C库调用
- 4:设备文件及特殊文件
- 5:文件配置格式说明
- 6:游戏使用帮助
- 7:杂项
- 8:管理工具及守护进程
- 并非每个command在每个章节下都有手册
man命令的操作方法:
- b:向文件首部翻一屏 ;
- ctrl+d :向文件尾部翻半屏
- ctrl+k: 向文件首部翻半屏
- 回车键:向文件尾部翻一行
- #G:跳转到指定行
- 1G:跳转到文件首部
文本搜索:
- /keyword:从文件首部向文件首部查找
- ?keyword: 从文件尾部向文件首部查找
添加用户:
- useradd gentoo
- id gentoo (验证方式)
- useradd -s /bin/tcsh slackware 指定shell为tcsh
获取命令的在线文档
- info command
很多应用程序会自带帮助文档
- /usr/share/doc/APP-VERSION
- README :程序的相关信息
- INSTALL:安装帮助
Linux文件系统:
- 以.开头的文件为隐藏文件
- .:当前目录
- … :上一级目录
- /etc/sysconfig/
- 工作目录: working directory
- 家目录: home
常用目录:
- pwd (printing working directory)
- cd (chage directory)
- cd ~ :切换回自己的家目录
- cd ~username: 切换到指定用户的家目录
- cd - :上一次所在目录与当前所在目录来回切换
- ls :(list)
- -a 显示所有文件(包括隐藏文件)
- -l : --long ,长格式,即显示文件的详细属性信息
- 文件类型: d , b , c , l , s ,p
- rw-r–r--:文件属主的权限
- 数字文文件大小,单位是字节:
- 时间:文件最后一次被修改的时间
- -h 对单位大小单位换算,换算后可能非精确值
- -d :查看目录自身而非内部文件
- -r 逆序显示
- -R :recursive :递归显示
- cat : concatenate :连接文件并显示在标准输出上
- 文本文件查看工具
- 用 file /etc/fstab 查看文件类型是不是文本文件
- -n 显示文本的行号
- -E :显示结束符$
- tac :文本文件查看工具
- 文件内容是逆序的(每一行逆序显示)
- file 命令 :查看文件内容类型
- 用法格式:file [FILE] …
- echo :回显命令
- echo [OPTION ] [STRING]
- -n 不再自动执行换行
- -e 让转义符生效
- \n 换行符
- \t 制表符
- \b 退格键(删除前一个字符)
- String
- 单引号:强引用,变量不执行替换
- 双引号:弱引用,变量会被替换
- 变量引用的正规符号
- ${name}
- shutdown [option ] [time] [WALL]
- Opiton:
- -h halt
- -r +5
- -c 取消关机
- wall “lang lai le” :一台主机的多用户自己可以通信
- Opiton:
- 日期相关的命令
- date :显示和设置时间(系统时钟)
- date [OPTION]… [+FORMAT]
- FORMAT :格式符
- %F
- %T
- %Y
- %m
- %s :从1970年1月1日(unix元年) 0点0分0秒到命令执行那一刻经过的秒数
- date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]]
- 设定系统日期:
- date 101008082018 月日 时分 年
- clock :查询设置系统的硬件时间(硬件时钟)
- 主板上的电池让主板上的硬件供电
- hwclock :硬件时钟
- cal :日历
- man cal 用法
- which
- whereis
- who
- w
- date :显示和设置时间(系统时钟)
Linux 目录结构和根文件系统
- 程序编译方式:
- linux : glibc库
- 动态连接 :不把库文件编译进来,运行的时候再调用 (有依赖性,移动之后可能不能运行)
- 静态编译:编译的时候加入库文件,特点:体积大,消耗内存
- 操作系统
FHS:
- FIlesytem Hierarchy standard (文件层级系统标准)
- /bin :所有用户可用的基本命令程序文件
- /sbin :供系统管理使用的二进制程序
- /boot: 引导加载器必须用到的各种静态文件 :kernel , initramf(initrd),grub等
- /dev :设备文件,存储特殊文件或设备文件,设备有俩种类型:字符设备,块设备
- /etc : 系统程序的 配置文件,只能为静态的。
- /home: 非关键性目录,可以独立挂在一个分区,不是基本组成结构 /home/username
- /lib: 基本共享库,为系统启动或根文件系统上的应用程序(/bin,/sbin)提供共享库,以及为内核提供内核模块。 libc.so.* :动态链接的c库 ld*:运行时的连接器/加载器 modules:用于存储内核模块的目录。
- /lib64 :基本共享库(64位系统的)
- /media: Mount point for removeable media:任何其他设备的的挂载目录(U盘,光盘便携式)
- /mnt : 其他文件系统的临时挂载点
- /opt :Add-on application software packages: 非关键性的第三方程序的安装包,可选路径;
- /root: 管理员的家目录 :可选(管理员有没家无所谓,不应该登录)
- /srv : 当前主机为服务提供的数据,一般用不到
- /tmp : Temporary files :临时文件目录,几乎所有的用户都能用到,所有用户都能读写
- /usr : usr Hierarchy
- 除了根之外,最重要的:全局共享(只读)资源
- 不需要用户在这个文件下创建文件
- 子目录:
- bin sbin
- etc
- include(c程序的头文件)
- lib lib64
- share (命令手册页和自带文档等架构)
- local : local Hierarchy :让系统管理员安装本地应用程序,也通常用于安装第三方应用程序
- /var Hierarchy:
- variable data fiels : 管理员的日志数据 经常发生变化的数据的目录
- 子目录:
- cache
- lib
- local 为/usr/local 存储变化数据
- opt 为/opt存储变化数据
- tmp 系统从起后临时数据
- /proc : 内核和进程信息的虚拟文件系统(为内核及进程存储相关信息)
- 大多为内核的参数:例如 net.ipv4_forward,虚拟为/net/ipv4/ip_forward
- 存储于/proc/sys/ ,因此其完整路径为:/proc/sys/net/ipv4/ip_forward
- /sys
- 虚拟文件系统,提供了一种比/proc更理想的访问内核数据的途径
- 基于内存的虚拟文件系统,关机就没了
- 目录结构
- /devices
- /dev
- /bus :总线
- /class
Linux系统上的文件类型
- ls -l 最左侧的字母
- -:常规文件 即f:
- d:directory ,目录文件:完成路径映射
- b:block device ,块设备文件:以“block”为单位进行随机访问
- c: charactor device ,字符设备文件,支持以“character”为单位进行线性访问
- major number:主设备号 ,用于标识设备类型,进而确定要加载的驱动程序
- minor number :次设备号,用于标识同一类型中的不同设备
- 8位二进制 (0,255)
- l :symbolic link: 符号链接文件
- 软链接文件
- p :pipe,命名管道
- s :socker,套接字文件:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-45jdPmEy-1585625846983)(C:\Users\15209\Pictures\博客\images\文件.jpg)]
基本命令:
- which: which - shows the full path of (shell) commands.
- 如果要运行原命令:\command
- 获取命令别名:alias
- shell 内部命令 :但是shell自身是外部的,shell带了很多内部的命令
- 定义别名:
- alias NAME =“command” :只对当前shell有效
- 撤销别名:unalias NAME
- whereis命令:whereis - locate the binary, source, and manual page files for a command
- -m :查看man 手册路径
- -b:仅搜索二进制程序路径
- who命令:show who is logged on
- -b :最近一次的启动时间
- w命令: w - Show who is logged on and what they are doing.
bash的基础特性:
-
命令历史: shell进程会在其会话中保存此前用户提交执行过的命令
- history
- 上下键
- history会保存在文件中,登出了也还会存在
- 定制history的功能,可通过环境变量实现
- HISTSIZE :命令历史的条数
- HISTFILE :在管理员家目录下 la -a : .bash_history
- HISTFILESIZE: 历史文件大小
- 命令用法: help history
- -d :从指定位置删除历史
- -c: 删除所有条目
- -w : 将当前历史写入历史文件中
- -r : 从历史文件中读回来
- history 10 :显示最近10条命令
- !5 :再一次执行历史列表中的第5条命令
- !STRING :执行最近以STRING开头的命令 :重复执行需要依赖幂等性(多次执行结果相同)
- 调用上一个命令的最后一个参数 esc + . (很好用的技巧) !$ 也可以
- 控制命令历史记录的方式 : HISTCONTROL :
- 默认特性(忽略重复 ignordups)
- ignorespace :忽略以空格开头的命令
- ignoreboth :以上俩这同时生效
-
命令补全
- shell程序在接收到用户执行命令的请求,分析完成之后,最左侧的字符串会被当做命令
- 命令处理机制
- 查找内部命令
- 根据PATH环境变量中设定的目录,自左而右的查找命令
- 按俩下tab :查找以指定字符开头的命令
- 按一下tab:给定的打头字符串如果能唯一的标识某命令程序文件,则直接补全
- 路劲补全:
- 根据给定的起始路径来补全
- 目录管理类的命令
- mkdir :创建目录 mkdir /tmp/x/y/z
- -p : 当路径不存在时,创建父目录
- -v :显示详细过程
- rmdir :仅用于删除空目录
- -p : rmdir -p /tmp/x/y :先删除y,如果其父目录为空,再删除父目录
- ~ :自动展开为用户的家目录,或指定用户的家目录
- {}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径
- 例如: /tmp/{a,b} 相当于 /tmp/a /tmp/b
- [root@csm ~]# mkdir -v /tmp/{a,b}_{c,d}
mkdir: 已创建目录 “/tmp/a_c”
mkdir: 已创建目录 “/tmp/a_d”
mkdir: 已创建目录 “/tmp/b_c”
mkdir: 已创建目录 “/tmp/b_d”
- tree :显示目录结构 : list contents of directories in a tree-like format.
- 参数(OPTIONS)
- -L (level) :指定要显示的层级
- 参数(OPTIONS)
- mkdir :创建目录 mkdir /tmp/x/y/z
- bash的基础特性: 命令的执行状态结果(bash通过状态返回值来输出此结果)
- 成功 : 0
- 失败 :1-255
- 命令执行完成之后,其状态返回值保存于bash $? 中。 echo $?
- 命令正常执行时,有的还有命令返回值
- 引用命令的执行结果 $(command) 或者
command
mkdir $(date +%H-%M-%S) :执行结果
- 引用命令的执行结果 $(command) 或者
- bash的基本特性: 引用
- 强引用 ’ ’
- 弱引用:" "
- 命令引用:``
- bash的基本特性:快捷键
- ctrl+a :跳转到命令行首部
- ctrl+e :跳转到命令行尾
- ctrl +u :删除行首到光标所在处之间的所有字符
- ctrl +k :删除光标到行位的所有字符
- Ctrl+l : 想当于clear
- 文本查看类命令:cat ,tac ,less ,more,tail,head,
- 分屏查看命令:more less
- more :只能向后分屏,翻屏到文件尾部后自动退出
- less : man命令支持的就是less命令
- head:查看文件的前n 行
- tail :查看文件的后n 行(默认10行)
- -n #
- -# :显示指定行
- -f : 查看文件尾部内容结束后不退出,跟随显示新增的行
- 分屏查看命令:more less
- stat命令:display file or file system status (查看文件的元数据)
- stat FILE
- [root@csm tmp]# stat /tmp/functions
文件:"/tmp/functions"
大小:15131 块:32 IO 块:4096 普通文件
设备:fd01h/64769d Inode:393264 硬链接:1
权限:(0644/-rw-r–r--) Uid:( 0/ root) Gid:( 0/ root)
access time:2020-03-31 09:04:01.854932173 +0800
modify time:2020-03-31 09:04:00.703888368 +0800
change time:2020-03-31 09:04:00.703888368 +0800
创建时间:- - 文件:俩类数据
- 元数据:mtadata (例如书的目录,书名)
- 数据:data (书的内容)
- touch 命令可以改变文件的时间戳 : touch - change file timestamps
- 经常用来创建空文件
- -c :不创建文件 :指定文件路径不存在时不创建
- -a change only the access time
- -m change only the modification time
- -t :改成指定的时间 [YYMMDD]
-
文件管理工具: cp,mv ,rm
- cp命令:copy
- 源文件 :目标文件
- 复制指的是复制文件的数据
- 单源复制 :cp [OPTION]… [-T] SOURCE DEST
多源复制: cp [OPTION]… SOURCE… DIRECTORY
多源复制:cp [OPTION]… -t DIRECTORY SOURCE… - 如果DEST不存在:则事先创建此文件,并复制源文件的数据流到DEST中
- 如果DEST存在:
- 如果DEST是非目录文件:覆盖DEST文件
- 如果DEST是目录文件: 则现在DEST目录下创建一个与源文件同名的文件,并复制数据流至目标文件
- 如果SOURCE是目录:略过目录
- 多源复制:
- 如果DEST不存在: 不允许
- -i :覆盖之前提醒用户确认
- -f : 强制覆盖目标文件
- -r ,-R :recursive :递归复制目录
- -d :复制符号链接文件本身,二非其指向的源文件
- –preserv= :保留云文件的时间戳
- node :权限
- timestamps:时间戳
- xattr:扩展属性
- all :上述所有属性
- -a :保留源文件的所有属性
- mv :移动文件和重命名
- mv hello hello.txt :重命名 ,当源文件和目标文件在同一个目录下
- 不在同一个目录下就是移动
- 常用选项
- -i :交互式
- -f :强制覆盖
- rm :删除文件
- linux系统没有回收站,找回文件非常困难
- rm [OPTION] FILE
- 常用选项:
- -r 递归删除
- -f :强制删除
- 可以自建一个回收站,把不用的文件都移动到回收站去,尽量不要删文件
- 危险操作:rm -rf /*
- cp命令:copy
-
变量: 命名的内存空间
-
变量类型:整型,浮点型,字符型,布尔型,日期时间型
-
字符型
-
数值型
-
精确数值
-
近似数值
-
存储格式,数据范围,参与运算:
- 8 :1000
- 16 : 10000
- ASCII 码 :128个
-
-
-
变量的命名操作: name=tom
如果DEST不存在: 不允许
- -i :覆盖之前提醒用户确认
- -f : 强制覆盖目标文件
- -r ,-R :recursive :递归复制目录
- -d :复制符号链接文件本身,二非其指向的源文件
- --preserv= :保留云文件的时间戳
- node :权限
- timestamps:时间戳
- xattr:扩展属性
- all :上述所有属性
- -a :保留源文件的所有属性
-
mv :移动文件和重命名
- mv hello hello.txt :重命名 ,当源文件和目标文件在同一个目录下
- 不在同一个目录下就是移动
- 常用选项
- -i :交互式
- -f :强制覆盖
-
rm :删除文件
- linux系统没有回收站,找回文件非常困难
- rm [OPTION] FILE
- 常用选项:
- -r 递归删除
- -f :强制删除
- 可以自建一个回收站,把不用的文件都移动到回收站去,尽量不要删文件
- 危险操作:rm -rf /*
-
变量: 命名的内存空间
-
变量类型:整型,浮点型,字符型,布尔型,日期时间型
-
字符型
-
数值型
-
精确数值
-
近似数值
-
存储格式,数据范围,参与运算:
- 8 :1000
- 16 : 10000
- ASCII 码 :128个
-
-
-
变量的命名操作: name=tom