1、 Linux目录结构
备注: Linux的目录是一个树形结构,不像Windows(森林结构)一样有多个盘符,Linux只有一个根节点,即 / ,所有的文件目录都在这个 / 之下。
Linux的 / 下的目录内容:
目录 | 作用 |
/bin | 二进制命令所在的目录 |
/boot | 系统引导程序所需要的文件目录 |
/dev | 设备软件目录,磁盘,光驱, |
/etc | 系统配置,启动程序 |
/home | 普通用户的家,目录默认数据存放目录 |
/lib | 共享库文件和内核模块存放目录 |
/opt | 额外的应用软件包 |
/proc | 操作系统运行时,进程信息和内核信息存放在这里 |
/root | Linux超级权限用户root的家目录 |
/sbin | 和管理系统相关的命令,【超级管理员用】 |
/tmp | 临时文件目录,这个目录被当作回收站使用 |
/usr | 用户或系统软件应用程序目录 |
/var | 存放系统日志的目录 |
2Linux常用命令
2.1显示文件列表
- ls 对应参数如下:
选项 | 含义 |
-a | 显示指定目录下所有子目录与文件, 包含隐藏文件 |
-l | 以列表方式显示文件的详细信息 |
-h | 配合 -l 以人性化的方式显示文件大小 |
# 案例 ls -alh /root # 最常用的 ll -h /目录
2.2查看当前目录、创建目录和删除目录命令——pwd mkdir rm
#change directory cd /tmp #进入上一层目录 cd ../tmp cd ../../config #在最近两次目录之间进行切换 cd -
2.3文件操作命令touch,mv,cp,rm,car,more,less,tail
#1 创建文件 touch abc #2 移动文件/文件夹或者修改文件/文件夹名称 #2.1 移动文件 mv /tmp/a /root/ #2.2 移动文件夹 mv /tmp/hadoop /export/servers/ #2.3 修改文件名称 mv /tmp/a /tmp/b #2.4 修改文件夹名称 mv /root/kettle /root/superset #3 复制文件/文件夹 #3.1将a.txt复制到dir1目录 cp a.txt dir1 #3.2将a.txt复制为b.txt(会覆盖b.txt的内容) cp a.txt b.txt #3.3拷贝文件夹下的所有内容 -r代表是递归复制 cp -r /root/ /tmp/ #4 删除文件/文件夹(不建议使用该命令,没有提示,容易误删) rm -rf a #5 浏览文件 #5.1 使用cat,显示的是文件中的所有的内容 cat /root/a
#6、使用more :分页查询文件内容,可以跳转指定的行等。 more /root/zookeeper.out
- more命令操作说明:
Enter: 向下n行, 需要定义, 默认为1行
空格键: 向下滚动一屏 或 Ctrl + F
B键 : 返回上一屏 或 Ctrl+B
q: 退出more
#7、使用less : 分页显示文件内容,操作更加丰富,主要应用大文件。 less /root/zookeeper.out
less命令参数:
-m : 显示类似more 命令的百分比
-N : 显示每行的行号
相关操作:
空格键: 前进一页 或 page down
b : 后退一页 或 page up
d : 前进半页
u : 后退半页
y : 后退一行 或 使用方向键向上
/ 字符串 : 向下搜索
?字符串 : 向上搜索
v : 进行vim编辑器
左右方向键 : 相当于水平滚动条
q : 退出
#8、使用tail命令 #查看最后10行 tail -n10 /root/zookeeper.out #循环查看文件最新的内容 tail -f /root/zookeeper.out
- tail命令参数:-n<行数> : 显示的行数-f : 循环读取ctrl+c : 退出备注:此命令很重要,使用此命令可以动态的查看日志文件
- 2.4压缩和解压缩命令
- 解压缩
tar -zxvf redis-3.2.8.tar.gz #将文件解压到当前目录 tar -zxvf redis-3.2.8.tar.gz -C /root/dir #将文件解压到指定目录
- 压缩
tar -zcvf 压缩文件名 文件1 文件2 ... 文件n #将 a b文件压缩到 tmp.tar.gz tar -zcvf tmp.tar.gz a.txt b.txt
2.5文件查找命令
- find
#查看根目录下所有名称 以 ins开头的文件或者文件夹 find / -name ins* #查看文件大小大于100M的内容 find /export/software -type f -size +100M
- grep
#查看某个字符串是否在文件中存在 grep flink /root/a
- which
#查看 pwd 所在的路径 which pwd
2.6文件下载命令
- wget
#下载 redis 文件 wget http://download.redis.io/releases/redis-4.0.2.tar.gz
2.7系统管理命令
- ps
#查看当前系统执行所有进程 ps -ef |grep java #分页显示所有进程 ps -ef |less
- kill
#强制终止某个进程 kill -9 pid
- 管道命令 |
前面的命令的输出结果是下一个命令的输入。
ps -ef |grep java #统计单词数 cat b|wc -w
- 关机重启命令
reboot : 重新启动
shutdown -h now : 马上关机(断电关机)
halt : 立刻关机(centos) (不断电关机)
2.7用户创建和删除命令
- 创建用户 useradd
- 添加密码 passwd
#创建 zsutdent useradd zstudent #添加密码 passwd 123456 #输入密码后如果提示密码格式不正确等,不需要理睬,再次输入即可
备注:添加完用户,会在/home文件夹下生成一个以用户名为名称的文件夹。
- userdel删除用户
userdel -r zsutdent
2.7权限管理命令
- 第一列说明是文件还是目录、链接, - 是文件 d是文件夹 l是连接
- 2-5 说明是属主的权限
- 6-8 说明是属主所在组的权限
- 9-11 说明是其他用户的权限
- r 代表 读 read w代表写 write x代表执行 execute
#属主 所在组 其他用户都可读可写 chmod 666 a.txt #属主 赋予可执行权限 对a.txt文件 chmod u+x a.txt #针对a.txt 文件赋予属主可读可写可可行,组内可读可写,其他用户可执行 chmod u=rwx,g=rw,o=x a.txt
2.8网络和服务管理命令
- hostname
#查看当前机器的主机名 hostname
- ifconfig
#查看ip地址 ifconfig #查看所有的ip地址信息 ifconfig -a
- systemctl
CentOS7才有,CentOS7之前用的是Service ,控制系统服务的命令,服务开启 start ,关闭 stop,重启 restart,状态 status。
#开启mysql systemctl start mysql #关闭mysql systemctl stop mysql #重启mysql systemctl restart mysql #查看mysql状态 systemctl status mysql #设置开机自动启动mysql服务 systemctl enable mysql #取消开启自启动 systemctl disable mysql
- linux的防火墙操作命令:
命令 | 作用 |
systemctl status firewalld | 查看防火墙的状态 |
systemctl start firewalld | 开启防火墙 |
systemctl stop firewalld | 关闭防火墙(当前有效, 重启后无效) |
systemctl enable firewalld | 让防火墙在开机的时候自启 |
systemctl disable firewalld | 让防火墙在开机的时候不要自启 (下次启动有效) |
关闭防火墙:
systemctl stop firewalld systemctl disable firewalld # 查看状态 systemctl status firewalld
关闭Selinux
vim /etc/selinux/config #将SELINUX的值修改成 disabled SELINUX=disabled
2.9其他命令
- ln
#将hadoop配置文件中hdfs-site.xml 软链到 hbase 配置文件中 ln -s /export/server/hadoop-2.7.5/etc/hadoop/hdfs-site.xml /export/server/hbase-2.0.0/conf/hdfs-site.xml
- clear
clear # 快捷键 ctrl + l
2.10vim编辑器命令
单开一帖,此处不表