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  
需要手动解决软件依赖关系,非常恶心难以解决

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2019-08-25 00:57  QV  阅读(560)  评论(0编辑  收藏  举报