Linux基础命令第三天

时间:2024-04-22 22:36:17

  1,vim编辑器

命令模式下:
pageup 往上翻页
pagedown 往下翻页
H 光标移动到屏幕首行
gg 光标动荡到文档的首行,如果前面加上n,表示移动到n行
G 移动文档最后一行
/name 在整个文档中从上往下查找name,再按n,选择下一个单词,按N,选择上一个单词
?name 在整个文档中从下往上查找,再按n选择下一个单词,按N,选择上一个单词
dd 删除光标所在行的内容,再前面加上n,表示删除光标往下的n行内容
dG 删除光标所在行下面的所有内容
u 撤销上一步操作
yy 复制,在前面加上n,表示复制光标所在行往下n行
p 粘贴 底线命令模式:
:q! 强制退出
:wq! 写入并强制退出
:set nu 显示行号
:数字 光标移到数字所在行

  2,sudo命令

使用普通用户登录后,是不可以进入root目录的,会提示你没有权限,此时我们可以用sudo命令来查看,但此时也会提醒我们,这个用户没在/etc/sudoers文件里面。
所以我们要把这个用户加入进去既可,加入方法有两种:
,root用户用vim打开文件,然后编辑进去,(但不推荐)
,root用户使用visudo命令,添加huang ALL=(ALL) ALL
这样添加成功后,huang这个用户就可以使用sudo命令了

Linux基础命令第三天

  3,给文件和目录添加或删除权限

Linux权限的目的是(保护账户的资料)
Linux权限主要依据三种身份来决定:
- user/owner 文件使用者,文件属于哪个用户
- group 属组,文件属于哪个组
- others 既不是user,也不再group,就是other,其他人

Linux基础命令第三天

第1个字母表示文件类型
第2-4个字母表示所属用户user 简写u
第5-7个字母表示所属用户组group 简写g
第8-10个字母表示其他人other 简写o +表示添加,-表示删除
chmod u+r /opt/liulaoshi.py # 给用户添加只读的权限
chmod u+w /opt/liulaoshi.py # 给用户添加可写的权限
chmod u+x /opt/liulaoshi.py # 给用户添加可执行文件的权限 chmod g+r /opt/liulaoshi.py
chmod g+w /opt/liulaoshi.py
chmod g+x /opt/liulaoshi.py chmod o+r /opt/liulaoshi.py
chmod o+w /opt/liulaoshi.py
chmod o+x /opt/liulaoshi.py chmod u-r /opt/liulaoshi.py # 给用户删除只读的权限
chmod u-w /opt/liulaoshi.py # 给用户删除可写的权限
chmod u-x /opt/liulaoshi.py # 给用户删除可执行文件的权限 chmod g-r /opt/liulaoshi.py
chmod g-w /opt/liulaoshi.py
chmod g-x /opt/liulaoshi.py chmod o-r /opt/liulaoshi.py
chmod o-w /opt/liulaoshi.py
chmod o-x /opt/liulaoshi.py

Linux基础命令第三天

chmod  liulaoshi.py  # 给所有用户及组所有权限
chmod liulaoshi.py # 给所有用户及组无权限
# 以上是命令语法,详细配置请参照上图

  还可以修改属主和组

chown root.root liulaoshi.py  # 修改文件所属主和所属组
chown root:root liulaoshi.py # 修改文件所属主和所属组,这两个命令一样

  4,软连接

ln -s /opt/zhangqihang/lihua.py lihuadashuaige.py

  配置软连接

ln -s /opt/python36/bin/python3  /usr/bin/python3
ln -s /opt/python36/bin/pip3 /usr/bin/pip3

  配置环境变量

修改系统环境变量配置文件
vim /etc/profile
添加以下内容:
PATH=/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
保存退出

  5,tar解压命令

命令语法:
tar命令 参数 文件
-z 使用gzip命令
-v 显示压缩解压过程
-c 压缩文件
-x 解压文件
-f 指定文件
tar -cf allpy.tar *   # 压缩当前文件夹下面的所有文件到allpy.tar
tar -xf allpy.tar # 解压文件
tar -zcf allpy.tar.gz * # 压缩带gzip的文件
gzip -d allpy.tar.gz # 解压gzip文件
tar -zxvf allpy.tar.gz # 一条命令解压带gzip和tar的压缩包

  6,PS命令

ps -ef # 查看系统运行的进程
!ps # 运行上一次运行的ps -ef命令

  7,kill命令

kill 进程ID  # 杀掉相关进程ID
kill - 进程ID # 强制杀掉相关进程ID
pkill 正则匹配相关进程名 # 杀掉匹配到的所有进程
killall 正则匹配相关进程名,类似于pkill

  8,SELinux

