主讲内容:docker/kubernetes 云原生技术,大数据架构,分布式微服务,自动化测试、运维。
视频地址:ke.qq.com/course/419718
全栈工程师开发手册 (作者:栾鹏)
架构系列文章
先给一个linux命令查询网站:http://man.linuxde.net/?mqpqfm=0tw5h2
整理了Linux常用命令及快捷键。
常用命令:
文件和目录:
# cd /home 进入 '/home' 目录
# cd .. 返回上一级目录
# cd ../.. 返回上两级目录
# cd - 返回上次所在目录
# cp file1 file2 将file1复制为file2
# cp -a dir1 dir2 复制一个目录
# cp -a /tmp/dir1 . 复制一个目录到当前工作目录(.代表当前目录)
# ls 查看目录中的文件
# ls -a 显示隐藏文件
# ls -l 显示详细信息
# ls -lrt 按时间显示文件(l表示详细列表,r表示反向排序,t表示按时间排序)
# pwd 显示工作路径
# mkdir dir1 创建 'dir1' 目录
# mkdir dir1 dir2 同时创建两个目录
# mkdir -p /tmp/dir1/dir2 创建一个目录树
# mv dir1 dir2 移动/重命名一个目录
# rm -f file1 删除 'file1'
# rm -rf dir1 删除 'dir1' 目录及其子目录内容
find /home -name "*.txt" 在/home目录下查找以.txt结尾的文件名 路径不输入表示当前节点
rename xiangmu1 xiangmu2 * 目录下所有文件的文件名中xiangmu1改成xiangmu2
ln -s /lp/hadoop /lp/aa 在目录/lp下建立一个符号链接文件aa,使它指向目录/lp/hadoop
# cat file1 从第一个字节开始正向查看文件的内容
# head -2 file1 查看一个文件的前两行
# more file1 查看一个长文件的内容,一屏一屏看
# tac file1 从最后一行开始反向查看一个文件的内容
# tail -3 file1 查看一个文件的最后三行
sed -n '5,10p' filename 只查看文件的第5行到第10行。
strings filename 列出filename中所有的ASCII文本(英文):
diff filename1 filename2 #使用diff指令对文件进行比较,给出不同地方的文本
cmp testfile testfile1 #比较两个指定的文件是否相同,给出不同的地方
cut -c1-3 test.txt 打印每列第1个到第3个字符:
文本处理:
# grep str /tmp/test 在文件 '/tmp/test' 中查找 "str"
# grep ^str /tmp/test 在文件 '/tmp/test' 中查找以 "str" 开始的行
# grep [0-9] /tmp/test 查找 '/tmp/test' 文件中所有包含数字的行
# grep str -r /tmp/* 在目录 '/tmp' 及其子目录中查找 "str"
# diff file1 file2 找出两个文件的不同处
# sdiff file1 file2 以对比的方式显示两个文件的不同
touch filename1 创建文件
查找:
# find / -name file1 从 '/' 开始进入根文件系统查找文件和目录
# find / -user user1 查找属于用户 'user1' 的文件和目录
# find /home/user1 -name \*.bin 在目录 '/ home/user1' 中查找以 '.bin' 结尾的文件
# find /usr/bin -type f -atime +100 查找在过去100天内未被使用过的执行文件
# find /usr/bin -type f -mtime -10 查找在10天内被创建或者修改过的文件
# locate \*.ps 寻找以 '.ps' 结尾的文件,先运行 'updatedb' 命令
# find -name '*.[ch]' | xargs grep -E 'expr' 在当前目录及其子目录所有.c和.h文件中查找 'expr'
# find -type f -print0 | xargs -r0 grep -F 'expr' 在当前目录及其子目录的常规文件中查找 'expr'
# find -maxdepth 1 -type f | xargs grep -F 'expr' 在当前目录中查找 'expr'
压缩和解压:
# bzip2 file1 压缩 file1
# bunzip2 file1.bz2 解压 file1.bz2
# gzip file1 压缩 file1
# gzip -9 file1 最大程度压缩 file1
# gunzip file1.gz 解压 file1.gz
# tar -cvf archive.tar file1 把file1打包成 archive.tar
(-c: 建立压缩档案;-v: 显示所有过程;-f: 使用档案名字,是必须的,是最后一个参数)
# tar -cvf archive.tar file1 dir1 把 file1,dir1 打包成 archive.tar
# tar -tf archive.tar 显示一个包中的内容
# tar -xvf archive.tar 释放一个包
# tar -xvf archive.tar -C /tmp 把压缩包释放到 /tmp目录下
# zip file1.zip file1 创建一个zip格式的压缩包
# zip -r file1.zip file1 dir1 把文件和目录压缩成一个zip格式的压缩包
# unzip file1.zip 解压一个zip格式的压缩包到当前目录
# unzip test.zip -d /tmp/ 解压一个zip格式的压缩包到 /tmp 目录
文件权限属性设置:
stat filename 显示文件信息
file filename 文件编码类型
chgrp -R luanpeng /lp/aa 将/lp/aa及其子目录下的所有文件的用户组改为luanpeng。-R:递归处理,将指令目录下的所有文件及子目录一并处理;
chown -R liu /usr/meng 将目录/usr/meng及其下面的所有文件、子目录的文件主改成 liu:
chmod -R a+rwx f01 //对文件f01的u,g,o都设置可执行、可读、可写属性。u User,即文件或目录的拥有者;
g Group,即文件或目录的所属群组;
o Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;
a All,即全部的用户,包含拥有者,所属群组以及其他用户;
r 读取权限,数字代号为“4”;
w 写入权限,数字代号为“2”;
x 执行或切换权限,数字代号为“1”;
文件过滤分割与合并
split -b 10k date.file 使用split命令将date.file文件分割成每个大小为10KB的小文件。-b:值为每一输出档案的大小,单位为 byte。-C:每一输出档中,单行的最大 byte 数。-d:使用数字作为后缀。-l:值为每一输出档的列数大小。
grep -o '[1-9]' aa.file 在aa文件中查找正则项,-o表示只显示匹配的地方,默认标红显示。grep -c匹配到的行总数目,grep -n输出匹配文本和行号
yum工具:
# yum -y install [package] 下载并安装一个rpm包
# yum localinstall [package.rpm] 安装一个rpm包,使用你自己的软件仓库解决所有依赖关系
# yum -y update 更新当前系统中安装的所有rpm包
# yum update [package] 更新一个rpm包
# yum remove [package] 删除一个rpm包
# yum list 列出当前系统中安装的所有包
# yum search [package] 在rpm仓库中搜寻软件包
# yum clean [package] 清除缓存目录(/var/cache/yum)下的软件包
# yum clean headers 删除所有头文件
# yum clean all 删除所有缓存的包和头文件
网络:
# ifconfig eth0 显示一个以太网卡的配置
# ifconfig eth0 192.168.1.1 netmask 255.255.255.0 配置网卡的IP地址
# ifdown eth0 禁用 'eth0' 网络设备
# ifup eth0 启用 'eth0' 网络设备
# iwconfig eth1 显示一个无线网卡的配置
# iwlist scan 显示无线网络
# ip addr show 显示网卡的IP地址
其他:
# su - 切换到root权限(与su有区别)
# shutdown -h now 关机
# shutdown -r now 重启
# top 罗列使用CPU资源最多的linux任务 (输入q退出)
# pstree 以树状图显示程序
# man ping 查看参考手册(例如ping 命令)
# passwd 修改密码
# df -h 显示磁盘的使用情况
# cal -3 显示前一个月,当前月以及下一个月的月历
# cal 10 1988 显示指定月,年的月历
# date --date '1970-01-01 UTC 1427888888 seconds' 把一相对于1970-01-01 00:00的秒数转换成时间
man 指令 查看指令帮助文档
cal 查看当前日历
date 查看当前时间
clear 清除当前屏幕终端上的任何信息
who 显示目前登录系统的用户信息
常用快捷键:
CentOS 6.4 中可以通过系统->首选项->键盘快捷键来设置快捷键,如图所示。例如可将运行终端的快捷键设为Ctrl+Alt+T。
Ctrl + u 删除光标之前到行首的字符
Ctrl + k 删除光标之前到行尾的字符
Ctrl + c 取消当前行输入的命令,相当于Ctrl + Break
Ctrl + a 光标移动到行首(ahead of line),相当于通常的Home键
Ctrl + e 光标移动到行尾(end of line)
Ctrl + f 光标向前(forward)移动一个字符位置
Ctrl + b 光标往回(backward)移动一个字符位置
Ctrl + l 清屏,相当于执行clear命令
Ctrl + r 显示:号提示,根据用户输入查找相关历史命令(reverse-i-search)
Ctrl + w 删除从光标位置前到当前所处单词(word)的开头
Ctrl + t 交换光标位置前的两个字符
Ctrl + y 粘贴最后一次被删除的单词
Ctrl + Alt + d 显示桌面
Alt + b 光标往回(backward)移动到前一个单词
Alt + d 删除从光标位置到当前所处单词的末尾
Alt + F2 运行
Alt + F4 关闭当前窗口
Alt + F9 最小化当前窗口
Alt + F10 最大化当前窗口
Alt + Tab 切换窗口
Alt +按住左键 移动窗口(或在最下面的任务栏滚动鼠标滑轮)
[鼠标中间键] 粘贴突出显示的文本。使用鼠标左键来选择文本。把光标指向想粘贴文本的地方。点击鼠标中间键来粘贴。
[Tab] 命令行自动补全。使用 shell 提示时可使用这一方式。键入命令或文件名的前几个字符,然后按 [Tab] 键,它会自动补全命令或显示匹配键入字符的所有命令。
在桌面或文件管理器中直接按 / 就可以输入位置,打开文件管理器。
快速搜索:在 vi 或 Firefox 中直接按 / 即可进入搜索状态。
网站链接和图片可直接拖放到桌面或者目录,可以马上下载。
直接将文件管理器中的文件拖到终端中就可以在终端中得到完整的路径名。
在滚动条的空白处点击鼠标中键,屏幕即滚动到那个地方。