admin管理员组

文章数量:1533913

linux 中执行python文件 :   ./info.py

查看python路径   :  which python3

#!/usr/local/bin/python3 :  表示声明操作系统使用指定的python解释器去执行

其中#有三种含义:

1 表示一个注释,

2 表示指定文件编码格式

3 表示操作系统直接执行文件选择的解释器

Ubuntu软件安装

    mac: .dmg

     linux: .deb

     windows: .exe

远程访问SSH

#安装ssh

yum install openssh-server -y

#linux /etc  是全局配置文件

#vi /etc/ssh/sshd_config #这是ssh的配置文件

#Port : 端口号 默认22

#ListenAddress :允许访问的地址 默认0.0.0.0任意地址

#PermitRootLogin : root用户登录权限 yes

#PasswordAuthentication : 使用密码作为验证方式  yes

#:wq 保存退出

#service sshd restart #重启ssh服务

#systemctl stop|start|restart sshd.service   #重启ssh服务

#检查当前主机是否开启22端口

netstat -an | grep 22

ssh 用户名@ip:端口

ssh root@47.103.105.184

基本命令

#查看ip地址,不能查看公网

ifconfig

ip addr

#验证对方网络是否连通

ping IP/域名

#查看命令 指定路径下的文件和子目录\链接

ls

#查看当前路径

pwd

#切换路径

cd   回到家目录

cd . 当前路径

cd .. 上级路径

cd ~ 回到家目录

cd / 去根目录

cd - 回到上一次操作的目录

cd /etc/abcd  前往指定的目录

#[root@localhost ~]#  : [root用户名@主机名 路径]#

#[hal@localhost ~]$ : [hal@localhost ~]$

#关机重启

#ssh root@10.11.54.36

init 0 #立马关机

shutdown now #立马关机 不用

shutdown -h +5 "注意保存5分钟以后关机" #延迟关机

shutdown -h 15:43 "注意保存15:43分钟关机"  #指定时间关机

shutdown -c #取消关机命令

shutdowm -r 15:43 "注意保存15:43分钟关机"  #重启

reboot #立马重启

init 6 #立马重启

#时间和日历

date #时间日期

cal #日历

#上下键可以查询历史输入记录

Linux中的系统目录

/:根目录,文件的最顶端,/etc、/bin、/dev、/lib、/sbin 应该和根目录放在同一个分区,/usr/local 可以单独放置一个分区

/bin :存放系统所需要的重要命令,ls,cp,mkdir 等,usr/bin 也存放了一些系统命令,这些命令对应的文件都是可执行的,普通用户可以使用大部分的命令,其实就是一些二进制文件。

/boot:存放Linux启动时内核及引导系统程序所需要的核心文件,内核文件和grub 系统引导管理器都位于此目录

X/dev:存放Linux 系统下的设备文件,如光驱,磁盘等。访问该目录下的某个文件相当于访问某个硬件设备,常用的是挂在光驱

/etc:一般存放系统的配置文件,作为一些软件启动时默认配置文件读取的目录,如

/etc/fstab存放系统分区信息

/home:系统默认的用户主目录

X/lib:主要存放动态链接库

X/lost+found:存放一些当系统以外崩溃或机器意外关机时产生的文件碎片

X/mnt:用于存放挂载储存设备的挂载目录

/proc:存放操作系统运行时的运行信息,如进程信息、内核信息、网络信息,如/etc/cpuinfo存放CPU的相关信息。process

/root:Linux超级权限用户的root目录

/sbin:存放一些系统管理的命令,一般只能由超级权限用户root执行。

/tmp:临时文件目录,任何人都可以访问。系统软件或用户运行程序如MySQL时产生的临时文件存放到这里,此目录数据需要定期清除。中号数据不可放置在此目录下,此目录空间不宜过小

/usr:应用程序存放目录,如命令、帮助文档等。安装Linux软件包时默认安装到/usr/local目录下

/data :存放各种类型数据库文件的

X/var:这个目录的内容经常变动的,/var/log用于存放系统日志,/var/lib存放系统库文件等。

X/sys:目录与/proc类似,是一个虚拟的文件系统,主要记录与系统核心相关的信息,入系统当前已经载入的模块信息等。这个目录实际不占磁盘容量。

X/media    媒体设备,可以挂载一些设备到这里

X/opt    可选的附加程序,有时候一些软件安装的地方

LS

ls : 显示当前目录下所有的文件和文件夹

