linux命令收集
linux查看命令帮助信息,如何查看有什么参数? http://linux.51yip.com/ 命令 --help man 手册 man 命令
1.linux的超级用户是root
2.xshell远程连接linux ssh 用户名@服务器ip
3.查看服务器ip地址 ifconfig 或者ip addr
4.绝对路径:从根目录开始的路径
5.相对路径:从当前路径开始的路径
6.四个符号代表文件夹
. 当前位置 .. 上一级目录 - 上一次目录 ~ 用户家目录
7.通过IP地址可以访问到网络中的 计算机。
通过port端口可以找到 计算机上的应用程序。
8.协议为网络中的数据交换而建立的规则、标准或者约定,两个实体要通信,必须有同一种语言
常见协议有超文本传输协议(HTTP)、文件传输协议(FTP),简单邮件传输协议(SMTP)、网络通信协议(TCP)、用户数据报协议(UDP)
9.
普通用户登录后系统的提示符:$
root用户登录后系统的提示符:#
如何 修改命令提示符
PS1 的变量控制的
默认的命令提示符
echo $PS1
结果是
[\u@\h \W]\$
修改变量的值
PS1="[\u@\h \w \t]\$"
[root@oldboy_python ~]# echo $PS1
[\u@\h \W]\$
可以自行调整全局变量/etc/profile文件用于永久生效 PS1='[\u@\h \W\t]\$'
\d 日期
\H 完整主机名
\h 主机名第一个名字
\t 时间24小时制HHMMSS
\T 时间12小时制
\A 时间24小时制HHMM
\u 当前用户账号名
\v BASH的版本
\w 完整工作目录
\W 利用basename取得工作目录名
\# 下达的第几个命令
\$ 提示字符,root为#,普通用户为$
PS1 > 变量名
$PS1 > 查看变量内容
PS1=新内容 重新赋值
变量赋值,查看
name='chaoge'
echo $name
PS1显示ip地址
export PS1="[\u@\h `/sbin/ifconfig ens33 | sed -nr 's/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p'` \w]\$"
10.
命令,解释
tty 查看当前终端
who am i 仅显示当前用户正在使用的终端和登录时间
w 查看所有终端(功能最全,显示用户名,终端标记,登录时间,负载等信息)
11.
linux下的记事本工具 叫做 vi
linux下的notepad++ 叫做 vim
#vim的工作流程 1.打开文件 vim filename。此时进入了一个命令模式 2.输入 字母i ,进入编辑模式 3. 输入 esc 键盘 ,退出编辑模式,此时输入 :wq 写入代码,并且保存退出
12.
mkdir -p /tmp/快手/{牌牌琦,alex} #递归创建文件夹 , -p 递归命令 {牌牌琦,alex} #代表快手目录下,有同级的2个文件夹
mkdir -p ./a/b ./c/d 当前目录下创建a和c文件夹,a和c为同级目录
touch 文件名 创建一个文件
13.
#创建普通用户
useradd alex
14.
#更改用户密码
passwd alex
15.
cat 查询小文本文件内容
cat -n xx.py 显示行号
cat >>xx.py<<EOF 给xx.py文件写入内容
more xx.py 查看大文本的命令 查看文件的前十行 head -10 文件名 查看文件的后十行 tail -10 文件名
16.
ls 列出文件夹的内容 -l 以树状显示文件夹 -a 显示隐藏文件
-h 显示文件大小
17.创建一个文件 vi 文件名
18.修改文件名 mv 原文件名 新文件名
19.移动文件路径 mv 文件名 文件路径
20.删除文件或者文件夹
rm 文件名 rm -r 文件夹 rm -r 递归删除 rm -rf 递归强制删除 rm -rf /* 删库跑路
21.查看变量
echo $变量名
echo $PATH 查看path变量的值
22.python的路径要放在path路径的最前面
23.显示终端连接数 w命令
24我在哪 pwd命令
25我是谁 whoami命令
26.找到命令的绝对路径 which 命令 witch python 查看python的绝对路径
27.常用的文件夹
/opt 存放第三方软件的目录 /etc 存放各种配置文件的目录 /var 存放经常变动的文件 /bin 存放可执行文件 /root 存放超级用户家目录 /home 存放普通用户家目录
28.安装tree yum install tree -y
29.
echo追加写入文件 > 重定向覆盖输出符 >> 重定向追加输入符 [root@localhost tmp]# echo "亚洲的第一个秘密" > 亚洲的秘密.txt [root@localhost tmp]# echo "亚洲的第一个秘密" > 亚洲的秘密.txt [root@localhost tmp]# [root@localhost tmp]# [root@localhost tmp]# cat 亚洲的秘密.txt 亚洲的第一个秘密 [root@localhost tmp]# [root@localhost tmp]# [root@localhost tmp]# echo "亚洲的第一个秘密" >> 亚洲的秘密.txt [root@localhost tmp]# echo "亚洲的第一个秘密" >> 亚洲的秘密.txt [root@localhost tmp]# echo "亚洲的第一个秘密" >> 亚洲的秘密.txt
30.实时监控的命令
实时监控的命令,可以用于检测nginx的 access.log 也能看各种日志信息
tail -f filename 实时监控filename的 变化
31.复制的命令
cp 文件 新文件夹
cp -r 文件夹 新文件夹
32.查找命令
查找命令,查找机器上的文件,或者文件夹 find / -name views.py #找到机器上所有的 views.py find /etc -name *.py #找到/etc目录下 所有名字叫做 .py的文件 find / -name python* #找到 机器上 所有的python开头的文件和文件夹 find / -type f -name python* #找到机器上 所有以python开头的文件 find / -type d -name python* #找到机器上所有python开头的文件夹
33.历史记录命令 history命令
history 历史记录命令,记录系统的命令敲过的历史
快捷方式
使用 !加上 命令的序号,可以快捷执行
34.过滤命令grep以及管道符|
grep -v "^$" settings.py | grep -i "allow"
#过滤出文件的有用信息,也就是排除 注释行,空白行 grep -v "^#" settings.py | grep -v "^$" -V表示反转 -i 表示不区分大小写 grep可以匹配正则
35.别名功能alias
alias rm="echo 你这个二货,求你了别坑我了" #当用户输入 rm的时候,就提示他 “你这个二货,求你了别坑我了 ” #取消别名 unalias rm
36.更改主机名字 hostnamectl set-hostname wangdachui
37.xshell的快捷键
ctrl + l 清屏 ctrl + d 是快速推出会话 相当于logout shift + ctrl + r 是快速连接会话
38.远程传输命令scp
scp 你想传输的内容 你想传输到的地方
#实例
#把本地的test.sh 传输到远程服务器上
scp test.sh root@服务器ip:/opt/
scp -r q root@123.206.16.61:/opt/pythonav #将文件夹q递归传递到远程服务器
#把远端服务器的内容,传输到自己的机器上
scp -r root@123.206.16.61:/opt/pythonav /tmp/ #将远程服务器的pythonav文件夹传到自己的机器上
39.windows和linux传输文件的软件lrzsz
yum install lrzsz 的工具
它提供2个命令,一个是上传 一个是下载
rz (接收文件) 直接rz
sz (发送文件) sz 传输的内容
直接拖拽 也可以将windows上的文件传到linux上
40.在线下载资源的命令wget
wget 资源的url #实例 wget http://www.xiaohuar.com/d/file/20190227/257e9f91df2bbd45c537f9416ae3afbb.jpg
41.统计文件 文件夹大小的命令
ls -lh 方式1 du -h 文件 #统计文件大小 du -sh . #统计当前文件夹大小合计 du -sh /var/log #统计/var/log大小
du -h ./* #查看当前目录下文件的大小
42.linux的任务管理器 top
43.linux的时间命令date
linux的时间命令 date 可以查看当前时间日期
进行linux时间同步的命令
ntpdate -u ntp.aliyun.com
44.文件加锁命令charr
chattr +a test.py 文件加锁
chattr -a test.py 文件解锁
45.查看文件的隐藏属性命令lsattr
lsattr test.py
46.linux网卡配置
- ifconfig 查询、设置网卡和ip等参数
- ifup,ifdown 启停网卡 启动/关闭一块网卡 ifup eth0 ifdown eth0
- ip 符合指令,直接修改上述功能
#编辑网卡配置文件 vim /etc/sysconfig/network-scripts/ifcfg-eth0 #修改配置参数 ONBOOT=yes
网卡配置详情如下
网络配置文件: /etc/sysconfig/network 网络接口配置文件: /etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME DEVICE=: 关联的设备名称,要与文件名的后半部“INTERFACE_NAME”保持一致; BOOTPROTO={static|none|dhcp|bootp}: 引导协议;要使用静态地址,使用static或none;dhcp表示使用DHCP服务器获取地址; IPADDR=: IP地址 NETMASK=:子网掩码 GATEWAY=:设定默认网关; ONBOOT=:开机时是否自动激活此网络接口; HWADDR=: 硬件地址,要与硬件中的地址保持一致;可省; USERCTL={yes|no}: 是否允许普通用户控制此接口; PEERDNS={yes|no}: 是否在BOOTPROTO为dhcp时接受由DHCP服务器指定的DNS地址;
47.查看版本信息
#查看系统版本信息 方法1.cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core)
方法2.cat /etc/os-release #查看内核版本号 uname -r 3.10.0-693.el7.x86_64 #查看系统多少位 uname -m x86_64 #查看内核所有信息 uname -a
48.创建用户,切换用户su,查看当前用户,退出用户
#添加用户 useradd oldboy #设置密码 passwd redhat root用户可以修改其他所有人的密码,且不需要验证 su命令可以切换用户身份的需求, su - username su命令中间的-号很重要,意味着完全切换到新的用户,即环境变量信息也变更为新用户的信息 #先看下当前用户(我是谁) whoami #切换用户 su - oldboy #退出用户登录 logout ctrl + d
49.删除用户userdel
userdel删除用户 -f 强制删除用户 -r 同事删除用户以及家目录 userdel -rf 用户名 #一般这样使用,可以将家目录用户一起删除
50.查看系统用户的id信息
id 查看当前用户的ID信息
如:
id root
可以查到用户的gid cid
51.sudo命令,以root的身份来执行命令
操作如下: 1.给用户打开sudo vi /etc/sudoers 2.找到如下,添加用户 ## Allow root to run any commands anywhere root ALL=(ALL) ALL 用户名 ALL=(ALL) ALL 3.保存退出后,用户即可使用sudo命令了 visudo的功能 visodu命令,提供对/etc/sudoers文件,进行配置检测的功能
52.linux的权限
Linux权限主要依据三种身份来决定: user/owner 文件使用者,文件属于哪 个用户 group 属组,文件属于哪个组 others 既不是user,也不再group,就是other,其他人 查看文件的权限命令:ll
53.
linux有三个用户身份 可读可写可执行 是有顺序的 依次是可读可写可执行 user 属主 rwx r-- -w- --x r-x group 属组 rwx --- others 其他人 rwx
54.修改文件的权限chmod
chmod u+r file1 给file1 属主可读权限 chmod 666 file2 给file2 更改666权限,意思是用户主可读可写,用户组可读可写,其他可读可写 r --4 w --2 x --1
55.更改文件属主chown chown 用户名 文件名
56.更改文件属组chgrp
chgrp 用户组名 文件
如 :chgrp a用户 a.py
57.linux的软连接配置ln
ln -s 目标文件绝对路径 软连接绝对路径 如: ln -s /tmp/file1.txt /opt/file2.txt
通过软连接查看文件
cat /opt/file2.txt
删除软连接 rm -rf /opt/file2.txt
58.打包,解包命令
#打包文件-c ,不节省磁盘 tar -cvf 打包文件的名字.tar 要打包的内容 #压缩且打包文件 -c -z tar -zcvf 压缩文件名.tar.gz 要压缩的内容 #解压缩 tar -xf 解包文件名.tar tar -zxvf 解包文件名.tar.gz xz -d xx.tar.gz.xz 解压.xz文件
tar(选项)(参数)
-A或--catenate:新增文件到以存在的备份文件;
-B:设置区块大小;
-c或--create:建立新的备份文件;
-C <目录>:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
-d:记录文件的差别;
-x或--extract或--get:从备份文件中还原文件;
-t或--list:列出备份文件的内容;
-z或--gzip或--ungzip:通过gzip指令处理备份文件;
-Z或--compress或--uncompress:通过compress指令处理备份文件;
-f<备份文件>或--file=<备份文件>:指定备份文件;
-v或--verbose:显示指令执行过程;
-r:添加文件到已经压缩的文件;
-u:添加改变了和现有的文件到已经存在的压缩文件;
-j:支持bzip2解压文件;
-v:显示操作过程;
-l:文件系统边界设置;
-k:保留原有文件不覆盖;
-m:保留文件不被覆盖;
-w:确认压缩文件的正确性;
-p或--same-permissions:用原来的文件权限还原文件;
-P或--absolute-names:文件名使用绝对名称,不移除文件名称前的“/”号;
-N <日期格式> 或 --newer=<日期时间>:只将较指定日期更新的文件保存到备份文件里;
--exclude=<范本样式>:排除符合范本样式的文件。
59.查看进程
ps -ef 查看全部进程
ps -ef |grep python #检查python进程是否存活
60.查看端口
netstat -tunlp #查看全部进程的端口
netstat -tunlp | grep 8000 查看端口是8000的进程是否存活
61.杀死计算机进程
#杀死计算机的进程 1.通过ps -ef | grep 文件名 #找到进程的pid号 2.通过kill pid #杀死进程
参数 -9 强制终止 #批量杀死进程 pkill 你想杀死的任务名字 pkill python #杀死全部的python
62.linux防火墙功能
1.linux有俩防火墙,可能会影响咱们的 web服务部署 一个是selinux 二个是iptables 三个,云服务器对外提供防火墙服务的 硬件防火墙 2.关闭防火墙的步骤 iptables -F #清空防火墙规则 systemctl stop firewalld #关闭防火墙服务 systemctl disable firewalld #禁止防火墙开机自启 3.关闭selinux 步骤如下 1.打开文件vim /etc/selinux/config 2.临时修改selinux,临时关闭 getenforce #获取selinux状态 setenforce 0 #临时关闭 想要永久关闭seliunux,执行3,4步骤 3.修改代码如下 SELINUX=disabled 4.重启机器后,生效
63.查看系统磁盘使用量df
如何统计磁盘剩余量--df,如何查看cpu状态 top
#查看系统磁盘使用量
df -h
df(选项)(参数) -h或--human-readable:以可读性较高的方式来显示信息
64.dns域名解析
DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)
1.域名是什么 就是一堆字符串,对应着服务器的ip地址 www.baidu.com www.taobao.com www.pythonav.com 2.hosts文件是什么 本地写死了的 域名和ip的对应记录 如:123.206.16.61 s18666.com hosts的配置文件 vim /etc/hosts 3. 什么是dns,域名解析系统 dns公网的域名服务器,常见的有 114.114.114.114 144dns服务器 223.5.5.5 阿里的dns 223.6.6.6 阿里的dns 8.8.8.8 谷歌的dns 4.linux的dns配置文件 vim /etc/resolv.conf 写入dns服务器地址,以后linux的域名解析,就去它这寻找记录 nameserver 114.114.114.114 5.检测域名解析 nslookup 命令 如下: [root@wangdachui tmp]# nslookup pythonav.com Server: 114.114.114.114 Address: 114.114.114.114#53 Non-authoritative answer: Name: pythonav.com Address: 39.97.163.132
65.linux的定时任务 crontab服务
vim /etc/crontab #打开文件,查看语法规则 编辑定时任务的文件 crontab -e 查看命令绝对路径 which 命令 #每分钟写入一个信息到文件中 * * * * * /usr/bin/echo "老弟啊,学习很累啊" >> /tmp/xd.txt #每分钟执行一次命令 分 时 日 月 周 * * * * * 命令绝对路径 * * * * * 执行命令 #每小时的3,15分组执行命令 分 时 日 月 周 * * * * * 命令绝对路径 3,15 * * * * 执行 #在上午8,11点的第3分到15分钟执行 分 时 日 月 周 * * * * * 命令绝对路径 3-15 8,11 * * * #每晚21:30执行命令 分 时 日 月 周 * * * * * 命令绝对路径 30 21 * * * 命令 #没周六、日的1:30执行命令 分 时 日 月 周 * * * * * 命令绝对路径 30 1 * * 6,0 命令 #每周一到周五的凌晨1点,清空/tmp目录的所有文件 分 时 日 月 周 * * * * * 命令绝对路径 00 1 * * 1-5 /usr/bin/rm -rf /tmp/* #每晚的21:30重启nginx 分 时 日 月 周 * * * * * 命令绝对路径 30 21 * * * /usr/bin/systemctl restart nginx #每月的1,10,22日的4:45重启nginx 分 时 日 月 周 * * * * * 命令绝对路径 45 4 1,10,22 * * /usr/bin/systemctl restart nginx #每个星期一的上午8点到11点的第3和15分钟执行命令 分 时 日 月 周 * * * * * 命令绝对路径 3,15 8-11 * * 1 执行命令
crontab (选项)(参数) -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该用户的计时器设置; -u<用户名称>:指定要设定计时器的用户名称。 存放定时任务的文件 /var/spool/cron
66.检测crontab是否开机启动 systemctl is-enabled crond
67.linux的软件包管理
安装 软件的方式有三种 源代码编译安装 yum安装 rpm手动安装 1.源代码编译安装() 1.下载python3的源代码wget 2.解压缩源代码 tar 3.进入源代码目录,开始编译安装 mark && mark install 4.配置环境变量 2.yum方式安装,如同pip工具,自动搜索依赖关系,自动下载解决依赖关系 yum安装的软件也是从centos官网的,yum软件仓库中下载来的 4.yum源的工作目录是/etc/yum.repos.d目录 并且只有在这个目录的第一层的 *.repo文件,才会被识别为 yum仓库文件 5. 提前下载好wget工具 yum install wget -y 6.下载阿里云的yum源 https://opsx.alibaba.com/mirror 下载yum源1 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 参数-O 指定将文件下载到的位置
下载yum源2 (常用的yum源) wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo 7.测试阿里云的yum工具,安装nginx软件 yum install nginx 8.安装完毕启动,系统服务启动命令 systemctl start/stop/restart nginx
3.rpm方式手动安装
mysql-5.5.6.rpm
安装这个rpm
rpm -ivh mysql-5.5.6.rpm
需要手动解决软件依赖关系,非常恶心难以解决