Linux是一类Unix计算机操做系统的统称。Linux操做系统也是自由软件和开放源代码发展中最著名的例子。在1991 年的十月,由一个名为 Linus Torvalds的年轻芬兰大学生带头开发的做业系统。前端
开放性,多用户,多任务,优异的性能和稳定性java
参考文档node
镜像下载https://wiki.centos.org/Download 通常是非盈利社区mysql
/ 最顶级目录,全部的东西都在/目录下linux
bin 可执行文件,能够被root和通常用户使用的指令,也就是经常使用命令sql
dev 外接设备vim
etc 配置文件windows
home 普通用户家目录 非root用户centos
lib 二进制文件,如支持命令的库服务器
mnt 挂载文件系统的目录
proc 存放一些执行的进程的信息
root 超级用户的家目录 ~
sbin 超级用户使用的命令
tmp 临时文件存放目录
usr 用户程序命令
var 存放日志或数据文件
标准格式: 命令 [参数] [操做对象]
显示当前目录全部文件(和文件夹)简单信息
举例:ls (其后面也能够加路径,例如:ls /test/aaa)
-l 显示详细信息
-a 显示全部文件,包括隐藏文件
-alh 显示文件大小 不分前后顺序
相对路径: 根据参照物肯定路径,通常为当前目录(.或./表明当前目录 ../表明上一级目录 ~表明家目录)
绝对路径: 直接从顶级目录开始,好比/
显示全部文件(和文件夹)详细信息
举例:ll 路径名 例如:ll /test/aaa
若是ll后面不加路径就表明查看当前目录
显示出来的东西若是以-开头,说明它是文件
若是以d开头,说明它是目录,文件夹
-h 显示文件的大小
-a 显示隐藏文件
进入到某个目录
举例 cd /
cd .. 返回上一级目录
显示路径(绝对路径)
建立目录
举例:mkdir aaa
-p 建立多级目录
删除空目录
举例rmdir aaa
建立空文件
举例:touch aaa.txt(touch 后面也能够跟路径,如:touch /test/aaa.txt)
建立多个文件
touch a.txt b.txt
复制
cp复制文件
举例:cp aaa.txt bbb.txt
cp -r 复制目录
移动文件或目录(也是重命名)
举例:mv /test/aaa/a.txt /test/bbb (把/test/aaa/a.txt移动到/test/bbb)
mv /test/aaa/a.txt /test/aaa/b.txt(重命名)
删除 (不提示删除 rm -rf) (rm -r 递归删除)
举例:rm -rf a.txt
删除多个:rm -rf a.txt b.txt
编辑文本
例如:vim /test/a.txt
输入i进行编辑
编辑完先按Esc,取消insert
命令 |
说明 |
:w |
保存 |
:wq |
保存并退出 |
:x |
保存并退出 |
:q |
退出,若是有改动,须要使用强制退出 |
:q! |
强制退出,对修改的内容不保存 |
:set nu |
显示行号 |
:n |
跳到第n行 |
:%s/o/xxxxxx/g |
把文件中的o替换为xxxxxx |
/xxx |
/xxx 查找xxx 输入n查找下一个,输入N查找上一个 |
G |
跳到文件最后一行 |
gg |
跳到文件第一行 |
$ |
跳到本行末尾 |
^ |
跳到本行行首 |
yy |
复制,5yy复制5行 |
P |
粘贴 |
dd |
删除1行,10dd删除10行 |
U |
撤销 |
w |
光标每一个单词跳动 |
vim是vi的增强版
输出重定向
> 覆盖输出
>> 追加输出
查看文件内容
举例:cat /test/aaa.txt
查看多个文件 cat a.txt b.txt
查看文件前n行内容
举例:head -10 /test/test01/bbb.txt
-10表明前10行
分页查看
空格显示下一行
可使用【pageup】和【pagedown】键进行前翻页和后翻页
分页显示
按空格键显示下一页,ctrl+b返回上一页
v 调用vi编辑器
q 退出
查看文件的后几行
举例:tail -10 /test/aaa.txt
tail -f是动态查看(例子:tail -f /test/aaa.txt)
打印
举例:echo “hello world”
echo “hello java”> /test/a.txt (覆盖)
echo “hello java”>> /test/a.txt (追加)
echo -e “hello\n”
清空屏幕
Ctrl l
显示命令路径
举例:which ls
查看目录大小
du -sh /etc/
查看磁盘大小
通常使用df -h
显示内存大小
-m 以MB显示
-g 以GB显示
统计
wc 有四个参数可选,分别是l,c,m,w
wc -l filename 报告行数
wc -c filename 报告字节数
wc -m filename 报告字符数
wc -w filename 报告单词数 根据换行和空格统计单词数
时间相关
date 显示时间
date +%Y-%m-%d 格式化显示时间date "+%Y-%m-%d %H:%M:%S"
date -d “1 month ago” 1个月以前
date -d “20180101 1 day ago” 1天以前
date -s 时间 (修改时间)
举例:[root@hadoop /]# date -s "2019-01-09 15:06:30"
日历
管道符
把左边的结果传给右边
过滤
功能:查找匹配格式的内容
格式:grep[参数] <要找的字串> <要寻找字 串的源文件>
用法1:grep linux a.txt #搜索a.txt文件中字符串linux并输出
用法2:ls / | grep a.txt #匹配当前目录下文件名字是a.txt的文件
用法3:cat a.txt | grep linux #搜索a.txt文件中字符串linux并输出
grep -i 忽略大小写
-i
-h
查找
find /test -name a.txt 搜索系统根目录下的test文件夹下名为a.txt的文件
find 查找路径 -name 要查找的文件名
[root@jh /]# find /aaa/bbb/ -name a
/aaa/bbb/a
[root@jh /]# find /aaa/bbb/ -name "a*"
/aaa/bbb/a
/aaa/bbb/abc.txt
查找文件size大于10个字节的文件或目录
find ./ -size +10c
查找文件size小于10k的文件或目录
find ./ -size -10k
find ./ -size -10M
find ./ -size -10G
其余...
find ./ -type
建立用户
建立新用户:useradd 用户名
修改用户密码:passwd 用户名
编辑/etc/sudoers文件,使用命令visudo
在root ALL=(ALL) ALL这一行下面添加:
用户名 ALL=(ALL) ALL
:x!
使用普通用户来操做root用户的文件使用命令sudo + 命令,如:
sudo vi/etc/profile
切换用户使用su 用户名
删除用户:userdel -rf 用户名
修改权限
语法为:chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4 读,w=2 写,x=1 执行权限
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5。
-rw-r--r--. 1 root root 145 Apr 26 03:22 aaa.txt 文件
-表明文件,-后面的三位表明用户权限,再后三位表明用户组的权限,再后三位表明其余 用户权限
例如:chmod 777 /test/a.txt
chmod [u所属用户 g所属组 o其余用户 a全部用户] [+增长权限 -减小权限] [r w x] 目录名
例如:chmod u+x aaa.txt
修改所属用户和组
chown hadoop:hadoop filename 修改所属用户各组
chown –R 递归修改
显示当前状态的进程信息
ps -ef | grep mysql
功能:显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等
压缩和解压
tar -zcvf /test.tar.gz /test/ 压缩
tar -zxvf /test/a.txt.gz 解压a.txt.gz到当前目录
tar -zxvf /test/a.txt.gz -C /test 解压a.txt.gz到指定目录(大写C)
杀死进程
kill -9 1123(进程号)
service network restart 重启网卡
它融合以前service和chkconfig的功能于一体。
firewalld的基本使用
启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld
开机禁用 : systemctl disable firewalld
开机启用 : systemctl enable firewalld
rpm命令是RPM软件包的管理工具。rpm本来是Red Hat Linux发行版专门用来管理Linux各项套件的程序,因为它遵循GPL规则且功能强大方便,于是广受欢迎。逐渐受到其余发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提 升了Linux的适用度。
rpm -qa 列出全部安装过的包
举例:rpm -qa | grep mysql
rpm -ivh 带进度安装
rpm -ivh xxx.rpm
rpm -e --nodeps卸载
rpm来安装mysql
yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基于RPM包管理,可以从指定的服务器自动下载RPM包而且安装,能够自动处理依赖性关系,而且一次安装全部依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至所有软件包的命令,并且命令简洁而又好记。
yum install ... 安装
wget
yum remove ... 卸载
yum update ... 升级全部包,改变软件设置和系统设置,系统版本内核都升级
yum upgrade ... 升级全部包,不改变软件设置和系统设置
yum list 列出全部的包文件
yum -y ... 不提示执行
后台启动进程,配合&使用
例如: nohup sh a.sh &
远程发送 将当前机器上的某一个文件发送给另外一台机器
scp -r ./a.txt test-hadoop-2-21:/home/hadoop
sync:做用:将内容中数据保存到磁盘
同步 做用:将两个节点的指定文件夹内容 同步
rsync -a -auvzP --bwlimit=30000 192.168.2.21:$src_dir $dst_dir
通常下载资源使用
wget http://xxxxxxxxxx
查看ip
重启系统
关机
历史命令
显示在线登录用户
显示主机名
设置主机名:
hostnamectl set-hostname 要设置的名字
分割 echo "hello world" | cut -d 指定分隔符 " " -f 2 (经过空格分割,显示第二列)
排序 cat /etc/passwd | sort 字典排序,天然排序
去重cat /etc/passwd | sort|uniq (去重依赖于sort)
强行中止进程(Ctrl键与C同时按)
以树状形式显示目录结构
crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务相似,当安装完成操做系统后,默认会安装此服务 工具,而且会自动启动crond进程,crond进程每分钟会按期检查是否有要执行的任务,若是有要执行的任务,则自动执行该任务。
crontab
crontab -e 编辑定时任务 编辑多个任务
crontab -l 列出定时任务
crontab -r 删除定时任务
* * * * * command
分 时 日 月 周 命令
周 0-6
虚拟机,一直开着
除了数字还有几个个特殊的符号就是"*"、"/"和"-"、",",*表明全部的取值范围内的数字,"/" 表明每的意思,"/5"表示每5个单位,"-"表明从某个数字到某个数字,","分开几个离散的数字。
几个例子:
1.天天早上6点
0 6 * * * echo "Good morning." >> /tmp/test.txt //注意单纯echo,从屏幕上看不到任何输出,由于cron 把任何输出都email到root的信箱了。
2.每两个小时
0 */2 * * * echo "Have a break now." >> /tmp/test.txt
3.晚上11点到早上8点之间每两个小时和早上八点
0 23-8/2,8 * * * echo "Have a good dream" >> /tmp/test.txt
4.每月的4号和每一个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * 1-3 command line
实现秒级执行任务:
*/1 * * * * sleep 3 && echo "goodmorning" >> /test/a.txt
*/1 * * * * sleep 6 && echo "goodmorning" >> /tess/a.txt
*/1 * * * * sleep 9 && echo "goodmorning" >> /test/a.txt
*/1 * * * * sleep 12 && echo "goodmorning" >> /test/a.txt