ls  目录路径  : 显示指定目录下的文件和文件夹

    常用参数

    -a : 显示目录下所有文件

            linux里面,以点开头的文件都是隐藏文件

    -l : 以列表的形式显示所有文件

    -s : 以kB显示文件大小

    -R : 递归的显示目录下面所有的文件(yum install tree -y)代替

    

ls -ano

LL

ll之后显示的文件详细信息的内容

        第一列:文件的类型

            d:目录

            -:文件

            l:链接

            c:字符设备

            b:块设备

        第二列到第十列:文件的权限

        第十一列:就是一个点,如果开启了selinux,前面就有点,如果没有开启的时候,创建的目录就没有点

        第十二列:

            目录:子目录的个数

            文件:硬链接的个数

        第十三列:该文件属于哪个用户

        第十四列:该文件属于哪个组

        第十五列:文件大小

        第十六列-第十八列:文件的创建时间

        第十九列:文件的名字

VI/VIM编辑器

vi:原生自带的

vim:vi的增强版,需要安装: yum install vim -y

简单使用:

        1、vi  文件名   如果文件不存在,则创建之,如果存在,则打开之

        2、一进来这个界面称之为vi的指令模式

        3、输入小写字母  i(insert)   进入到编辑模式(插入模式)

        4、编辑你的文件

        5、先按一下  esc  ,退出编辑模式到指令模式

        6、输入 :   该冒号为英文冒号,进入到底行模式

        7、输入 wq  保存并退出

vim的用法(vi和vim一样)

        指令模式:vi一进来就是该模式

        编辑模式:按i切换到该模式

        底行模式:输入英文冒号进入底行模式

        

        命令模式-->编辑模式

        i:直接在当前光标处开始编辑

        I:从光标所在行第一个非空字符开始编辑

        a:在光标后一个开始编辑

        A:在光标所在行的末尾开始编辑

        o:在光标所在行下一行,另起一行开始编辑

        O:在光标所在行上一行,另起一行开始编辑

        s:删除光标所在字符开始编辑

        S:删除光标所在行开始编辑

        

        命令模式下的快捷键

        gg:光标快速定位到第一行行首

        G:光标快速的定位到末行行首

        ngg:光标快速定位到第n行行首

        ^ : 光标快速定位到该行行首

        $ : 光标快速定位到该行行尾

        dd:删除光标所在行

        ndd:删除光标下n行

        yy:复制光标所在行

        p:粘贴到光标的下面

        nyy:复制光标下n行

        np:粘贴n次

        u:撤销到上一次操作   undo

        :删除文件所有内容

        ctrl+f : 下一页   forward

        ctrl+b: 上一页    back

        ctrl+d: 向下翻半页  down

        ctrl+u: 向上翻半页  up

        zt:将光标所在行放到屏幕的最顶部  top

        zb:将光标所在行放到屏幕的最底部  bottom

        zz:将光标所在行放到屏幕正中间    中间

        

        底行模式下的指令

        :set nu  显示行号

        :set nonu  取消显示行号:

        查找字符串

            :/香水   先按enter,然后按n找下一个,按N找上一个   从上往下找

            :?香水   先按enter,然后按n找下一个,按N找上一个   从下往上找

        字符串替换

            :s/闺蜜/小蜜    将光标所在行的第一个闺蜜替换为小蜜

            :s/闺蜜/小蜜/g  将光标所在行的所有闺蜜替换为小蜜

            :n,s/闺蜜/小蜜  将指定行的第一个闺蜜替换为小蜜

            :n,s/闺蜜/小蜜/g  将指定行的所有闺蜜替换为小蜜

            :%s/闺蜜/小蜜    将每一行的第一个闺蜜替换为小蜜

            :%s/闺蜜/小蜜/g  将每一行的所有闺蜜替换为小蜜

        :wq    保存并退出

        :q     不保存退出

        :q!    不保存,强制退出

        :x     保存并退出

        :wq!   强制保存退出

        shift+zz  保存并退出

        

        简便操作

        vim demo.txt +15   打开文件并且指定到第15行

        vim demo.txt +     打开文件并且指定到尾行

        

        当非法关闭正在编辑的文件的时候,再次打开文件会有提示信息,这个时候不要慌,不要急,敲enter就可以进来,如果想要保存上次写的东西   vi -r 1.txt

        将产生的交换文件删除掉   rm .1.txt.swp

        

        #vim的配置文件vim /etc/vimrc    

        1.添加永久显示行号

            vim /etc/vimrc +

            

        2.在最后一行添加:set number

            

        3.然后:wq

