Linux 基础命令 => 简洁版

1、Shell

1、Linux系统内核负责对硬件资源的分配、调度等管理任务。与windows注册表类似
2、用户与硬件:用户 > 服务程序 > 系统调用接口 > 内核 > 硬件
3、shell:核、终端程序、Linux默认的 bash
4、Bash的优势:
	4.1)、通过上下方向键调取执行过的Linux命令
	4.2)、使用Tab键进行命令补全
	4.3)、强大的批处理脚本
	4.4)、实用的环境变量功能

2、执行命令

1、Linux 执行命令格式:命令名称 [命令参数] 命令对象
2、Linux命令的长格式与短格式:
	1)、man --help
	2)、man -h
3、快捷键/组合键 小技巧
	1)、Tab:在Bash解释器中,用于命令行补全
	2)、Ctrl+C:终止当前正在运行的程序
	3)、Ctrl+D:键盘输入结束
	4)、Ctrl+Z:将终端上运行的程序放入到后台运行
	5)、Ctrl+L:清屏

3、系统常用工作命令

1、echo:在终端及shell脚本输出字符串或变量或文本, echo $变量名
2、date:显示或设置当前系统时间
	1)、10月1日10点1分:date 10011001
	2)、2020年10月1日:date -s '2021-10-01 10:01'
3、timedatectl:设置系统时间与时区
	1)、设置时间为2021年10月1日:timedatectl set-time 2021-10-01
	2)、设置时区为东八区:timedatectl set-timezone Asia/Shanghai
4、reboot:重启系统
5、poweroff:关闭系统
6、wget:下载网络文件,Linux中的小迅雷 (wget www.baidu.com -O /root/hello.html) 
7、ps:查看系统进程状态
	1)、查看详细信息:ps -aux
	2)、查看父子进程:ps -ef
8、pstree:树状结构查看进程
9、top:动态监控进程活动及系统负载
10、nice:用于调整进程的优先级
	1)、优先级10启动vim:nice -n 10 vim 1.txt
	2)、查看优先级:ps -al
11、pidof:查看服务的 PID号 > pidof 服务名
	1)、查看服务的PID:pidof kube-apiserver
12、kill:中止服务进程 > kill PID号
	1)、默认使用关闭服务:kill -15 PID号
	2)、强制停止:kill -9 PID号
	3)、重载服务:kill -1 PID号
13、killall:终止该服务所对应的全部进程 > killall nginx

4、系统状态检测命令

1、ifconfig:获取网卡配置与网络状态
2、uname:查看系统内核与系统架构
3、uptime:查看系统负载(5分钟 10分钟 15分钟)
4、who:当前登入主机的用户及所使用的终端
5、free:查看系统内存使用量
6、last:调取主机被访记录
7、netstat:显示网络连接、路由表、接口状态等网络相关信息
8、ping:测试主机之间、主机与外网之间的连通性
9、history:查看执行的历史命令
10、tracepath:显示到达目的主机经过的路由信息	(tracepath www.baidu.com)
11、sosreport:收集系统配置及架构信息并输出诊断文档

5、查找定位文件命令

1、find:指定条件查找文件及目录	(find / -maxdepth 3 -iname 'mysql')
2、locate:快速查找文件及目录所在的位置	(locate mysql)
3、whereis:按照名称搜索二进制程序、源代码及帮助文档所在位置 (whereis nginx)
4、which:按照名称搜索二进制程序所在位置 (which nginx)

6、文本编辑命令

1、cat:查看纯文本内容		(cat 1.txt)
2、more:翻页查看纯文本内容	(more 1.txt)
3、head:查看纯文本内容的前N行	(head -10 1.txt)
4、tail:查看纯文本内容的尾部N行 (tail -10 1.txt)
5、tr:对纯文本内容进行替换(tr a b <1.txt)
6、wc:统计文件的 行数(wc -l)、字数(wc -w)、字节数(wc -c)
7、less:使用光标/j k键 进行上下滚动查看文件内容 (less 1.txt)
8、grep:指定字符串查询文件内容 (grep 'root' /etc/passwd)
9、cut:指定字符,按列进行截取文本 (cut -f1 -d":" /etc/passwd)
10、diff:比较多文件之间的差异 (diff 1.txt 2.txt)
11、uniq:去掉文件重复的行
12、sort:对文本中的内容进行排序,默认升序
	1)、按列排序:sort -k2 1.txt
	2)、静默输出:sort -k2 -n 1.txt
	3)、倒序排列:sort -r -k2

7、文件目录管理

