Linux的基本命令2

ifconfig  查询、设置网卡和ip等参数
ifup  ens33  启动网卡

ifdown   关闭网卡
 脚本命令,更简单的方式启动关闭网络
ip  符


systemctl restart/start/stop  network

qq群

群主     root 拥有至高无上的权利


管理员  是root用户给与他一些超级权限

渣渣   小白用户,只有自己基本的权限


创建普通用户
useradd  用户名  存放用户信息到 /etc/passwd
passwd  用户名         给指定用户修改密码。如果不指定用户,修改当前登录的用户的密码

linux 命令 id命令
id root  查看root的用户id (uid)  以及组id(gid  gourp id )


/etc/passwd 存放用户信息
/etc/group  存放用户组信息
通过id命令查看用户信息
id  xiaobai

切换用户身份


root用户切换普通用户 不要密码
反之需要输入root密码

su  -  用户名
注意  中间的  -  代表完全切换,连同环境变量都切换了

退出登录 exit  logout


xshell快捷键
ctrl + l  清屏
ctrl + d  退出登录
ctrl + shift + r  快速登录


linux命令提示符的变量 PS1变量

修改命令提示符,添加 绝对路径,和时间

PS1="[u@h w ]$"               ??????

用户组添加

groupadd 用户组名


删除用户
userdel  用户名


用root身份去执行命令 sudo
编辑这个文件,写入一些配置
vi /etc/sudoers
找到这一行配置

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
zhaoyining      ALL=(ALL)       ALL



visudo命令,提供语法检测,检测/etc/sudoers文件的编写语法


修改主机名
hostnamectl set-hostname s15nb

文件与目录权限篇

-rw-r--r--. 1 root             root        712819 Dec  7 08:17 girl.gif        文件
drwxr-xr-x. 2 root             root      6 Dec 26 20:49 nb            文件夹

权限相关    软连接数    属于哪个用户      属于哪个组  文件大小   日期   文件名

文件夹的权限
d    rwx(user)        r-x(group)            r-x(others)
    root用户的    属于root组里的        既不是root用户,又不再root组的权限

    
    
    
-    rw-    r--    r--

d 代表文件夹
-  代表普通文件


r  read 可读  
w    write 可写
x    可执行
-   代表没有权限


属主

属组



-rw-r--r--. 1 root root     28 Dec 26 20:57 zhaoyiningnibiewanshoujila
这个文件属主 root
属组  root  
是什么类型文件 是 -  普通文件
权限是什么 rw-r--r--
    这个文件属主的权限是 rw-
    这个文件的属组的权限是  r--
    其他人的权限是  r--
对于普通文件的可读可写可执行
可读  cat vi more less head tail  tac
可写   echo  vi  >重定向符号啦
可执行  二进制程序,可以运行的程序

文件夹的可读写执行

可读 ls  
可写 在文件夹当中创建文件
可执行 cd

r    可以对此目录执行ls列出所有文件
w    可以在这个目录创建文件
x    可以cd进入这个目录,或者查看详细信息

rwx对应 4+2+1  777

r  4
w   2
x 1
5(user)4(group)6 (other)  转化字母   r-xr--rw-

000  ------
010  -----x---

rw-r----x    6 4  1

777  rwxrwxrwx

文件创建时间 Dec 26 20:57
文件大小 28


修改文件权限的命令
chmod  change  mode 缩写

-rw-r--r--
普通文件,user rw-    group  r--   other  r--

chmod u+ file
-rwxr--r--
chmod g-r  file
-rw----r--
chmod o+w file
-rw-r--rw-


-rwxrwxrwx. 1 root root  0 Dec 26 21:41 123.txt
chmod   531 123.txt

-r-x-wx--x  123.txt
531

改变用户的属主
chown  change owner 更改拥有者
chown  用户名  file
更改属组
chgrp  组名   file   ???

如何查看当前文件在哪个目录下  ???



#软连接配置

ln命令   ???

ln -s  目标文件绝对地址  快捷方式的绝对路径地址

ln -s  /opt/cs.txt   /home/cs.txt

py3  /opt/python36/bin/python3.6  解释器绝对路径

python的时候,就去path中寻找

将python3.6的解释器,添加快捷方式到 /usr/local/sbin/python3.6

当我们输入python的时候
ln -s /opt/python36/bin/python3.6     /usr/local/sbin/

软连接和path添加,二选一即可