创建命令

#创建文件

touch 文件的路径

vim 路径:wq

#创建目录

mkdir 路径

-p 递归创建

移动命令

mv 源路径(相对的,绝对的) 目标路径

mv 源名称 新名称

mv 源路径/源名称 目标路径/新名称

拷贝命令

cp 源路径(相对的,绝对的) 目标路径 #复制

cp 原来的名称 原来的名称.back #文件备份

cp -r 文件夹名称 新名称 #递归拷贝目录

删除命令

rm 文件路径 # 删除普通文件

rm -f 文件路径 # 强制删除普通文件

rm -r 文件路径 # 删除目录

rm -rf 文件路径 # 强制删除目录

查看命令

cat 文件路径 #查看文件内容

tac 文件路径 #逆序查看文件内容

head -n 文件路径 #默认查看10行

tail -n 文件路径 #默认查看10行

more 文件路径 #enter向下 space向下一页 q推出

less 文件路径 #enter向下一行 space向下一页 pageup pagedown

#:/靓女

wc 文件路径 # 查看行数 字节数 文件名

输出

echo str|num|varables

#变量定义,等于号两边不能有空格

abc=123

#输出变量,变量前面一定要带有$

echo $abc

重定向

#/etc/vimrc #vim配置项

echo "123" > 2.py #覆盖重写

echo "set nu" >> /etc/vimrc #文件的尾部追加

用户管理

用户和组是直接挂钩的

一个用户只能属于一个组

一个组可以包含多个用户

所有的软件要安装,都需要建立用户[伪用户],使用伪用户创建文件和文件夹的

#查看用户

cat /etc/passwd

#root:x:0:0:root:/root:/bin/bash

#第一项 root 用户名

#第二项 x 权限

#第三项 0 用户id

#第四项 0 用户组id

#第五项 root 用户组名称

#第六项 /root 用户home目录

#第七项 /bin/bash shell语言类别

#创建用户

useradd 用户名

-g : 组编号(如果不写,则使用uid作为组编号)

-u : 指定用户id(如果不写自动增长)

-d : 指定分配家目录(不过写那么使用用户名作为家目录)

#useradd admin1 -g 0

#设置密码(修改密码)

passwd 用户名

#连续输入两次密码(中间的所有提示可以忽略[密码不一致])

#修改用户

usermod 用户名

-g : 组编号(如果不写,则使用uid作为组编号)

-u : 指定用户id(如果不写自动增长)

-d : 指定分配家目录(不过写那么使用用户名作为家目录)

-l : 新的用户名 原来的名称

#修改用户名

#1.退出被修改的用户

#2.修改命令

#3.将原先的家目录重命名

#usermod -l adminsuper admin1 -d /home/adminsuper

#mv admin1 adminsuper

#去除用户

userdel 用户名 #仅仅删除用户名 不删除家目录

userdel -r 用户名 #全部删除

组管理

#用户

#切换用户

sudo su #借用管理员账户

#大部分的用户不在/etc/sudoers之中

#使用root用chmod 640 /etc/sudoers

#vim /etc/sudoers +

#添加 adminsuper ALL=(ALL) ALL

#adminsuper可以使用root权限了

sudo yum install mysql

#查看组

cat /etc/group

#添加

groupadd 组名

-g 指定组id

#修改

groupmod

-g 修改组id

-n 修改组名 # groupmod -n 新名字 旧名字

#删除

groupdel 组名

#如果一个组是某个用户的主组,那么这个组不允许被删除,你需要首先删除这个用户

#如果一个组是系统自动为用户创建的,那么删除用户的时候会自动将这个同名的组给删除掉

文件权限

类型

描述

数值

r

可读

4

w

可写

2

x

可执行

1

-

0

#Linux写法 二进制编码 权值 描述

--- 000 0 无权限

--x 001 1 可执行[目录]

-w- 010 2 可写

-wx 011 3 可写执行

r-- 100 4 可读

r-x 101 5 可读可执行

rw- 110 6 可读可写

rwx 111 7 可读可写写执行

#该用户 组内用户权限 其它用户权限 编号

文件: rw- r-- r-- 644

目录: rwx r-x r-x 755

#修改权限

文件: chmod 777 文件名称 # chmod 777 /home/demo/*.py

目录: chmod 777 目录名称 #只修改当前目录权限,子文件权限不变