1、touch:创建空白文件、设置文件时间(重新创建一遍)
2、mkdir:创建空白的目录,-p批量创建
3、cp:复制文件及目录 > cp -r 源文件 目标路径
4、mv:移动、重命名文件及目录 > mv 源文件 目标路径
5、rm:删除文件或目录
6、dd:抄送、指定大小与个数的数据块来复制文件或转化文件 > dd if=要抄送的文件 of=抄送到的目录 bs=1M count=10
7、file:查看文件的类型 > file 文件名称
8、tar:对文件进行压缩或打包

8、Vim 文本编辑器

1、1991年发布的vim,vi的提升版本
2、模式
	2.1)、命令模式:控制光标进行复制、粘贴、删除和查找
	2.2)、输入模式:正常的文件录入 (a、i、o)
	2.3)、末行模式:保存于退出文档、设置编辑环境 (:)

8.1、命令模式

常用命令(键入):
	dd:删除/剪切 光标所在行
	5dd:删除/剪切 5行
	yy:复制 光标所在行
	5yy:复制 5行
	n:使用末行模式 :/搜索的内容,搜索下一个匹配项
	N:搜索上一个匹配项
	u:撤销上一步操作
	p:将 dd或yy的行 粘贴到光标后

8.2、末行模式

常用命令(键入 shift + :)
	w:保存
	q:退出
	q!:强制退出
	wq!:强制保存退出
	set nu:显示行号
	set nonu:取消行号
	命令:执行该命令
	整数:跳转到改行
	s/要替换的值/替换后的值/:替换光标所在行的第一个
	s/要替换的值/替换后的值/g:将光标所在行的全部替换
	% s///:全文搜索替换
	?字符串:从最后一个开始搜索,从下到上
	/字符串:从光标所在行后第一个开始搜索,从上至下

9、主机配置

9.1、主机名 Hostname

	1、配置文件修改,需重启主机:vim /etc/hostname
	2、命令行修改(永久生效):hostnamectl set-hostname 主机名

9.2、网络 Network

# vim /etc/sysconfig/network-scripts/ifcfg-ens33
    TYPE=Ethernet			#设备类型
    BOOTPROTO=static	 	#地址分配模式 > dhcp(动态获取) static(静态) none(不获取)
    IPADDR=192.168.178.51	#IP地址
    NETMASK=255.255.255.0	#子网掩码
    GATEWAY=192.168.178.2	#网关
    DNS1=192.168.178.2
    DNS2=223.5.5.5			#DNS地址
    DNS3=223.6.6.6
    NAME=ens33		#网卡名称
    DEVICE=ens33	#设备名称
    ONBOOT=yes		#自启动

9.3、软件仓库 Repo

# vim /etc/yum.repos.d/dvd.repo
	[dvd]				#仓库名
    name=Dvd repo		   #描述信息	
    baseurl=file:///mnt		#使用本地挂载目录
    baseurl=Ftp://192.168.178.131/MySQL-repo/	#使用Ftp的远程仓库
    baseurl=http://aliyunc.com/Centos7-Base/	#使用网络镜像源
    gpgcheck=0/1	#是否进行校验
    enabled=0/1		#是否开启该仓库
    gpgkey=http://www.centos.org/		#GPG公钥校验
    
# vim /etc/fstab 进行开机自启挂载

# yum repolist 查看仓库加载信息

10、定时任务与计划任务

10.1、at 定时单任务

# yum -y install at
# systemctl --now enable at
1、指定时间点:
# at 时间点(10:01)
	#输入要执行的命令 Ctrl + D 结束输入

2、当前时间之后分钟
# at now+6minute

3、查看任务
# at -l
# atq

4、删除任务
# at -r 序列号(通过 atq 查看的序列号)

10.2、计划任务 Crond

# 语法格式
*  	 * 		* 		* 		*		/usr/sbin/ntpdate ntp1.aliyum.com
分  时  日/号   	 月 		 周		执行命令
# 示例
*/5 * * * *		每5分钟执行一次
0 2 1,4,6 * *	在每月的 1、4、6号 的凌晨2点
0 2 5-9 * *		在每月的 5至9号份 的凌晨2点
0 * * * * 		每天的0点整
0 2 14 * *		在 每月的14号的 凌晨2点整
0 2 * * 5		在 每周5 的凌晨2点
0 0 9 1,5,8 0	在 每年的 1、5、8月份的9号 0点整
0 2 2 6 5		在每年的 6月份的2号及每周五 的凌晨2点

"================================================="
# systemctl --now enable crond

1、编写任务
# crontab -e

2、查看计划任务
# crontab -l

3、删除计划任务
# crontab -r 序列号(通过 crontab -l查看到的序列号)

11、用户身份及权限

11.1、UID 分配

0:系统管理员用户
1-999:系统用户
1000- :普通用户,日常工作的用户

11.2、useradd 解析

