• linux--介绍和指令练习


    Linux

    Linux就是个操作系统:它和Windows XP、Windows7、8、10什么的一样就是一个操作系统而已!
    
    Linux能干什么:能当服务器,在服务器上安装者各种企业应用、服务。 比如:Web服务(Nginx,Apache,例如淘宝网站就是二次开发的Tengine服务器)、数据库(MySQL,存储网站信息数据的)、路飞学城等等……
    
    Linux系统用在哪些领域:例如淘宝、京东的服务器就是Linux系统,再比如美团、滴滴、快手、xx直播,总之他们都是Linux服务器。Linux同时也在桌面领域(windows桌面)、嵌入式领域(阿里云的YunOS,安卓操作系统)、大数据云计算的领域迅速发展
    

    linux的优势

    Linux以高效和灵活主城,Linux同事具有多任务、多用户的能力,支持多线程,多CPU。
    Linux包括了文本编辑器,高级语言编译器,以及图形用户界面登应用软件,当然绝大多数服务器都是使用命令行,文本模式操作Linux的。
    Linux遵循GNU通用公共许可协议,属于自由软件,用户不需要支付费用就可以获得系统和系统源代码,无偿使用且自由传播。
    Linux具有很高的系统稳定性和可靠性。具有很高的系统安全性众多业界厂商支持,如IBM、Oracle、Intel、HP、Google等有完善的数据库平台,包括Oracle、DB/2、Sybase、MySQL、PostgreSQL等。有完善的图形化用户界面,包括GNOME、KDE等。有完善的开发平台,包括C/C++、Java、Python等。
    

    基础指令练习

    常见指令

    创建一个目录:
    	mkdir /test
    	
    递归创建:(在test目录下创建new)
    	mkdir -p /test/new
    	
    递归创建:test/a,b,c,d四个目录
    	mkdir -p test/{a,b,c,d}
    
    递归创建文件夹:a/b/c/d/e
    	mkdir -p a/b/c/d/e
    
    touch 文件  
    	例如:touch xxx.py
        1.如果文件已经存在,修改文件的访问时间
        2.如果文件不存在,则创建这个文件
        
    vi/vim编辑器,编辑文件
    步骤
        1. vi  文件名  打开文件,进入命令模式
        2. 输入  a i o ,其一的字符,进入编辑模式
            a   append 在光标后开始写入
            i   insert 在光标当前位置开始编辑
            o   在光标下一行开始编辑 
        3.代码写完后,退出编辑模式,按下esc,回到命令模式
        4.输入 冒号,进入底线命令模式  
            :q    直接不保存退出
            :q!   不保存强制退出
            :wq     保存退出
            :wq!  强制写入内容且退出 
         vi:类似于window的记事本,文本编辑器
         vim:如同notepad++,高级文本编辑器,支持编程
    

    rm   删除文件 (remove移除的意思)
    
    rm -i  文件  #删除文件且交互式提示,是否删除 ,系统做了别名,默认加上rm -i 
    
    rm -r  文件夹 #递归删除文件夹 
    
    rm -f  文件  #强制删除文件,且不提示  
    
    rm -rf  文件 #删除一切的命令,很危险
    
    rm命令,随时快照虚拟机
    

    cd (change directory ) 更改工作目录
    
    cd /    #进入到根目录下 
    
    python  filename.py 
    
    mv(move  移动和重命名的作用)
    
    mv  heiheihei.txt   才徐坤.txt     # 格式:mv 旧的文件名 新的文件名 
    
    mv  文件 文件夹    #更改目录  
    
    systemctl restart network  #重启网络服务 
    
    

    pwd (翻译全称print work directory) ,打印当前工作目录  
       
    ls (list 列出目录的内容)
    
    ls /  #显示根目录下的内容 
    
    ls -a /tmp  #列出/tmp目录下的所有文件以及隐藏文件
    
    tree命令,以树状图显示文件目录结构
    
    yum   install  tree -y  # 如同 pip3 install django (这个命令随便在哪敲,安装在默认路径) 
    
    rpm -ql tree        #查询命令的所有安装路径 
    
    cat 文件名 #查看文件内容 
    
    alias:
        语法   alias命令    参数="别名"
        alias rm='rm -i'  
    
    wc:
    	wc命令的功能为统计指定文件中的字节数、字数、行数, 并将统计结果显示输出。
        - c 统计字节数。
      - l 统计行数。
      - w 统计字数。
    	wc -lcw /etc/passwd
    	18  26 798 /etc/passwd(行数、字数、字节数、文件名)
    

    which

    which命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。which指令会在环境变量$PATH设置的目录里查找符合条件的文件。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。which pwdwhich python
    
    举个栗子:
    which python       #python命令在哪
    /usr/bin/python    #命令文件绝对路径
    

    du

    Linux du命令用于显示目录或文件的大小。
    
    du会显示指定的目录或文件所占用的磁盘空间。
    
    格式
    du 参数 文件或目录
    -s 显示总计
    -h 以k,M,G为单位显示,可读性强
    
    举个栗子:
        显示目录或文件所占空间
        	du
        	什么都不跟,代表显示当前目录所有文件大小
        	
        显示/home的总大小
        du -sh /home
    
    

    lsattr命令

    查看文件隐藏属性
    lsattr test.py
    

    wget命令

    wget命令用于在终端下载网络文件
    参数是 wget [参数] 下载地址
    wget -r -p http://www.luffycity.com#递归下载路飞所有资源,保存到www.luffycity.com文件中
    

    echo命令

    echo命令用于在终端输出字符串或变量提取后的值,格式是“echo 【字符串|$变量】”

    #默认吧内容显示到终端上    
    /tmp/xxxx.txt $PATH #取出打印PATH的值
    

    移动命令

    移动(搬家)命令  > move > mv
    
    mv /home/shahe/tj/tmp/chaoyang 文件/文件夹改名mv x.log xx.log
    

    复制

    复制 > copy > cp
    #移动xxx.py到/tmp目录下
    cp xxx.py /tmp/
    #移动xxx.py顺便改名为tj.py
    cp xxx.py /tmp/tj.py
    
    Linux下面很多命令,一般没有办法直接处理文件夹,因此需要加上(参数) 
    cp -r 递归,复制目录以及目录的子孙后代
    cp -p 复制文件,同时保持文件属性不变    可以用stat
    cp -a 相当于-pdr
    #递归复制test文件夹,为test2
    cp -r test test2
    
    cp是个好命令,操作文件前,先备份
    cp main.py main.py.bak
    

    特殊符号

    输入/输出 重定向符号
    1.>>    追加重定向,把文字追加到文件的结尾
    2.>     重定向符号,清空原文件所有内容,然后把文字覆盖到文件末尾
    3.<     输入重定向
    4.<<    将输入结果输入重定向
    echo "tj-python666" > /tmp/tj.txt
    echo "tj666" >> /tmp/tj.txt
    cat >>/tmp/tj.txt << EOF
    
    我想把命令执行的结果信息,写入到文件中
    ip addr > /tmp/network.txt   #标准输出重定向 把命令执行结果信息,放入到文件中
    3.通配符  
    ls -l /etc/us*
    

    Linux快捷键

    1.tab键       用于自动补全命令/文件名/目录名
    2.ctrl + l  清理终端显示 
    3.clear/cls   清理终端显示
    4.ctrl + c    终止当前操作
    

    数据库

    #登录数据库 -u 指定用户名 -p指定密码 -h指定数据库主机地址
    mysql -uroot -p -h 123.206.16.61
    
    #备份数据库,备份所有的库表             > 导入
    mysqldump -uroot -p  --all-databases > /opt/alldatabases.sql
    

    练习

    1.服务器有哪些硬件?
    	CPU、主板、内存、显卡、硬盘、电源、机箱等构成。
    
    2.内存,CPU,硬盘的作用?
    	CPU,电脑的主芯片,就像人的大脑,数据的交换在这里进行,所以,它功能越好,交换越快
    	
    	显卡,主控显示画质方面,保持画质的清楚流畅,游戏必不可缺,当然,其他方面也需要,但不如游戏那样的要求高
    硬盘,一个容量硬件,你的软件之类的都需要一个空间来存放,就是它了,就像一个仓库一样,你把你需要存放的东西都放进去,当你需要用的时候再取出来,所以,它需要有足够大的空间,空间太小了就会导致东西放不下,取东西也不方便
    
    	内存,一个暂存硬件,你的所有要处理的信息不可能一下子都挤到CPU上,需要先放在一个地方,就是内存了,再由内存与CPU进行一步一步的信息交换,最后完成指令,所以,内存对于处理速度也有重要的影响
    	
    3.服务器常见品牌?
    	IBM,浪潮,thinkserver,华为,曙光,dell,HP等。
    	
    4.操作系统的作用?
    	操作系统位于底层硬件与用户之间,是两者沟通的桥梁。用户可以通过操作系统的用户界面,输入命令。操作系统则对命令进行解释,驱动硬件设备,实现用户要求
    	
    5.开源软件的特性,以及开源许可的协议
    	特性:
            使用的自有
            绝大多数开源软件免费
            研究的自有
            可以获得软件源代码
            散布及改良的自有
            可以自己传播、改良甚至销售
    
    	
    	许可的协议:
            GPL许可协议
            LGPL许可协议
            MPL许可协议
            Apache许可协议
            BSD许可协议
            MIT许可协议
            6.linux优点
    7.说出常见的linux发型版
        1、centos
        2、ubuntu
        3、Red Hat
    8.用虚拟机学linux的好处是?
    	利用虚拟机软件搭建Linux学习环境简单,容易上手,重要的是利用虚拟机模拟出来的Linux与真实的Linux几乎没有区别
    	可以同时开启多个Linux虚拟机
    	使用虚拟机系统环境,我们可以随意对虚拟系统进行设置和更改操作
    	
    1.查看linux的path变量
    	[root@localhost ~]# echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
    2.简述linux的文档目录结构
    	
    3.递归创建文件夹/tmp/tj/python/{alex,wusir,nvshen,xiaofeng}
    	[root@localhost ~]# mkdir -p /tmp/tj/python/{alex,wusir,nvshen,xiaofeng}
    
    4.显示/tmp/下所有内容详细信息
    	ls -la /tmp/*
    	#24s  ks-script-kw6KbA  tjvmware-root  yum.log
    
    5.简述 /  ~  - 的含义
        / 斜线 (forward slash)在路径表示时根目录
        
        ~ 用户家目录
        - 上次的工作目录,这个符号代表上次的工作目录
    
    6.请简述你如何使用vi命令
        1. vi  文件名  ,打开文件,进入命令模式
        2. 输入  a i o ,其一的字符,进入编辑模式
            a   append 在光标后开始写入
            i   insert 在光标当前位置开始编辑
            o   在光标下一行开始编辑 
        3.代码写完后,退出编辑模式,按下esc,回到命令模式
        4.输入 冒号,进入底线命令模式  
            :q    直接不保存退出
            :q!   不保存强制退出
            :wq     保存退出
            :wq!  强制写入内容且退出 
            
    7.查看/etc/passwd的内容并且打印行号
    	cat -n /etc-passwd
    	
    8.查看文本有哪些命令?
    	cat tac head tail more
        
    9.linux xshell常用快捷键?
        1.tab键       用于自动补全命令/文件名/目录名
        2.ctrl + l  清理终端显示 
        3.clear/cls   清理终端显示
        4.ctrl + c    终止当前操作
        
    10.如何用echo清空一个文件?
    	echo > test.txt
        
    11.复制/tmp/下所有内容到/home,在修改文件前,先拷贝一份,防止内容被破坏
    	cp -r /tmp/*  /home
        
    12.重命名test.py为my.py
    	mv  test.py  my.py
        
    13.强制删除/tmp下内容
    	rm  -rf  /tmp/*
        
    14.找到服务器上的settings.py
    	find / -name settings.py
    
    15.找到/etc下的网卡配置文件,提示网卡配置文件名是ifc开头
    	find /etc -type f -name ifc*
        #/etc/sysconfig/network-scripts/ifcfg-lo
        #/etc/sysconfig/network-scripts/ifcfg-ens33
        
    15.请先cp /etc/passwd /tmp/  拷贝一份文件
    	cp /etc/passwd /tmp/
    
    16.过滤出/tmp/passwd下有关root的信息
    	grep -i 'root' /tmp/passwd
    	#1:root:x:0:0:root:/root:/bin/bash
    
    17.过滤出/tmp/passwd下除了/sbin/nologin的信息,且打印行号
    	cat /tmp/passwd |grep -v /sbin/nologin -n
        grep -v '/sbin/nologin' /tmp/passwd
        #1:root:x:0:0:root:/root:/bin/bash
        #6:sync:x:5:0:sync:/sbin:/bin/sync
        #7:shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
        #8:halt:x:7:0:halt:/sbin:/sbin/halt
    
    
    18.查看/tmp/passwd前25行
    	head -25 /tmp/passwd
    19.查看/tm/passwd后3行
    	tail -3 /tmp/passwd
    20.不间断打印/var/log/py.log的信息
    	tail -f /var/log/py.log
    23.配置rm别名为“禁止你用rm,谢谢”,然后取消别名
    	alias rm="echo  禁止你用rm,谢谢"
    	unalias rm
    
    24.将服务器1的/tmp/my.py远程传输到服务器2的/opt/目录下
    	#传输本地文件到远程地址
        scp 本地文件  远程用户名@远程ip:远程文件夹/
        scp 本地文件  远程用户名@远程ip:远程文件夹/远程文件名
    
        scp /tmp/my.py root@192.168.1.155:/home/
        scp /tmp/my.py 	
        root@192.168.1.155:/home/tj_python.py
        scp -r  本地文件夹  远程用户名@远程ip:远程文件夹/
        scp -r /tmp/tj root@192.168.1.155:/home/tj
    
    
    25.将服务器2的/opt/test.py拷贝到服务器1的/home目录下
    	#复制远程文件到本地
        scp root@192.168.1.155:/home/tj.txt /tmp/tj.txt
        scp -r root@192.168.1.155:/home/tj/home/
    
    26.统计/var/log/文件夹大小
    	du -sh  /var/log
    	# 2.9M	/var/log
    
    27.简述top的常见参数
    	total 进程总数
        running 正在运行的进程数
        sleeping 睡眠的进程数
        stopped 停止的进程数
        zombie 僵尸进程数
        
    28.给settings.py加锁,禁止删除
    	chattr +i settings.py
        
    29.同步服务器时间到ntp.aliyun.com
    	ntpdate -u ntp.aliyun.com
        
    30.下载http://pythonav.cn/xiaobo.jpg图片
         wget http://pythonav.cn/xiaobo.jpg
                
    
  • 相关阅读:
    Codeforces round 493 Convert to Ones
    石子合并系列问题【区间dp,环形,四边不等式优化】
    UVa 10635
    选课【树形dp】
    JSOI2016病毒感染
    加分二叉树【树形dp】
    人为什么活着__稻盛和夫的哲学
    213. House Robber II
    安装 error: Microsoft Visual C++ 14.0 is required 解决方案
    ImportError:no mudle named 'cv2'
  • 原文地址:https://www.cnblogs.com/tangjian219/p/12082817.html
Copyright © 2020-2023  润新知