chmod -R 777 目录名称 #把目录下所有的文件统一权限

#修改权限

#u:user(用户) g:group(组) o:other(其它)

chmod u+w,g+x,o+x 1.py #给用户添加w,组添加x,其他用户添加x

chmod u+w,g+x,o-x,o-w 1.py #给用户添加w,组添加x,其他用户去除wx权限

#将文件重新分配给用户和组

#-rw-r--r--. 1 root(创建用户的昵称) root(创建组的昵称)

#用户所属权更替

chown adminsuper /root/1.py #把/root/1.py所属权交给adminsuper

#组所属权更替

chgrp sankou /root/1.py #把/root/1.py所属权交给sankou组

文件搜索

#find 查找命令

#语法 : find [路径] [参数]

#-name 按照文件的名称进行查找

#-size 按照文件大小进行查找 10k(=10kb) +10k(>10kb) -10kb(<10kb)

#-user 按照所属用户名

#-group 按照组名

#-maxdepth -mindepth 按照层级进行查找

#-ctime 按照创建的时间查找[写到天2019/8/8]

find / -name *.txt #从根目录开始查找所有的txt文件

find /root -name *销售额.csv #从/root目录开始查找所有的指定文件

find / -name *.sh -size +10k #从根目录开始查找所有的大于10kb的sh文件

find / -maxdepth 4 -mindepth 2 -name *.sh #从根目录开始查找所有2-4层级之间的所有文件

#模糊

whereis 软件名称

文件内容搜索

#grep 内容匹配命令

#语法 : grep [关键字] [路径] [参数]

#-c 内容个数

#-i 不区分大小

#-n 显示内容行号

#-r 递归查找

#-l 只显示文件名

#-E 正则匹配

#--color=auto 显示高亮