echo $path
[root@s15fafafa home]# echo $PATH
PATH变量只能添加目录,不能定位到文件
将某个文件地下所有内容,都加入环境变量
/usr/local/sbin
:/usr/local/bin
:/usr/sbin
:/usr/bin
:/root/bin

#假设不用这个
:/opt/python36/bin/   这才是正确的添加python环境变量



tar压缩解压命令

lrzsz 上传下载的小工具

xftp 文件传输工具

tar 命令

-c  压缩参数
-x  解压参数
-v  显示过程
-f  指定文件   这个参数要写在最后

语法
压缩文件
tar  -cf  压缩文件名    想压缩的内容
解压文件
tar -xf  压缩文件名


查看网络端口
django运行后,会怎么样?
开通了一个端口  8000
产生了一个进程
产生日志
可能会出现一堆大黄页


linux一个程序运行后

ps -ef|grep  查看任务是否运行有进程
netstat -tunlp | grep  查看任务的端口是否启动

来自于同一台机器的三个ip
0.0.0.0          127.0.0.1 加上 192.168.12.13 ,暴露应用又在对外的ip地址,又暴露在自己的回环地址

127.0.0.1        本机回环地址 ,代表机器自己的内部一个ip,其他人访问不到,并且每个人都有自己的127.0.0.1

192.168.12.13  本地对外可以提供访问的 ip地址 ,每个人都不一样



python manage.py  runserver   启动django

python manage.py  runserver  192.168.12.13 8000  在 192.168.12.13地址上启动 8000 端口提供访问

其他人访问地址192.168.12.13:8000   


python manage.py  runserver  默认启动在 127.0.0.1  8000

其他人访问不到你的django

python manage.py  runserver  0.0.0.0  8000
其他人可以访问 你的机器地址 192.168.12.13:8000 即可

如果你没有ifconfig
输入这个命令,安装一个软件
yum install net-tools -y


如果你发现你有些命令没有,在确保你没敲错的情况下,就是没安装这个命令

在你装机的时候,最小化安装,可能只有 500个软件
选择 web服务器软件包安装  1000个软件

如果你缺少命令,不要怕。缺什么装什么
yum 这个软件管理命令去安装




端口查看

netstat -tunlp |grep 8000  过滤出 django的8000端口是否存货


netstat [选项]
-t或--tcp:显示TCP传输协议的连线状况;
-u或--udp:显示UDP传输协议的连线状况;
-n或--numeric:直接使用ip地址,而不通过域名服务器;
-l或--listening:显示监控中的服务器的Socket;
-p或--programs:显示正在使用Socket的程序识别码和程序名称;
-a或--all:显示所有连线中的Socket;

ps 命令查询进程                                                                                                                                                                                
ps -ef  |grep mysql
ps -ef|grep  nginx


杀死进程的命令

kill 命令   如果你kill一个进程,死活杀不死,就加上 -9  
-9  强制终止信号(危险命令)  强制杀死进程,以及进程相关的依赖

kill -9  uwsgi

kill -9  mysqld




selinux 内置的防火墙

查询selinux状态    ????不能运行
getenforce
暂时停止selinxu
setenforce 0
永久关闭selinux
vi /etc/selinux/conf     ????里面没有东西
#     enforcing - SELinux security policy is enforced.          开启
#     permissive - SELinux prints warnings instead of enforcing.        临时关闭
#     disabled - No SELinux policy is loaded.        永久关闭

修改如下行
SELINUX=enforcing
重启机器,使得selinx永久关闭


