Linux_02
1.vim编辑器
vim操作命令 --在命令模式下进行
pageup 往上翻页
pagedown 往下翻页
H 移动到屏幕首行
gg 移动光标到文档的首行
前面加数字n表示移动到n行内容
G 移动到文档最后一行 /nologin 在整个文档中从上往下查找
再按n 选择下一个单词
N 选择上一个单词 ?root 在整个文档中从下往上查找
再按n 选择下一个单词
N 选择上一个单词 dd 删除光标所在行内容
dd前面加数字n表示删除n行内容
例 3dd 删除从光标所在行开始3行内容
dG 清空整个文档的内容(先移动到文档的首行)
u 撤销上一步操作 yy 复制
yy前面加数字n表示复制n行内容
p 粘贴
底线命令模式:
:q! 强制退出
:wq! 强制写入退出
:set nu 显示行号
:数字 调到数字那行
2.用户管理和文件目录权限
linux下面的用户及权限:
root用户: 超级管理员, 相当于QQ群里面的群主
普通用户: 可以做一些简单的操作, 如果需要做系统服务相关的操作,需要授权
3.文件权限详解
r read可读,可以用cat等命令查看
w write写入,可以编辑或者删除这个文件
x executable 可以执行
4.sudo命令用法 -- sudo命令用来以其他身份来执行命令,预设的身份为root
1 使用liulaoshi用户登录 su - liulaoshi 切换用户
2 查看/root目录,提示无权限
3 所以我们要使用sudo命令来查看
4 但是提示此用户不在/etc/sudoers文件里面
5 我们需要使用visudo命令将liulaoshi加入到/etc/sudoers文件中,注意最好不要使用vim命令直接编辑此文件
(可以通过visudo命令直接编辑sudoers文件,使用这个命令还可以检查语法,比直接编辑 vim /etc/sudoers更安全)
写入
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
liulaoshi ALL=(ALL) ALL #允许tiger在任何地方,执行任何命令
6 将用户加入到文件中后,我们就可以用liulaoshi用户使用sudo命令查看/root目录
5.给文件和目录添加或删除权限
Linux权限的目的是(保护账户的资料)
Linux权限主要依据三种身份来决定:
- user/owner 文件使用者,文件属于哪个用户
- group 属组,文件属于哪个组
- others 既不是user,也不再group,就是other,其他人
第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 u-r /opt/liulaoshi.py # 给用户删除只读的权限
chmod u-w /opt/liulaoshi.py # 给用户删除可写的权限
chmod u-x /opt/liulaoshi.py # 给用户删除可执行文件的权限
chmod o-r /opt/liulaoshi.py
我们还可以修改属主和属组:
chown root.root liulaoshi.py # 修改文件所属主和所属组
chown root:root liulaoshi.py # 修改文件所属主和所属组,这两个命令一样
修改主 chown 修改组 chgrp
6.软连接
ln -s /opt/zhangqihang/lihua.py lihuadashuaige.py
7.tar解压命令
命令语法:
tar命令 参数 文件
-z 使用gzip命令
-v 显示压缩解压过程
-c 压缩文件
-x 解压文件
-f 指定文件
压缩文件 压缩当前目录下的文件 名为allpy.tar
tar -cf allpy.tar *
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的压缩包
8.netstat命令
netstat -tunlp # 查看系统中开放的端口
9.ps命令
ps -ef # 查看系统运行的进程
!ps # 运行上一次运行的ps -ef命令
10.kill命令
kill 进程ID # 杀掉相关进程ID
kill -9 进程ID # 强制杀掉相关进程ID
pkill 正则匹配相关进程名 # 杀掉匹配到的所有进程
killall 正则匹配相关进程名,类似于pkill
11.SELinux
查看selinux
getenforce
临时关闭selinux
setenforce 0
一次性永久关闭selinux
编辑selinux配置文件
vim /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
保存退出
12.linux防火墙
iptables -L # 查看系统防火墙规则
iptables -F # 清空所有防火墙规则 systemctl stop firewalld # 停止防火墙
systemctl status firewalld # 查看防火墙运行状态
systemctl start firewalld # 启动
systemctl disable firewalld # 永久关闭防火墙
13.df命令
df -h 命令查看系统磁盘空间
14.tree命令
递归显示文件和文件目录(如果没有此命令,需要使用yum install tree安装)
15.设置主机名
hostnamectl set-hostname liulaoshi
16.DNS
DNS(Domain Name System,域名系统)解析原理:
1 我在本地访问www.baidu.com
2 首先会从本地DNS缓存中去查找,如果没有
3 就会去本地hosts文件中去查找,如果没有
4 去公网的DNS服务器查看是否有此域名解析记录,如果还没有
5 说明此域名没有在公网注册解析
windows下的hosts文件
C:\Windows\System32\drivers\etc\hosts
linux下的hosts文件
/etc/hosts
17.nslookup命令
用来将域名解析为IP
nslookup
nslookup www.baidu.com
18.计划任务(分时日月周)
crontab -e 编辑计划任务 crontab (选项)(参数)
-e:编辑该用户的计时器设置;
-l:列出该用户的计时器设置;
-r:删除该用户的计时器设置;
-u<用户名称>:指定要设定计时器的用户名称。
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
分 时 日 月 周
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
19.yum工具
linux的所有yum源文件全部放在/etc/yum.repos.d目录下,后缀为.repo
软件仓库源可能存在的软件不够所以又会有一个扩展源,叫epel源
yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
yum(选项)(参数)
-h:显示帮助信息;
-y:对所有的提问都回答“yes”;
-c:指定配置文件;
-q:安静模式;
-v:详细模式;
-d:设置调试等级(0-10);
-e:设置错误等级(0-10);
-R:设置yum处理一个命令的最大等待时间;
-C:完全从缓存中运行,而不去下载或者更新任何头文件。
配置阿里元源
下载阿里元的源文件和第三方扩展源文件
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
Linux_02的更多相关文章
- Docker入门二
容器管理 1.docker create创建一个容器,但容器并没启动,就和我们创建虚拟机一样,创建了虚拟机后没启动 [root@centos-02 ~]# docker create -it cent ...
随机推荐
- django模板系统(下)
主要内容:母版,继承母版,块,组件,静态文件 母版 <!DOCTYPE html> <html lang="en"> <head> <me ...
- 51nod 1636 教育改革
题目链接 令f[i][j][k]为第i天选择的课程为j,设置作业为a[j]+k时的最大作业量. 那么f[i][j][k]可以由哪些状态转移而来?先把课程按复杂度排序,那么可以转移来的课程是f[i-1] ...
- laravel的Eloquent中的get()和Query/Builder中的get()
Eloquent 中的get实际上是Eloquent/Builder中的get,得到的结果是个Collection对象,再调用Collection的first才得到collection中的一项,即一个 ...
- 在学习前端的路上,立下一个Flag
今天开始百度前端学习,以此为证
- FastDFS分布式文件系统设计原理
转载自http://blog.chinaunix.net/uid-20196318-id-4058561.html FastDFS是一个开源的轻量级分布式文件系统,由跟踪服务器(tracker ser ...
- CountUp.js用法 让数字动起来的插件
CountUp.js 无依赖的.轻量级的 JavaScript 类,可以用来快速创建以一种更有趣的动画方式显示数值数据.尽管它的名字叫 countUp,但其实可以在两个方向进行变化,这是根据你传递的 ...
- python reload(sys)找不到,name 'reload' is not defined和Python3异常-AttributeError: module 'sys' has no att
基于python3.6.1版本,在一个.py文件中,加入这3行:import requests, re, sysreload(sys)sys.setdefaultencoding("utf- ...
- mapreduce设置setMapOutputKeyClass与setMapOutputValueClass原因
一般的mapreduce的wordcount程序如下: public class WcMapper extends Mapper<LongWritable, Text, Text, LongWr ...
- Java 中long类型转换成为int类型时可能会出错的地方
那计算两个日期之间间隔的天数为例来说明这个问题. 下面是计算日期间隔天数的简单算法(主要出错的地方为红色标注的地方): public int getDay(String startDate, Stri ...
- Android Fragment(一)
一.为什么要引入Fragments? 自从Android 3.0中引入fragments 的概念,可以译为:碎片.片段.其上的是为了解决不同屏幕分辩率的动态和灵活UI设计.大屏幕如平板小屏幕如手机,平 ...