id:显示指定用户的UID、GID > id root
useradd:创建指定用户 > useradd pengge
	1):指定目录进行创建:useradd peng1 -d /peng1
	2):指定过期时长:useradd peng2 -e '2021-12-12' > 使用 chage -l peng2 查看用户过期时长
	3):指定UID创建:useradd peng3 -u 111111
	4);指定初始基本组:useradd peng4 -g wheel
	5):指定一个或多个扩展组:useradd peng5 -G group1 -G group2
	6):创建自定义名称基本组:useradd peng6 -N
	7):指定用户的默认shell解释器:useradd peng7 -s /sbin/nologin

11.3、groupadd 解析

1、创建一个新组
# groupadd 组名

2、创建一个系统工作组
# groupadd -r -g 666 sys1
	# -r :创建系统工作目录
	# -g :指定 GID 创建

11.4、usermod 解析

1、用户添加备注
# usermod 用户 -c 描述
	# usermod peng1 -c 'test1'

2、修改用户过期时间
# usermod -e 时间 用户
	# usermod -e 2021-12-12 peng1

3、修改用户基本组
# usermod 用户 -g 修改后的组名
	# usermod peng1 -g penge

4、修改用户扩展组
# usermod 用户 -G 组名
	# usermod peng1 -G penge

5、锁定用户禁止其他用户登录
# usermod -L 用户
	# usermod -L peng1
	
6、解锁用户
# usermod -U peng1

7、更改用户shell终端
# usermod 用户 -s 终端
	# usermod peng1 -s /sbin/nologin
	
8、修改用户的UID
# usermod 用户 -u UID
	# usermod peng1 -u 666666

11.5、passwd 命令

1、锁定用户,禁止其他用户登录
# passwd -l 用户

2、解锁用户
# passwd -u 用户

3、通过标准输入修改密码
# echo '密码' | passwd --stdin 用户
	# echo '123456' | passwd --stdin peng1
    
4、用户免密登录系统
# passwd -d peng1

5、强制用户下一次登录时修改密码
# passwd -e peng1

6、显示用户是否被锁,密码采用的加密算法名称
# passwd -S peng1

11.6、userdel 操作

1、删除用户,保留家目录数据
# userdel peng1
2、强制删除用户
# userdel -f peng1
3、删除用户及用户家目录
# userdel -rf peng1

11.7、文件权限与归属

a、文件的基本权限
file 文件dirct 目录
读取(r 4)catls
写入(w 2)vimtouch
执行(x 1)./scriptcd
1、解析文件权限
# -rw-r--r--  1 root root         0 Nov 16 19:30 1.txt
-       rw-   r--  r--      1    root   root    0   Nov 16 19:30  1.txt
文件类型  属主  属组  其他用户   链接  属主    属组    大小  创建时间  	 文件或目录

2、文件类型
- 文件
d 目录
l 链接
p 管道
b 块设备
c 字符设备
b、文件特殊权限
SUID(c)4:对二进制程序进行特殊权限,二进制程序执行者拥有临时属主的权限
SGID(s)2:
	1、对二进制程序设置,让执行者临时获取文件所有组的权限
	2、对目录进行设置,目录内新建文件自动继承该目录原有组的名称
SBIT(t)1:
	1、确保用户只在自己的目录中执行,不能对其他目录进行
	2、权限为 rwt   chmod o+t /limit-local
c、文件的隐藏属性
chattr:设置文件的隐藏权限
1、给文件上锁,禁止文件被修改
# chattr +i 文件名
2、给文件解锁
# chattr -i 文件名
3、让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件: 
# chattr +a /var/log/文件名


lsattr:查看文件的隐藏权限
# lsattr 文件名
d、文件访问控制列表
参数作用
-m修改权限
-M从文件中读取权限
-x删除某个权限
-b删除全部权限
-R递归子目录
setfacl:用来管理文件的 ACL 权限
1、给用户设置权限
# setfacl -m u:用户名:权限  文件或目录
# setfacl -m u:peng1:rwx  1.txt

2、查看权限列表
# getfacl 1.txt

11.8、su 与 sudo 服务

a、su 命令
su:切换系统中存在的用户
- :把当前环境变量信息变更为新用户的相应信息
# su - peng1
b、sudo 命令
sudo:给 普通用户 提权进行完成原本只有 root 才能完成的任务

1、打开授权页面(2种方法)
# vim /etc/sudoers
# visudo

2、给普通用户进行命令授权
# 用户名    网络中的主机=(执行命令的目标用户)    执行的命令
peng1	ALL=(root)	NOPASSWD:/usr/bin/yum,/usr/bin/systemctl
peng2   ALL=(root)	NOPASSWD:ALL
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值