欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

linux--介绍和指令练习

程序员文章站 2023-03-26 20:37:23
Linux linux的优势 基础指令练习 常见指令 增 删 改 查 which du lsattr命令 wget命令 echo命令 echo命令用于在终端输出字符串或变量提取后的值,格式是“echo 【字符串|$变量】” 移动命令 复制 特殊符号 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等。

linux--介绍和指令练习

基础指令练习

常见指令

创建一个目录:
    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