查看selinux开启状态
getenforce
临时关闭selinux
setenforce
一次性永久关闭selinux
编辑selinux配置文件
vim /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
保存退出

  9,Linux防火墙

iptables -L  # 查看系统防火墙规则
iptables -F # 清空所有防火墙规则 systemctl stop firewalld # 停止防火墙
systemctl status firewalld # 查看防火墙运行状态
systemctl start firewalld # 启动
systemctl disable firewalld # 永久关闭防火墙

  10,tree命令

递归显示文件和文件目录(如果没有此命令,需要使用yum install tree安装)
就是目录结构显示为树形结构

Linux基础命令第三天

  11,DNS

 我在本地访问www.baidu.com
首先会从本地DNS缓存中去查找,如果没有
就会去本地hosts文件中去查找,如果没有
去公网的DNS服务器查看是否有此域名解析记录,如果还没有
说明此域名没有在公网注册解析
windows下的hosts文件
C:\Windows\System32\drivers\etc\hosts
linux下的hosts文件
/etc/hosts

  12,nslookup命令

用来将域名解析为IP
nslookup
nslookup www.baidu.com

  13,计划任务(分时日月周)

crontab -e  编辑计划任务
crontab (选项)(参数)
-e:编辑该用户的计时器设置;
-l:列出该用户的计时器设置;
-r:删除该用户的计时器设置;
-u<用户名称>:指定要设定计时器的用户名称。
# Example of job definition:
# .---------------- minute ( - )
# | .------------- hour ( - )
# | | .---------- day of month ( - )
# | | | .------- month ( - ) OR jan,feb,mar,apr ...
# | | | | .---- day of week ( - ) (Sunday= or ) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
分 时 日 月 周
第1列表示分钟1~ 每分钟用*或者 */1表示
第2列表示小时1~(0表示0点)
第3列表示日期1~
第4列表示月份1~
第5列标识号星期0~(0表示星期天)
第6列要运行的命令

  练习题:

#每分钟执行一次命令
* * * * * 执行命令
#每小时的3,15分钟执行命令
, * * * * 执行命令 #在上午8-11点的第3和第15分钟执行
, - * * * 执行命令 #每晚21:30执行命令
* * * 执行命令 #每周六、日的1:30执行命令
* * , 执行命令 #每周一到周五的凌晨1点,清空/tmp目录的所有文件
* * * - rm -rf /tmp/* #每晚的21:30重启nginx
30 21 * * * systemctl restart nginx #每月的1,10,22日的4:45重启nginx
45 4 1,10,22 * 8 systemctl restart nginx #每个星期一的上午8点到11点的第3和15分钟执行命令
3,15 8-11 * * 1 执行命令

  14,yum工具

  rpm包(不推荐使用)

mysql---.rpm
redis---.rpm
nginx2--.rpm 缺点:
我想要安装一个mysql---.rpm这样的一个软件
while 依赖包 < 需要的依赖包:
当我安装的时候,它会提示我需要一个依赖包
当我把这个依赖包安装完成之后,它又会提示我需要安装另一个依赖包

  yum提供了查找、安装、删除、某一个、一组甚至全部软件包的命令,而且命令简洁而且好记

yum(选项)(参数)
-h:显示帮助信息;
-y:对所有的提问都回答“yes”;
-c:指定配置文件;
-q:安静模式;
-v:详细模式;
-d:设置调试等级(-);
-e:设置错误等级(-);
-R:设置yum处理一个命令的最大等待时间;
-C:完全从缓存中运行,而不去下载或者更新任何头文件。

Linux基础命令第三天

  配置阿里云源步骤:

,备份原有的.repo源文件
cd /etc/yum.repos.d
mkdir repobak
mv * repobak ,下载阿里云耳朵源文件和第三方扩展源文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo ,清空yum缓存和创建新的缓存
yum clean all
yum makecache ,安装软件扩展源
yum install -y epel-release

  15,安装nginx

yum install nginx

  启动nginx

systemctl start nginx

  用浏览器访问nginx

http://192.168.12.56

  16,Linux系统服务管理

  centos7的服务管理命令

systemctl start 服务名称
systemctl stop 服务名称
systemctl status 服务名称
systemctl restart 服务名称

  centos6的服务管理命令

service 服务名称 start
service 服务名称 stop
service 服务名称 status
service 服务名称 restart

  17,创建普通用户

比如创建一个名为zijin,密码为xiugui的普通用户
useradd zijin
passwd zijin
xiugui

  18,误把环境变量改错,导致很多命令使用不了

此时,由于很多命令使用不了,所以我们不能使用vim修改/etc/profile配置文件
于是可以使用:
export PATH=/opt/node-v10.15.3-linux-x64/bin:/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:$PATH