目录
1,目录相关基础知识
. :当前目录
.. :上一级目录
.文件名 :隐藏文件
ls -l或者ll :首字母为d,说明是一个目录名
首字母为-,说明是一个普通的文件
相对路径:路径从当前目录位置开始写
绝对路径:从根目录/开始写
tab快捷键:补齐命令或文件名
查看当前目录的用户
cat /etc/passwd
进入home目录的方法
1)root管理员 ,home目录 /root
2)普通登录用户,具有操作自己home目录的所有权限。home目录 /home/用户名
3) cd ~
4)cd $HOME
查看文件夹下的文件或文件夹
ls
1)查看帮助
ls --help
pwd
打印当前工作目录的绝对路径的名称
cd
修改shell工作目录
mkdir
创建文件夹
mkdir -p 连同子目录一起创建
du
递归地计算每个file的磁盘使用情况
-h 以K,M,G为单位,显示查询文件的内容,提高可读性
-k,以kb为单位,显示一个目录或文件或子目录的磁盘情况
-M,以MB
-b,以字节
|竖线,管道,重定向
rm
删除文件或目录
rm -rf 强制删除
2,文件相关shell命令
创建文件几种方法 touch,echo,cat
1)在当前的目录下建立一个空文件file
touch a.txt
2)echo 'aaa' >a.txt
将echo的内容覆盖到a.txt文件中
> 覆盖式写入
>> 追加式写入
cat命令,查看文本文件的内容
cat a.txt
分页浏览
more a.txt
less a.txt
复制文件
cp 复制
cp -R 递归复制目录
grep head tail (简单grep操作)
cat a.txt|grep '查询内容'
cat a.txt|head -3 前三行内容
cat a.txt|tail -3 后三行内容
mv 移动文件|修改文件名
3,vi/vim文件编辑器
vi/vim文件名
vim是文件编辑器
vim --help
vim a.txt //编辑一个文件
保存退出 :wq
不保存退出:q!
文本处于非可编辑时可进行的操作:
:set nu 显示行号
:set nonu 不显示行号
gg 光标移动到文件第一行
6gg 光标移动到第6行
G 光标移动到文件最后一行
H 光标定位当前屏幕第一行
M 光标会定位到文件当前屏幕的中间行行首
L 当前屏幕最后一行
yy 复制光标所在行,再按p粘贴
:u 取消上一步的操作
3yy 连续复制3行
/关键字 查找关键字
n 查找结果中下一个位置
N 查找结果中上一个位置
/{pattern} 向下查找符合pattern模式的内容
?{pattern} 向上查找符合pattern模式的内容
* 查找光标所在位置的单词,例如,将光标移动到一个单词上,按下*键即可匹配该单词
# 查找光标所在位置的单词的上一个匹配的单词
:{num} 跳转到指定行数
s/{pattern}/{replacement}/g 替换指定模式为指定的内容
%s/{pattern}/{replacement}/g 替换所有的指定模式为指定的内容
4,find 查找相关命令
find -name 按文件名查找
语法 find -name <文件名> --从当前目录下按照文件名去查询
find /opt -name a.txt --从/opt 目录下按照文件名去查询
find -user <用户名> 按照用户名查找
find -size 根据文件大小去查找
whereis 命令用于查找二进制,源代码和帮助文档文件的位置
5, 文件权限相关命令
drwxrwxr-x 2 hadoop hadoop 19 8月 19 16:34 temp
文件权限分为三种
r 读,打开阅读一个文件的权限 4
w 写,阅读,写入文件,并保存 2
x execute执行,运行一个文件 1
文件赋权
chmod +x temp 赋予执行权限
chmod -x temp 回收可执行的权限
其中一个文件或者文件夹包含,所属用户 和所属用户组,上面第一个hadoop是所属用户,第二个hadoop是用户组,意思是这个文件夹,是hadoop用户创建的,属于名叫hadoop的用户组
drwxrwxr-x 不算d,后面三个为一个组,第一组就是文件创建用户对这个文件夹的权限,第二组是文件所属用户组下面的用户对这个文件夹的权限,第三个是其他用户对这个文件夹的权限
查看用户组
cat /etc/group
查看用户
cat /etc/passwd
查看用户属于哪个组
id <用户名>
组是用户的集合
切换用户
su <用户名>
赋权(只有文件创建者才能赋权)
chmod 777 a.txt
新建用户
useradd user $username
设置用户密码
passwd $username
su $username
新建组
groupadd $groupname
把用户$username 加入到 $groupname组中
gpasswd -a $username $groupname
改变用户及用户组(只能root管理员操作)
chown root:hadoop a.txt root位置是创建者,hadoop是所属组
6.文件压缩
tar压缩与解压
参数
z 通过gzip支持的压缩或解压缩
c 表示创建一个压缩文件
x 解压缩
v 在压缩或解压缩过程显示正在处理的文件名
f f后面必须跟上要处理的文件名
tar -zcvf aaa.tar.gz a 先写压缩文件名,在写压缩对象,如果压缩对象目录不存在,需要手工创建
解压当前目录下aaa.tar.gz,解压到当前目录
tar -zxvf aaa.tar.gz
解压到指定目录~下
tar -zxvf aaa.tar.gz -C ~
zip压缩
zip [选项] 压缩后的文件名 被压缩的文件
-r 递归到目录
zip -r aa.zip aa
unzip 解压缩
unzip 解压缩的文件 -d 解压缩的位置
将aa.zip压缩文件解压到目录下
unzip aa.zip -d dir 如果没有事前创建目录,程序会自动创建
7进程类
进程分类:前台进程,守护进程(后台进程)
前台进程,终端关闭,进程结束
后台进程,一般作为服务类的进程,运行于后台
ps--显示系统上正在运行的所有进程
1)ps -ef
-e 显示所有进程
-f 显示完整格式输出
2)ps aux
a 显示跟当前终端关联的所有进程
u 基于用户的格式显示
x 显示所有进程,不以终端机来区分
kill--把某个进程或者端口号kill杀死
kill -9 进程号
top--查看正在运行的进程
P(procedure)(shift+p):按照cpu排序
M(memory)(shift+m):按照内存排序
T(time)(shift+t):按照时间排序
数字1 :显示每个内核的cpu使用率
u/U :指定显示某用户的信息
h(help):帮助信息
free 查看内存占用
-b:byte字节显示
-k:kb
-m:MB
-h:以合适的单位显示内存使用情况
-t:显示内存总和
sleep 睡眠 默认单位是秒
nohup 后台运行指令的进程
nohup 命令 &
8.grep命令,wc命令,cut命令
wc命令
-c 统计字节数
-l 统计行数
-w 统计字数
cut命令
-b 显示行中指定范围的字节数
-c 显示行中指定范围的字符
-d 分隔符,默认tab
-f 显示指定字段的内容,字段,按分隔符分割后的基本单元
cut -d ',' -f1,3 a.txt a.txt按照,分割,显示第一列和第三列
取连续值
N-:从第N个字节,字符,字段到结尾
N-M:从N到M
-M:从第一个到M
grep命令
-i 忽略大小写
-v 反转匹配,显示不匹配模式的行
-r|-R 递归搜索
-l 显示匹配的文件名
-n 显示匹配行的行号
-c 计数,显示匹配的行数
-e 指定多个搜索模式
-f 从文件读取模式
-A num 显示匹配行及其后num行
-B num 显示匹配行及其前num行
正则表达式:
a 匹配字母a
^ 匹配行的开头
$ 匹配行的结尾
. 匹配任意单个字符
* 匹配前面的字符0次或多次
[] 字符集合,例如[abc]匹配a,b或c
[^] 字符排除集合,例如[^abc]匹配除了a,b,c之外的任意字符