大数据学习前奏,Linux基础知识,常用shell命令汇总学习
目录:
Linux与Unix的对比
Linux的目录结构
Linux的文件属性
Linux的文件权限
Linux的用户和用户组
Linux的基本功能:
1.文件查看
2.创建、重命名文件\文件夹
3.切换目录
4.删除文件\文件夹
5.复制\粘贴\剪切
6.远程复制
7.内容查看
8.压缩、解压
9.tail命令
10.文件大小查看
11.vi编辑器
12.主机名
13.防火墙
14.其他功能
15.日期时间设置
16.PS命令详解与使用
17.grep
Linux是一个自由的,免费的,源码开放的操作系统。
Linux与Unix的对比:
1、Linux思想源于Unix进行开发。
2、Linux属于开源免费软件,公开内核源代码。
而Unix属于闭源收费软件。
3、Linux可以自由安装,支持绝大部分硬件平台,
而Unix通常和硬件进行配套,比如Sun公司的Solaris。
4、使用上Linux相对简单,Unix较为复杂。
5、Linux也有商业化的版本,比如RedHat、SuSe、红旗等。
Linux的目录结构:
Linux的文件属性:
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
Linux的文件权限:
u代表user
g代表group
o代表others,代表三种身份的权限!
a 则代表 all,即全部的身份。读写的权限可以写成 r, w, x,也就是可以使用下表的方式来看:
Linux用户和用户组:
选项:
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
newgrp root 将当前用户加入用户组
useradd 选项 用户名
useradd -d /usr/crayon -g root -m crayon
Linux基本功能:
1.文件查看
常用命令:
pwd 列出当前目录的路径
ls或者dir 列出当前目录下的文件
ll(ls -l缩写) 列出当前目录下的文件(带文件信息)
ls -a 列出当前目录下的所有文件(包括隐藏文件)
stat 文件名 查看文件信息
ls --help 查看ls用法
文件的颜色,含义如下:
蓝色 目录
绿色 可执行文件
红色 压缩文件
浅蓝色 链接文件
灰色 其他文件
2.创建、重命名文件\文件夹
常见用法:
touch filename 创建空文件
mkdir <directory> 创建目录
mkdir -p <directory> 目标目录存在也不报错
mkdir -p xxx/xxx 递归创建目录,在创建目录时可以递归创建目录且目标目录存在也不报错
mv <oldname> <newname> 重命名文件夹
3.切换目录
常见用法:
cd . 当前目录
cd .. 去上一级目录
cd / 去根目录
cd ~ 去当前用户主目录
cd xxx/xxx 直接跳转到某个目录
su - 用户切换
4.删除文件\文件夹
rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。
常见用法:
rm 删除文件
rm -r 删除目录,需要确认
rm -f 强制删除
rm -rf 递归删除目录及其文件
注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。
5.复制\粘贴\剪切
常见用法:
cp <src> <target> 复制&粘贴文件
cp -r <src> <target> 复制&粘贴文件或目录
mv <src> <target> 移动(剪切)文件或目录
cp命令常用选项
-r 复制目录
-f 强行复制文件或目录,不论目标文件或目录是否已存在;
-i 覆盖既有文件之前先询问用户;
-l 对源文件建立硬连接,而非复制文件;
-s 对源文件建立符号连接,而非复制文件;
6.远程复制
scp命令用于在网络中不同主机之间复制文件。scp是有Security的文
件copy,基于ssh登录。如果没有配置免key登陆,需要输入主机密码。
常见用法
从本地复制到远程
scp /home/test/*.sh root@172.19.2.75:/home/root
从远程复制到本地
scp root@/172.19.2.75:/home/root/*.txt /home/test
从远程到远程
scp root@192.168.21.1:/root/test/*.sh root@192.168.31.1:/root/test
提示:显示进度在scp后添加-v;复制目录在scp后添加-r
7.内容查看
正序和反序输出cat \ tac:
cat 显示文本内容,类似windows中的type(顺序输出)
tac 显示文本内容(cat的倒序输出)
cat file1 file2 > file3 文件合并
cat -b 显示行号输出
cat -A或者cat -vET v使用^和M符号显示除了Tab外的;
E在每行结束处显示$;
T将跳格字符显示为^I
分屏显示 more
用一次显示一屏,没有显示完时最后一行显示进度。回车显示下一行,按b显示上一页,空格显示下一页,q退出。
8.压缩、解压
常见用法
tar -cvf 仅打包不压缩
tar -zcvf 打包及压缩(gzip方式)
tar -zxvf 解压(gzip包)
tar -jcvf 打包及压缩(bzip2方式)
tar -jxvf 解压(bzip2方式)
tar -tvf 查看压缩包内容(需要根据不同的压缩算法查看)
9.tail命令
tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。
tail -f 等同于–follow=descriptor,根据文件描述符进行追踪,当文件改名或被删除,追踪停止
tail -F 等同于–follow=name --retry,根据文件名进行追踪,并保持重试,即该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪
10.文件大小查看
可以使用du命令统计文件和目录占用磁盘空间的情况。
命令选项:
a 显示全部目录和其次目录下的每个档案所占的磁盘空间
c 最后再加上总计 (默认值)
s 只显示各档案大小的总合
h 按照人们习惯方式显示
常用操作:
du -a 统计全部目录及其子目录下的每个档案所占的磁盘空间
du -h 统计全部目录及其子目录所占的磁盘空间
du -ch <dir> 统计对应目录及子目录所占空间并添加total
du -sh <dir> 直接统计总大小
11.vi编辑器
vi&vim
安装完成的linux系统通常都带有vi编辑器,但是不一定带有vim。vim作为vi的升级版。
vim总共有三种模式:命令模式、插入模式、末行模式。
命令行模式
主要完成功能有删除、替换、撤销。
dd 删除所在行
yyp 复制
ddp 剪切
切换到插入模式
i 在光标左侧输入正文
I 在光标所在行的行首输入正文
a 在光标右侧输入正文
A 在光标所在行的行尾输入正文
o 在光标所在行的下一行增添新行,光标位于新行的行首
O 在光标所在行的上一行增添新行,光标位于新行的行首
末行模式
保存、查找。
:wq 保存文件,退出vi编辑器
:w 保存文件,但不退出vi编辑器
:q 退出vi编辑器
:q! 不保存文件,退出vi编辑器
ZZ 保存文件,退出vi编辑器
12.主机名
hostname命令用于显示和设置主机名
hostname -i 显示ip
显示主机名
hostname
临时修改
hostname xxx
永久修改
修改vim /etc/sysconfig/network
HOSTNAME=主机名
13.防火墙
常用命令选项:
临时
service iptables status 查看防火墙状态
service iptables stop 临时关闭防火墙
service iptables start 打开防火墙
永久
chkconfig iptables off 永久关闭防火墙
chkconfig iptables on 永久打开防火墙
chkconfig --list iptables 查看防火墙状态
14.其他功能
sudo
改功能作用主要在于普通用户可以使用超级权限,配置方法如下:
#visudo 或者 # vi /etc/sudoers
增加: crxy ALL=(ALL) NOPASSWD: ALL
显示硬盘使用情况
使用df命令查看硬盘使用情况
常见用法:df -h
使用fdisk查看磁盘情况(主要用于查看为格式化的盘)
常见用法:fdisk -l
15.日期时间设置
datetime 查看日期时间
date -s ‘2019-02-15 20:00:04’ 设置日期时间
16.PS命令详解与使用
参数:
-A :所有的进程均显示出来,与 -e 具有同样的效用;
-a : 显示现行终端机下的所有进程,包括其他用户的进程;
-u :以用户为主的进程状态 ;
x :通常与 a 这个参数一起使用,可列出较完整信息。
输出格式规划:
l :较长、较详细的将该PID 的的信息列出;
j :工作的格式 (jobs format)
-f :做一个更为完整的输出。
ps -ef 和 ps -aux 用的比较多 一般配合grep使用
17.grep
linux中最为常用的三大文本(awk,sed,grep)处理工具之一
grep命令的常用格式为:grep [选项] ”模式“ [文件]