软件防火墙
iptables -F  清空规则
iptables -L  
查看iptable防火墙规则 ,看到只有如下短短的三个链,就说明,没有规则了
关闭防火墙的需求,防止他影响你的服务访问
[root@s15fafafa ~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination    



停止防火墙服务
systemctl start/restart/stop firewalld
systemctl disable  firewalld  #删除iptables的开机自启

修改linux的字符编码

1.编译字符编码的文件
vi /etc/locale.conf
写入如下变量
LANG="zh_CN.UTF-8"

2.读取这个文件,使得变量生效

source  读取命令,使得配置文件在系统中生效

source /etc/locale.conf

3.查看系统字符编码
echo $LANG



#查看磁盘空间
df -h


#tree以树状图显示文件目录结构

yum install tree -y



#dns服务
bind软件,配置dns服务的

常见的互联网 dns服务器

8.8.8.8  谷歌的dns服务器
114.114.114.114  114dns服务器地址
223.5.5.5  
223.6.6.6  阿里巴巴的dns服务器地址

119.29.29.29  腾讯的dns服务器地址

.....


linux  dns配置文件是 /etc/resolv.conf
[root@s15fafafa home]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 119.29.29.29        主dns
nameserver 223.5.5.5        备dns
 
/etc/hosts文件  本地dns强制解析的文件

[root@s15fafafa home]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.13.148  www.baidu.com




dns解析顺序:
1./etc/hosts
2./etc/resolv.conf


linux用于解析域名的命令

nslookup  pythonav.cn




linux的定时任务
crontab  -l  查看任务
crontab -e  编辑任务




crontab的语法

分 时  日 月 周   命令

*   *   *  *  *   每一分钟 做这件事

#每分钟执行一次命令
* * * * *  命令

#每小时的3,15分钟执行命令

分        时        日         月         周        
*       *       *       *       *
3,15    *         *        *        *  命令    


#在上午8-11点的第3和第15分钟执行
分        时        日         月         周        
*       *       *       *       *
3,15   8-11     *      *      *  命令



#每晚9:30执行命令
分        时        日         月         周        
*       *       *       *       *
30      21      *        *        *


#每周六、日的1:30执行命令
分        时        日         月         周        
*       *       *       *       *
30        1       *       *       6,0  


#每周一到周五的凌晨1点,清空/tmp目录的所有文件
分        时        日         月         周        
*       *       *       *       *
0       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  执行命令



windows软件包
    exe可安装格式
    msi 可执行安装文件
    .zip  压缩格式
    .rar 压缩包格式

linux软件包管理
linux软件格式分为

1.源码包格式
    1.下载python3的源码包
    2.解压缩源码包,切换目录
    3.编译且安装
    4.配置环境变量
    5.使用python3
2.rpm二进制包格式(这种安装方式,需要手动解决依赖关系,有可能装一个mysql,装个俩小时)
    1.下载软件的rpm格式包
    2. rpm -ivh lrzsz.rpm
    3.使用lrzsz工具
    
    补充:
    1.如果直接安装mysql5.6.rpm,依赖了很多其他的软件包,我就得一个一个解决依赖,
    2.所以rpm安装方式,需要手动解决依赖关系,很麻烦,不建议使用
    
    
lrzsz这是软件包的名字
提供了命令是
rz 接收文件
sz  发送文件


3.yum安装方式
yum工具,自动的搜索下载rpm包,且安装,且解决依赖关系,自动处理下载其他的依赖rpm包


软件开发目录规范
lib 库文件
core  核心文件
bin  可执行文件
conf 配置文件
log  日志文件夹
readme  使用说明书

向用python的模块
pip3 install -i http://pypi.douban.com/simple flask

想用linux的软件,yum默认去从centos官网去下载
yum install    

yum源的仓库路径在
/etc/yum.repos.d/
然后这个目录底下,只有 以 .repo结尾的文件,才会被识别为yum仓库


配置国内的yum源
1.在/etc/yum.repos.d/目录底下,定制我们自己的repo仓库文件
2.我们自己没有yum仓库,我们就去拿阿里巴巴的yum仓库
3.https://opsx.alibaba.com/mirror  这就是阿里巴巴的镜像站
4.下载阿里巴巴的yum仓库文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget下载文件后,-O参数,指定放到某个目录,且改名
5.清除yum缓存
yum clean all
6.生成新的阿里云的yum软件缓存
yum makecache


再配置epel额外的仓库源,这个仓库里就存放了很多第三方软件,例如redis  mysql  nginx
1.配置epel仓库
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
2.最好再生成yum缓存
yum makecache
3.请随心所欲的使用 yum工具

yum示例用法
yum安装nginx web服务器软件
1.  yum install nginx  -y       -y 一路都是默认yes
2.启动nginx  
直接输入nginx命令
3.修改nginx主页面 ,文件名字叫做 index.html  
find  /   -name index.html        查找这个文件所在地
vim /usr/share/nginx/html/index.html        修改这个nginx首页文件



系统服务管理命令
只有通过yum安装的软件,默认才能使用这个命令管理
systemctl  start/stop/restart  服务名

systemctl  start/stop/restart    mariadb
systemctl  start/stop/restart  redis
systemctl  start/stop/restart  nginx








原文地址:https://www.cnblogs.com/mlhz/p/10187740.html