Linux基础

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 显示软件包的依赖

你可能感兴趣的:(linux)