grep 无聊 /root/* #从/root下所有的文件中搜索 关键字

grep 无聊 /root/* -l #从/root下所有的文件中搜索 关键字 返回文件名

grep -E '.*?' /root/* #正则匹配

管道命令

#查找指定内容的

#把上一组的信息传递给下一组命令执行再处理

ls /etc | grep pki #先执行ls /etc,把上个命令中的内容交给grep pki,返回结果

ps -aux | grep sshd | grep -v grep #进程管理,不显示grep进程

上传和下载

#ssh+copy=scp

#上传语法

scp -r 需要被上传文件夹路劲 用户名@IP地址:路径

#下载语法

scp -r 用户名@IP地址:下载的文件路径 当前的保存路径

建立主机信任

不需要密码验证

需要使用ssh

#Windows或Mac OS

#那么需要依赖终端

#单项加密 : MD5 SHA256

#普通加密 : 加的过去,解的回来base64

#RSA:public-key private-key 公共钥匙给对方

#1.需要生成RSA非对称加密

ssh-keygen -t rsa #默认使用rsa

#2.找到用户home目录中的.ssh

id_rsa是私钥

id_rsa.pub是公钥

#把公钥发送给想要免密登录的主机的home目录下的.shh/authorized_keys

#authorized_keys 服务器中记录可以免密登录的钥匙

scp -r /c/Users/asus/.ssh/id_rsa.pub root@47.103.105.184:/root/.ssh/10.11.54.20.id_rsa.pub

#对方服务器需要切换路径 cd /root/.shh

#对方服务器需要把公钥追加到authorized_keys

cat 10.11.54.20.id_rsa.pub >> authorized_keys

软硬链接

为了解决文件或目录共享问题的

#硬链接

#语法 : ln 源文件路径 指定展示路径

#相当于给文件起了一个别名,硬链接不能给目录创建,用户和组不动

#差不多就是复制

#软链接

#语法 : ln -s 源文件路径 指定展示路径

#真正的快捷方式,当源文件丢失,链接会变成死链接,如果重新创建了一个源文件,链接恢复

#软连接可以对文件和目录作用

压缩和解压

#win : rar zip 7zip

#Mac : zip

#Linux : gzip tar bzip

zip\unzip

处理windows中.zip的文件格式

gzip\gunzip

.gzip #文件格式

(1)不保存源文件

(2)不能打包压缩

bzip2\bunzip2

.bzip #文件格式

(1)默认不能打包压缩

(2)-k 保存源文件

tar(解压和压缩)

#比gzip和bzip功能强大,基于gzip和bzip的

(1)gzip : .tar.gz

(2)bzip : .tar.bz

参数:

-c : 打包文件或文件夹

-z : 使用gzip格式压缩(默认)

-j : 使用bizp2格式压缩

-f : 指定压缩的名称,把尾缀名放到最后

-v : 显示执行过程

-x : 解压

#压缩语法 : tar -zcvf 压缩包名称.tar.gz 文件名称

#                 tar -jcvf 压缩包名称.tar.bz 文件名称

#解压语法 : tar -xvf 压缩包名称.tar.gz

#                 tar -jxvf 压缩包名称.tar.bz

服务和进程

#在计算机系统中,service就是一个应用 : MySQL Python Anaconda3

#进程管理

#进程

ps

参数:

-e : 显示运行时间(TIME) 进程的ID(PID) 应用的名称(CMD)

-f : 显示命令内容

-a : 当前进程信息

-u :USER(用户) PID(进程ID) %CPU(CPU消耗) %MEM(内存消耗) COMMAND(备注信息)

-x : 所有信息

ps -aux #查看综合所有信息

ps -ef #查看综合所有信息

ps -aux | grep sshd | grep -v grep #查看ssh服务是否开启

#强制终止某个程序

kill -9 PID

#开启服务

service sshd start|stop|restart|status

systemctl start|stop|restart|status sshd.service

#守护进程,后台运行项

#unix PID=1 #Linux基于Unix再封装

#tcp PID=1023 #等待链接

netstat -lnp

#进程的全局信息

top|htop

软件安装

yum源安装

wget远程下载安装 : 脚本安装和编译安装

#yum是Centos的软件'商店'

#yum有很多的源 : 网易源 清华源 中科大源 阿里源 等等

#安装网络下载器

yum install wget -y

#配置源(网络不佳):

#源的存储位置 cd /etc/yum.repos.d/

#以前的源要么保留备份,要么删除

mv CentOS-Base.repo  CentOS-Base.repo.back

#在网络中下载新的源文件 web-get

wget http://mirrors.aliyun/repo/Centos-7.repo

#对ali源备份

cp Centos-7.repo  Centos-aliyun.repo

#将ali源修改成Base

mv Centos-7.repo  CentOS-Base.repo

#清空源的缓存

yum clean all

#从新生成缓存

yum makecache

#更新源

yum update

#安装

yum install 软件名 -y

#卸载

yum remove 软件名 -y

#显示所有安装

yum list

#搜索源仓库中的软件

yum search 软件

#只下载不安装

#yum download 软件

-- downloadonly #只下载不安装

-- downloaddir=路径 #指定下载到什么路径

#redhat系列的包后缀名都叫rpm

#安装

rpm -ivh 包名

#卸载

rpm -e 包名

#其它项

rpm -ql 查询包的安装路径

rpm -qa 查询所有的相关项

rpm -qi 显示包信息

#编译安装

#编译安装的软件如果需要卸载,需要手动查询安装路径,逐个删除

#1.centos7 的yum源目前支持的python版本是3.5,所以要安装3.7版本只能在官网下载

yum -y install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel wget

#2.#wget是网络下载获取的工具

wget https://www.python/ftp/python/3.7.5/Python-3.7.5.tgz

#3.#gcc是C语言的编译工具,我们的linux和python或者其它的文件都是由C语言构成的.所以要使用gcc作为依赖包

yum -y install gcc

#4.#python的编译依赖

yum -y install zlib zlib-devel

#5.#tgz压缩包解压

tar -zxvf Python-3.7.5.tgz

cd Python-3.7.5

yum -y install gcc

#6.把Python3.7安装到 /usr/local 目录

./configure --prefix=/usr/local [--with=ssl]

make install

========================================================

cd /usr/local/bin

./python3.7

./pip7

#卸载编译的软件

whereis python3

#全部删除

rm -rf /usr/local/lib/python37

Git代码云仓库

#我们在公司写脚本,把脚本上传到git中,防止代码丢失损坏

#中国国内有很多的免费仓库可以使用gitee(码云)

#下载git

#windows中百度下载,git-bash

#mac : brew install git

#linux : yum install git

#git配置

git config --global user.name "ruidong"

git config --global user.email "this_my_email@126"

#克隆代码

git clone https://gitee/ruidong/demo1.git

#把本地新文件同步到云端

#.git 本地缓存文件

git add . #1.把新的变化记录到本地缓存中

git commit -m "添加了2.py和demo.ipynb" #2.把缓存信息告知给云端

git push --all #3.将文件推送到云端

#每天早上跟新

git pull

本文标签: 操作简单Linux