Linux基础
vim
#一般模式
# 复制一行多行 yy ydy
# 删除一行多行 dd d2d
# 撤销 u
# 粘贴 p
# 复制一个字 yw
# 向后删除一个词 x
#向前删 X
# 移动到行头 shift+^
# 移动到行位 shift+$
#编辑模式
# aoi
# 当前位置 i
# 当前单词后 a
# 当前行后一行 o
# AOI
# 当前行头 I
# 行前行尾 A
# 上一行 O
#命令模式
# set su /nosu 显示行号、取消显示
# nohl 取消高亮
#/搜索 u下一个词 U上一个词
文件类
目录层级
./
../
../../
#cd
相对绝对路径 cd opt || cd /opt
上一步操作位置 cd -
家目录 cd ~
跳转链接目录源目录 cd -P
#ls
查看所有文件目录 ls -a
查看详细信息 ls -l
综合显示 ls-al
#mkdir/deldir
mkdir 【-P】 多级目录
deldir 删除目录
#pwd
显示当前目录 pwd
#创建文件
touch vim
#复制文件目录
cp -r 原 新
cp -r 原 /. 当前目录
#移除文件目录
rm -rfv 目录/文件
#移动文件目录重命名
mv /目录或文件 移动到的目录
-f 覆盖不提示
mv 文件或目录 新名
#查看文件
cat -n
more
#打印
echo -e 使用\符匹配模式
# 打印头尾
head -n
tail -n/-f f实时显示追加
#文件插入内容
ls -l > mytest.txt 覆盖
ls -l >> mytest.txt 追加
#路径目录名和文件名
dirname
basename
时间类
#date当前时间
#date -s 设置时间
#date -d ‘1 day ago’
用户管理
#增加用户
useradd atguigu 普通创建
useradd -g 1001 atguigu 将atguigu用户放到1001组
passwd atguigu
#查看用户
id atguigu
#查看所有用户
cat /etc/passwd
#切换用户
su
切用户并获取环境变量 su - atguigu
每个用户是一个进程,不exit退出用户进程一直会存在
#删除用户
userdel
#查看登录信息
whoami 当前用户
who am i 系统的登录用户
#修改用户
usermod -g 新组名 用户
# 借用root权限
sudo
visudo默认编辑的是/etc/sudoers 权限是440的文件可以用visudo编辑
visudo是安全的,语法错误编辑会失败
用户组管理
#增加删除组
groupadd
groupdel
#修改组名
groupmod 新组名 老组名
#查看所有组
cat /etc/group
文件权限
#第一位 文件类型组 d目录 -文件 l链接
#2-4位 所有者组 rwx u
#5-7位 root组 rwx g
#8-10位 其他用户组 rwx o
#2-10位 a
#文件能否被操作,取决于上一级文件夹权限 和 当前文件用户/用户组的权限
#更改文件权限
-R 递归全修改
chmod a+rwx 文件或目录
#更改文件、目录所有者
-R 递归全修改
chown 777 文件或目录
chown 最终用户 文件目录
chown 组名:用户名 文件目录
搜索类
搜索 遍历 类都可使用正则
#find 查找匹配
-name
-user
-group
-size kb为最小单位
-type TYPE:
f: 普通文件
d: 目录文件
l: 符号链接文件
s:套接字文件
b: 块设备文件
c: 字符设备文件
p: 管道文件
#--------------------------------
find ~ $HOME目录下的文件
find . 当前目录
find / 根目录
#grep 筛选
-n显示行号
-v过滤去掉 不包含
#which 查看命令路径
which 命令
#搜索匹配符
#grep/set/awk
#grep
-i 忽略大小写
-n
. 匹配代表一个字符 grep -n a.a test.txt
* 匹配1或任意个重复*前面的字符
grep -n a*a mytest02.txt 匹配a字符
grep -n aa*a mytest02.txt 匹配aa字符
grep -n aba*a mytest02.txt 匹配ab中的任意字符
grep -n a...a mytest02.txt 匹配a和a中间三个任意字符
grep -n a.*c mytest02.txt 匹配a和c中间任意字符
.* 匹配0个或任意字符
解压/压缩
#zip/unzip
zip -r 压缩目录
unzip -d 解压到指定目录
#gzip/gunzip
压缩解压gz文件
#tar
tar [opt] 压缩后的名字.gz.tar -C 要压缩的内容 #-C指定解压到路径
-z 打包同时压缩(解压)
-f 指定压缩(解压)后的文件名
-v 显示详细信息
-c 生成tar包
-x 解压tar包
-zcvf
-zxvf
远程分发指令
# 本质都是使用ssh连接,所以没有免密需要使用:用户名@ip:来连接目标服务器
#默认使用当前用户 可以这样写 @ip:
#本机考到指定机器
文件目录 atguigu@hadoop103:/目录
文件目录 hadoop:/目录
#指定机器到指定机器
文件目录 hadoop102:/目录 hadoop104:/目录
#指定机器到文集
文件目录 hadoop102:/目录 /目录
#scp (secure copy)
之前都是sudo scp /opt/hello.txt atguigu@hadoop103:/opt/
也可以:sudo scp /opt/hello.txt hadoop103:/opt/
#rsync
主要用于备份和镜像,速度快,只对差异文件更新。
sudo rsync -av hadoop hadoop:/opt/
自定义命令
#alias
alias显示所有别名
#创建别名
alias l.='ls -d .* --color=auto'
#删除别名
unalias 别名
#使用原生的命令不用别名
\cp就是原生cp 不是别名的cp -i
进程管理
#查看进程 ps
-aux 全部
-ef 父子进程
#杀死进程 kill
kill -9
#查看进程树 pstree
-p显示进程号
-u显示所属用户
#top
# 【opt】
-d 读秒
-i 过滤掉死进程
-p 监控某个进程
# 操作指令
P 以CPU使用率排序,默认就是此项
M 以内存的使用率排序
N 以PID排序
q 退出top
#netstat
netstat -anp |grep 进程号 (功能描述:查看该进程网络信息)
netstat -nlp | grep 端口号 (功能描述:查看网络端口号占用情况)
- 每个grep都会开一个和过滤相关的进程,无需关心
磁盘
# 查看磁盘详细信息 df -h
定时任务
# crontab 定时任务
systemctl restart crond
systemctl stuats crond
-
安装程序管理
# rpm
-i -i=install,安装
-v -v=verbose,显示详细信息
-h -h=hash,进度条
--nodeps 不检测依赖进度
# 查询安装的软件
rpm -qa|grep python
# 卸载
rpm -e --nodeps 软件包
# 安装
rpm -ivh 安装包
Yum仓库
# yum
-y
install 安装
update 更新
remove 移除
list 列出所有软件包
clean 清除yum过期缓存
deplist 显示软件包的依赖
转载:https://blog.csdn.net/yangqian1794/article/details/115803134
查看评论