运维系列-linux 基础命令目录
第一章 运维学习入门之linux的使用
前言
本系列运维学习初定,会分为linux 基础命令,docker 学习,k8s 学习
一、linux 命令行小知识
root 是系统管理员,超级用户(super)
root 当前用户的账号,@后面的是当前 linux 主机的名称,最右面的~指当前所在的目录,#是提示符 linux 默认 root
的提示符# ,一般身份用户的提示符为$示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
二、基本命令
查看当前目录
ls [-al]
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-l 列出文件的详细信息。(可以是 ll)
# 输出
# 文件属性 连接数 文件拥有者 文件所属用户组 文件大小 文件最新修改日期 文件名
新建文件(夹)
# 在当前目录下新建文件
touch 文件名
# 在当前位置新建文件夹
mkdir [-p] 文件夹名
-p /a/b/文件夹名 在指定目录位置,创建文件夹,并创建父文件夹
删除文件(夹)
# 删除文件
rm 文件
# 删除文件夹
rm -r 文件夹
# 强制删除不询问
rm -rf 文件
-f 即使文件属性为只读(即写保护),亦直接删除
-i 删除前逐一询问确认
-r 删除目录及其下所有文
拷贝文件(夹)
# 拷贝文件
cp 原文件 新文件
# 拷贝文件夹
cp -r 原文件夹 新文件夹
移动文件(夹)
# 移动源文件到目标文件夹中
mv 文件 文件夹
# 修改文件A的名字为文件B
mv 文件A 文件B
查看文件
# cat命令
# 查看文件中的全部信息(适合查看小文档)
cat 文件名
# less命令
# 以分页的方式浏览文件信息(适合查看大文档),进入浏览模式
less 文件名
# 浏览模式快捷键
↑ #上一行
↓ #下一行
G #最后一页
g #第一页
空格 #下一页
/关键词 #搜索关键词
# 退出浏览模式,回到Linux命令行模式
q #退出
# tail 命令
# 实时滚动显示文件的最后10行信息(默认10行)
tail -f 文件名
# 显示文件的最后20行信息
tail -n 20 文件名
tail -n -20 文件名
# 显示文件信息从第20行至文件末尾
tail -n +20 文件名
当前用户所在路径
pwd
切换目录
cd .. : 返回上级目录
cd /home/litao/linux/ : 绝对路径
cd ../day02/ : 相对路径
cd ~:进入用户家目
cd -:返回最近访问目录
压缩语法:
tar -zcvf 压缩后文件名 被压缩文件
解压缩语法
tar -zxvf 压缩文件名 -C 解压后文件所在目录
-z 操作tar.gz文件需要使用 是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-x 解压缩
-c 压缩,建立新的备份文件。
-v 显示压缩或者解压缩的执行过程信息
-f 要处理的文件file,必须放在最后 请留意,在 f 之后要立即接档名喔!不要再加参数!
-t :查看 tarfile 里面的文件!
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-C : 解压到指定目录 指定解压后的文件存放的位置
-p或--same-permissions 用原来的文件权限还原文件。
打包多个文件 可以用空格隔开
列出归档文件中的内容
tar -tvf mytest.tar
追加某文件到归档(tar)文件中
tar -rvf mytest.tar original-ks.cfg
排除指定文件或类型后创建 tar 文件
创建 tar 文件时在 tar 命令中使用 –exclude 选项来排除指定文件或者类型。假设在创建压缩的 tar 文件时要排除 .conf文件。
tar -zcpvf myarchive.tgz /etc/ /opt/ --exclude=*.conf
使用 tar 命令进行定时备份归档
总有一些实时场景需要我们对指定的文件和目录进行打包,已达到日常备份的目的。假设需要每天备份整个 /opt 目录,可以创建一个带 tar 命令的 cron 任务来完成。如下:
tar -zcpvf optbackup-$(date +%Y-%m-%d).tgz /opt/
查看 .tar、.tgz 和 .tbz2 文件的大小
tar -czf - myarchive.tbz2 | wc -c
tar包的分割与合并
想象一个场景,一个体积非常放大的tar归档文件需要进行传输时,通常大文件传输较慢。此时,我们可以使用split命令来将体积比较大的tar文件分割成若干个小体积文件,然后通过网络将这些分割文件转移到其他服务器,在进行合并成为一个单独的 tar 文件即可;
tar文件分割为若干个mybackup-parts开头的小文件:
split -b 6M mybackup-2016-09-09.tgz mybackup-parts
以上命令会在当前目录分割 mybackup-2016-09-09.tgz 文件成为多个 6 MB 的小文件,文件名为 mybackup-partsaa ~ mybackup-partsag。如果在要在分割文件后以数字而非字母来区分,可以在以上的 split 命令使用-d 选项。
split -b 6M mybackup-2016-09-09.tgz -d mybackup-parts
cat mybackup-partsa* > mybackup-2016-09-09.tgz
压缩和解压缩
在linux中,压缩和解压缩有四种方式,通常情况下,压缩解压缩会伴随着归档解档(打包拆包)(只有三种)
zip、unzip
gz(gzip、gunzip)
bz2(bzip2、bunzip2)
xz(xz、unxz)
归档并压缩,解压并解档
gz:
bz2:
xz:
zip
打包后压缩
tar cf mnt.tar /mnt/
zip -r mnt.tar.zip mnt.tarzip格式压缩
unzip mnt.tar.zip zip格式解压缩
gzip
gzip mnt.tar gzip格式压缩
gunzip mnt.tar.gz gzip格式解压缩
bzip
bzip2 mnt.tar bzip2格式压缩
bunzip2 etc.tar.bz2 bzip2格式解压缩
xz
xz mnt.tar xz格式压缩
unxz mnt.tar.xz xz格式解压缩
3.tar+压缩(打包加压缩)
gzip
tar zcf etc.tar.gz /etc
tar zxf etc.tar.gz ###解压缩
bzip2
tar jcf etc.tar.bz2 /etc
tar jxf etc.tar.bz2
xz
tar Jcf etc.tar.xz /etc
tar Jxf etc.tar.xz
zip/unzip指令
语法: zip 压缩文件.zip 目录或文件
功能: 将目录或文件压缩成zip格式
常用选项:
-r 递 归处理,将指定目录下的所有文件和子目录一并处理
搜索目录【查】find
# 命令:
find 目录 参数 文件名称
# 示例:
find /usr/tmp -name 'a*' 查找/usr/tmp目录下的所有以a开头的目录或文件
Linux scp 命令用于 Linux 之间复制文件和目录。
scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。
scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。
scp [可选参数] file_source file_target
复制文件
scp local_folder remote_username@remote_ip:remote_folder
复制目录命令格式:
scp -r local_folder remote_username@remote_ip:remote_folder
或者
scp -r local_folder remote_ip:remote_folder
-1:强制scp命令使用协议ssh1
-2:强制scp命令使用协议ssh2
-4:强制scp命令只使用IPv4寻址
-6:强制scp命令只使用IPv6寻址
-B:使用批处理模式(传输过程中不询问传输口令或短语)
-C:允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
-p:保留原文件的修改时间,访问时间和访问权限。
-q:不显示传输进度条。
-r:递归复制整个目录。
-v:详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
-c cipher: 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
-F ssh_config: 指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l limit: 限定用户所能使用的带宽,以Kbit/s为单位。
-o ssh_option: 如果习惯于使用ssh_config(5)中的参数传递方式,
-P port:注意是大写的P, port是指定数据传输用到的端口号
-S program: 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。
增加权限
chmod
查看当前文件大小
du -sh
/ 根目录
. 表示当前目录
.. 表示上一层目录
- 表示前一个工作目录
~ 表示当前用户的家目录
~account 表示 account 用户的家目录
链接
https://www.runoob.com/linux/linux-comm-scp.html
总结
待完善